[논문 리뷰] HornDroid: Practical and Sound Static Analysis of Android Applications by SMT Solving
HornDroid는 프로그램의 의미를 모델링하기 위해 호른 절을 사용하고 정보 흐름 성질을 검증하기 위해 SMT 해법을 사용하는 안드로이드 앱을 위한 사운드 정적 분석 도구이다. 이 도구는 높은 정밀도와 성능를 달성하여 기존 도구들을 능가하며, 안드로이드 정적 분석에 대한 사운드니스의 첫 번째 공식적 증명을 제공한다.
We present HornDroid, a new tool for the static analysis of information flow properties in Android applications. The core idea underlying HornDroid is to use Horn clauses for soundly abstracting the semantics of Android applications and to express security properties as a set of proof obligations that are automatically discharged by an off-the-shelf SMT solver. This approach makes it possible to fine-tune the analysis in order to achieve a high degree of precision while still using off-the-shelf verification tools, thereby leveraging the recent advances in this field. As a matter of fact, HornDroid outperforms state-of-the-art Android static analysis tools on benchmarks proposed by the community. Moreover, HornDroid is the first static analysis tool for Android to come with a formal proof of soundness, which covers the core of the analysis technique: besides yielding correctness assurances, this proof allowed us to identify some critical corner-cases that affect the soundness guarantees provided by some of the previous static analysis tools for Android.
연구 동기 및 목표
- 정보 흐름 분석의 정확성을 보장하는 실용적이고 사운드한 정적 분석 프레임워크를 개발하는 것.
- 안드로이드 앱의 보안 성질을 자동으로 검증하기 위해 상용 SMT 해법기를 활용하는 것.
- 기존 안드로이드 정적 분석 도구들보다 정밀도와 성능를 향상시키는 것.
- 핵심 분석 기법의 사운드니스를 공식적으로 증명하여 이전 도구들이 간과한 핵심 코너 케이스를 밝혀내는 것.
제안 방법
- 안드로이드 앱의 제어 흐름과 데이터 흐름 행동을 나타내기 위해 호른 절을 사용하여 추상적인 프로그램 의미를 정의하는 것.
- 보안 성질을 호른 절 프레임워크 내에서 표현된 증명 의무로 인코딩하는 것.
- 이러한 증명 의무를 자동으로 해소하기 위해 상용 SMT 해법기를 사용하는 것.
- 분석의 정밀도와 성능를 균형 있게 조절하기 위한 세밀 조정 메커니즘을 통합하는 것.
- 핵심 분석 기법의 사운드니스를 공식적으로 증명하여 정확성 보장을 보장하는 것.
실험 결과
연구 질문
- RQ1기존 검증 인fra를 활용하여 안드로이드 앱의 정적 분석을 정밀하고 확장 가능하게 만들 수 있는가?
- RQ2호른 절이 보안 성질 검증을 위한 안드로이드 애플리케이션의 의미를 효과적으로 모델링할 수 있는가?
- RQ3SMT 해법기는 얼마나 효과적으로 안드로이드 앱의 정보 흐름 성질 검증을 자동화할 수 있는가?
- RQ4기존 안드로이드 정적 분석 도구의 사운드니스를 해칠 수 있는 핵심 코너 케이스는 무엇인가?
- RQ5실용적인 안드로이드 정적 분석 프레임워크에 대해 사운드니스의 공식적 증명을 구성할 수 있는가?
주요 결과
- HornDroid는 커뮤니티가 제안한 벤치마크에서 최신 기술 수준의 안드로이드 정적 분석 도구들을 능가한다.
- 이 도구는 핵심 분석 기법의 사운드니스에 대한 공식적 증명을 제공하는 첫 번째 도구이다.
- 공식적 증명을 통해 이전 정적 분석 도구들이 간과한 사운드니스를 해칠 수 있는 핵심 코너 케이스를 밝혀냈다.
- SMT 해법의 사용은 상용 검증 기술을 통해 확장성을 유지하면서도 높은 정밀도를 달성할 수 있도록 했다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.