软件安全漏洞分析与发展趋势探析

软件安全漏洞分析与发展趋势探析

ID:21488395

大小:35.50 KB

页数:13页

时间:2018-10-22

软件安全漏洞分析与发展趋势探析_第1页
软件安全漏洞分析与发展趋势探析_第2页
软件安全漏洞分析与发展趋势探析_第3页
软件安全漏洞分析与发展趋势探析_第4页
软件安全漏洞分析与发展趋势探析_第5页
资源描述:

《软件安全漏洞分析与发展趋势探析》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、软件安全漏洞分析与发展趋势探析  摘要:信息安全中的各种问题的产生原因之一就是软件漏洞。所以对于软件安全漏洞的分析慢慢成为信息安全研究部门及其相关领域非常关注的问题。本文以此为切入点,先阐述了软件安全漏洞的各种分析方法,并对其中的一些具体分析方法的利弊进行详细地阐述,然后根据实际情况介绍了软件安全漏洞分析中的核心问题,最后根据这些核心问题针对性地提出了软件安全漏洞分析方法的未来发展趋势,以期为研究本课题的学者们提供理论参考。  关键词:信息安全;软件漏洞;漏洞分析;发展趋势  DOI:10.16640/j.cnki.37-1222/

2、t.2017.03.230  1软件安全漏洞的分析方法  为了更好地保证软件质量和提高信息安全力度,就需要对软件漏洞进行严格地分析,软件漏洞分析内容一般和软件的生命周期息息相关:软件设计时期,需要对软件的整体架构进行分析,以此避免设计架构中的错误风险;软件开发时期,需要对软件的源代码进行分析,以便及时发现编码中的错误并进行修改;软件测试时期,需要对软件的执行代码进行分析,以发现其中或许会出现的运行故障,及时对其使用特别措施。  1.1漏洞分析方法类别  参考软件的特征和漏洞形式以及固有的软件分析技术,软件漏洞分析被分为架构分析、静态

3、分析、动态分析、动静结合以及漏洞定位等五种技术方法,如图1所示。  由图1的漏洞分析技术体系可以看出,软件架构分析过程中,一旦发现架构和设计中的错误,应立即反馈给设计人员进行修改;静态分析和动态分析的目标就是保证源代码和可执行代码的正确性,根据分析规范来找出其或许会出现的安全漏洞,二者合在一起使用可以更好地提高查询和分析效率;漏洞定位方法通过对于漏洞的定位追踪来分析出漏洞的各种属性。以上几种方法可以发现和分析软件各种形式的漏洞。  1.2软件架构分析  研究表明,软件中有二分之一到四分之三的问题都发生在设计时期,发现的时间越晚,就需

4、要投入更多的资金对其进行修复,所以对设计时期的软件架构进行分析显得至关重要,具体分析原理如图2所示。  根据图2可以发现,在分析软件架构时,要先对架构建模,检查其模型能否符合相关的安全要求,对于不满足要求的架构需要按照要求重新设计。一般情况下会使用一样的规范来构造软件架构和安全需求,以便更加快速地通过检查。  国内外对于软件架构的分析原理研究主要总结出形式化和工程化两个类别,形式化分析根据形式化的技术来分析安全规范和软件架构,这种方法可以实现自动化的分析结果且比较精确,但是没有一定的实用性;而工程化分析站在攻击者的视角来分析软件的各

5、种风险,比较实用但是不能完全自动化。  1.3静态分析  在软件不运行的时候对其进行分析就是代码静态分析,其分析内容一般是可执行代码和源代码。静态分析能够非常具体地根据执行路径的提示来找出安全漏洞。具体原理如图3所示。  根据图3可以发现,模型构造、根据软件和漏洞来进行的模式匹配以及模式提取等模块构成了代码静态分析的全部内容。经过长时间的研究和探索,各种静态分析方法都有了非常大的发展。其中,词法分析的方法可以非常迅速和精准地找到软件里面的危险函数,但是因为其不分析语义层面的内容,所以最终不能很好地发现更多复杂的安全漏洞;数据流分析的

6、方法可以用来分析像常数传播和存访问越界这类操作相对单一的问题,而对于一些操作复杂的问题则显得不太实用;符号执行的方法可以找出软件中难以发现的逻辑问题,相对其他静态漏洞分析技术来说更加有效率,但是执行程序的路径也会因为程序的规模大而随之增加,一定程度上会造成空间爆炸的现象,同时,符号执行的方法虽然能够发现问题,但是没有解决问题的能力,需要借助相应的求解工具来对其进行解决;模型检查的方法可以自动并精准地分析出软件的状态和路径,但是因为详细地罗列了所有或许会出现的状态,在数据密集度比较大的情况下也增加了分析的工作量;定理证明的方法因为采用

7、了非常严密的推理?砜刂普?个分析过程,所以在以上静态分析方法中是效率最高的方法,但是定理证明方法的自动化能力还需要进一步提高,执行过程中需要浪费大量的人力,同时对于各种漏洞没有一定的延展性,所以在比较大型的软件程序中不适合采用此种方法;污点传播方法可以把攻击的全部过程完整地模拟和展现出来,但是它只能用在输入验证类的漏洞分析之中。  1.4动态分析  代码的动态分析是参考运行程序中的内部形态和输出信息来确认和发现软件性质问题的过程,动态分析的内容是可执行代码。因为得到了运行中的实际信息,所以发现的漏洞相对来说比较精准。代码动态分析的原

8、理就是根据特殊的运行软件来运行其程序,如果出现崩溃和死机则证明了存在漏洞的风险,具体原理如图4所示。  分析图4可知,软件的运行环境对于待分析软件有着非常直接的影响,软件的停止、启动以及输出获取都能使得待分析软件出现相应的漏洞,根据输

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。