跳转至

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