攻撃者は ZAP、Burp Suite、mitmproxy などの傍受プロキシを使用して Android デバイスからのネットワークトラフィックをキャプチャし、アプリから送信されるデータを解析できます。これはアプリが HTTPS を使用している場合でも機能します。攻撃者は Android デバイスにカスタムルート証明書をインストールしてトラフィックを復号できるためです。HTTPS で暗号化されていないトラフィックの検査はさらに簡単で、たとえば Wireshark を使用することで、カスタムルート証明書をインストールすることなく実行できます。
このテストの目的は、トラフィックが暗号化されている場合でも、機密データ (特に PII) がネットワーク経由で送信されていないことを検証することです。このテストは、金融データや医療データなどの機密データを扱うアプリにとって特に重要であり、アプリのプライバシーポリシーとアプリのマーケットプレイスのプライバシー宣言 (Google Play の Data Safety セクションなど) のレビューと併せて実施すべきです。
デバイスを起動します。
ネットワークトラフィックからの機密データのログ記録を開始します (ネットワークトラフィックからの機密データのログ記録 (Logging Sensitive Data from Network Traffic)arrow-up-right)。たとえば、mitmproxy を使用します。
アプリを起動して使用し、さまざまなワークフローを実行しながら、可能な場所で機密データを入力します。特に、ネットワークトラフィックをトリガーすることが分かっている場所で行います。
出力には復号された HTTPS トラフィックを含むネットワークトラフィックのログを含む可能性があります。
アプリのマーケットプレイスのプライバシー宣言 (Google Play の Data Safety セクションなど) やそのプライバシーポリシーに宣言されていない、アプリに入力した PII を見つけることができた場合、そのテストケースは不合格です。
このテストは、機密データがネットワーク経由で送信されるコードの場所を提供しないことに注意してください。コードの場所を特定するには、semgrep などの静的解析ツールや Frida などの動的解析ツールを使用できます。詳細については、それぞれ 機密ユーザーデータを扱うことが知られている SDK API への参照 (References to SDK APIs Known to Handle Sensitive User Data)arrow-up-right および 機密ユーザーデータを扱うことが知られている SDK API の実行時使用 (Runtime Use of SDK APIs Known to Handle Sensitive User Data)arrow-up-right を参照してください。
Last updated 1 month ago