脆弱性
Web キャッシュデセプション
別称: WCD, パス混同キャッシュ攻撃
定義
悪意ある URL によって、中間キャッシュが被害者の認証済みの機微なレスポンスを公開可能なパスとして保存してしまう攻撃。
2017 年に Omer Gil が公表した Web キャッシュデセプションは、前段キャッシュとバックエンドアプリの間でパス解析が異なることを悪用します。攻撃者は認証済みの被害者を /account.php/style.css のような URL に誘導します。バックエンドはサフィックスを無視して被害者のアカウントページを返す一方、キャッシュは .css 拡張子やキャッシュルールに従い公開コンテンツとして保存します。以後、任意の攻撃者がそのキャッシュを取得し、被害者の機微データを読み出せます。影響にはセッショントークンや PII の漏えいが含まれます。対策には、キャッシュとオリジンのパス解析の整合、認証応答に Cache-Control: private、キャッシュ可能パスの制限、Vary/Authorization の適切な扱いが必要です。
例
- /profile/picture.jpg のリンクを被害者に送り、キャッシュは静的扱い、アプリは /profile を返す状態を作る。
- /dashboard/index.css 経由で被害者のバンキング画面をキャッシュさせ、攻撃者として取得する。
関連用語
キャッシュ汚染
共有キャッシュに悪意あるレスポンスを保存させ、以降の他ユーザーに攻撃者のコンテンツを配信する攻撃。
HTTP リクエストスマグリング
前段プロキシとバックエンドサーバーで HTTP リクエストの終端解釈が食い違うことを悪用し、攻撃者が隠しリクエストを送り込めるようにする攻撃。
セッションハイジャック
セッション識別子を盗用または偽造して被害者の認証済みセッションを乗っ取り、攻撃者が認証情報なしで本人として振る舞う攻撃。
アクセス制御の不備
認可ルールが欠落または誤って適用され、ユーザーが本来の権限を超えた操作やデータにアクセスできてしまう脆弱性カテゴリ。
Reverse Proxy
Reverse Proxy — definition coming soon.