计算机科学 ›› 2011, Vol. 38 ›› Issue (1): 140-144.

• 软件工程 • 上一篇    下一篇

基于运行时类型分析的整形漏洞二进制检测和定位系统

肖海,陈平,矛兵,谢立   

  1. (南京大学计算机科学与技术系软件新技术国家重点实验室 南京210093)
  • 出版日期:2018-11-16 发布日期:2018-11-16
  • 基金资助:
    本文受863国家高技术研究项目(No. 2007AA01Z448),国家自然科学基金(60773171)和江苏省自然科学基金(BK2007136)资助。

New Binary System for Detecting and Locating Integer-based Vulnerability on Run-time Type Analysis

XIAO Hai,CHEN Ping,MAO Bing,XIE Li   

  • Online:2018-11-16 Published:2018-11-16

摘要: 整形漏洞(Integer-based vulnerability)是一种存在于C或C++代码中的漏洞,具有极其严重的破坏性。2006年CVE指出缓冲区溢出漏洞呈下降趋势,而其他一些漏洞,如整形溢出、符号转换错误等呈上升趋势。设计并实现了一种针对整形漏洞的二进制实时检测和定位的方法。针对整形漏洞攻击,首先将二进制文件转化为一种中间语言VEX;然后在运行时将与外部输入相关的数据着色,截获相关语句并记录信息;最后依据制定的检测策略对着色的数据进行检测并定位。选用常见的含有内存漏洞的程序来测试系统的有效性及其性能损耗。实验结果表明,该工具可以检测并且定位软件中绝大多数的整形漏洞,而且误报和漏报率都很低。

关键词: 计算安全,软件安全,整形漏洞,整形溢出

Abstract: Integer-based vulnerability is an extremely serious bug for programs written in languages such as C/C++.Common Vulnerability and Exploit(CVE) shows that as the percentage of buffer overflow has declined,there has been an increase in related vulnerability types,including integer overflows and signedness errors. Here we presented the design, implementation, and evaluation of a tool for run-time detecting and locating integer-based vulnerability. We first translated the binary code into intermediate language VEX on Valgrind, then intercepted integer related statements at run-time, recorded the necessary information, and finally detected and located vulnerability based on the checking scheme. We chose several utility applications, which contain real integer-based vulnerability, to evaluate the effectiveness and run-time performance of our system. Preliminary experimental results are quit promising, it can detect and locate most of integer-based vulnerability in real software, and has very low false positives and negatives.

Key words: Computer security, Software security, Integer-based vulnerability, Integer overflow

No related articles found!
Viewed
Full text


Abstract

Cited

  Shared   
  Discussed   
No Suggested Reading articles found!