情報セキュリティ

基本情報技術者試験セッションハイジャック」の問題

情報セキュリティ情報セキュリティ難易度:hard
U社のWebサービスで、攻撃者が他人のセッションIDを推測または窃取し、ログイン済み利用者になりすます事象が懸念されている。セッションIDの奪取・悪用を防ぐためにサーバ側で講じる対策として、最も適切なものはどれか。
IDを十分長い乱数で生成し、ログイン成功の時点で新しい値へ振り直す。
利用者のログインパスワードに有効期限を設け、定期的な変更を継続的に促す。
ログインの失敗回数を数え、一定回数を超えたら一時的に締め出す。
利用者ごとのアクセス回数を集計し、人気のあるページを把握する。
正解
IDを十分長い乱数で生成し、ログイン成功の時点で新しい値へ振り直す。

セッションハイジャックはセッションIDの推測・窃取・固定化で成立する。IDを十分長い予測困難な乱数で生成すれば推測されにくく、ログイン成功の時点で新しい値へ振り直す(再発行する)ことで、ログイン前に与えたIDを使い続けさせるセッション固定攻撃も無効化できる。IDの保護という原因に直接対応した対策である。

?選択肢ごとの解説

ア ○セッションハイジャックはセッションIDの推測・窃取・固定化で成立する。IDを十分長い予測困難な乱数で生成すれば推測されにくく、ログイン成功の時点で新しい値へ振り直す(再発行する)ことで、ログイン前に与えたIDを使い続けさせるセッション固定攻撃も無効化できる。IDの保護という原因に直接対応した対策である。
イ ×パスワードの有効期限設定は認証情報の管理策であり、ログイン後に発行されるセッションIDの推測・窃取そのものは防げない。
ウ ×ログイン失敗回数の制限はパスワード総当たりへの対策で、すでに発行済みのセッションIDを推測・窃取される経路は塞がない。
エ ×アクセス回数の集計は利用分析が目的で、セッションIDの保護やなりすまし防止とは無関係である。

くわしく

セッションハイジャック対策の柱は『推測困難なID生成』『ログイン時の再発行(固定化対策)』『Cookie属性によるID保護』『通信暗号化による窃取防止』である。本問はIDそのものの生成と再発行に焦点があり、サーバ側の根幹対策に当たる。

本番での押さえどころ

試験のコツ

セッションハイジャック対策は『予測困難なID生成+ログイン時の再発行』。パスワード管理の話と混同しない。

覚え方

セッションIDは『入場後の整理券』。番号を読めなくし(乱数)、入場時に新しく配り直す(再発行)。

よくある誤り

認証強化(パスワード系)の対策に引きずられる。論点はセッションID(ログイン後の識別子)の保護であり、パスワードとは別レイヤである。

情報セキュリティの他の問題

この問題を、AIの8-ways解説つきで。

基本情報技術者試験の演習を、一問ごとに「なぜ」まで。まずは無料で。

無料ではじめる →

ukamiru 過去問 · 基本情報技術者試験 · fe-b-sec-0021

【基本情報技術者試験】セッションハイジャックの問題 — 解答・解説|ukamiru 過去問