Credentials exposed in URLs
URLに露出した認証情報
説明
URL内の認証情報は、ユーザーのデバイス、Webサーバー、および2つのエンドポイント間のフォワードプロキシやリバースプロキシなど、さまざまな場所に保存される可能性があります。また、URLは画面に表示されたり、ブックマークされたり、ユーザー間でメールで送信されたりすることもあります。外部サイトへのリンクをたどる際に、Refererヘッダーを通じてサードパーティに開示されることもあります。セッショントークンをURLに含めると、攻撃者に傍受されるリスクが高まります。
推奨事項
アプリケーションのログやバックエンドサーバーのログに認証情報が漏洩するのを防ぐために、次の点を検討してください。
- URLに認証情報を保存しない: セッショントークンなどの機密情報を可能な限りURLに直接配置することは避けてください。
- 安全なセッション管理を使用する: 認証情報をURLに埋め込むことに依存しない、安全なセッション管理手法を実装します。代わりに、適切なセキュリティ構成のセッションCookieなどのメソッドを使用してください。
- 転送中の機密データの暗号化: HTTPSなどの暗号化プロトコルを採用して、ユーザーのデバイスとWebサーバー間の転送中に、認証情報を含むURLなどの機密データが暗号化されるようにします。
- URLのリダクションの実装: 露出のリスクを最小限に抑えるために、画面に表示されるURLやログに記録されるURLから、認証情報などの機密情報を自動的に削除または難読化するメカニズムを実装します。
リンク
- CWE-200: Information Exposure
- CWE-598: Information Exposure Through Query Strings in GET Request
- CWE-384: Session Fixation
- CWE-359: Exposure of Private Information ("Privacy Violation")
標準
- OWASP_MASVS_L1:
- MSTG_AUTH_3
- OWASP_MASVS_L2:
- MSTG_AUTH_3
- PCI_STANDARDS:
- REQ_2_2
- REQ_6_2
- OWASP_MASVS_v2_1:
- MASVS_AUTH_1
- SOC2_CONTROLS:
- CC_2_1
- CC_4_1
- CC_7_1
- CC_7_2
- CC_7_4
- CC_7_5
- HIPAA_CONTROLS:
- SECURITY252
- SECURITY212
- SECURITY213