상세 보기
ICFGO : Inter-Procedural Control FlowGraph 난독화를 위한 UI 은닉 및 Dummy Flow 삽입 기법
ICFGO : UI Concealing and Dummy Flow Insertion Method for Inter-Procedural Control Flow Graph Obfuscation
- 심현석;
- 정수환
초록
안드로이드 운영체제에서 Flow Analysis의 난독화를 위해서는 실행되지 않는 흐름의 코드를 생성하여 FlowGraph의 크기를 크게 만들어 분석이 어렵게 만들 수 있다. 이를 위해 논문에서는 aar 형태의 라이브러리를 구현하여 외부 라이브러리의 형태로 애플리케이션에 삽입이 가능하도록 하였다. 라이브러리는 더미 코드에서의 진입점에서부터 최대 5개의 child node를 가질 수 있도록 설계되었으며, child node의 클래스는 각 node마다 100개부터900개까지 2n+1개의 메서드를 가지고 있으므로 총 2,500개의 진입점으로 구성된다. 또한 진입점은 XML에서 총150개의 뷰로 구성되며, 각각의 진입점은 비동기 인터페이스를 통해 연결된다. 따라서 Inter-Procedural 기반의Control Flow Graph를 생성하는 과정에서는 최대 14,175E+11개의 추가적인 경우의 수를 가지게 된다. 이를애플리케이션에 적용한 결과 Inter Procedural Control Flow Analysis 툴에서 평균 10,931개의 Edge와3,015개의 Node가 추가 생성되었으며 평균 36.64%의 그래프 크기 증가율을 갖는다. 또한 APK를 분석 시에는최대 평균 76.33MB의 오버헤드가 발생하였지만, 사용자의 ART 환경에서는 최대 평균 0.88MB의 실행 오버헤드만을 가지며 실행 가능한 것을 확인하였다.
키워드
Android application; Flow analysis; Obfuscation
- 제목
- ICFGO : Inter-Procedural Control FlowGraph 난독화를 위한 UI 은닉 및 Dummy Flow 삽입 기법
- 제목 (타언어)
- ICFGO : UI Concealing and Dummy Flow Insertion Method for Inter-Procedural Control Flow Graph Obfuscation
- 저자
- 심현석; 정수환
- 발행일
- 2020-06
- 저널명
- 정보보호학회논문지
- 권
- 30
- 호
- 3
- 페이지
- 493 ~ 501
- 언어
- KOR
- 출판사
- 한국정보보호학회
- 발행국가
- 대한민국
- 분량
- 9 페이지
- ISSN
- E 2288-2715
P 1598-3986