MASTG-TECH-0049 動的解析 (Dynamic Analysis)

動的解析はアプリバイナリを実行および動作し、脆弱性がないかどうかについてそのワークフローを解析して、モバイルアプリをテストします。たとえば、データストレージに関する脆弱性は静的解析では捕捉しにくいことがしばしばありますが、動的解析ではどのような情報が永続的に保存されているか、その情報が適切に保護されているかを簡単に発見できます。さらに、動的解析によりテスト担当者は以下を適切に特定できます。

  • ビジネスロジックの欠陥

  • テスト環境の脆弱性

  • 一つまたは複数のサービスを介して処理される際の不適切な入力バリデーションと不適切な入出力エンコーディング

アプリケーションを評価する際には、MobSF などの自動化ツールによって解析を支援できます。アプリケーションはサイドロード、再パッケージ化、あるいはインストールされたバージョンを単に攻撃するだけで評価できます。

基本的な情報収集

前述のように、Android は修正された Linux カーネル上で動作し、Linux の proc ファイルシステムarrow-up-right (procfs) を保持しており、/proc にマウントされます。procfs はシステム上で動作しているプロセスのディレクトリベースのビューを提供し、プロセス自体、そのスレッド、その他のシステム全体の診断に関する詳細な情報を提供します。procfs はおそらく Android で最も重要なファイルシステムの一つであり、多くの OS ネイティブツールが情報源として procfs に依存しています。

多くのコマンドラインツールはサイズを小さくするために Android ファームウェアには同梱されていませんが、Busybox を使用してルート化されたデバイスに簡単にインストールできます。また cut, grep, sort などのコマンドを使用して、独自のカスタムスクリプトを作成し、proc ファイルシステム情報を解析することもできます。

このセクションでは、procfs の情報を直接または間接的に使用して、実行中のプロセスに関する情報を収集します。

Last updated