期刊文献+

基于内存访问轨迹的程序脆弱性检测 被引量:2

Detection of program vulnerability based on memory access trace
在线阅读 下载PDF
导出
摘要 针对可执行程序中难以发现的内存脆弱性,提出了一种基于内存访问轨迹的程序脆弱性检测方法.应用有限状态机模型,将内存访问的轨迹看作各状态之间的转化,基于其中不合法的转化定义了几种内存脆弱性及约束条件:内存泄漏、未初始化读、双重释放、释放后读写、死写以及重复频繁读.借助二进制插桩工具Intel-Pin获取可执行程序的内存访问轨迹,结合自定义的内存脆弱性约束,通过约束求解器混合求解,从而确定程序的内存脆弱性类别和位置.结果表明:本文方法可以检测出一些可执行程序中普遍存在的内存脆弱性以及低效代码,同时也能检测出近几年曝出的危害极大的内存漏洞及其变种. Aiming at the memory vulnerability that is difficult to find in executable programs,this paper proposes a program vulnerability detection method based on memory access trace.We apply the finite state machine model to treat the memory access as a transformation between some states.Based on the illegal transformation,we define several memory vulnerabilities and constraints:memory leak,uninitialized read,double free,use-after-free,dead write,and reread frequently.Using the binary instrum entation tool Intel-Pin to obtain the memory access trace of the executable program,combined with the memory vulnerability constraint,the solution solver is mixed and solved to determine the memory vulnerability category and location of the program.The results show that the proposed method can detect the memory vulnerability and inefficient code that are common in some executable programs,moreover,it can detect the extremely harmful memory leaks and their variants exposed in recent years.
作者 彭双和 韩静 PENG Shuanghe;HAN Jing(School of Computer and Information Technology,Beijing Jiaotong University,Beijing 100044,China)
出处 《北京交通大学学报》 CAS CSCD 北大核心 2020年第5期55-62,共8页 JOURNAL OF BEIJING JIAOTONG UNIVERSITY
基金 国家自然科学基金(U1836105)。
关键词 网络空间安全 内存脆弱性 内存轨迹 约束求解 cyberspace security memory vulnerabilities memory trace constraint solving
  • 相关文献

参考文献3

二级参考文献20

  • 1张威,卢庆龄,万琳,肖庆.空指针引用故障模型与测试方法研究[J].计算机工程与应用,2006,42(4):71-72. 被引量:5
  • 2Luk C K,Cohn R,Muth R,et al.Pin:building customized program analysis tools with dynamic instrumentation[J].ACM Sigplan Notices,2005,40(6):190-200.
  • 3Back M,Charney M,Cohn R,et al.Analyzing parallel programs with Pin[J].Computer,2010,43(3):34-41.
  • 4Hzelwood K,Klauser A.A dynamic binary instrumentation engine for the ARM architecture[C]//Proc of International Conference on Compilers,Architecture and Synthesis for Embedded Systems.New York:ACM Press,2006:261-270.
  • 5Qin Feng,Lu Shan,Zhou Yuanyuan.SafeMem:exploiting ECC-memory for detecting memory leaks and memory corruption during production runs[C]//Proc of the 19th International Symposium on High-Performance Computer Architecture.[S.l.]:IEEE Press,2005:291-302.
  • 6Deissenboeck F,Juergens E,Hummel B,et al.Tool support for continuous quality control[J].IEEE Software,2008,25(5):60-67.
  • 7Munier P.Polyspace[M]//Industrial Use of Formal Methods:Formal Verification.Hoboken:Wiley,2012:123-153.
  • 8Zhao Jianjun.Applying slicing technique to software architectures[C]//Proc of the 4th IEEE International Conference on Engineering of Complex Computer Systems.[S.l.]:IEEE Press,1998:87-98.
  • 9Steffen J L.Adding run-time checking to the portable C compiler[J].Software:Practice and Experience,1992,22(4):305-316.
  • 10Erickson C.Programmatic memory leak detection in C++[EB/OL].(2003-06-01)[2009].http://www.linuxjournal.com/article/6556.

共引文献14

同被引文献16

引证文献2

二级引证文献2

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

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