MobSF(Mobile Security Framework)を活用したスマホアプリ解析のご紹介
0. はじめに
近年スマホアプリを使用して様々なことができるようになりました。
例えばネットサーフィンはもちろん、決済や口座入金などもスマホアプリ一つでできます。
これらは便利で使い勝手がよく、身近な存在になっていますが、 スマホアプリ一つで完結するが故に個人情報などの重要情報が集積されているため、ハッカー等の攻撃者から標的になりやすいとも言えます。
実際、独立行政法人情報処理推進機構(IPA)の報告によると、情報セキュリティ10大脅威のうち、半数以上はスマホアプリにも関連する項目となります。
※黄色箇所がスマホアプリに関連する項目となります。
※情報セキュリティ10大脅威 2023 https://www.ipa.go.jp/security/10threats/10threats2023.html より引用
今回は安全なスマホアプリをリリースするための第一歩として活用できるツール、MobSFをご紹介します。
1. MobSFについて
MobSF(Mobile Security Framework)はスマホアプリ(Android/iOS/Windwos)に対して、ソースコードの確認といった静的解析、スマホアプリ操作時の端末内部の挙動確認や外部との通信確認といった動的解析が可能です。
また、ペネトレーションテストやマルウェア解析もできるセキュリティ評価フレームワークとなります。
※https://github.com/MobSF/Mobile-Security-Framework-MobSF
特徴として、Webブラウザ操作でスマホアプリの解析が可能なため視覚的にわかりやすく操作しやすいという点があります。
今回は本ツールの導入および起動~静的解析までの流れを確認していきます。
2. 事前準備
今回MobSFを用いてスマホアプリの静的解析を行うために準備するものは以下となります。
・Docker
コンテナ仮想化を用いてアプリケーションを開発・配置・実行するためのオープンプラットフォームです。
今回はDocker内にアプリケーションを配置し実行します。Dockerを使用することで様々なバージョンのMobSFを使用することが簡単になります。
・コンテナイメージ
MobSFはコンテナイメージが公開されているため、そちらを使用してMobSFを起動します。
※https://hub.docker.com/r/opensecurity/mobile-security-framework-mobsf/
・アプリファイル
解析したいapkファイルかipaファイルを用意します。
今回はInsecureBankv2というAndroidアプリの脆弱性が盛り込まれたアプリケーションのapkファイルを使用します。
※https://github.com/dineshshetty/Android-InsecureBankv2
3. MobSFのセットアップ、起動
まずは作業用のPCにDockerをインストールします。今回はWindows10のPCにインストールします。
以下のURLからWindows用のインストーラを入手し、ウィザードに従ってインストールを実行します。
※https://www.docker.com/
インストールが完了したらコマンドプロンプトを起動し、下記のコマンドを使用してMobSFを起動します。
docker pull opensecurity/mobile-security-framework-mobsf
docker run -it -p 8000:8000 opensecurity/mobile-security-framework-mobsf:latest
プロンプトが上記の画面になったらMobSFの起動は成功です。
Webブラウザでhttp://localhost:8000にアクセスすると、MobSFの画面が表示されることを確認できます。
4. 静的解析の実施
MobSFでの静的解析は簡単でGUI上に解析したいアプリファイルをアップロードするだけです。
※ファイルのアップロードはドラッグアンドドロップでも可能です。
アプリファイルのアップロードが完了すると自動で静的解析が開始されます。
静的解析が完了すると、以下のように実行結果が出力されます。
今回は本ツールの導入および起動~静的解析までの流れを確認しました。
このようにWebブラウザ操作で簡単に解析を実施できます。
次回は検出された結果について評価していきます。
参考文献
ipa_2023:https://www.ipa.go.jp/security/10threats/10threats2023.html
MobSF:https://github.com/MobSF/Mobile-Security-Framework-MobSF
MobSFコンテナイメージ:https://hub.docker.com/r/opensecurity/mobile-security-framework-mobsf/
InsecureBankv2:https://github.com/dineshshetty/Android-InsecureBankv2
Docker:https://www.docker.com/