| 摘要: |
| 为降低整数漏洞插装验证的运行开销,提出基于信息流的整数漏洞插装方法.从限定分析对象范围的角度出发,将分析对象约减为污染信息流路径上的所有危险整数操作,以降低静态插装密度.在GCC平台上,实现了原型系统DRIVER(detect and run-time check integer-based vulnerabilities with information flow).实验结果表明,该方法具有精度高、开销低、定位精确等优点. |
| 关键词: 整数漏洞 信息流 污点分析 插装 |
| DOI:10.3724/SP.J.1001.2013.04385 |
| 分类号: |
| 基金项目:国家自然科学基金(61170070,90818022,61021062);国家科技支撑计划(2012BAK26B01);国家高技术研究发展计划(863)(2011AA1A202) |
|
| Statically Detect and Run-Time Check Integer-Based Vulnerabilities with Information Flow |
|
SUN Hao1,2, LI Hui-Peng1,2, ZENG Qing-Kai1,2
|
|
1.State Key Laboratory for Novel Software Technology. Nanjing University, Nanjing 210093, China;2.Department of Computer Science and Technology, Nanjing University, Nanjing 210093, China
|
| Abstract: |
| An approach to detecting integer-based vulnerabilities is proposed based on information-flow analysis in order to improve the run-time performance. In this approach, only the unsafe integer operations on tainted information flow paths, which can be controlled by users and involved in sensitive operations, need to be instrumented with run-time check code, so that both the density of static instrumentation and performance overhead are reduced. Based on this approach, a prototype system called DRIVER (detect and run-time check integer-based vulnerabilities with information flow) is implemented as an extension to the GCC compiler and tested on a number of real-world applications. The experimental results show that this approach is effective, scalable, light-weight and capable of locating the root cause. |
| Key words: integer-based vulnerability information flow taint analysis instrumentation |