《软件学报杂志》发表论文赏析
作者:马金鑫,李舟军,张涛,沈东,章张锴
单位:马金鑫,中国信息安全测评中心, 北京 10008511,李舟军,北京航空航天大学 计算机学院, 北京 10019102,张涛,中国信息安全测评中心, 北京 10008503,沈东,北京航空航天大学 计算机学院, 北京 10019104,章张锴,北京航空航天大学 计算机学院, 北京 10019105
摘要:针对二进制代码的污点分析方法在软件逆向工程、漏洞分析及恶意代码检测等方面具有重大的意义.目前,大多数污点分析方法不支持浮点指令,执行效率较低,且传播的精度也不够高.提出并实现了一种基于执行踪迹离线索引的污点分析方法,以字节为粒度,且支持污点标签.提出执行踪迹离线索引的生成及查询算法,通过离线索引可跳过与污点数据无关的指令,提高污点分析的效率.首次描述并解决了即时翻译执行导致的污点丢失问题.使用污点标签以标识污点的来源和位置.提出较完善的污点传播算法,支持浮点指令,以尽可能精确地刻画污点信息从源操作数传递到目的操作数的过程.实现了灵活的可配置机制,用户可通过黑名单动态地引入污点数据.将提出的方法应用到漏洞检测的场景中,使用12个真实的软件漏洞作为测试样本集,将该方法与TEMU作对比实验,实验结果表明:该方法具备较强的漏洞检测能力,可验证的漏洞数比TEMU更多,且其平均执行效率比TEMU高5倍.
关键词:污点分析;离线索引;指令踪迹;漏洞检测
基金资助:国家自然科学基金(61502536);国家高技术研究发展计划(863)(2015AA016004)