期刊文献+

二进制程序中的use-after-free漏洞检测技术 被引量:6

Detect use-after-free vulnerabilities in binaries
原文传递
导出
摘要 Use-after-free漏洞(简称UaF漏洞)是当前最流行的高危内存破坏漏洞。目前针对UaF漏洞的检测工作并不完善,原因是UaF漏洞产生的特征是分配内存、释放内存、使用已释放的内存并按顺序出现,而这3种事件可能出现在程序的任何位置,需要跟踪较长的执行序列并搜索潜在的危险事件序列才能检测到该漏洞,这很大程度上提高了检测的难度。该文针对UaF漏洞,分析了漏洞的产生原因、利用方式、带来的安全威胁以及漏洞检测技术面临的挑战,并设计和实现了一个基于静态分析和动态符号执行的面向二进制文件的UaF漏洞检测系统。经测试,该系统能够检测出已公开的UaF漏洞。通过该系统检测软件中的UaF漏洞,及时对软件进行修复或防护,可以有效提高软件的健壮性,减少UaF漏洞带来的安全隐患。 Use-after-free (UaF) vulnerabilities are one of the most common and risky memory corruption vulnerabilities. However, UaF vulnerabilities are difficult to detect. A UaF vulnerability is triggered if and only if three operations occur on the same memory region, in an order of allocating memory, freeing memory, and using the freed memory. These three operations may be conducted anywhere in the program in any order, so the analysis must track a long execution sequence and search for potential vulnerable event sequences to detect U'aF vulnerabilities. This study analyzes the root causes of UaF vulnerabilities, ways to exploit them, the severity of the threat and the challenges in detecting them. A solution is then given based on a static analysis and dynamic symbolic execution to detect UaF vulnerabilities in binaries. Tests show that this solution can detect known vulnerabilities in a benchmark. Thus, this detection system can be used to identify and fix bugs to improve application security.
出处 《清华大学学报(自然科学版)》 EI CAS CSCD 北大核心 2017年第10期1022-1029,共8页 Journal of Tsinghua University(Science and Technology)
基金 国家自然科学基金资助项目(61402125)
关键词 use-after-free 静态分析 动态符号执行 use after-free static analysis dynamic symbolic execution
  • 相关文献

参考文献2

二级参考文献92

  • 1陈火旺,王戟,董威.高可信软件工程技术[J].电子学报,2003,31(z1):1933-1938. 被引量:115
  • 2Robert S. Boyer, Bernard Elspas, Karl N. Levitt SELECT--a formal system for testing and debugging programs by symbolic executionlC]. Proceedings of the International Conference on Reliable Software, page 234-245,1975.
  • 3JC King. Symbolic execution and program testing[C]. Communications of the ACM, Volume 19 Issue 7, July 1976.
  • 4V Chipounov. S2E: A platform for in-vivo multi-path analysis of software systems[C]. ASPLOS '11 Volume 46 Issue 3, March 2011.
  • 5V Chipounov. The S2E Platform: Design, Implementation, and Applications[C]. ACM Transactions on Computer Systems, Vol. 30, No. 1, Article 2, February 2012.
  • 6M Sutton. Fuzzing:Brute Force Vulnerability Discovery[M]. 2007.
  • 7T Wang. TaintScope:A checksum-aware directed fuzzing tool for automatic software vulnerability detection[C]. 2010 IEEE Symposium on Security and Privacy, May 16-May 19, 2010.
  • 8F. Bellard. QEMU, a fast and portable dynamic translator[C]. In USENIX Annual Technical ConE, 2005.
  • 9C. Cadar, D. Dunbar, D. R. Engler. KLEE: Unassisted and automatic generation of high-coverage tests for complex systems programs[C]. In Symp. on Operating Systems Design and Implementation, 2(1(}8.
  • 10Tao Xie. Fitness-Guided Path Exploration in Dynamic Symbolic Execution[C]. Dependable Systems & Networks, 2009.

共引文献78

同被引文献48

引证文献6

二级引证文献18

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

内容加载中请稍等...
;
使用帮助 返回顶部