位置:立项数据库 > 立项详情页
面向动态语言安全性的源代码静态分析技术研究
  • 项目名称:面向动态语言安全性的源代码静态分析技术研究
  • 项目类别:青年科学基金项目
  • 批准号:61100047
  • 申请代码:F020202
  • 项目来源:国家自然科学基金
  • 研究期限:2012-01-01-2014-12-31
  • 项目负责人:董国伟
  • 依托单位:中国信息安全测评中心
  • 批准年度:2011
中文摘要:

源代码安全缺陷分析是保障软件安全性的一项重要手段。即有的缺陷分析研究主要局限在强类型语言程序领域,而Web应用程序的广泛使用已经使得动态语言成为未来软件发展的一个重要方向,为了保证Web应用程序的安全性,必须对动态语言缺陷分析技术展开更加深入的讨论。动态语言种类众多,本课题拟针对PHP、Python和Perl三种广泛使用的语言,在编译前端技术、污点传播分析技术优化、类代码和文件间缺陷分析等方面展开深入研究。在编译前端方面,研究能够反映动态语言特点的中间代码的生成技术;在污点传播分析优化方面,结合污染模型的构造,研究净化处理的检验技术,以提高分析的准确性;在类代码的分析方面,结合流敏感的别名分析技术,对动态语言的类结构在方法内、方法间和方法序列三个层次上进行分析;在文件间分析方面,研究中间代码的重构算法,使之适用于跨文件的分析。这些研究的开展将能够为动态语言程序的安全缺陷分析提供有力支持。

结论摘要:

本项目是在当今Web应用程序广泛使用的背景下提出的,旨在通过对PHP、Java等开发的Web应用程序,特别是动态语言程序进行静态分析,发现其中的安全问题或安全缺陷,以保障此类软件的安全性,提高软件工程的质量。源代码中的安全缺陷可能会直接导致软件漏洞的产生,从而引发重大信息安全事件。这也说明了源代码安全缺陷分析的重要性。项目申请时主要计划从安全缺陷静态分析中核心的中间代码构造、分析技术准确度提升、过程和文件间分析等方面进行研究。并且充分体现理论联系实际的原则,在提出一系列理论方法的同时,开发实用的自动化分析工具。 在实际执行过程中,研究工作一直围绕Web应用程序,特别是动态语言程序源代码的安全性静态分析这一主题进行,研究内容与原计划相符,研究过程中发现,对于Web应用程序的安全缺陷的分析在许多情况下动态测试更加有效,因此我们研究的内容除利用静态分析技术直接发现程序的缺陷外,还进行了通过静态分析构造安全测试用例的内容,并取得了较好的结果。研究过程中,项目组首先研究了软件安全漏洞分析技术的体系,对每种分析技术的优缺点及适用范围进行了系统地归纳总结;在此基础上,对于Web应用程序的安全缺陷的分析聚焦于两个方面,即安全缺陷静态分析技术的研究和基于静态分析的安全测试用例的生成技术,两个方面均形成了一些成果。在缺陷静态分析技术方面,项目组研究了基于本体模型、基于抽象语法树、基于Token流比对技术、基于HTML5新特性、基于污点传播等的Web应用程序安全缺陷分析技术;在安全测试用例生成方面,项目组研究了面向隐式信息流、面向oracle问题的测试用例生成方法,可以有效的辅助动态测试发现代码中的安全缺陷。在该项目的资助下,已于2014年11月出版专著《软件漏洞分析技术》一部,发表EI/ISTP等检索的论文10余篇。除了理论方法的研究,项目组还开发了PHP源代码安全缺陷分析工具PHPVulnsDetecter,能够分析PHP源代码中SQL注入、跨站脚本和命令注入等8类安全缺陷,并且能够实现过程间和文件间的分析。总之,本项目的实施符合原计划,所形成的成果达到了指标的要求。


成果综合统计
成果类型
数量
  • 期刊论文
  • 会议论文
  • 专利
  • 获奖
  • 著作
  • 6
  • 8
  • 0
  • 0
  • 2
相关项目
期刊论文 39 会议论文 8
董国伟的项目