クッキーポイズニング
クッキーポイズニング とは何ですか?
クッキーポイズニングHTTP クッキーが Web アプリへ送信される前にその内容を書き換え、信頼・本人性・業務ロジックの判断を歪める攻撃。
クッキーポイズニングは、ユーザー ID、権限、価格、フィーチャーフラグ、署名済みトークンなどアプリケーションの状態を載せたクッキーを、クライアント側で改ざんする攻撃です。サーバーが整合性検証なしにクッキーを信頼している場合、権限昇格、カート合計の改変、テナント切り替え、認可回避などが可能になります。攻撃者は自身のブラウザで直接、または XSS、HTTPS 非対応経路での中間者攻撃を介して書き換えを行います。対策は、機密状態を整合性のない状態でクライアントに保存しないこと、HMAC や強力に署名された JWT、サーバーサイドセッションを用いること、サーバーで毎回検証すること、Secure・HttpOnly・SameSite 属性を付け TLS を強制すること、そしてすべてのクッキー値を信頼できないユーザー入力として扱うことです。
● 例
- 01
ユーザーがクッキーの role=user を role=admin に書き換え、サーバーが整合性を検証しないため管理画面にアクセスできてしまう。
- 02
EC サイトが価格をクッキーに保持しており、攻撃者が決済前にそれを 1 円へ書き換えて購入する。
● よくある質問
クッキーポイズニング とは何ですか?
HTTP クッキーが Web アプリへ送信される前にその内容を書き換え、信頼・本人性・業務ロジックの判断を歪める攻撃。 サイバーセキュリティの 攻撃と脅威 カテゴリに属します。
クッキーポイズニング とはどういう意味ですか?
HTTP クッキーが Web アプリへ送信される前にその内容を書き換え、信頼・本人性・業務ロジックの判断を歪める攻撃。
クッキーポイズニング からどのように防御しますか?
クッキーポイズニング に対する防御は通常、上記の定義で述べたとおり、技術的統制と運用上の実践を組み合わせます。