セッションハイジャックとは?せっしょんはいじゃっく
セッションハイジャックとは、ログイン状態を表すセッションIDを盗聴・推測・固定化によって奪い、正規利用者になりすましてサービスを操作する攻撃。HTTPが状態を持たないためセッションIDだけが本人性の根拠になり、IDそのものが認証情報と同じ価値を持つ点が、対策を考える出発点になる。
最終更新:2026-10-06
この語が出る過去問を解く →背景
HTTPは要求ごとに独立した設計で、前の要求で認証したという事実を運ぶ仕組みを持たない。そこでログイン後は識別子を発行して以降の要求に添えさせる形が定着したが、その識別子が奪われれば、パスワードを知らなくても本人と同じ操作ができてしまう。状態を持たないプロトコルに状態を後付けしたことの副作用であり、応用情報ではCookieの属性やセッション管理の実装とあわせて問われる。
具体例
対策としては、セッションIDを推測困難な乱数で発行し、CookieにSecure属性とHttpOnly属性を付けて経路とスクリプトの両面から保護する。ログイン成功の時点でIDを再発行する実装は、攻撃者が事前に用意したIDを使わせるセッションフィクセーションを無効化する。
試験での引っ掛け
クロスサイトリクエストフォージェリ(CSRF)との区別が問われる。セッションIDを奪って攻撃者側から操作するのがセッションハイジャック、IDは奪わず利用者のブラウザに正規セッションのまま意図しない要求を送らせるのがCSRFである。またクロスサイトスクリプティングはIDを盗み出す手段であって、この攻撃そのものではない。
関連用語
出た過去問
出典:平成30年度 春期 応用情報技術者試験 午前 問43(IPA)解説で登場
Webシステムにおいて、セッションの乗っ取りの機会を減らすために、利用者のログアウト時にWebサーバ又はWebブラウザにおいて行うべき処理はどれか。ここで、利用…
正解:Webサーバにおいてセッション IDを無効にする。
要点:ログアウト時はサーバ側でセッションIDを無効化する
セッションハイジャックを防ぐには、ログアウト時にサーバ側でセッションIDを破棄し、以後そのIDを提示されても認証済みとして扱わないようにすることが基本である。ブラウザ側のクリアだけでは、既に盗まれたIDが有効なままとなり、乗っ取りを防げない。
出典・参考
公式シラバスの3 技術要素 > 1. 情報セキュリティ > (7) 攻撃手法に掲載されている用語です。
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。