MASTG-TEST-0090 ファイル完全性チェックのテスト (Testing File Integrity Checks)

アプリケーションのソースコードの完全性チェック:

変更されていない状態でデバイス上でアプリを実行し、すべてが動作することを確認します。次に実行可能ファイルになんらかのパッチを適用 (Frida Gadget を IPA 内に自動的に注入する (Injecting Frida Gadget into an IPA Automatically) などを参照) し、アプリに再署名 (再パッケージ化と再署名 (Repackaging and Re-Signing)) し、実行します。

アプリは何らかの反応を示すはずです。たとえば以下のようなものです。

  • ユーザーに警告し、責任を負うことを求めます。

  • 穏やかに終了して、実行を防止します。

  • デバイスに保存されている機密データを安全に消去します。

  • 不正検出など、バックエンドサーバーに報告します。

防御のバイパスに取り組み、以下の質問に回答します。

  • そのメカニズムは簡単に (たとえば、一つの API 関数をフックするなどで) バイパスできますか?

  • 静的解析および動的解析によって検出コードを特定することはどのくらい難しいですか?

  • その防御を無効にするカスタムコードを書くことは必要はありますか?どのくらい時間がかかりましたか?

  • そのメカニズムをバイパスすることの難しさをどのように評価しますか?

ファイルストレージの完全性チェック:

アプリデータディレクトリのアクセス (Accessing App Data Directories) に示されているようにアプリデータディレクトリに行き、いくつかのファイルを変更します。

次に、防御のバイパスに取り組み、以下の質問に回答します。

  • そのメカニズムは簡単に (たとえば、ファイルのコンテンツやキーと値のペアを変更することなどで) バイパスできますか?

  • HMAC キーや非対称秘密鍵 (private key) を取得することはどのくらい難しいですか?

  • その防御を無効にするカスタムコードを書くことは必要はありますか?どのくらい時間がかかりましたか?

  • そのメカニズムをバイパスすることの難しさをどのように評価しますか?

Last updated

Was this helpful?