Sua Blog

MobSF를 사용한 앱 보안 취약점 분석

flutter로 빌드한 APK를 MobSF(모바일 보안 분석 프레임워크)로 취약점 분석을 했다.

MobSF

  • Mobile Security Framework, 오픈소스
  • 정적 및 동적 분석을 수행할 수 있는 자동화된 모바일 보안 평가 프레임 워크
  • Github

Requirements

Mac환경 기준으로 기본 요구되는 툴이 설치되어있어야한다.

  • Git
  • Python3.8-3.9
  • JDK 8+
  • xcode
  • wkhtmltopdf : pdf generator

MobSF 설치

git clone https://github.com/MobSF/Mobile-Security-Framework-MobSF.git
cd Mobile-Security-Framework-MobSF
./setup.sh

29-1

Running MobSF

./run.sh 127.0.0.1:8000

Docker

도커로 실행할 경우

docker pull opensecurity/mobile-security-framework-mobsf
# Static Analysis Only
docker run -it --rm -p 8000:8000 opensecurity/mobile-security-framework-mobsf:latest

Analyzing

파일 실행 후 http://localhost:8000/ 으로 접속하면 MOBSF 분석창이 뜬다.

29-2

apk 파일을 업로드 하여 정적 분석을 해보자.

ios의 경우 flutter build ipa로 빌드 후 build/ios/ipa에 .ipa파일이 생기는데 이 파일을 업로드 하면 된다.

파일을 업로드 하고 분석이 끝나면(5분정도 걸렸다) 점수와 취약항목이 나온다.

29-3

분석결과로 제공되는 내용은

SIGNER CERTIFICATE

  • 앱에 서명관련한 보안 취약점
  • 프로덕션 애플리케이션은 디버그 인증서와 함께 제공되면 안된다.

APPLICATION PERMISSIONS

  • 사용된 안드로이도 권한 관련 설정
  • 외부에서 접근 가능한 권한 설정은 막는 것이 좋다. ex. android.permission.READ_EXTERNAL_STORAGE, android.permission.REQUEST_INSTALL_PACKAGES
  • 상태가 나쁘다고 무조건 악성 권한은 아님

Android API

BROWSABLE ACTIVITIES

  • 웹 브라우저에서 엑세스하는 Activity를 알려준다.
  • 나의 경우 SNS로그인(com.aboutyou.dart_packages.sign_in_with_apple.SignInWithAppleCallback, com.kakao.sdk.flutter.AuthCodeCustomTabsActivity)과 파이어베이스(com.google.firebase.auth.internal.RecaptchaActivity) 관련한 인텐트 정보가 나왔다.

NETWORK SECURITY

MANIFEST ANALYSIS

  • MANIFEST(앱의 구성요소가 정의됨) 파일을 분석해 이슈와 위험도를 보여준다.
  • 다른 앱과 공유되는 Activity에 대한 내용이 많았는데 SNS와 인앱웹뷰 관련해서 설정을 바꾸면 로그인이안되거나 접속이 안되는거 아닌가? 이 부분은 동적 검사를 해보면서 확인해봐야겠다.

CODE ANALYSIS

  • 코드를 분석해서 위험도와 어떤 파일인지 보여준다
  • OWASP을 기준으로 분석된다.
  • 웹코드 검사할 때 sonarqube에서도 난수 생성 관련한 이슈가 있었는데 모바일 또한 불충분한 암호화(임의값)사용 이슈가 나왔다.

SHARED LIBRARY BINARY ANALYSIS

NIAP ANALYSIS v1.3

  • 보안 기능 요구 사항에 대한 설명과 특징을 알려준다.

FILE ANALYSIS

APKiD ANALYSIS

QUARK ANALYSIS

SERVER LOCATIONS

DOMAIN MALWARE CHECK

  • 사용하고 있는 도메인의 위치와 상태를 알려준다.
  • developer.android.com, developer.apple.com, api.flutter.dev 등

URLS

FIREBASE DATABASE

  • 사용하고 있는 파이어베이스 URL과 정보 확인

EMAILS

TRACKERS

  • 트래커 이름과 URL을 보여준다
  • 파이어 베이스가 연동되어 있어 Google Firebase Analytics가 조회되었다.

STRINGS

분석 결과

왼쪽 메뉴에 PDF Report를 클릭하면 점검 결과를 pdf로 받아볼 수 있다.

참고

MobSF docs