Debug mode enabled
デバッグモード有効
説明
Android Manifestで定義されているApplicationのandroid:debuggable属性は、アプリケーションをデバッグできるかどうかを決定します。
デバッグモードを使用すると、攻撃者はアプリケーションのファイルシステムにアクセスし、デバッガーをアタッチして機密データにアクセスしたり、悪意のあるアクションを実行したりできます。
jdbを使用してデバッグセッションを開始するには、以下の手順を使用できます:
adb jdwpを使用して、ターゲットアプリケーションのPIDを特定します:
$adb jdwp
3466
15446
adbを使用して通信チャネルを作成し、jdbを使用してアタッチします:
$adb forward tcp:7777 jdwp:$(adb shell ps | grep "package-id")
$jdb -attach localhost:7777
- アプリケーションのファイルシステムにアクセスします:
$adb shell
$run-as package-id
$...insert malicious action...
攻撃者はソースコードにアクセスしなくてもアプリケーションをデバッグでき、それを利用してユーザーの代わりに悪意のあるアクションを実行したり、アプリケーションの動作を変更したり、認証情報やセッションCookieなどの機密データにアクセスしたりできます。
推奨事項
Android ManifestのApplicationタグで、属性android:debuggeableをfalseに設定して、デバッグモードを無効にします。
<application android:icon="@drawable/icon" android:debuggable="false">
リンク
基準
- OWASP_MASVS_L1:
- MSTG_CODE_2
- OWASP_MASVS_L2:
- MSTG_CODE_2
- PCI_STANDARDS:
- REQ_2_2
- HIPAA_CONTROLS:
- SECURITY212
- SECURITY213
- SECURITY255