概要
モバイルアプリのセキュリティテストを行う際、みなさまはどのようにして実施されていますでしょうか?
独自のプログラムで行っていたり、手作業で行っている場合も少なくないのではないでしょうか?
今回ご紹介する OSS は、モバイルアプリのバイナリ(APK、XAPK、IPA、APPX)と圧縮されたソースコードに対応し、提供している REST API を駆使して CI/CD または DevSecOps パイプラインとシームレスな結合を実現することができます。
それが「Mobile -Security-Framework(MobSF)」で、自動化されたオールインワンのモバイルアプリケーション(Android/iOS/Windows)への侵入テスト、マルウェア分析、静的・動的分析を実行することができるセキュリティ評価フレームワークになります。
それでは早速詳細についてみていきましょう!
特徴
MobSF についての特徴としては以下があげられています。
- REST API:MobSFはREST APIsを提供してイン佐生最新のAPIドキュメントにはアプリ内からアクセス可能
- CI/CD:CI/CD で MobSF REST API を利用することができます
- 多量の静的解析を一度に実施:Python スクリプトを実行して静的解析を複数実行可能
- SQLite の代わりに Postgres DB を利用可能:MobSFはデフォルトではSQLiteを用いています。必要ならバックエンドをPostgresに変更可能
そのほかまだまだ特徴があります。詳細は公式ドキュメントを参照ください。
要件
MobSF を利用するには静的解析・動的解析それぞれで以下が必要になります。
静的解析
Mac
- Gitのインストール
- Python 3.8-3.9 のインストール
- Python 3.8以上をインストール後
/Applications/Python 3.8/
に移動して最初にUpdate - Shell Profile.command
を実行後、Install Certificates.command
を実行 - JDK 8+のインストール
xcode-select --install
でコマンドラインツールを導入- wkhtmltopdf を、wikiの説明に従ってダウンロードしてインストール
- Windowsアプリの静的解析をMacおよびLinuxで行うにはWindowsホストまたはWindows VMが必要です。
Ubuntu/Debian ベースの Linux
- Gitのインストール
sudo apt-get install git
- Python 3.8-3.9のインストール
sudo apt-get install python3.8
- JDK 8+ のインストール
sudo apt-get install openjdk-8-jdk
- 以下の依存関係をインストール
sudo apt install python3-dev python3-venv python3-pip build-essential libffi-dev libssl-dev libxml2-dev libxslt1-dev libjpeg8-dev zlib1g-dev wkhtmltopdf
Windows
- Git のインストール
- Python 3.8-3.9 のインストール
- JDK 8+ のインストール
- Microsoft Visual C++ ビルドツール のインストール
- OpenSSL (light 版以外) のインストール
- wkhtmltopdf を、wikiの説明 に従ってダウンロードしてインストール
wkhtmltopdf
バイナリを含むフォルダをPATH環境変数に追加してください。
動的解析
- 動的解析は、MobSF dockerコンテナ利用時、あるいはMobSFをVM上で実行しているときには動作ないとのことです。
- Genymotion か Genymotion Cloud VM、または Android Studio Emulator をインストールする必要があります。
インストール方法
MobSF をインストールするにはご利用の端末ごとに、以下のコマンドを実行してください。
Linux/Mac
git clone https://github.com/MobSF/Mobile-Security-Framework-MobSF.git cd Mobile-Security-Framework-MobSF ./setup.sh
Windows
git clone https://github.com/MobSF/Mobile-Security-Framework-MobSF.git cd Mobile-Security-Framework-MobSF setup.bat
使用感
MobSF について、公式ドキュメント に従って導入してみました。
各端末ごとのインストールが完了したら、サーバーを実行します。
Linux/Mac
./run.sh 127.0.0.1:8000
Windows
run.bat 127.0.0.1:8000
サーバー起動後は、ブラウザにて http://localhost:8000/
にアクセスすると、MobSF の Web インターフェースにアクセスすることができます。
ここまで来たら、セキュリティ調査したいアプリケーションのバイナリファイルを Web インターフェースから選択して、実際のセキュリティレベルについて確認していただければと思います。
参考までに、わかりやすい GIF 画像が、GitHub リポジトリに掲載されていますので、イメージを把握したい方は、まずこちらの GIF をみていただければと思います。
まとめ
今回は、自動化されたオールインワンのモバイルアプリケーション(Android/iOS/Windows)への侵入テスト、マルウェア分析、静的・動的分析を実行することができるセキュリティ評価フレームワーク「Mobile -Security-Framework(MobSF)」をご紹介しました。
モバイルアプリのセキュリティ対策として何か良い OSS がないかお探しの方や、モバイルアプリ開発者、セキュリティ監査の方などにとってはこちらの MobSF はとても有意義な OSS になるのではないでしょうか。
気になった方は、ぜひ一度こちらの OSS を試していただければと思います。
ライセンス
GNU General Public License v3.0