软件代码漏洞的电子取证技术综述

时间:2023-04-17 19:40:07 手机站 来源:网友投稿


打开文本图片集

摘要:软件漏洞是当今信息系统最主要的安全漏洞来源。本文综述了软件漏洞的概念和特点,同时归纳和分析了当前主流的代码漏洞分类标准,在此基础上叙述了代码漏洞分析方法的技术原理和国内外的研究现状,并分析了常见的漏洞取证方法的优缺点。

关键词:软件漏洞;电子取证;信息安全

中图分类号:TP391.41

文献标识码:A

DOI:10.3969/j.issn.1003-6970.2015.12.012

本文著录格式:印杰,李千目.软件代码漏洞的电子取证技术综述[J]软件,2015,36(12):49-59

0 引言

软件漏洞是信息安全风险的主要根源之一,是网络攻防对抗中的重要目标,无论从国家层面的网络安全战略,还是社会层面的信息安全防护,安全漏洞已经成为信息对抗双方博弈的核心问题之一。2014年,国家信息安全漏洞库收集并公布漏洞6824个,高危漏洞2440个,比例逐步上升,相关报告显示境外有近7.3万个IP地址作为木马或僵尸网络控制服务器参与攻击我国境内主机,境内被控制主机数量高达1419万台,增幅近60%。信息安全形势不容乐观。

同时,针对源代码漏洞的取证成为构建安全体系的重要战略之一,国内信息安全体系的建立和实施需要安全平台的技术支持与安全管理的体系支撑,为了保障信息基础平台,有必要进行源代码漏洞取证的深入研究,来确保应用程序或者Web程序在信息平台上的安全性,而另一方面,对于源代码的漏洞取证研究已然不仅仅局限在PC端和Web层面上,随着移动互联网大力发展的趋势,国家对于Android,IOS等移动平台上的源代码漏洞取证也同样重视。因此,从某种程度上来说,源代码漏洞取证的研究工作对于信息基础平台的安全性保障十分重要。

1 软件漏洞

程序或硬件逻辑中设计和实现上的缺陷、人为设计和实现的隐蔽功能以及因使用管理不当造成的安全隐患统称为漏洞,其主要特征是被人利用后会造成控制权的部分或全部转移,往往使系统遭到非法操控或破坏,丧失合法控制权。

软件漏洞是当今信息系统绝大多数安全漏洞的来源。软件漏洞是软件中存在的一些缺陷,这些缺陷可以被第三方或程序利用来进行未经授权的资源访问,或改变控制权限来执行其他操作。软件漏洞轻则造成相应的经济或财产损失(如敏感信息被盗,不可用的服务),重则导致严重的灾难,尤其是发生在被人类生活和生计所依赖的关键基础设施的软件系统上(如核,生物,化学实验室,电网,水处理和分配系统,空中交通控制和交通信号系统)。

目前代码安全审查和白盒安全测试被广泛用于分析源代码并检测安全漏洞。可这些代码安全审查解决方案有很多不足(例如精度问题,产生大量的误报和漏报;可扩展性问题,为复杂的应用程序支持不足,无法处理的大型应用程序;适用性问题,需要大量的额外的人工操作的工作量等),导致它们无法广泛的为程序员或测试人员应用。

自动代码安全审查技术利用分析工具来执行所有的代码检查,这就避免了安全审查人员手动代码审查的过程,也节省了很多高度密集的工作量。但在自动代码安全审查实践中,会存在精度和可扩展性之间的权衡。目前有两种不同的解决方案:

(1)牺牲精确度,一些自动化代码审计工具利用字符串匹配或其它简单的方法来快速检查代码,但它会产生大量的误报和漏报。这些解决方案都是基于词法检查,只将检测危险库函数和系统调用的源代码中进行对比而没有进一步的分析,也就是RATS和ITS4语义分析。这是最简单的方法,但会产生大量的误报。例如,一个局部变量的名称包含strcat都可以导致错误的报警。

(2)其他一些基于模型检测的自动化代码审计工具,把更多的注意力放在了精密性而不是可扩展性。它们的程序经常要进行大量繁重的计算和分析,这就导致在处理大型应用程序时容易产生故障。

惰性抽象化技术展示了其不断建立和改善需求的单一的抽象模型,它通过模型检查器驱动,因此模型的不同部分可能会出现验证了终止性的不同精确度的检测方法。其他一些技术,如MOPS也存在不同的模型检测的解决方案,但模型检测的局限是,在进行核查过程中有很多的注释和谓词会被插入到程序中,整个过程都需要程序员的参与。同时,由于程序分析要消耗大量资源,处理大型应用程序的能力十分欠缺。

2 代码漏洞分类

2.1 通用弱点枚举CWE

通用弱点枚举(CWE,Common WeaknessEnumeration)是由美国国家安全局首先倡议的战略行动,该行动的组织发布了《CWE/SANS最危险的程序设计错误》,其中列举了最严重的25种代码错误,同时也是软件最容易受到攻击的点。这个列表是SANS学院、MITRE以及“美国和欧洲很多顶级软件安全专家”共同合作的成果。在CWE站点上列有800多个编程、设计和架构上的错误,CWE文档首先列举的是针对程序员最重要的25项,从而帮助他们编写更安全的代码。同时文档还适用于软件设计师、架构师、甚至CIO,他们应该了解这些可能出现的弱点,并采取恰当的措施。CWE是继CVE(Common Vulnerabilities andExposures)之后的又一个安全漏洞词典。通过这一词典,Mitre希望提供识别、减轻、阻止软件缺陷的通用标准。CWE也可以作为人们购买软件的安全衡量标准,尤其是在购买旨在阻止或发现具体安全问题的安全工具时。

跨站脚本攻击

跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets,CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意攻击用户的特殊目的。

推荐访问:取证 综述 漏洞 代码 电子

版权声明 :以上文章中选用的图片文字均来源于网络或用户投稿 ,如果有侵权请立即联系我们 , 我们立即删除 。