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