Skip to main content
QUICK REVIEW

[논문 리뷰] Automatically Securing Permission-Based Software by Reducing the Attack Surface: An Application to Android

Alexandre Bartel, Jacques Klein|arXiv (Cornell University)|2012. 05. 22.
Advanced Malware Detection Techniques참고 문헌 21인용 수 50
한 줄 요약

이 논문은 바이트코드를 분석하여 최소한의 필수 권한 세트를 결정함으로써 Android 애플리케이션의 권한 누락을 자동으로 식별하는 정적 분석 도구인 COPES를 제시한다. 이는 공격 표면을 줄이는 데 기여한다. 분석 결과, 분석 대상 앱 742개 중 94개와 679개 중 35개가 불필요하게 선언된 권한을 가지고 있음을 확인하였으며, 이는 Android 앱에서 권한 과다 선언이 널리 퍼져 있는 문제임을 시사한다.

ABSTRACT

A common security architecture, called the permission-based security model (used e.g. in Android and Blackberry), entails intrinsic risks. For instance, applications can be granted more permissions than they actually need, what we call a "permission gap". Malware can leverage the unused permissions for achieving their malicious goals, for instance using code injection. In this paper, we present an approach to detecting permission gaps using static analysis. Our prototype implementation in the context of Android shows that the static analysis must take into account a significant amount of platform-specific knowledge. Using our tool on two datasets of Android applications, we found out that a non negligible part of applications suffers from permission gaps, i.e. does not use all the permissions they declare.

연구 동기 및 목표

  • Android과 같이 권한 기반 시스템에서 앱이 필요 이상의 권한을 선언함으로써 발생하는 보안 위험을 해결하기 위해.
  • 앱에 포함된 사용되지 않는 또는 불필요한 권한을 식별하고 제거함으로써 공격 표면을 줄이기 위해.
  • 수동으로 하거나 실수를 범하기 쉬운 선언 방식을 피하기 위해 최소한의 필수 권한 세트를 자동으로 결정하는 과정을 자동화하기 위해.
  • 프레임워크 API 전반에 걸쳐 플랫폼 수준의 권한 요구 사항을 체계적이고 재사용 가능한 방법으로 문서화하기 위해.

제안 방법

  • 권한 간 의존 관계를 체계화하기 위해 권한 기반 보안 모델을 부울 행렬 대수 표현으로 구축한다.
  • Android 프레임워크 바이트코드에 대한 정적 분석을 수행하여 각 API 메서드가 요구하는 권한을 추출한다.
  • 응용 프로그램 바이트코드를 분석하여 앱이 실제로 호출하는 모든 프레임워크 메서드를 식별한다.
  • 호출된 메서드들이 요구하는 권한들의 합집합으로 최소한의 필수 권한 세트를 계산한다.
  • 선언된 권한과 계산된 필수 세트 간의 차이를 권한 누락으로 계산한다.
  • 동시에 수행된 테스트 기반 접근 방식과 비교하여 결과를 검증함으로써 상호 보완성과 불일치 사항을 확인한다.

실험 결과

연구 질문

  • RQ1Android 애플리케이션은 실제로 사용하지 않는 권한을 얼마나 많이 선언하는가? 이는 권한 누락을 초래한다.
  • RQ2정적 분석을 통해 Android 애플리케이션의 최소한의 필수 권한 세트를 정확하고 자동으로 추론할 수 있는가?
  • RQ3정적 분석 기반 접근 방식은 테스트 기반 접근 방식과 비교하여 권한 사용을 식별하는 데 얼마나 효과적인가?
  • RQ4제안된 방법은 Android 프레임워크 전반에 걸쳐 권한 요구 사항을 체계적으로 문서화할 수 있는가?
  • RQ5실제 생산 환경의 Android 애플리케이션에서 권한 누락은 얼마나 퍼져 있는가?

주요 결과

  • 742개 및 679개의 Android 애플리케이션에 대한 평가 결과, 각각 94개와 35개 앱이 권한 누락을 겪고 있음을 확인하였으며, 이는 과다 선언 문제가 무시할 수 없는 수준임을 시사한다.
  • 정적 분석 접근 방식은 권한을 확인하는 데 사용되는 9,562개의 Android 프레임워크 엔트리 포인트를 성공적으로 식별하여 권한 요구 사항을 체계적으로 문서화할 수 있게 하였다.
  • 동시에 수행된 테스트 기반 접근 방식과의 비교에서 불일치 사항을 발견하였으며, 이는 상호 보완적인 분석 기법의 중요성을 강조한다.
  • 이 방법은 전적으로 자동화되어 있으며, 전문가의 입력이나 수동으로 생성된 테스트 시드가 필요하지 않아 경쟁 기법들과는 다릅니다.
  • 결과는 권한 누락이 널리 퍼져 있으며, 정적 분석이 이를 탐지하는 데 실용적이고 확장 가능한 방법임을 검증한다.
  • 이 연구는 정적 분석이 불필요한 권한 선언을 최소화함으로써 공격 표면을 효과적으로 줄일 수 있음을 보여준다.

더 나은 연구,지금 바로 시작하세요

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.