ReconBin: Reconstructing Binary File from Execution for Software Analysis

被引:3
|
作者
Ying, Lingyun [1 ]
Su, Purui [1 ]
Feng, Dengguo [1 ]
Wang, Xianggen [2 ]
Yang, Yi [2 ]
Liu, Yu [2 ]
机构
[1] Chinese Acad Sci, Inst Software, State Key Lab Informat Secur, Beijing, Peoples R China
[2] Natl Engn Res Ctr Informat Secur, Beijing, Peoples R China
关键词
execution monitoring; software security; analysis; malware analysis; binary analysis;
D O I
10.1109/SSIRI.2009.46
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Static analysis is one of the most popular approaches of software analysis. As more and more software protects their code by transformation or encryption, then releases them at runtime dynamically, it is hard to statically analyze these protected executables because of the failure of disassembling. In this paper, we propose a novel and general technique to reconstruct binary files for static analysis by monitoring the executions of protected executables. Our approach can identify and extract the dynamically released code at runtime, and at the same time record the control transfers information, and then reconstruct a binary file based on the original executable. The whole process does not depend on any prior knowledge on the protection methods. Experiments on our prototype ReconBin show that our approach can properly reconstruct the executables protected by SMC and packers, and the reconstructed binary files can be successfully analyzed by static analysis tools such as IDA Pro. We show that it also can be used to analyze the code dynamically generated by virtual machines, emulators, and buffer overflow attacks, which also dynamically inject attack code into stack and direct execution flow to it.
引用
收藏
页码:222 / 229
页数:8
相关论文
共 50 条
  • [1] ETHERNET SOFTWARE HANDLES FILE TRANSFER, REMOTE PROGRAM EXECUTION
    ASEO, J
    COMPUTER DESIGN, 1983, 22 (02): : 38 - &
  • [2] Distributed Symbolic Execution for Binary Software Testing
    Wu, Bo
    Li, Mengjun
    Zhang, Bin
    Zhang, Quan
    Tang, Chaojing
    2014 IEEE WORKSHOP ON ELECTRONICS, COMPUTER AND APPLICATIONS, 2014, : 618 - 621
  • [3] Reconstructing Critical Paths from Execution Traces
    Hendriks, Martijn
    Vaandrager, Frits W.
    15TH IEEE INTERNATIONAL CONFERENCE ON COMPUTATIONAL SCIENCE AND ENGINEERING (CSE 2012) / 10TH IEEE/IFIP INTERNATIONAL CONFERENCE ON EMBEDDED AND UBIQUITOUS COMPUTING (EUC 2012), 2012, : 524 - 531
  • [4] Use of binary file comparison tools in software release management
    Fanberg, V
    SECOND ASIA-PACIFIC CONFERENCE ON QUALITY SOFTWARE, PROCEEDINGS, 2001, : 436 - 444
  • [5] Testing Network Protocol Binary Software with Selective Symbolic Execution
    Wen, Shameng
    Feng, Chao
    Meng, Qingkun
    Zhang, Bin
    Wu, Ligeng
    Tang, Chaojing
    PROCEEDINGS OF 2016 12TH INTERNATIONAL CONFERENCE ON COMPUTATIONAL INTELLIGENCE AND SECURITY (CIS), 2016, : 318 - 322
  • [6] Analyzing Network Protocol Binary Software with Joint Symbolic Execution
    Wen, Shameng
    Feng, Chao
    Meng, Qingkun
    Zhang, Bin
    Wu, Ligeng
    Tang, Chaojing
    2016 3RD INTERNATIONAL CONFERENCE ON SYSTEMS AND INFORMATICS (ICSAI), 2016, : 738 - 742
  • [7] Reconstructing Timelines: From NTFS Timestamps to File Histories
    Bouma, Jelle
    Jonker, Hugo
    van der Meer, Vincent
    van den Aker, Eddy
    18TH INTERNATIONAL CONFERENCE ON AVAILABILITY, RELIABILITY & SECURITY, ARES 2023, 2023,
  • [8] Intervals in software execution cost analysis
    Wolf, F
    Ernst, R
    13TH INTERNATIONAL SYMPOSIUM ON SYSTEM SYNTHESIS, PROCEEDINGS, 2000, : 130 - 135
  • [9] Analysis of software remaining execution time
    Tasneem, S
    Ammar, R
    Sholl, H
    COMPUTERS AND THEIR APPLICATIONS, 2003, : 219 - 223
  • [10] On Reconstructing Functions from Binary Measurements
    Calderbank, Robert
    Hansen, Anders
    Roman, Bogdan
    Thesing, Laura
    COMPRESSED SENSING AND ITS APPLICATIONS, 2019, : 97 - 128