1. サポートセンター
  2. ドキュメント
  3. デスクトップ版
  4. ツール
  5. モバイルアシスタント

Burp Suiteモバイルアシスタント

Burp Suiteモバイルアシスタントは、Burp SuiteによるiOSアプリのテストを容易にするためのツールです。

まだモバイルアシスタントがインストールされていない場合は、Burp Suiteモバイルアシスタントのインストールを参照してください。

一度インストールすると、Burp Suiteモバイルアシスタントは、他のアプリと同様にデバイス上で起動できます。アプリのアイコンをタップするだけで起動します。

Burp Suiteを経由するようトラフィックをルーティング

Burpインスタンスが実行中で、モバイルデバイスからネットワークアクセスできるか確認してください。

Burp Suiteモバイルアシスタントでは、接続するBurp Suiteのホストとポートの設定、設定されたインスタンスからCA証明書をインストール、デバイスのプロキシとして有効化が可能です。

設定を確認するためにテストの実行もできます。テストでは、次のチェックが行われます:

注: モバイルアシスタントによるプロキシ設定変更は一時的なもので、再起動すると元に戻ります。iOSバージョン9.0以降の端末では、モバイルアシスタントを使用してプロキシ設定を変更しても、iOS設定アプリに反映されません。インストールされたBurpのCA証明書は、再起動しても元に戻されません。

証明書ピニングの回避

証明書ピニングは、悪意のある攻撃者による信頼されたサーバの偽装から守るために、アプリが使用する手法です。ここでのピニングとは、正当な証明書の信頼できるローカルコピーに対して、(SSL証明書の形式でリモートサーバから提供される)ホストのIDを認証する処理を指します。したがって、アプリが期待したIDとサーバの証明書が一致してそのIDを認証できた場合のみ、リモートサーバとの接続が確立されます。

Burpはデフォルトで、ホストごとの証明書を、自己署名のCA証明書で署名し生成します。デバイスにはこのような証明書を信頼させられますが、アプリが期待しているピニングされた証明書とは一致しません。その結果、HTTPトラフィックをプロキシするよう適切にデバイスが設定されていても、証明書のピニングがされていると、そのようなアプリによって生成されたトラフィックをBurpがインターセプトした診断ができなくなります。

Burp Suiteモバイルアシスタントには、低レベルのシステムAPIをフックして証明書ピニングを無効化する処理を挿入する機能があり、証明書のピニングが実装されていてもBurp Suiteを使用したトラフィックのインターセプトができます。

証明書ピニングは、システムAPI、サードパーティーのライブラリ、カスタムコードを使用するなど様々な方法で実装されています。Burp Suiteモバイルアシスタントは低レベルのシステムAPIをフックするので、大抵のアプリで成功します。しかし場合によっては、アプリへの挿入が成功していてもピニングが無効にならない場合があり、アプリがカスタムコードを使用した証明書ピニングをしていることを示しています。

注: 現在のところ、モバイルアシスタントの証明書ピニングバイパス機能は、iOSバージョン10をサポートしていません。

挿入されたアプリの追加

"挿入されたアプリを追加"をタップすると、挿入アプリ一覧にアイテムを追加できます。挿入アプリ一覧のいずれかに一致する場合、アプリに証明書ピニングバイパスが挿入されます。

追加メニューには、ユーザアプリとシステムアプリのリストが表示され、これらのアプリを個別に選択して挿入できます。

上級ユーザは、一連の関連アプリにまとめて挿入したいでしょう。これは、高度なフィルターを追加すると実現できます。次の種類のフィルターを使用できます:

挿入アプリ一覧

挿入されたアプリのリストで、個別のエントリを有効または無効にできます。アイテムが有効な場合は様々なチェックが行われ、エラーが発生するとアイテムは自動的に無効になります。

個々のアイテムをアイテムを左にスワイプするか"全てを削除"をタップすると、リストから削除できます。

注: 挿入を有効にしてもすぐには有効になりません。挿入はアプリの起動時に行われます。したがって、既に起動しているアプリを挿入アプリ一覧で有効化した場合は、アプリを再起動する必要があります。アプリに正常に挿入されている場合、アプリの起動時にダイアログが表示されます。

クラッシュからの回復

アプリケーションに挿入してAPI呼び出しをフックする処理には、本質的にリスクが伴います。このため、Cydia Substrateは予期せぬ状況を検知し、デバイスが永続的なクラッシュ状態になるのを防ぎます。万が一Burp Suiteモバイルアシスタントがクラッシュして問題を引き起こした場合は、Cydia Substrateのセーフモードを参照してください。