ソフトウェア開発者のための OSS、まとめてみました!

ソフトウェア開発を行なっている自分が、個人的に面白いと思ったプログラムの最新技術や、オープンソースソフトウェア(OSS)をまとめています!

MENU

モバイルアプリの脆弱性を診断したいなら!「Mobile -Security-Framework(MobSF)」

概要

モバイルアプリのセキュリティテストを行う際、みなさまはどのようにして実施されていますでしょうか?

独自のプログラムで行っていたり、手作業で行っている場合も少なくないのではないでしょうか?

今回ご紹介する 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

動的解析

  • 動的解析は、MobSF dockerコンテナ利用時、あるいはMobSFをVM上で実行しているときには動作ないとのことです。
  • GenymotionGenymotion 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 をみていただければと思います。

github.com

まとめ

今回は、自動化されたオールインワンのモバイルアプリケーション(Android/iOS/Windows)への侵入テスト、マルウェア分析、静的・動的分析を実行することができるセキュリティ評価フレームワークMobile -Security-Framework(MobSF)」をご紹介しました。

モバイルアプリのセキュリティ対策として何か良い OSS がないかお探しの方や、モバイルアプリ開発者、セキュリティ監査の方などにとってはこちらの MobSF はとても有意義な OSS になるのではないでしょうか。

気になった方は、ぜひ一度こちらの OSS を試していただければと思います。

ライセンス

GNU General Public License v3.0

リンク

mobsf.github.io

github.com