MASTG-TEST-0235 クリアテキストトラフィックを許可する Android アプリ構成 (Android App Configurations Allowing Cleartext Traffic)

概要

Android 9 (API レベル 28) 以降、クリアテキストの HTTP トラフィックはデフォルトでブロックされます (デフォルト Network Security Configuration を参照) が、アプリケーションがそれを送信する方法はまだ複数あります。

  • AndroidManifest.xml: <application> タグの android:usesCleartextTraffic 属性を設定します。Network Security Configuration が構成されている場合、このフラグは無視されることに注意してください。

  • Network Security Configuration: <base-config> または <domain-config> 要素の cleartextTrafficPermitted 属性を true に設定します。

手順

  1. アプリをリバースエンジニアします (Java コードの逆コンパイル (Decompiling Java Code))。

  2. AndroidManifest.xml を取得します。

  3. Network Security Configuration を取得します。

  4. AndroidManifest.xml から usesCleartextTraffic の値を読み取ります。

  5. NSC <base-config> 要素から cleartextTrafficPermitted の値を読み取ります。

  6. NSC <domain-config> 要素から cleartextTrafficPermitted の値を読み取ります。

結果

出力にはクリアテキストトラフィックを潜在的に許可する構成のリストを含みます。

評価

クリアテキストトラフィックが許可されている場合、そのテストケースは不合格です。これは以下が true である場合に発生する可能性があります。

  1. AndroidManifest は usesCleartextTraffictrue に設定し、NSC がありません。

  2. NSC は <base-config>cleartextTrafficPermittedtrue に設定します。

  3. NSC は <domain-config>cleartextTrafficPermittedtrue に設定します。

注: AndroidManifest が usesCleartextTraffictrue に設定し、NSC がある場合、空の <network-security-config> 要素しかないとしても、テストは不合格ではありません。たとえば、以下のような場合です。

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
</network-security-config>

Last updated

Was this helpful?