コンテンツにスキップ

Index

iOS URLスキームのハイジャック

説明

アプリケーションは、シングルサインオン(SSO)、アプリケーションのディープリンク、またはアプリケーション間通信を実行するなどのアクションを処理するために、URIスキームを登録できます。

悪意のあるアプリケーションは、正規のアプリケーションがすでに使用しているURIを登録し、その正規アプリケーション宛てのデータを傍受できる可能性があります。このデータには、OAuth認証コードやトークンなどの機密情報が含まれる可能性があります。

推奨事項

iOSにおけるURLスキームのハイジャックのリスクを軽減するためには、iOSユニバーサルリンクを使用することを推奨します。

ユニバーサルリンクは、標準のWebリンク(HTTP/HTTPS)を使用した検証プロセスを通じて、悪意のあるアプリケーションによる傍受を防ぎます。

たとえば、TelegramアプリはカスタムURLスキームとユニバーサルリンクの両方をサポートしています:

  • tg://resolve?domain=fridadotre はカスタムURLスキームであり、 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