Entry № 160
キャッシュ汚染
キャッシュ汚染 とは何ですか?
キャッシュ汚染共有キャッシュに悪意あるレスポンスを保存させ、以降の他ユーザーに攻撃者のコンテンツを配信する攻撃。
キャッシュ汚染は、CDN、リバースプロキシ、ブラウザ、DNS リゾルバなどのキャッシュ層を悪用して、攻撃者の制御下にあるコンテンツを保持させる手法です。Web キャッシュ汚染では、レスポンスに影響するがキャッシュキーに含まれない入力(unkeyed input)を悪用することが多く、汚染されたレスポンスが以後の閲覧者に配信されます。バリエーションには DNS キャッシュ汚染、アプリ層のキャッシュ汚染、キャッシュデセプションがあります。改ざんや XSS のばらまきから、認証情報の窃取・認証バイパスまで影響は広範です。対策には、関連入力をキャッシュキーに含める、エッジでのリクエスト正規化、キャッシュ可能なコンテンツタイプの制限、Vary・Cache-Control の監査などがあります。
● 例
- 01
X-Forwarded-Host ヘッダがアプリで <script> タグに反映される挙動を悪用し、CDN を汚染する。
- 02
攻撃者の制御する Location を持つ 302 をキャッシュさせ、全ての訪問者に配信する。
● よくある質問
キャッシュ汚染 とは何ですか?
共有キャッシュに悪意あるレスポンスを保存させ、以降の他ユーザーに攻撃者のコンテンツを配信する攻撃。 サイバーセキュリティの 脆弱性 カテゴリに属します。
キャッシュ汚染 とはどういう意味ですか?
共有キャッシュに悪意あるレスポンスを保存させ、以降の他ユーザーに攻撃者のコンテンツを配信する攻撃。
キャッシュ汚染 からどのように防御しますか?
キャッシュ汚染 に対する防御は通常、上記の定義で述べたとおり、技術的統制と運用上の実践を組み合わせます。
キャッシュ汚染 の別名は何ですか?
一般的な別名: Web キャッシュ汚染, レスポンス汚染。