본문 바로가기

Security/Mobile

[Android] 취약점진단 분석 도구Ⅱ(동적 분석)🛠

해당 글에서는 각 도구에 대한 설명만을 다루고 있습니다.

설치 방법 및 실행 방법은 다른 글을 참고해주세요 : )

 

 


 📝 동적 분석이란?  

 

공격자가 사용하는 방식으로 접근하여 어플리케이션의 취약점을 분석하는 방법으로, 어플리케이션 공격 환경을 인위적으로 조성하여 실제 공격이 적용되는지를 확인하는 방식으로 진행됨


1. IDA (IDA Pro)

- 코드 섹션들 사이의 상호 참조와 API 호출 시의 파라미터 및 다른 정보를 통해 자동 코드 분석을 수행하는 도구

- dex와 so 파일들을 동적으로 분석할 수 있음

- 동적분석 뿐 아니라, 정적분석에도 사용가능함

- 주로 루팅 우회 시, frida와 함께 IDA서버를 백그라운드로 실행시키는 동적 디버깅 방식으로 사용됨

- 유료이므로 별도 다운로드 링크 제공 불가
  (2021.09 현재 하위 버전인 IDA 7.0 무료로 제공됨)

 

 

2. Drozer

- 안드로이드 앱을 위한 통합 자동 보안 진단 도구

- 동적 분석, 컴포넌트 실행, 프록시 등 다양한 분석을 지원함

- 콘솔로 명령어를 입력하면 드로저 에이전트가 명령을 수행하는 방식으로 작동함

- PC(drozer (msi)), 안드로이드 디바이스(drozer (Agent .apk only))에 모두 설치해야함

- Python 2.xx 가 설치되어야 동작 가능함 (Python 3.xx 불가)

- Downloads: 
 
https://labs.f-secure.com/tools/drozer/

 

Drozer

 

labs.f-secure.com

 

3. ADB

- 안드로이드 단말기와 PC 사이의 통신을 위해 사용되는 도구(정적/동적 모두 가능)

- Downloads: 
  https://developer.android.com/studio/releases/platform-tools

 

SDK 플랫폼 도구 출시 노트  |  Android 개발자  |  Android Developers

Android SDK 플랫폼 도구는 Android SDK의 구성요소입니다.

developer.android.com

 

4-1. Xposed

- 루팅 후, 여러 Xposed 어플과 연동된 프레임워크를 이용하여 다양한 모듈을 적용할 수 있게 만들어진 어플

- 루팅 된 안드로이드 디바이스 환경에서만 사용 가능함

 

4-2. Inspeckage

- 진단 대상 앱 API 함수를 후킹하여 분석한 내용을 웹 서비스 기반으로 보여주는 도구

- 서버에 요청하는 값, 앱 권한, 공유 라이브러리 등을 확인할 수 있음

- 중요설정 파일 및 파일접근, DB 접근 정보를 실시간으로 파악 가능  ->  액티비티 동작 과정에서의 행위 파악 가능

- PC에 설치 된 Xposed.apk를 안드로이드 디바이스에 설치하고,  Inspeckage 모듈을 다운로드해야 함

- Downloads:

xposed-installer-3-1-5.zip
3.97MB

 

5. Frida

- JS Injection을 이용해 Windows, macOS, Linux, iOS, Android, and QNX 기반 어플리케이션에 대해 후킹이 가능한 파이썬 라이브러리

- python package로 제공되고 있어 pip를 통해 설치 가능함(Python 2.xx 및 pip2 불가)

- PC뿐 아니라 모바일 플랫폼도 지원하며, 모바일 악성코드 분석이나 CTF 풀이 및 모의해킹 등에 주로 사용됨

- Downloads:  
  https://github.com/frida/frida/releases

 

Releases · frida/frida

Clone this repo to build Frida. Contribute to frida/frida development by creating an account on GitHub.

github.com