MASTG-TEST-0048 リバースエンジニアリングツール検出のテスト (Testing Reverse Engineering Tools Detection)

さまざまなリバースエンジニアリングツールやフレームワークをテストデバイスにインストールしてアプリを起動します。少なくとも次のものを含めます: Frida, Xposed

アプリはこれらのツールの存在に何らかの反応を示すはずです。たとえば以下のようなものです。

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

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

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

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

次に、リバースエンジニアリングツールの検出のバイパスに取り組み、以下の質問に回答します。

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

  • 静的解析および動的解析によってアンチリバースエンジニアリングコードを特定することはどのくらい難しいですか?

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

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

リバースエンジニアリングツールの検出をバイパスするには、以下の手順を参考にしてください。

  1. アンチリバースエンジニアリング機能にパッチを適用します。望まない動作を無効にするには、関連するバイトコードやネイティブコードを NOP 命令で上書きするだけです。

  2. Frida か Xposed を使用して、Java やネイティブ層のファイルシステム API をフックします。改変したファイルではなく、元のファイルへのハンドルを返します。

  3. カーネルモジュールを使用して、ファイル関連のシステムコールをインターセプトします。プロセスが改変したファイルを開こうとする際、未改変のバージョンのファイルのファイル記述子を返します。

Last updated

Was this helpful?