
안드로이드 애플리케이션을 위한 정보 흐름 분석 도구
Smalien은 Android 애플리케이션 분석가를 위한 정보 흐름 분석 및 정보 유출 탐지 도구입니다. Smalien은 Linux 머신에서 Android 애플리케이션의 정적 오염 분석(static taint analysis)을 수행할 뿐만 아니라, Android 기기에서 동적 오염 분석, 암묵적 정보 흐름(implicit information flows)으로 인한 정보 유출 탐지, 그리고 런타임 시 개인정보 보호 정책 적용(privacy policy enforcement)을 수행합니다.
참고: Smalien의 새 버전은 SaitoLab-Nitech/VTDroid에서 확인할 수 있습니다!!
현재 demo-master 브랜치에서 작업 중입니다. 해당 브랜치에서 Arsenal에서 사용한 프로그램을 확인할 수 있습니다.
전체 설명은 Wiki를 참조하세요.
python main.py <apk_path>
결과로 parsed_data.json과 data_flows.json이 생성됩니다.
python generate_graphs.py parsed_data.json data_flows.json
결과로 output_class_calls.md와 output_data_flows.md가 생성됩니다. 이 파일에는 mermaid용 스크립트가 포함되어 있습니다. Haroopad와 같은 마크다운 뷰어를 사용하여 그래프를 확인할 수 있습니다.
새로운 apk 파일 implanted.apk가 *smalien/hive/workspace/*에 배치됩니다. 다음 명령어로 Android 기기에 설치하고 실행하세요.
adb install -g hive/workspace/implanted.apk
현재 Smalien은 학술 연구의 프로토타입이며 완전한 기능을 갖추고 있지 않습니다. 계속 개발 중입니다!