メインコンテンツへ
セキュリティ

セッション固定攻撃(Session Fixation)に対する防御として最も効果的なものはどれか。

ア.セッションIDをURLパラメータではなくクッキーで管理する
イ.ログイン成功後にセッションIDを新規発行することで、攻撃者の用意したセッションIDを無効化する正解
ウ.セッションタイムアウトを短く設定することでセッションハイジャックを防ぐ
エ.クッキーにSecure属性を付けてHTTPSのみで送信されるようにする

解説

セッション固定攻撃は「偽の部屋番号を先に渡す」手口。ログイン後に新しい部屋番号(セッションID)を発行すれば、攻撃者の手元の鍵は無効になる。

なぜ イ が正解か

セッション固定攻撃: 攻撃者が自分のセッションIDを被害者に使わせ、被害者がログインした後そのIDで正規ユーザーとしてアクセスする。防御: ログイン成功時に必ずセッションIDを再発行(invalidate old session + create new session)することで、攻撃者が事前に仕込んだセッションIDは無効になる。

なぜ ア は間違いか

URLパラメータ管理はリスクが高いが、クッキー管理に変えてもセッション固定攻撃の根本的な防御にはならない。

なぜ ウ は間違いか

タイムアウトを短くすることは攻撃の機会を減らすが、セッション固定攻撃への根本的対策ではない。

なぜ エ は間違いか

Secure属性はHTTPS通信でのみクッキーを送信する設定で、盗聴防止になるが、セッション固定攻撃の防御ではない。

出典: AI生成問題(学習用)