[논문 리뷰] Sound and Precise Malware Analysis for Android via Pushdown Reachability and Entry-Point Saturation
이 논문은 오브젝트 지향적이고 동적 디스패치되는 Android 애플리케이션에서 복잡한 제어 흐름과 예외 흐름을 처리하는 정적 악성코드 분석 프레임워크인 Anadroid를 제안한다. 이 프레임워크는 정확한 상호절차적 및 예외 기반 제어 흐름 모델링을 위해 스택 기반 제어 흐름 분석(PDCFA)을 사용하며, 비동기적이고 다중 진입점 실행을 철저히 처리하기 위해 진입점 포화(Entry-Point Saturation, EPS)를 통합한다. 이 방법은 악성코드 탐지 정확도를 95%로 높이고, 인간-기계 분석 시간을 1개 앱당 85분에서 35분으로 줄여 전통적인 유한상태 방법보다 뚜렷이 뛰어난 성능을 발휘한다.
We present Anadroid, a static malware analysis framework for Android apps. Anadroid exploits two techniques to soundly raise precision: (1) it uses a pushdown system to precisely model dynamically dispatched interprocedural and exception-driven control-flow; (2) it uses Entry-Point Saturation (EPS) to soundly approximate all possible interleavings of asynchronous entry points in Android applications. (It also integrates static taint-flow analysis and least permissions analysis to expand the class of malicious behaviors which it can catch.) Anadroid provides rich user interface support for human analysts which must ultimately rule on the "maliciousness" of a behavior. To demonstrate the effectiveness of Anadroid's malware analysis, we had teams of analysts analyze a challenge suite of 52 Android applications released as part of the Auto- mated Program Analysis for Cybersecurity (APAC) DARPA program. The first team analyzed the apps using a ver- sion of Anadroid that uses traditional (finite-state-machine-based) control-flow-analysis found in existing malware analysis tools; the second team analyzed the apps using a version of Anadroid that uses our enhanced pushdown-based control-flow-analysis. We measured machine analysis time, human analyst time, and their accuracy in flagging malicious applications. With pushdown analysis, we found statistically significant (p < 0.05) decreases in time: from 85 minutes per app to 35 minutes per app in human plus machine analysis time; and statistically significant (p < 0.05) increases in accuracy with the pushdown-driven analyzer: from 71% correct identification to 95% correct identification.
연구 동기 및 목표
- 복잡한 제어 흐름과 예외 흐름을 포함한 오브젝트 지향적이고 동적 디스패치되는 Android 응용 프로그램에서 철저하고 정확한 정적 분석의 과제를 해결한다.
- 스택 기반 및 예외 기반 제어 전이를 모델링할 때 기존의 유한상태 제어 흐름 분석의 모호성과 부정확성을 극복한다.
- Android 응용 프로그램에서 다중 비동기적 진입점의 병행 실행을 스케일러블하고 철저하게 모델링할 수 있는 기법을 제공한다. 이는 Android 악성코드 탐지의 핵심 과제이다.
- 타인 흐름 분석과 최소 권한 분석을 통합하여 민감한 데이터 泄露와 권한 오용을 탐지함으로써 악성 행동 탐지 능력을 향상시킨다.
- 사용자 정의 조건자를 통해 분석가가 의심스러운 행동을 대상으로 깊이 있게 검토할 수 있도록 하는 풍부한 사용자 인터페이스를 제공하여 인간-기계 협업 분석을 가능하게 한다.
제안 방법
- 스택 기반 스택을 사용하여 호출-반환 및 예외 처리 컨텍스트를 추적함으로써 상호절차적 제어 흐름과 예외 흐름을 정확하게 모델링하기 위해 스택 기반 제어 흐름 분석(PDCFA)을 활용한다.
- 모든 가능한 비동기적 진입점의 병행 실행 순서를 고려하여 수차례 반복적으로 도달 가능한 진입점 집합을 확장함으로써 비동기적 다중 진입점 실행을 철저하게 근사화하는 진입점 포화(EPS)를 도입한다.
- PDCFA를 정적 타인 흐름 분석과 통합하여 메서드 호출 및 제어 흐름 경로를 따라 민감한 데이터의 전파를 추적한다.
- PScout에서 제공하는 권한 맵를 사용하여 최소 권한 분석을 통합하여 불필요하게 많은 권한을 요청하는 애플리케이션을 탐지한다.
- 분석가가 사용자 정의 조건자를 정의하여 의심스러운 행동을 걸러내고 강조 표시할 수 있도록 하는 사용자 인터페이스를 설계한다.
- 프레임워크를 다비크 바이트코드 기반으로 구현하고, 52개의 Android 애플리케이션으로 구성된 DARPA APAC 챌린지 세트를 사용해 평가한다.
실험 결과
연구 질문
- RQ1유한상태 추상화에 비해 오브젝트 지향적 Android 응용 프로그램의 정적 분석 정밀도와 철저성에서 스택 기반 제어 흐름 분석(PDCFA)이 향상되는가?
- RQ2진입점 포화(EPS)가 Android 응용 프로그램에서 다중 비동기적 진입점 간 병행 실행을 철저하고 스케일러블하게 근사화할 수 있는가?
- RQ3PDCFA와 EPS를 통합함으로써 악성코드 탐지 정확도와 분석 효율성에서 측정 가능한 향상이 이루어지는가?
- RQ4사용자 정의 조건자를 활용한 인간-기계 협업 분석이 복잡하고 가려진 악성코드 탐지에 얼마나 기여하는가?
- RQ5기존의 유한상태 제어 흐름 모델에 의존하는 전통적 정적 분석 도구와 비교해 Anadroid의 성능과 정확도는 어떠한가?
주요 결과
- 스택 기반 제어 흐름 분석(PDCFA)을 적용함으로써 인간-기계 분석 시간이 1개 앱당 85분에서 35분으로 줄었으며, 이는 통계적으로 유의미한 향상이다(p < 0.05).
- Anadroid의 PDCFA 기반 버전을 사용함으로써 악성코드 탐지 정확도가 71%에서 95%로 상승하였으며, 이는 통계적으로 유의미한 향상이다(p < 0.05).
- 진입점 포화(EPS) 통합으로 비동기적 다중 진입점 실행을 철저하게 모델링할 수 있었고, 기존 도구에서 흔히 발생하는 부정확한 경로 잘라내기 문제를 피할 수 있었다.
- PDCFA와 EPS의 조합으로 인해 기존의 유한상태 모델이 구분하지 못하는 예외 흐름과 복잡한 제어 전이를 정확하게 모델링할 수 있었다.
- 프레임워크는 기밀성 침해와 권한 오용을 모두 성공적으로 탐지하였으며, 특히 비권한 앱이 권한이 있는 컴포넌트를 악용하는 경우도 탐지하였다.
- 사용자 정의 조건자 기반 필터링을 제공하는 도구의 사용자 인터페이스 덕분에 분석가들은 깊이 있게 가로막힌 악성코드 행동을 효율적으로 검토할 수 있었으며, 실제 분석 환경에서의 실용성 향상이 뚜렷했다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.