【摘要】随着科学技术的日益发展,计算机技术深刻的改变了我们的生活。各种社会活动都已经离不开计算机,计算机成了我们生活的一部分。然而伴随着计算机的普及,各种计算机安全和网络安全问题凸显了出来。越来越多的针对计算机的攻击行为对计算机的使用安全和信息安全产生了巨大的威胁。计算机的软件安全检测是保护计算机安全和信息安全的一个有效手段。本文通过对计算机软件安全检测技术进行研究和分析,总结出了几种主要的计算机软件安全检测技术。
【关键词】软件安全;安全监测;计算机安全技术
1前言
计算机的软件安全检测技术是保护计算机数据的盾牌。要改善计算机软件安全检测技术,先要了解计算机软件安全监测的概念和基本情况,分析现存的计算机安全检测技术,为未来行业的发展提出指导性意见。
2计算机软件安全检测综述
计算机软件安全技术是否可靠决定了广大用户的信息安全和财产安全是否让人放心。如果计算机的安全软件存在着重大缺陷,就有可能造成重大的财产损失。开发安全软件,最重要的步骤就是软件安全检测,根据检测数据来对不同的安全缺陷进行针对性的调整,更好的解决软件安全问题。安全软件对于自身的检测是安全软件能够不断进步的试金石,检测行为能够在最小的检测样本中找出最多的安全问题,尽量避免安全问题直接进入用户的软件版本中[1]。而且,安全软件和普通软件之间还有着重要的差别。差别主要表现在三个方面。首先,安全软件和普通软件的缺陷发现方式不同。大多数的安全软件缺陷普通用户是不可能发现的,只有专门从事于网络攻击的黑客或者是专门从事于网络安全的人员才有可能发现漏洞,而对于普通软件,许多漏洞都是用户或者其他来源发现的,并非来自于测试人员。第二,安全软件与一般软件的修复速度也是不一样的,如果安全软件出现了漏洞,那么就会在第一时间进行修复,因为每晚修复一秒,都有可能有用户因为这个漏洞而导致财产损失。普通软件由于不涉及到安全问题,发现缺陷之后可以在下一个更新版本中修复。
3计算机软件安全检测的步骤
计算机软件安全检测一般需要遵循一定的步骤。软件安全检测是通过检测软件,实现计算机各部分的联系和互动,来测试整个结构的稳定性。软件安全检测有如下几个具体步骤:首先记性单元测试,对这个程序中的各种基本单位进行逐个的检查,排除基本单元可能存在的缺陷。第二步是把已经检验完毕的各单元组合在一起,来测试各单元之间的联系和沟通存不存在障碍,保证系统各部分之间沟通高效。第三步是测试整个系统的稳定性,保证每一条指令执行起来都能畅通无误[2]。
4主要的计算机软件安全检测技术
4.1词法检测技术
词法检测技术是出现时间最长、使用最广泛的静态检测技术。这种技术的原理是检测程序源代码中有危险的C语言系统调用。这个测试技术实际上是在被测软件的接口处生成一个模拟输入,来检测被测软件的运行情况。一般按照以下几个步骤来执行。首先是识别软件语言,然后再定语语言语法,最后生成用例,开始进行软件检测。
4.2形式化安全测试技术
形式化的安全测试技术要利用到软件的数学模型,利用数学模型的形式和规格来对软件的运行状态进行说明,来提供软件的运营状态信息。形式化安全检测技术要求更高的技术水平,其中包括了两种办法来进行安全监测。有模型检测,也有定理证明。
4.3基于故障注入的安全性测试技术
基于故障注入的安全测试技术采用的是通过某种极端情况来检测软件的稳定性,比如把时间调整到最不可能的时间点,让所有的事件通过表面合理的方式来进行连接,生成故障,然后再观察软件如何处理这个问题。故障注入的安全测试技术,是自动化程度比较高的技术,可以显著降低人工的工作量,让安全监测更加的充分。
4.4模型的安全功能测试技术
模型安全检测技术是通过建立一个模型的办法来测试计算机软件的应对和处理。在日程生活中,想要检验一个东西的可靠程度可以建立一个相似的环境来观察它的表现。计算机安全检测也是如此,建立一个安全模型,让软件在其中运行,驱使安全软件工作,观察它的工作状态。
4.5基于属性的测试技术
基于属性的测试技术有着两大优点。那就是互动性和延伸性。一般也要遵循固定的程序。首先要确定被测软件的安全规则,把它的安全属性带入到系统中,验证系统程序是否能够遵守设计的规则[3]。
4.6其他测试技术
除了以上这些测试技术,还有一些测试技术因为应用范围有限等因素,没有单独来说。这些技术有白盒模糊测试技术,也有分布式安全检测技术。近些年来,相关技术越来越多,越来越成熟,我们期待着能够从这些新技术中找到未来的发展方向。
5软件安全检测的注意事项
5.1具体问题具体分析
计算机软件安全检测是一个动态的过程,需要我们随时观察,随时修正。不同的计算机软件有着不一样的特点和特性,我们要针对每一种计算机软件的每一个过程来针对性的设计试验流程。让最终的实验结果能够更加准确。
5.2检测人员的多元化
计算机安全检测技术涉及到多个环节和多个行业,每个环节的专业倾向都不一样,想要做好计算机检测的工作,首先要保证检测人员的多样化。在进行软件检测的时候,不能只让软件检测员来负责,还要被测软件的相关专家来辅助。来自不同领域的检测人员互相之间协同配合才有可能把检测工作做好[4]。
5.3对安全软件详细分析在软件的安全检测过程中,要对软件进行详细的分析。区分出需求级、系统级和代码级。对于许多大型软件来说,除了以上三个级别,还有对软件的机构进行分析。安全软件检测是一项复杂的工程。需要我们时刻打起精神应对不断出现的新情况,对不同的安全软件使用不同的分析技术,必要时还可以使用各种辅助工具配合工作。
6结语
计算机软件安全检测技术是维护计算机安全的重要手段,需要我们尽可能的重视起来。本文首先对计算机软件安全的现状进行了介绍,然后对主要的计算机软件安全检测技术进行了总结。
参考文献:
[1]孙互平.目前计算机软件安全检测存在的问题及处理方法探讨[J].电子技术与软件工程,2013(18):108.
[2]孙海松.关于计算机软件安全检测存在问题及措施的研究[J].网友世界新疆职称,2014(04):1~2.
[3]张晛譞.基于Windows平台的软件安全漏洞发掘技术研究[D].成都:电子科技大学,2010.
[4]严炜.基于iOS平台的应用软件安全检测关键技术的研究与实现[D].北京:北京邮电大学,2014.
作者:陈传顺 单位:中国移动通信集团广东有限公司