计算机软件安全检测方法
摘要随着现代社会网络和计算机水平的飞速发展,人们生活水平的不断提高,对计算机软件的要求也就愈来愈多,一些高手段的技术软件逐渐步入人们的视野当中,随之带来的计算机软件也就越来越庞大,越来越复杂。因此,对于各种计算机软件的安全性的要求更加严格,再好的杀毒软件都无法保护一个自身安全性不高的计算机软件。因此计算机软件的安全性是软件的重要方面,要想开发好一个实用的软件,就一定要做好安全性的检测,本文主要针对这一方面进行探讨,从计算机软件安全性检测的主要内容入手,探讨其特点、分类、检测方法等问题进行探讨。
【关键词】计算机软件 安全检测 检测方法
1 计算机软件安全性的概述
1.1 探讨计算机软件安全性检测的意义
随着现代社会的飞速发展,计算机软件的安全性的要求越来越迫切,各种软件的应用完全成为人们工作、学习、生活中的点点滴滴,正因为人们的大范围大批量的使用软件,软件的安全性问题便显露出来,做好软件安全性方面的检测,对计算机软件开发领域是必不可少的工作,对计算机软件的安全性检测的探讨也就存在了重要的意义。
1.2 计算机软件安全性检测的简单介绍
计算机软件安全性检测的工作时开发软件的关键所在,只有经过了检测才能保证软件的安全问世,能够检测出软件的问题所在,并能够及时的进行解决,对其进行适当的处理。
1.3 计算机软件安全性检测的特点和分类
计算机软件的安全性检测的是检测该软件是否能够实现设计软件之前的预期的效果。主要包括安全功能测试、渗透测试和验证测试。安全性的测试也是有着其与众不同的特殊性的,因为软件的安全测试存在这样一个特点,如果是软件自身的缺陷可能只会影响一小部分使用该软件的用户的使用,但是如果是软件的安全性存在了问题,那么这对使用软甲的用户的影响是十分大的,并且会影响很大一部分的用户。它强调的是软件不被授权的用户,不能访问的数据,而不是需求不定的。计算机软件的安全性检测主要可以分为两大类:一类是安全功能的检测,另一类是安全漏洞的检测。前一种是要求有安全性功能的说明,是否与需求一致,另一类则是从黑客、病毒等攻击性的角度来说的,主要以发现软件的漏洞为主,并进行修补。
2 计算机软件安全性检测的工具
安全性检测工具根据检测对象分类课分为主机安全检测工具、应用安全监测工具网络安全检测工具,但是由于这类的方法分类不够细化,且分类可以有不同种的分法,本文主要按照不同的检测功能进行分类,可分为源代码分析器、字节码扫描器、二进制代码扫描器、数据库脆弱性扫描器、网络漏洞扫描器、Web 应用漏洞扫描器、Web 服务扫描器、动态分析工具、配置分析工具、需求验证工具、设计模型验证工具。这些就是在计算机软件安全检测中所用到的工具。
3 计算机软件安全性检测的方法
计算机软件安全性检测主要分为静态检测和动态检测。
(1)静态检测方法。是指不执行代码的情况下对所开发的软件进行检测的过程,就是利用分析技术对所输入代码进行分析,向用户提交分析结果,通过报告显示出所存在的问题,并对结果检查,进行处理。这种方法通常能够对软件的根本性问题提早发现并解决。通常静态的检测方法检测出来都是误报和漏报的现象。
(2)形式化的安全检测。形式化的安全检测,是确立要检测软件的数学模型,通过形式规则来说明该软件所提供的形式化的语言规格。比较常用的检测语言有基于模型的语言和基于有限状态的语言,以及基于行为的语言。
(3)模型方面的检测。主要是通过对索要检测的软件的结构和其行为进行建模,生承诺建模的测试方案,再生成测试的用例进行安全性的检测。现在主要应用的软件测试模型为UML模型。
(4)模糊的检测手段。传统的模糊检测就是根据黑盒测试的随机测试方法,通过将随机的变异正常的程序输入来进行检测,以发现软件程序中所存在的安全方面的漏洞。现在,基于白盒测试的模糊检测手段逐渐被应用到实际的软件检测方法中,利用白盒测试的模糊检测手段结合了动态的测试用例,要先输入正常的输入运行待测的程序,在执行检测的过程中,再加入不同的约束,检测软件程序的运行。
(5)语法检测方法。通过对要检测的软件的功能接口的语法生成的测试来进行的语法测试,通过这种语法输入的方式,可以检测出所开发的软件当输入不同的输入形式的时候的反映状态。这种方法一般是对软甲接口的语言进行识别和定义的。
(6)故障注入的安全性检测方法。利用分析树和故障树的最小割集进行检测的。简单点讲就是通过故障树分析法用系统不该出现的作为顶事项,再寻找可能导致事项发生的中间事项,底事项,并其连接,形成故障树。这种检测软件的方法可以提高检测的效率,是比较全面的检测方法。
(7)属性的检测方法。该方法就是在确定了软件的安全编程的规则的前提下,将所确定好饿规则作为安全属性进行检测,验证系统软件程序的代码是否合理有效。这种检测的方法可以有效的分析安全漏洞可扩展及交互性。
当然,除了这些方法外,软件的安全性检测方法还多许多,也都有其自身的优势,想要做好软件安全性方面的检测就一定熟练的掌握这些检测方法。
4 计算机软件安全性检测注意事项
在进行软件安全性检测的时候,有几点需要注意的方面需要了解一下:第一,在对所开发的软件进行检测的时候要对检测的软件有相应的了解,选择合适的安全性检测手段。第二,在对计算机软件安全性检测的同时,对系统、需求、代码以及软件结构设计的分析是必不可少的。需要的情况下要进行仿真环境并利用分析工具进行帮助分析检测。
5 结束语
通过对计算机软件安全性检测的探讨,认识到软件的安全性在软件的安全体系中具有重要的分量,安全性的检测是检测其安全性的重要依据。本文通过对计算机软件的安全性检测的特点、工具、分类、方法及注意问题进行了详细的探讨,对计算机软件的安全性检测的分类有了统筹的分析概括,了解了再安全检测方面这些检测方法各自的优势,知道了软件安全性的检测要从多个方面入手,全方位的的检测才能得到一个安全性过关的计算机软件。同时也明确了计算机软件的重要性,在计算机软件开发方面会加倍重视这部分。
参考文献
[1]郭瑞杰,宫云战,杨朝红.软件安全性测试技术研究[A].第三届全国软件测试会议与移动计算、栅格、智能化高级论坛论文集[C].2009.
[2]刘述景.基于Web应用系统的软件测试[J].浙江纺织服装职业技术学院学报,2007(03).
[3]王宁.信息系统安全性评估的研究和评估系统的设计[J].科技导报,2005(06).
作者单位
山西广播电视大学山西省太原市030000