特徴
- セッションハイジャックとは、Webアプリケーションにおける利用者を識別するためのセッションIDが第三者に不正に取得され、利用者になりすまして不正にデータを詐取されるなどの攻撃手法
- セッションハイジャックの対策には以下の方法がある。
(IPA「安全なWebサイトの作り方」参照)- セッションIDを推測困難なものにする
- セッションIDをURLのパラメータにしない
- HTTPS通信で使用するCookieにはSecure属性を加える
- ログイン成功後に、新しくセッションを開始する
- ログイン成功後に、既存のセッションIDとは別に秘密情報を発行し、ページの遷移ごとにその値を確認する
- セッションIDを固定値にしない
- セッションIDをCookieにセットする場合、有効期限の設定に注意する
過去問
高度共通 令和3年度 春期 午前1 問15
【出典:高度共通 令和3年度 春期 午前1 問15(一部、加工あり)】
Webシステムにおいて、セッションの乗っ取りの機会を減らすために、利用者のログアウト時にWebサーバ又はWebブラウザにおいて行うべき処理はどれか。ここで、利用者は自分専用のPCにおいて、Webブラウザを利用しているものとする。
- WebサーバにおいてセッションIDを内蔵ストレージに格納する。
→セッションIDは利用者がログインするたびに発行して固定値にしないことが必要ですので、セッションIDを内蔵ストレージに格納することは推奨されません。 - WebサーバにおいてセッションIDを無効にする。
→正解 - WebブラウザにおいてキャッシュしているWebページをクリアする。
→Webページ自体にはセッションIDが含まれていないため、キャッシュをクリアしても効果はありません。 - WebブラウザにおいてセッションIDを内蔵ストレージに格納する。
→1と同様に、セッションIDは固定値しないことが必要ですので、セッションIDを内蔵ストレージに格納することは推奨されません。