Android is the most commonly used open source mobile system platform. Smartphone developers modify Android source code to build custom mobile system for their own devices. However, a security vulnerability could be introduced in the custom Android platform while third-party manufacturers modify Android platform. Previous researches showed various attacks including privilege escalation attacks and leaking private information using unprotected Linux device drivers. This paper presents a tool DroidJux(AnDroid Juxtaposer) that compares AOSP(Android Open Source Project) and customized Android framework to detect security vulnerabilities due to Android customization. Android developers can use DroidJux to find suspicious privilege configurations and vulnerable Android components and can fix the vulnerabilities. This paper presents real-world attacks that uses suspicious Android modules reported by DroidJux. An arbitrary attacker can do the following things without smartphone user's permission: (i) acquiring an Android permission and using privileged Android components with the permission, (ii) forging malicious app's identification to utilize private data (e.g. private information including Web browsing history, e-mail contents, and contacts) and private components of other apps, (iii) disabling a smartphone module (e.g. WiFi, Bluetooth, GPS) using a vulnerable system component, and (iv) removing an alarm of the user.
안드로이드(Android) 플랫폼은 스마트폰 시장에서 가장 많이 사용되고 있는 오픈소스(Open-source) 모바일 시스템 플랫폼이다. 스마트폰 제조사들은 안드로이드 코드를 자유롭게 수정해서 자신들의 제품에 맞는 모바일 시스템을 구현할 수 있다. 그런데 이렇게 제조사들이 안드로이드 플랫폼을 수정할 때 의도하지 않은 보안 취약점이 생길 수 있다. 과거의 여러 연구가 수정된 안드로이드에 대해 권한 상승(privilege escalation) 공격이나 리눅스 디바이스 드라이버에 대한 공격을 수행해 스마트폰 안의 개인정보를 유출하는 공격을 보여주었다. 본 논문은 안드로이드 플랫폼 수정을 수정하면서 생길 수 있는 보안 취약점을 찾기 위해 AOSP(Android Open Source Project)와 수정된 안드로이드 프레임워크가 어떻게 다른지 확인해서 보고하는 도구 DroidJux(AnDroid Juxtaposer)를 제시한다. DroidJux는 안드로이드 프레임워크에 있는 권한 설정과 내장 애플리케이션들을 추출하고, AOSP의 프레임워크와 대상 안드로이드 프레임워크 사이의 권한 설정과 프레임워크 내 안드로이드 컴포넌트들의 보안 수준을 비교한다. 안드로이드 개발자는 DroidJux의 결과를 참고해 AOSP보다 보안 수준이 떨어진 프레임워크 권한 설정과 취약해진 안드로이드 컴포넌트들을 쉽게 확인하고 이를 개선할 수 있다. 본 논문은 DroidJux의 결과를 사용해서 성공한 실제 공격들도 보여준다. 임의의 공격자는 대상 스마트폰 사용자의 동의 없이 (i) 임의의 안드로이드 권한(permission)을 획득해 이전에 사용할 수 없었던 높은 권한을 가진 안드로이드 컴포넌트들을 사용할 수 있었고 (ii) 악성 앱의 신분을 다른 앱의 신분으로 위조해서 다른 앱의 비공개 데이터(웹 브라우징 기록, 이메일 내용, 연락처 등을 포함한 개인정보)를 읽거나 다른 앱의 비공개 컴포넌트를 사용할 수 있었고, (iii) 취약한 시스템 컴포넌트를 사용해 스마트폰 모듈(예, WiFI, 블루투스, GPS)을 비활성화할 수 있었고, (iv) 사용자의 알람을 임의로 제거할 수 있었다.