セッションハイジャックとは?せっしょんはいじゃっく
セッションハイジャックとは、利用者のセッションIDを盗む・推測する・あらかじめ使わせることで、認証済みの状態そのものを乗っ取る攻撃。パスワードを破るのではなくログイン後の状態を奪うため、パスワード強度や多要素認証を強めても、IDが漏れれば成立してしまう点が特徴になる。
最終更新:2026-10-06
この語が出る過去問を解く →背景
HTTPは1回のやり取りごとに状態を持たないため、ログイン済みであることを示す印をCookieなどに載せて持ち回る必要がある。この印は本人しか持てない、という前提の上にアプリ全体が成り立っているので、値が推測できたり通信路や別の脆弱性から漏れたりすると、認証の仕組みを迂回して同じ権限が手に入る。
具体例
セッションIDが連番や時刻を元に生成されていると、自分のIDから他人の値を割り出せる。XSSでdocument.cookieを読み出す、TLSを使わない画面でCookieが平文のまま流れる、といった経路も窃取に使われる。
試験での引っ掛け
対策は暗号論的乱数によるID生成、TLSでの保護、CookieへのSecure・HttpOnly・SameSite属性の付与、そしてログイン成功時のID再発行。ログアウト時にサーバ側のセッションを確実に破棄することも要る(クライアントのCookieを消すだけでは足りない)。
関連用語
出た過去問
出典:平成30年度 春期 情報処理安全確保支援士試験 午前Ⅱ 問11(IPA)解説で登場
cookieにsecure属性を設定しなかったときと比較した,設定したときの動作の差として,適切なものはどれか。
正解:URLのスキームがhttpsのときだけ,Webブラウザからcookieが送出される。
要点:secure属性はHTTPS通信のときだけcookieを送らせる
secure属性を付けたcookieは、HTTPSで保護された通信のときにしかブラウザから送出されない。平文のHTTP通信に乗ってセッションIDが漏れる事態を防ぐための属性であり、盗聴によるセッションハイジャック対策として基本となる。スクリプトからの読み出し禁止はHttpOnly属性、送出範囲の制御はpathやdomain属性と、役割が分かれている点に注意したい。
出典:令和3年度 秋期 情報処理安全確保支援士試験 午前Ⅱ 問10(IPA)解説で登場
cookieにSecure属性を設定しなかったときと比較した、設定したときの動作として、適切なものはどれか。
正解:URL内のスキームがhttpsのときだけ、Webブラウザからcookieが送出される。
要点:Secure属性はHTTPS通信のときだけcookieを送らせる
Secure属性を付けたcookieは、HTTPSで保護された通信のときにしかブラウザから送出されない。平文のHTTP通信でセッションIDが流れて盗聴される事態を防ぐ属性であり、盗聴によるセッションハイジャック対策の基本となる。スクリプトからの読み出し禁止はHttpOnly、送出範囲の制御はpathやdomain、失効はexpiresと、役割が分かれている。
出典・参考
公式シラバスの3 技術要素 > 1. 情報セキュリティ > (7) 攻撃手法に掲載されている用語です。
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。