Scalable data structure detection and classification for C/C plus plus binaries

被引:9
作者
Haller, Istvan [1 ]
Slowinska, Asia [1 ]
Bos, Herbert [2 ]
机构
[1] Vrije Univ Amsterdam, Syst & Network Secur Grp, Amsterdam, Netherlands
[2] Vrije Univ Amsterdam, Syst & Network Secur, Amsterdam, Netherlands
基金
欧洲研究理事会;
关键词
Data structures; Dynamic binary analysis;
D O I
10.1007/s10664-015-9363-y
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Many existing techniques for reversing data structures in C/C++ binaries are limited to low-level programming constructs, such as individual variables or structs. Unfortunately, without detailed information about a program's pointer structures, forensics and reverse engineering are exceedingly hard. To fill this gap, we propose MemPick, a tool that detects and classifies high-level data structures used in stripped binaries. By analyzing how links between memory objects evolve throughout the program execution, it distinguishes between many commonly used data structures, such as singly-or doubly-linked lists, many types of trees (e.g., AVL, red-black trees, B-trees), and graphs. We evaluate the technique on 10 real world applications, 4 file system implementations and 16 popular libraries. The results show that MemPick can identify the data structures with high accuracy.
引用
收藏
页码:778 / 810
页数:33
相关论文
共 41 条
[1]  
[Anonymous], 2013, P 34 IEEE S SEC PRIV
[2]  
[Anonymous], P 21 USENIX C SEC S
[3]  
[Anonymous], P USENIX S OP SYST D
[4]  
[Anonymous], 2011, P NETW DISTR SYST SE
[5]  
[Anonymous], P 18 ANN NETW DISTR
[6]  
[Anonymous], LECT NOTES COMPUTER
[7]  
[Anonymous], P C COMP CONSTR CC 0
[8]  
[Anonymous], P 20 WORK C REV ENG
[9]  
[Anonymous], P 26 ACM SIGPLAN SIG
[10]  
[Anonymous], P 2008 ACM SIGPLAN C