信息流分析广泛应用于编译器优化和软件测试技术,近年来成为软件脆弱性问题研究的热点。脆弱性分析的关键是如何触发软件中潜在的各种异常,然而目前针对软件脆弱性问题的信息流分析方法,无论是模糊测试、污点分析,还是符号执行,都普遍存在着分析精度差、效率低、漏报率高的问题,制约了其在软件脆弱性分析中的进一步应用。本课题致力于动态污点分析和符号执行关键技术的研究及核心算法的改进,通过汇编指令语义形式化分析以及中间语言的建立,在动态污点分析中引入控制流分析并与数据流分析有效结合,生成优化的测试用例;在符号执行中采用启发式搜索、学习和函数摘要算法有效遏制路径爆炸;通过信息流分析优化选择算法设计,建立起一种高效、自动的软件脆弱性分析模型,触发传统方式无法发现的软件异常,提高软件脆弱性发现的效率、精度和准确性。
英文主题词vulnerability; information flow; tainting analysis; symbolic execution