Intent Spoofing
Intent 欺骗 (Intent Spoofing)
描述
Intent 欺骗包括向应用程序组件(导出的 Activity、Broadcast Receiver、Content Provider、Service)发送 Intent 以实现未授权访问。
该访问可能旨在实现不同的目标,如未授权的数据修改和信息泄露、不受信任的输入注入等。
建议
为了限制暴露于此类攻击的风险,请考虑以下建议:
- 避免导出组件,除非该组件专门设计用于处理来自不受信任应用程序的请求。
- 请注意,声明 Intent 过滤器将自动导出组件,使其暴露于公共访问。
- 避免在导出的组件中放置改变状态的关键操作。
- 如果单个组件同时处理应用程序间和应用程序内请求,开发人员应考虑将该组件划分为独立的组件。
- 如果必须导出组件(例如,接收系统广播),则组件应在执行任何操作之前动态检查调用者的身份。
- 要求 Signature 或 SignatureOrSystem 权限以将组件的暴露限制在一组受信任的应用程序。
- 在返回导出组件的返回值之前检查调用者的身份,因为它们可能会泄露私有数据。
链接
标准
- 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