2017년 12월 11일 월요일

모든 Android 개발자에게 영향을 미칠 수 있는 ParseDroid 취약점

'Checkpoint' 연구원은 Java/Android 개발을 수행하는 모든 조직이 외부인이 시스템에 액세스할 위험에 처하게 하는 Android 응용프로그램 개발자 도구의 몇가지 취약점을 발견했습니다.

이 취약점은 'ParseDroid - Targeting The Android Development & Research Community' 보고서에 따르면 Android Studio, IntelliJ, Eclipse APKTool과 가장 일반적인 Android 통합 개발 환경 (IDES)을 사용하는 플랫폼간 사용자에게 영향을 줍니다.

연구원은이 공격이 어떤 조직의 모든 Android 개발자를 목표로 삼을 수 있으며 APKTool (Android Application Package Tool)을 사용하는 많은 오픈 소스 도구가 있다는 점을 지적했습니다.

연구원은 APKTool을 검사하여 APKTool의 구성된 XML 구문 분석기가 XML 파일을 구문 분석할 때 외부 엔터티 참조를 사용하지 않도록 설정하여 소스 코드에 XML 외부 엔터티 (XXE) 취약점이 있음을 확인했습니다.

이 취약한 기능은 "loadDocument"라고 불리우며 APKTool 'Build' 'Decompile'과 같은 핵심 기능에 사용되고 있습니다. 결과적으로 APKTool 사용자의 전체 OS 파일 시스템이 노출되어 공격자가 XXE 취약점을 악용하는 악의적인 "AndroidManifest.xml"파일을 사용하여 피해자의 PC에서 파일을 검색할 수 있습니다.

공격자는 악의적인 APK를 생성하거나 상점에 업로드하거나 목표물에 전송할 수 있습니다. 또 다른 공격에서 연구원은 공격자가 악성 AAR (Android Archive Library)을 업로드하고 피해자가 모르는 사이에 다운로드하기를 기다리는 등 개발자를 대상으로 공개 저장소를 사용할 수 있는 방법을 보여주었습니다.

피해자가 알려진 저장소에서 Android Studio 프로젝트로 AAR을 가져 오면 악의적인 페이로드 실행으로 이어져 파일 내용을 공격자의 서버로 보낼 수 있습니다. 별도의 시나리오에서 APKtool "경로 통과 (Path Traversal)"취약점을 사용하여 백도어를 APK 파일에 주입하여 서비스 및 사용자를 공격할 수 있습니다.

이 취약점은 Google, Jetbrains, Eclipse APKTool 소유자에게 보고되었으며 이후 Google, Jetbrains APKTool 소유자는 패치 버전을 수정하여 릴리스했습니다.

댓글 없음:

댓글 쓰기