HOME > 상세정보

상세정보

Disassembly of stripped ARM binaries by exploiting selective information on linear disassembly

Disassembly of stripped ARM binaries by exploiting selective information on linear disassembly

자료유형
학위논문
개인저자
김진경, 金珍勍
서명 / 저자사항
Disassembly of stripped ARM binaries by exploiting selective information on linear disassembly / Jingyoung Kim
발행사항
Seoul :   Graduate School, Korea University,   2022  
형태사항
iv, 28장 : 삽화 ; 26 cm
기타형태 저록
Disassembly of Stripped ARM Binaries By Exploiting Selective Information on Linear Disassembly   (DCOLL211009)000000257705  
학위논문주기
학위논문(석사)-- 고려대학교 대학원: 컴퓨터·전파통신공학과, 2022. 2
학과코드
0510   6D36   1124  
일반주기
지도교수: 오학주  
서지주기
참고문헌: 장 27-28
이용가능한 다른형태자료
PDF 파일로도 이용가능;   Requires PDF file reader(application/pdf)  
비통제주제어
disassembly, ARM architecture, static analysis, binary analysis,,
000 00000nam c2200205 c 4500
001 000046120288
005 20220712150316
007 ta
008 211220s2022 ulka bmAC 000c eng
040 ▼a 211009 ▼c 211009 ▼d 211009
041 0 ▼a eng ▼b kor
085 0 ▼a 0510 ▼2 KDCP
090 ▼a 0510 ▼b 6D36 ▼c 1124
100 1 ▼a 김진경, ▼g 金珍勍
245 1 0 ▼a Disassembly of stripped ARM binaries by exploiting selective information on linear disassembly / ▼d Jingyoung Kim
246 1 1 ▼a 선형 역어셈블리의 선별적 정보를 이용한 스트립 ARM 바이너리의 역어셈블리
260 ▼a Seoul : ▼b Graduate School, Korea University, ▼c 2022
300 ▼a iv, 28장 : ▼b 삽화 ; ▼c 26 cm
500 ▼a 지도교수: 오학주
502 0 ▼a 학위논문(석사)-- ▼b 고려대학교 대학원: ▼c 컴퓨터·전파통신공학과, ▼d 2022. 2
504 ▼a 참고문헌: 장 27-28
530 ▼a PDF 파일로도 이용가능; ▼c Requires PDF file reader(application/pdf)
653 ▼a disassembly ▼a ARM architecture ▼a static analysis ▼a binary analysis
776 0 ▼t Disassembly of Stripped ARM Binaries By Exploiting Selective Information on Linear Disassembly ▼w (DCOLL211009)000000257705
900 1 0 ▼a Kim, Jingyoung, ▼e
900 1 0 ▼a 오학주, ▼e 지도교수
945 ▼a ITMT

전자정보

No. 원문명 서비스
1
Disassembly of stripped ARM binaries by exploiting selective information on linear disassembly (10회 열람)
PDF 초록 목차

소장정보

No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 과학도서관/학위논문서고/ 청구기호 0510 6D36 1124 등록번호 123068482 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 2 소장처 과학도서관/학위논문서고/ 청구기호 0510 6D36 1124 등록번호 123068483 도서상태 대출가능 반납예정일 예약 서비스 B M

컨텐츠정보

초록

모바일 시장이 성장함에 따라 모바일에서 널리 사용되는 ARM 바이너리를 정적으로 분석해야 할 필요성도 높아지고 있다. 그러나 ARM 바이너리를 위한 기존의 역어셈블리 기술들은 여러 정적 분석 작업을 제대로 수행하기 위해 충분히 정확하지 못하며, 특히 바이너리의 재작성과 계측에 치명적인 false negative (FN)를 생성할 수 있는 문제를 가지고 있다. 본 논문에서는 ARM 바이너리에 대해 FN이 없으면서도 false positive (FP)가 매우 적은 어셈블리 코드를 생성하기 위한 정교한 역어셈블리 기법을 제시한다. 우리의 접근 방식은 다음과 같은 선형 역어셈블리의 특성을 기반으로 한다. 선형 역어셈블리의 결과는 많은 FP를 가질 수 있지만, 동시에 고정 길이 ISA에 대한 모든 true positive (TP)를 포함하며, FP와 TP는 서로 다소 구별되는 고유한 특성을 가지고 있다. 이를 기반으로, 우리의 방법은 선형 역어셈블리의 결과에서 신뢰할 수 있는 TP 명령어들을 주의 깊게 식별하고 이 명령어들의 semantic을 활용하여 FP를 제거한다. 또한, 우리는 ARM 아키텍처에서 인라인 데이터를 참조하는 방법을 활용한 정교한 분석을 통해, FP를 효과적으로 식별하고 제거한다. 우리의 기술을 구현한 프로토타입의 성능은 Coreutils 및 Openssl에서 수집한 ARM32 및 ARM64 바이너리들의 컬렉션에 대해 평가 되었으며, 실험 결과 두 ISA 모두에 대해 어떠한 FN도 생성하지 않으면서 0.0579%의 매우 낮은 FP rate를 달성하였다. 또한, 우리의 프로토타입은 최신 상업 역어셈블리 도구인 IDA pro와 비교하여 더 높은 f1 score를 달성하였다. 모든 실험 결과는 우리의 기술이 FN을 생성하지 않으면서 정확한 역어셈블리를 수행할 수 있음을 입증하였다.

In this thesis, we present a sophisticated disassembly technique for stripped ARM binaries. With the growth of the mobile market, the need to statically analyze ARM binaries widely used in mobile devices is also increasing. However, existing disassembly technologies for ARM binaries are not accurate enough to properly perform several static analysis tasks, and they have an issue of generating false negatives (FN) that are fatal to binary rewriting and instrumentation. In this thesis, we aim to generate highly accurate assembly code with no FNs and very few false positives (FPs) for these applications. Our approach is based on the following observations: the result of linear disassembly may have many FPs, but at the same time, it contains all true positives (TPs) for fixed-length ISA such as ARM, and FP and TP have their own unique features that are somewhat distinct from each other. Based on this observation, our technique identifies TP and FP from the result of linear disassembly using heuristics related to the features of real code or real data. In addition, it uses sophisticated analysis to identify FPs by utilizing the semantic features related to referring inline data in ARM Architecture. Our approach has been tested on both ARM32 and ARM64 binaries from Coreutils and Openssl. The results show that our technique does not produce any FN and has a very low FP rate of 0.0579% for both ISA. Also, our technique achieves a higher f1 score than IDA pro, the state-of-the-art commercial disassembler. As a result, our experimental results demonstrate that our proposed method can perform accurate disassembly without generating FN.

목차

Abstract
국문초록
Contents i
List of Figures iii
List of Tables iv
1 Introduction 1
1.1 Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Superset disassembly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2 Background 5
2.1 PC-relative data access in the ARM architecture . . . . . . . . . . . . . . 5
2.2 Disassembly Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3 Our approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3 Design 8
3.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.2 Linear Disassembly with Invalid Code Block Analysis . . . . . . . . . . . 9
3.3 Inline Data Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4 Evaluation 17
4.1 Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.2 Scalability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
5 Related Work 24
6 Conclusion 26
Bibliography 27
Acknowledgement