探讨计算机软件的安全检测技术
探讨计算机软件的安全检测技术
现在,各种计算机软件在各行各业中得到了普遍的利用,成为人们生活和工作中不可或缺的部分。由此带来的计算机软件安全问题也随着它的发展越来越复杂的影响着计算机的安全,计算机软件的安全检测技术就显得尤为重要。
一、计算机软件安全检测技术概述
计算机软件安全检测是计算机软件开发过程中的一个重要环节,它的目的是为了发现软件所存在的故障和安全漏洞,从而及时的对计算机软件的潜在安全问题进行更改。当前的计算机软件安全检测技术主要包括动态检测和静态检测两种方法。计算机软件安全检测是确定计算机软件的安全性是否达到软件预期设计的目标的一个过程,一般包括功能测试、渗透测试与验证过程三个阶段。包括安全功能与安全漏洞两个方面的检测,软件安全功能涉及的方面比较多,包括机密性、授权、访问控制以及安全管理等;而计算机软件安全漏洞检测则是对软件可能存在的缺陷的检测。
二、计算机软件安全检测的注意事项
在进行计算机软件安全检测是,要注意几下的几个问题:
一是要预先制定出检测方案。首先要对计算机软件有一个全面的了解,在此基础上作出分析然后选择一个合适的检测技术,设计出检测方案;其次在检测人员的选择上,要进行多元化的人员配置,安全分析人员、软件设计人员和操作者都应参与检测的工作,这样可以保证在检测的过程中对软件的不同性能的检测都能得到专业技术人员的指导和分析,提高安全检测的效率。
二是在进行计算机软件的安全检测时,对于系统级、代码级与需求级的检测是必须的。如果软件的规模比较大,还要对软件的结构的设计进行分析。在具体的操作中要从实际工作的需要来选择合理的分析技术。仿真环境和分析工具相结合是较为有效的计算机软件的安全检测技术。
三、计算机软件安全检测技术的方法
(一)计算机软件安全检测的流程
一般情况下,规模较大的 软件是由一定数量的子系统来构成的,每个子系统又由若干的小模块来构成。计算机软件的安全检测一般按照以下的步骤进行:首先是进行模块的测试,测试的对象是软件设计中的最小单位,对模块进行测试的目的是发现系统的各个模块中可能存在的问题。然后是对由模块按照程序设计的要求组装的系统进行检测,并对于其相关的体系机构进行检测。其次是在前两个检测的基础上进行软件的有效性检测,有效性检测的目的是对软件的功能和性能进行检测,检测其是否与所设计的用户的需求相符合。最后进行的是系统的检测,测试软件在整体的环境下的运行安全情况。
(二)当前计算机软件安全检测的主要方法
一是形式化的安全检测。形式化的安全检测是确立软件的数学模型,在通过形式规格的⌚语言的支持提供形式化的规格说明。比较常见的形式规格语言有基于有限状态的语言、基于模型的语言以及基于行为的语言。形式化的安全检测有模型检测和定量证明两种形式的安全检测方法。
二是基于模型的静态安全检测。模型安全检测,既是通过软件行为与结构建模的方式,形成一个测试的模型,此模型同时可满足计算机对其的可读性。模型安全检测的方式与上述的形式安全检测的方式相比较而言❥,并不侧重于让检测的软件系统与规格说明在所有的情况下都保持一致,而是从模型生出一组试用例,使用这组试用例来测试软件系统,来说明软件的安全性。比较常用的模型安全检测方法包括有线状态机检测和马尔科夫链的检测。
三是语法检测。语法检测技术是根据语法对被检测软件的功能接口的语法生成软件进行输入的测试,测试软件在不同的输入条件下产生的不同的反应。一般语法检测适用于检测源程序中存在安全隐患的C语言函数和系统的调用,并通过软件接口语言的识别、定义语言的语法以及以语法为基础进行生产测试用例,同时进行安全检测。
四是基于故障注入的软件安全检测。故障注入的安全检测是应用故障分析树与故障数的最小割集来检测的。故障树分析法通过将系统最不该发生的事件做为顶事件,再以此寻找导致事故发生的中间事件与低事件,再通过逻辑门符号将顶事件、中间事件和低事件之间的关系进行连接,形成故障树。故障树检测拥有较高的检测自动化程度,是比较合理的计算机软件安全检测的方法。
五是模糊测试和基于属性的测试。模糊测试一般是基于白盒的模糊测试,较传统的模糊测试技术有所进步,白盒模糊检测方法有效的结合了传统的模糊测试技术和动态测试用例检测技术的优点。基于属性的测试方法首先要确定计算机软件的安全编程规则,以此来作为安全属性来验证软件系统程序的代码是否遵守了这些规则。基于属性的安全检测法的优点是能够较好的分析软件安全漏洞的扩展,性及安全性等。
六是混合检测技术。混合检测技术是指将计算机的静态安全检测技术和动态安全检测技术相结合的一种检测技术,它能有效的改善静态技术和动态技术检测存在的一些缺陷,从而更好的对计算机软件的安全进行检测。当前主要的检测技术包括二进制代码改编技术、测试库技术、基于规范的检测技术、基于异ฉ常的检测技术等。混合检测技术在一定程度上提高了软件安全检测的准确性,是较合理的检测方式。
七是基于Web服务的检测技术。近年来,随着Web服务技术的发展和广泛的应用,基于此的分布式软件安全检测技术也随之产生和发展,它是一种基于识别内容的分布式Web服务器技术。具有语言中立、互动操作性强等优点,能够将复杂的安全检测分解为子安全类型进行处理,以使其可以更有效的应对复杂的安全检测的需要。分布式安全检测还采用了故障注入机制来生成错误的soap消息,来用于异常测试。此种检测方法在实践中具บ有高效、先进和灵活的特点,能够对软件的可靠性、容错性和安全性的检测到达较高的标准。
四、总结
计算机软件的安全检测技术是保证计算机和互联网安全的基础,必须不断的加强检测技术的创新,以保证计算机软件的安全,促进计算机软件的发展。