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
に設定します。
手順
アプリをリバースエンジニアします (Java コードの逆コンパイル (Decompiling Java Code))。
AndroidManifest.xml を取得します。
Network Security Configuration を取得します。
AndroidManifest.xml から
usesCleartextTraffic
の値を読み取ります。NSC
<base-config>
要素からcleartextTrafficPermitted
の値を読み取ります。NSC
<domain-config>
要素からcleartextTrafficPermitted
の値を読み取ります。
結果
出力にはクリアテキストトラフィックを潜在的に許可する構成のリストを含みます。
評価
クリアテキストトラフィックが許可されている場合、そのテストケースは不合格です。これは以下が true である場合に発生する可能性があります。
AndroidManifest は
usesCleartextTraffic
をtrue
に設定し、NSC がありません。NSC は
<base-config>
のcleartextTrafficPermitted
をtrue
に設定します。NSC は
<domain-config>
のcleartextTrafficPermitted
をtrue
に設定します。
注: AndroidManifest が usesCleartextTraffic
を true
に設定し、NSC がある場合、空の <network-security-config>
要素しかないとしても、テストは不合格ではありません。たとえば、以下のような場合です。
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
</network-security-config>
Last updated
Was this helpful?