软件安全漏洞检测技术初探
2017-09-13杨波
杨波
摘 要:随着经济和科技的发展,各个领域开始广泛应用各种媒介文件格式的办公软件和系统,但是随之而来的是文件格式漏洞的安全问题,因此国内外的安全界和攻击者已经广泛重视这一相关问题。国外的安全公司、相关组织和独立黑客对文件格式所依靠的各种处理软件作为研究漏洞的重点,从而不断曝光文件格式存在的漏洞,主要就是因为被过多地使用而造成的。所以提供文件格式处理软件的公司,如Adobe和Microsoft等对软件安全公告和程度补丁的发布速度也在不断加快,主要就是可以使增加的漏洞被修补。该文就是对软件安全漏洞检测技术进行了具体的研究。
关键词:软件安全 漏洞检测技术 文件格式软件
中图分类号:TP393 文献标识码:A 文章编号:1674-098X(2017)07(a)-0155-02
目前社会在不断进步,各国的科技水平也在不断提高,人们开始广泛地应用现代信息技术,其方便了人们的生产和生活,同时随之而来的是一些泄露用户信息以及系统网站被破坏等问题,这些问题不但在生活上造成人们的困扰,同时会使人们的经济产生一定的损失,因此软件安全系统的加强是非常重要的[1]。为软件安全提供保障的就是软件安全漏洞检测技术,因此人们也十分重视软件安全漏洞检测技术。
1 软件安全漏洞的基本概念
科学技术的发展推动了信息和软件水平的提高,目前的软件具有越来越多的功能和内容,同时开发者也在不断扩大软件的规模,主要就是为功能的正常运行提供保障。软件提供商不断使软件内部的逻辑功能进行增加,主要目的是为了使软件的通用型和可移植性得到保障,这样就造成软件具有更加复杂的逻辑性和更加巨大的软件代码。根据这种状况,软件开发商要将大量的人力和物力投入到测试软件的环节中,主要就是为了使软件的可靠性和稳定性得以保障;从软件工程的角度来说,软件生命周期中的其它环节已经远远低于测试软件安全环节,虽然测试软件安全的力度不断加大,但是一些安全弊端依然存在于软件当中,而且一些非常严重的后果就是由各种各样的软件逻辑弊端引发的[2]。这些引起严重后果以及使软件对“不在设计范围内的事情”可以完成的逻辑弊端在信息安全领域被叫做软件安全漏洞。
2 检测软件安全漏洞的重要性
目前各个领域都普遍应用Windows系统,同时也在不断完善和升级在Windows平台下运行的各种软件。虽然软件可以将更加简单和方便的生活和工作方式提供给人们,但是同时软件安全漏洞问题也随着而来,而且软件安全漏洞问题如果处理不好则会造成人们的生活困扰和经济损失。发生在Windows系统本身和其平台下运行应用软件安全漏洞问题已经不计其数。软件安全漏洞的不断增加对用户正常的生产和生活已经造成严重的影响,同时对全社会的信息安全和社会稳定造成了一定的威胁。
由于用户友好的特性是Windows平台具有的,因此文件格式漏洞更加容易地影响Windows平台,同时在Windows平台下运行的各种文件也过多地依靠Windows应用程序。
为了使信息的共享可以实现,从而设计出了Internet网络。当前Web网站已经成为信息和娱乐的资源库,造成这种现象的主要原因是由于云计算、Web计算和物联网的发展使各种影像、图片、文字和音乐等都聚集在Web站点上。这些资源虽然能够将便利提供给用户,但是同时也将丰富的目标和载体提供为网络攻击行为[3]。独特性是文件格式漏洞风险具有的特性,虽然网络的安全不会受到它们的直接影响,但是也难以全面地对其进行预防。
3 检测软件安全漏洞的相关技术
3.1 文件格式检测技术
3.1.1 传统文件格式检测技术
传统的测试软件安全漏洞的主要方式就是手工测试和模糊测试。手工定位能够准确地定位漏洞的位置,可以直接对漏洞信息进行获取,但是要用人工构造手工测试过程中使用的测试样本,其具有极其复杂的文件格式,因此需要大量的时间和费用构造这个样本,而且其具有很长的测试周期,主要是因为要用人工对代码进行详细的分析,同时也不能够使漏洞完全不存在。挖掘文件格式漏洞的工具第一次出现是在2004年,从此以后不断开发和应用与此相关的工具,如FileFuzz、fuzzer以及notSPIKEfile等。
3.1.2 简单文件格式检测技术
在对样本构造进行测试过程中文件分析机构占有较大的比重的就是简单文件格式检测技术,其中对样本构造进行测试是其主要的工作重心。
样本构造测试的测试用例的形成基础就是对文件格式标准的文档进行详细的分析,同时对测试样本集进行构造。用生成技术、基因变异技术以及综合生成技术和基因变异技术是构造测试样本集主要的三种方法。模糊测试方法也是简单文件格式测试漏洞时应用的方式。字符串数据模糊列表是通过文献的方法列出来的。
3.1.3 高级文件格式检测技术
高级文件格式检测技术更加深刻地分析了样本测试构造过程中的文件格式,主要目的就是为了让测试构造样本的针对性得到提高,这种文件格式检测技术于已经发现漏洞信息和修补漏洞信息相结合,从而使样本测试引发漏洞的效率大大提升[4]。当前研究的重点就是高级文件格式检测技术。
3.1.4 比较文件格式漏洞检测技术
根据分析可得知当前使用的文件格式漏洞检测技术的优缺点各不相同,为了对这些检测技术的优势进行充分的利用,从而比较了各种检测技术的优缺点,如表1所示。
3.2 静态检测技术
静态分析和检验程序是静态检测技术的两种方式。静态分析主要是扫描软件程序的源代码,然后按照语法对代码的语言含义和程序行为的匹配度进行掌握,然后再根据漏洞的特点和检测标准将检测任务完成。检验程序主要是检测抽象系统里的程序代码,软件程度与实际需求的符合度是其重点检测的内容,从而将安全漏洞的存在检测出来。
3.3 动态检测技术
映射内存、非执行栈、安全共享库和沙箱是动态检测技术的四种方法。映射内存主要是将映射实施在代码中,从而改变攻击方的字符串,进而使其攻击行为无法继续进行。非执行栈主要是对栈内的执行代码进行改变,使攻击方的恶意代码执行不下去,从而使攻击的成功率大大降低。安全共享库主要是利用具有较高危险系数的函数拦截和检测安全漏洞,这种方法一般是具有较低安全度的软件使用。沙箱主要是利用访问程度对损害性的攻击进行预防,如360隔离沙箱。
4 结语
综上所述,对软件安全系统进行基本保护的就是软件安全漏洞检测技术,因此相关的工作人员要对软件安全漏洞检测技术进行不断的创新和升级,从而使安全漏洞的影响降低到最小程度。
参考文献
[1] 李舟军,张俊贤,廖湘科,等.软件安全漏洞检测技术[J].計算机学报,2015(2):717-732.
[2] 高妍.计算机软件安全漏洞检测技术与应用[J].计算机光盘软件与应用,2014(7):172-173.
[3] 杨基慧.软件安全漏洞检测技术初探[J].电子技术与软件工程,2014(9):76.
[4] 谢剑.计算机软件安全漏洞检测技术的应用分析[J].信息与电脑(理论版),2016(12):201-202,205.endprint