오픈소스 툴 SUPER 사용, 안드로이드 앱 (apk) 취약점 점검하기
- 안드로이드
- 2020. 4. 13. 23:26
SUPER 다운로드 및 설치
SUPER은 오픈소스 기반의 안드로이드 앱 (apk) 취약점 점검 툴이다(사실 분석툴이 더 맞는 것 같다). 윈도우, 리눅스, 맥 환경에서 전부 사용 가능하며 아래 링크에서 다운받을 수 있다.
https://superanalyzer.rocks/download.html
설치파일을 실행시키면 아래와 같이 설치가 진행된다.
SUPER 사용법
설치된 폴더를 보면 아래와 같이 super-analyzer.exe 파일이 있다.
사용법은 정말 간단한데 아래 프로그램의 인자값으로 테스트할 apk 파일을 넘겨주기만 하면 된다.
super-analyzer.exe [FLAGS] [OPTIONS] <pakage>
--help으로 옵션을 살펴보면 다양한 옵션을 살펴볼 수 있다. 지금 테스트로 사용하는 test.apk는 옵션 없이 실행을 시키니 -v 옵션을 사용하라는 경고가 떠서 일단 지금은 -v 옵션만 사용해보도록 한다.
-v 옵션을 넘겨주니 귀여운 안드로이드가 나온다 :D
SUPER 결과보고서 확인
결과 보고서는 results 폴더에 index.html 형태로 저장된다.
결과 보고서를 확인하면, 발견된 총 취약점 수를 확인할 수 있고 발견된 각 취약점들은 Critical / High / Medium / Low / Warnings로 분류된다.
예로 몇개만 살펴보면 다음과 같다. 아무래도 툴이다보니 100% 의지하기에는 무리가 있지만 '이런 부분이 있으니 취약한지 한번 분석해보는게 좋을 것 같다' 의 느낌으로 쓰면 유용할 것 같다. 예를 들어 디바이스가 루팅됐는지 탐지하기 위한건지 아닌지 어쨌든 관련 문자열을 배열에 저장하고 있는 것 자체로는 취약점은 아니고, 이후부터는 수동으로 확인하는 작업이 필요해보인다.
아래처럼 주석에 URL이나 메일이 평문으로 저장되어 있는 경우는 LOW 취약점으로 분류해준다.
아래는 HIGH 취약점의 한 예인 'System command execution'인데 단순히 exec()를 실행하고 있는 것 만으로 커맨드 인젝션 취약점으로 분류가된 듯 하다. exec()에 사용자 입력값과 연관이 있는 변수가 사용되면 취약한지 분석해보는 것이 의미가 있겠으나 아래의 경우에는 그런 상황이 아니므로 따로 분석할 필요는 없다.
'안드로이드' 카테고리의 다른 글
[인시큐어뱅크] 안드로이드 백업 (Android Backup) 취약점 (0) | 2020.04.15 |
---|---|
[인시큐어뱅크] 로컬 암호화 (Local Encryption) 관련 취약점 (0) | 2020.04.15 |
[인시큐어뱅크] 녹스 에뮬레이터를 사용한 안드로이드 앱 취약점 진단 환경구축 (2) | 2020.04.15 |
adb를 사용한 실제 단말기와 PC 연결, shell 접속 (1) | 2020.04.14 |
dex2jar를 사용한 apk 디컴파일 (0) | 2020.04.14 |