计算机软件安全检测问题研究及检测实现方法
1.计算机软件安全检测的意义
当前,科学技术日新月异,计算机已经成为人们生活、学习与工作中不可缺少的一部分,而且随着计算机应用范围迅速地扩大,深入到工业控制、航天航空、医疗设备、银行金融、交通通信等各个领域,计算机的应用以软件为基础,软件的开发为计算机提供了无比强大的功能。虽然计算机及其软件给人们的生活与工作条件提供了极大的便利,但是软件在应用过程中自身会出现安全问题,对计算机造成潜在的风险。特别是当前黑客肆虐,病毒猖撅的网络环境下,软件安全出现问题会威胁到人们的生命、财产以及生存环境,因此,对计算机软件安全进行检测是软件测试的重要研究内容,是保障其工作的可靠性是重要领域计算机应用的必不可少的条件。
2.计算机软件安全检测中应注意的问题
计算机软件的安全检测在软件开发中有着极其重要的地位,其目的是检测出软件开发中自身存在的安全功能和安全漏洞等问题,然后对其应用程序进行修补,满足用户对软件安全需要。计算机软件的安全检测是一个动态的检测过程。在计算机软件安全检测中应该注意以下三个问题。
2.1在对软件进行综合分析的基础上进行检测
每台计算机或者计算机系统都有其特点与用户需求,检测人员在对计算机软件进行检测时,一定要对软件进行综合性分析由于研究,来选择适宜的软件的检测技术方法,同时,要从用户的需求为出发点,从多方面的角度来制定合理的安全检测措施。
2.2大力推广检测人员多元化
多元化就是任何在某种程度上相似但有所不同的人员的组合。在计算机软件安全检测时大力推广检测人员多元化能够更好的检测出软件存在的安全功能和安全漏洞等问题,因此,厂商在对在计算机软件安全检测过程中,不但要具有专门的软件安全分析员,还要配备计算机软件系统的总体设计人员等具备专业技术人才,通过他们密切配合来提高对软件安全进行检测的质量。
2.3选择合理的安全检测方法
检测人员在对计算软件安全进行检测,可能只用一个简单的方法就能解决一个系统中所有安全检测问题,要通常要对计算机软件的系统级、需求级以及代码级进行详细的分析,检测人员应该依据软件规模的范围或者大小,认真分析对软件的结构设计方,根据软件不同用户对软件的不同要求来选择合理的软件分析技术与安全检测方法。
3.计算机软件安全检测方法
现在的计算机软件系统规模都很大,其软件系统通常含有了多个子系统,同时不同的子系统中包含了多个不同的模块。在对计算机软件安全检测时,通常要进行模块测试→组装系统→系统结构的安全检测→软件功能和性能的有效测试→系统测试这样一系列的流程。
3.1计算机软件静态检测技术方法
计算机软件静态检测技术方法就是检测人员运用静态检测技术来检测软件潜在的安全性能问题,其方法就是利用程序分析技术对应用程序的二进制代码,或者是源代码进行分析,
当前,静态分析技术主要包括以下几种方法:一是词法检测技术,就是只检测程序源代码中有危险的c库函数和系统调用;二是程序评注技术,就是依据评注信息加深静态分析查找出潜在的漏洞;三是类型推断技术,就是利用一种新型修饰来对某几种特别的用户输入或指针等数据增加安全约束;四是约束解算器技术,就是运用约束对目标程序的特定属性建模,再用静态分析解算约束;五是元编译技术,就是将软件检测作为轻量级编译器扩展并建模执行,通过自动推断检测代码的安全属性;六是变异语言技术,就是限制指针的算术运算、不安全的类型转换、goto的随意跳转、多点随意转变标志、setjmp和longjmp等可能不安全的操作。静态检测技术方便快捷,一般能够找软件中绝大多数问题,但对个别问题不起作用。
3.2计算机软件动态检测技术方法
计算机软件动态检测技术方法就是通过对软件在计算机的运行环境下进行分析与研究,达到来检测出软件安全性能问题。动态检测方法大体上有以下六种:一是非执行栈技术,就是采取禁止栈执行代码能力的方法预防恶意代码破坏写与执行的本文由论文联盟http://收集整理攻击;二是非执行堆与数据技术,就是通过禁令执行堆和数据段,让恶意代码失去执行机会;三是内存映射技术,就是通过使用映射代码页措施,让攻击者难以通过null结尾的字符串跳转到低端内存区;四是安全的共享库技术,就是依据动态链接技术检测并拦截不安全函数,达到阻止其调用的目的;五是沙箱技术,就是通过限制一个进程所访问的资源来预防某些攻击行为;六是程序解释技术,就是在程序运行之后,通过监视其行为并强制进行安全检查的方法。动态检测技术的优势在于不需要对软件源码或其二进制代码作出修改,这样大大提升了软件的保密性。
3.3计算机软件形式化安全测试技术方法
计算机软件形式化安全测试方法建立的基础是确立软件的数学模型,软件安全建模的主要目的是为了表示软件中存在的安全缺陷与隐患,即软件安全特征。通过形式规格说明语言的支持来提供形式化的规格说明。计算机软件形式化安全测试技术在检查中常用的形
式规格语言主要有基于模型的语言、基于行为的语言以及基于有限状态的语言等形式规格语言。定理证明与模型检测是形式化安全检测主要两种方法。
3.4计算机软件编程语法安全测试技术方法
计算机软件编程语法安全测试技术方法就是通过被检测软件的功能接口的语法,生成计算机软件的测试输入环节,利用这种方式来检测计算机软件对不同类别输入所反映的状况。利用这种方法进行检测一般使检测程序要进行识别软件接口的语言与定义语言的语法,以语法为前提生产测试用例同时执行安全检测。
3.5计算机基于软件属性安全测试技术方法
计算机基于软件属性安全测试技术方法建立的前提是对软件的安全编程规则有一个全面的了解,然后利用系统程序的代码的验证,检测软件系统对安全编程规则是否遵守,达到对软件进行测试的目的。计算机基于软件属性安全测试技术方法能够更好的有效分析软件安全问题的交互性及扩展性。
3.6计算机通过故障注入安全测试技术方法
计算机通过故障注入安全测试技术方法就是应用故障分析树与故障数的最小割集来生产检测软件的使用寿命。这种方法通常将软件系统发生故障概率最低的问题的时间当做顶事件,然后搜觅可能造成事故发生的中间事件以及底事件,继而对顶事件、中间事件以及底事件通过合理的逻辑门符号进行连接,这样就就会产生故障树,达到了安全测试技术的目的。计算机通过故障注入安全测试技术方法能够大力提升检测的自动化程度,是目前较为充分的安全检测方法。转贴于论文联盟
中国论文网(www.lunwen.net.cn)免费学术期刊论文发表,目录,论文查重入口,本科毕业论文怎么写,职称论文范文,论文摘要,论文文献资料,毕业论文格式,论文检测降重服务。 返回通信学论文列表