Deobfuscation of machine code using dynamic flow graphs동적 흐름 그래프를 이용한 기계 코드의 난독화 해제 기법

Cited 0 time in webofscience Cited 0 time in scopus
  • Hit : 615
  • Download : 0
The generation and simplification of dynamic flow graphs enable us to understand obfuscated machine code. Dynamic flow graphs are used to mitigate the effects of obfuscation using information from concrete executions. In this research, two types of dynamic flow graphs are used: dynamic data flow graphs and dynamic control flow graphs. Dynamic data flow graphs are constructed to capture the relationship between the input and output. They have both symbolic expressions and concrete values of the computation results. The effects of the obfuscation can be removed by simplifying the graphs using algebraic identities and the general properties of well-behaved programs. Dynamic control flow graphs represent the intrinsic control flow information. Their nodes have dynamic data flow graphs that correspond to the computations between variable-dependent jumps. Their edges connect the nodes, annotating the directions of the jumps with branch conditions. Before constructing dynamic control flow graphs, a dependence analysis is conducted on all jumps in the obfuscated execution to find jumps that correspond to the jumps in the original code. That is, input-dependent jumps and variable-dependent jumps are identified using dynamic data flow graphs for jump target addresses. Solvers are applied to the graphs to synthesize the branch conditions of the jumps. Input values for possible execution paths that can improve the code coverage can be identified based on an analysis of the branch conditions. The efficacy of the proposed approach is evaluated against various obfuscators. The experimental results show that the complexity of the simplified flow graphs from obfuscated executables is comparable to that from the original executables. With dynamic flow graphs, obfuscated malicious software becomes analyzable, allowing us to respond to cyberattacks more effectively.
Advisors
Bae, Doo-Hwanresearcher배두환researcherHan, Taisookresearcher한태숙researcher
Description
한국과학기술원 :전산학부,
Publisher
한국과학기술원
Issue Date
2020
Identifier
325007
Language
eng
Description

학위논문(박사) - 한국과학기술원 : 전산학부, 2020.2,[v, 82 p. :]

Keywords

deobfuscation▼areverse engineering▼adynamic binary analysis▼adynamic flow graph▼agraph rewriting▼adependence analysis▼acontrol flow reconstruction; 난독화 해제▼a역공학▼a동적 바이너리 분석▼a동적 흐름 그래프▼a그래프 개서▼a의존성 분석▼a제어 흐름 재건

URI
http://hdl.handle.net/10203/284153
Link
http://library.kaist.ac.kr/search/detail/view.do?bibCtrlNo=909371&flag=dissertation
Appears in Collection
CS-Theses_Ph.D.(박사논문)
Files in This Item
There are no files associated with this item.

qr_code

  • mendeley

    citeulike


rss_1.0 rss_2.0 atom_1.0