任分工12
B
f一、项目的背景和必要性
随着社会信息化的不断加深,计算机软件系统越来越复杂,程序的正确性也难以保证,计算机病毒和各种恶意程序有了赖以生存的环境。软件功能越来越负载,源代码越来越大,我们无法从编码的角度彻底消除所有的漏洞或缺陷,相当数量的安全问题是由于软件自身的安全漏洞引起的。软件开发过程中引入的大量缺陷,是产生软件漏洞的重要原因之一。不同的软件缺陷会产生不同的后果,必须区别对待各类缺陷,分析原因,研究其危害程度,预防方法等。我区的软件业发展尚未成熟,软件测试没有得到足够的重视,大多数软件开发商更多注重的是软件的功能,对于加强软件的安全性投入不足,这更增加了软件安全漏洞存在的可能性。系统攻击者可以解除软件安全漏洞轻易的绕过软件安全认证,对信息系统实施攻击和入侵,获取非法的系统用户权限,执行一系列非法操作和恶意攻击。
为了避免各种安全漏洞的出现,软件测试越来越受到开发人员的重视。软件测试不仅仅是为了找出软件潜在的安全漏洞,通过分析安全漏洞产生的原因,可以帮助我们发现当前软件开发过程中的缺陷,以便及时修复。软件测试可以提高源代码的质量,保证软件的安全性。但是,软件测试是一个非常复杂的执行过程。测试人员需要根据已有的经验,不断的输入各种测试用例以测试。纯人工测试效率低,无法满足信息产业发展的需要。我们需要高效的自动化测试源代码安全测试系统。
1
f二、国内外现状和需求分析
21国内外发展现状
目前,常用的漏洞检测方法主要有:安全扫描技术、代码审查、静态分析、动态监测等。代码审查是人工阅读代码,检查是否有源代码级别的漏洞。代码审查耗费人力物力,检查速度缓慢,不适用于大型项目的检测。动态监测室在执行程序的基础上,动态监测程序的执行状态,来检查程序的正确性。静态测试通过对待测源程序做词法分析,语义分析等源程序信息来检查待测程序。静态测试在不执行程序的情况下,分析程序路径,有更高的覆盖率和检测速度,比动态监测更有效,能快速的找到安全漏洞。静态分析是静态测试的基础,国内外在静态分析方面做了大量的研究,取得一定的成果,并研发出相应的静态分析工具。
目前较多使用的有Soot静态分析工具、PCLi
t静态分析工具、logiscope软件质量分析测试工具、FortifySCA源代码安全扫描、分析和风险管理工具、Fi
dBugs静态分析工具等等,国内外已经对自动r