Intent Spoofing
インテント スプーフィング
説明
インテント スプーフィング (Intent Spoofing) は、不正アクセスを達成するために、アプリケーション コンポーネント (Exported Activity、Broadcast Receiver、Content Provider、Service) にインテントを送信することで構成されます。
このアクセスは、不正なデータの変更や情報漏洩、信頼できない入力のインジェクションなど、さまざまな目的で行われる可能性があります。
推奨事項
このタイプの攻撃への露出を制限するには、以下の推奨事項を検討してください。
- コンポーネントが信頼できないアプリケーションからのリクエストを処理するように特別に設計されていない限り、コンポーネントのエクスポートを避けてください。
- インテント フィルターを宣言すると、コンポーネントが自動的にエクスポートされ、パブリック アクセスに公開されることに注意してください。
- エクスポートされたコンポーネントに、状態を変更する重要なアクションを配置しないでください。
- 1つのコンポーネントがアプリケーション間リクエストとアプリケーション内リクエストの両方を処理する場合、開発者はそのコンポーネントを別のコンポーネントに分割することを検討する必要があります。
- コンポーネントをエクスポートする必要がある場合 (システム ブロードキャストを受信するためなど)、コンポーネントは操作を実行する前に呼び出し元のIDを動的に確認する必要があります。
- コンポーネントの露出を信頼できるアプリケーションのセットに制限するには、Signature または SignatureOrSystem 権限を要求します。
- エクスポートされたコンポーネントの戻り値はプライベート データを漏洩する可能性があるため、戻り値を返す前に呼び出し元のIDを確認してください。
リンク
- DRD06. インテントに基づいて行動する前に呼び出し元を確認する
- 不適切なアクセス制御 (CWE-284)
- インテント スプーフィング (CAPEC-502)
- Androidにおけるアプリケーション間通信の分析
基準
- CWE_TOP_25:
- CWE_276
- HIPAA_CONTROLS:
- SECURITY221
- SECURITY212
- SECURITY213
- PCI_STANDARDS:
- REQ_6_2
- REQ_6_3
- REQ_7_3
- REQ_11_3
- SOC2_CONTROLS:
- CC_2_1
- CC_4_1
- CC_7_1
- CC_7_2
- CC_7_4
- CC_7_5