コンテンツにスキップ

iOS URL Scheme Injection

iOS Custom URL Scheme インジェクション

説明

Custom URL schemeは、iOSアプリ内のリソースを参照する方法を提供します。例えば、電子メール内のカスタムURLをタップしたユーザーは、指定されたコンテキストでアプリケーションを起動します。他のアプリが、特定のコンテキストデータを使用して別のアプリを起動させることもできます。例えば、写真ライブラリアプリが指定された画像を表示する場合があります。

Custom URL schemeは、iOSアプリに対する潜在的な攻撃ベクトルを提供し、デフォルトではScheme Hijackingの脆弱性があります。

したがって、アプリはすべてのURLパラメータを検証し、不正な形式のURLを破棄することを確認する必要があります。さらに、利用可能なアクションを、ユーザーのデータを危険にさらさないものに制限します。例えば、他のアプリがコンテンツを直接削除したり、ユーザーに関する機密情報にアクセスしたりできないようにします。

推奨事項

iOSアプリのCustom URL schemeに関連する潜在的なリスクを軽減するために、以下を検討してください。

  1. Universal Linksの使用: Universal Linksを使用すると、アプリとWebサイトの間に双方向の関連付けを作成し、アプリが処理するURLを指定できるため、他のアプリによるハイジャックを防ぐことができます。

  2. URLパラメータの検証: アプリが受信したすべてのURLパラメータに対して、徹底的な検証チェックを実装します。パラメータが想定されるフォーマットに準拠しており、悪意のあるペイロードや予期しないデータが含まれていないことを確認します。

  3. 利用可能なアクションの制限: Custom URL schemeによってトリガーされる各アクションの潜在的な影響を評価し、ユーザーデータにリスクをもたらしたり、アプリのセキュリティを侵害したりしないアクションへのアクセスを制限します。

リンク

標準

  • OWASP_MASVS_L1:
    • MSTG_PLATFORM_2
  • OWASP_MASVS_L2:
    • MSTG_PLATFORM_2
  • CWE_TOP_25:
    • CWE_20
  • GDPR:
    • ART_5
    • ART_32
  • PCI_STANDARDS:
    • REQ_2_2
    • 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
  • HIPAA_CONTROLS:
    • SECURITY221
    • SECURITY212
    • SECURITY213