SC Workbook
科目 A-2 · セキュリティ

セッション固定の再発防止

A 社の Web アプリケーションは,セッション ID を暗号論的に安全な疑似乱数生成器で生成して Cookie で管理しているが,URL パラメータで渡されたセッション ID も受け付け,ログインの前後で同じセッション ID を使い続けている。ある利用者が,攻撃者から送られたリンクを経由してログインした後に,攻撃者に利用者になりすまされた。リンクには,攻撃者がこのサイトにアクセスして取得したセッション ID が含まれていた。再発防止策として,最も有効なものはどれか。

  1. アセッション ID の長さを増やし,攻撃者がセッション ID を推測することをより困難にする。
  2. イログインが成功した時点で新たなセッション ID を発行し,ログイン前のセッション ID を無効にする。
  3. ウ重要な処理を行う画面に推測困難なトークンを埋め込み,送信されたトークンが正しい場合にだけ処理を実行する。
  4. エログイン画面を HTTPS で提供し,利用者のパスワードが通信経路上で盗聴されないようにする。
正解と解説を見る

正解 イ

この問題の基礎知識

  • セッション固定攻撃は,攻撃者が取得したセッション ID を利用者に使わせ,利用者のログインでその ID が認証済みになった後に,攻撃者が同じ ID でなりすます攻撃である。
  • セッション ID を URL パラメータでも受け付けると,リンクを経由して攻撃者が指定したセッション ID を利用者に使わせやすくなる。
  • セッション固定攻撃への基本的な対策は,ログインなど権限が変わる時点でセッション ID を再生成し,古い ID を無効にすることである。
  • セッション ID の推測困難性は推測によるハイジャック,トークンの検証は CSRF,HTTPS は通信の盗聴への対策であり,それぞれ防ぐ攻撃が異なる。
アセッション ID の長さを増やし,攻撃者がセッション ID を推測することをより困難にする。

攻撃者はセッション ID を推測したのではなく,サイトから正規に発行された ID を利用者に使わせている。ID を長くしても,このセッション固定の手口は防げない。

イログインが成功した時点で新たなセッション ID を発行し,ログイン前のセッション ID を無効にする。正解

攻撃者が利用者に使わせたセッション ID はログインの時点で無効になるので,攻撃者はその ID で利用者になりすませなくなる。認証など権限が変わる時点でのセッション ID の再生成は,セッション固定攻撃への基本的な対策である。

ウ重要な処理を行う画面に推測困難なトークンを埋め込み,送信されたトークンが正しい場合にだけ処理を実行する。

トークンの検証は CSRF への対策である。この事例の攻撃者は,利用者のセッションを使って自らアクセスでき,画面から正規のトークンも取得できるので防げない。

エログイン画面を HTTPS で提供し,利用者のパスワードが通信経路上で盗聴されないようにする。

この事例ではパスワードは盗まれておらず,攻撃者は,事前に取得したセッション ID が利用者のログインによって認証済みになることを利用している。パスワードの盗聴対策では防げない。

検証用の出典出典照合済み
OWASP Session Management Cheat Sheet / CWE-384 Session Fixation / OWASP Cross-Site Request Forgery Prevention Cheat Sheet
照合の根拠(4 件)

URL パラメータのセッション ID を受け付け,ログイン前後で ID を変えないので,攻撃者が取得した ID が利用者のログインで認証済みになる(セッション固定)。ログイン時の再生成で防げる。

問題 ID A2-SEC-0103 · AI 作成のオリジナル問題 · 正解と各選択肢の根拠を出典の原文で確認しています。 照合日 2026-11-08

非公式の学習用アプリです(IPA とは関係ありません)。問題はすべて AI が作成したオリジナルで、誤りを含む場合があります。