-->

오픈소스 툴 SUPER 사용, 안드로이드 앱 (apk) 취약점 점검하기

SUPER 다운로드 및 설치

SUPER은 오픈소스 기반의 안드로이드 앱 (apk) 취약점 점검 툴이다(사실 분석툴이 더 맞는 것 같다). 윈도우, 리눅스, 맥 환경에서 전부 사용 가능하며 아래 링크에서 다운받을 수 있다.

 


https://superanalyzer.rocks/download.html

 

SUPER Android Analyzer - Download

Here you can download SUPER for Windows, Linux and MacOS X. We only provide 64-bit builds. If you need support for 32 bits, you will need to compile SUPER from source. Download for Windows Windows download has been tested in Windows 8.1 and Windows 10, but

superanalyzer.rocks

 

 

설치파일을 실행시키면 아래와 같이 설치가 진행된다.

 

 

 

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()에 사용자 입력값과 연관이 있는 변수가 사용되면 취약한지 분석해보는 것이 의미가 있겠으나 아래의 경우에는 그런 상황이 아니므로 따로 분석할 필요는 없다.

 

댓글

Designed by JB FACTORY