跳转至

Index

iOS URL Scheme劫持

描述

应用程序可以注册URI Scheme来处理诸如单点登录 (SSO)、应用程序深度链接或执行跨应用程序通信等操作。

恶意应用程序可以注册合法应用程序已在使用的URI,从而能够拦截旨在发送给合法应用程序的数据,其中可能包含OAuth授权码或令牌等敏感信息。

建议

为了降低iOS上的URL Scheme劫持风险,建议使用iOS通用链接 (Universal Links)。

通用链接通过使用标准Web链接(HTTP/HTTPS)的验证过程来防止恶意应用程序的拦截。

例如,Telegram应用程序同时支持自定义URL Scheme和通用链接:

  • tg://resolve?domain=fridadotre 是一个自定义URL Scheme,使用了 tg:// 机制。
  • https://telegram.me/fridadotre 是一个通用链接,使用了 https:// 机制。

这种模型可确保通用链接在不牺牲简单性和灵活性的情况下,具有唯一性与安全性。

链接

标准

  • OWASP_MASVS_L1:
    • MSTG_PLATFORM_3
  • OWASP_MASVS_L2:
    • MSTG_PLATFORM_3
  • GDPR:
    • ART_5
    • ART_32
  • PCI_STANDARDS:
    • REQ_6_2
    • REQ_6_3
    • REQ_11_3
  • OWASP_MASVS_v2_1:
    • MASVS_CODE_4
  • SOC2_CONTROLS:
    • CC_2_1
    • CC_4_1
    • CC_7_1
    • CC_7_2
    • CC_7_4
    • CC_7_5
  • CNIL_FOR_DEVELOPERS:
    • DEVELOPERS_4_1_4
  • HIPAA_CONTROLS:
    • SECURITY221
    • SECURITY212
    • SECURITY213