---
title: "セッションハイジャックとは？ログイン乗っ取りの仕組みと対策【SG試験】"
description: "セッションハイジャックは、ログイン後のセッションIDなどを盗み、利用者になりすまして操作する攻撃です。パスワード窃取そのものではない点、Cookie保護、HTTPS、セッションID再発行などの対策をSG試験向けに整理します。SG試験の出題文で迷いやすい判断ポイントも確認します。"
last_modified_at: "2026-06-10"
canonical_url: "https://stemtazoo.github.io/sg/session-hijacking/"
section: "sg"
---

## まず結論
- セッションハイジャックとは、**ユーザのセッション情報（ログイン状態）を盗んで、本人になりすまして不正アクセスする攻撃**であり、SG試験では「認証後の対策ができているか」を判断させる問題として出題される。

---

## 直感的な説明
ログインすると、

👉「この人は本人です」という状態（セッション）が作られます。

セッションハイジャックは、
👉 この「ログイン済みの状態」を盗む攻撃です。

イメージとしては、
- 本人が入館証を持って入ったあと  
- その入館証を盗んで別人が使う

👉 パスワードを知らなくても侵入できるのがポイントです。

---

## 定義・仕組み
セッションハイジャックは、次の流れで行われます。

1. ユーザがWebサイトにログイン  
2. サーバがセッションIDを発行  
3. 攻撃者がそのセッションIDを取得  
4. そのIDを使って本人になりすます  

---

### セッションIDの取得方法（代表例）
- **スニッフィング（通信盗聴）**
- **クロスサイトスクリプティング（XSS）**
- **マルウェア感染**

👉 共通点は  
「セッションIDを盗むこと」

---

## どんな場面で使う？
### 攻撃されやすい場面
- 公衆Wi-Fi利用時
- 暗号化されていない通信（HTTP）
- セッション管理が弱いWebサイト

---

### 防ぐ場面（対策）
- HTTPS（通信の暗号化）
- セッションIDの定期変更
- ログイン後の再認証（重要操作時）
- Cookieの適切な設定（Secure属性など）

---

### 乗っ取られた後の被害拡大を防ぐ対策

セッションハイジャック対策では、**セッションを盗まれにくくする対策**と、**盗まれた後に重要処理を止める対策**を分けて考えます。

| 場面 | 対策の考え方 |
|---|---|
| セッションIDを盗まれにくくする | HTTPS、Secure属性、推測困難なセッションID、ログイン後のセッションID再発行 |
| 盗まれたセッションで重要処理をされにくくする | 送金、個人情報表示、パスワード変更などの直前に再認証する |

重要なのは、セッションIDだけでは「正規利用者本人の意思による操作か」を判断できないことです。

そのため、重要情報を表示する直前や、重要な処理を実行する直前には、パスワード再入力などで利用者本人を再確認します。

SG試験では、次のように切り分けます。

- 通信の盗聴を防ぐ → HTTPS
- セッションIDの漏えいを減らす → CookieのSecure属性、HttpOnly属性など
- 盗まれたセッションによる重要処理を止める → 重要処理前の再認証
- セッションIDをURLに入れる → 漏えいしやすく不適切

---

### SG試験での考え方
👉 「認証後も安全か？」がポイント

- 認証（ID・パスワード）だけでは不十分  
- セッション管理まで含めて考える

---

## よくある誤解・混同
### ❌ 誤解①：パスワードを盗む攻撃
👉 ⭕ 違う  
- セッションハイジャックは  
👉 「ログイン後の状態」を盗む

---

### ❌ 誤解②：中間者攻撃と同じ
👉 ⭕ 関係はあるが別物  
- 中間者攻撃：通信を盗聴  
- セッションハイジャック：セッションを乗っ取る

（中間者攻撃が原因になることはある）

---

### ❌ 誤解③：ログインすれば安全
👉 ⭕ SG試験ではここが重要  
- ログイン後の管理が不十分だと不正利用される

---

### SG試験のひっかけポイント
- セッションハイジャックを防ぐ場面で「認証強化（パスワード）」だけを選ぶ
  → ❌ 不十分。HTTPSやCookie設定など、セッションIDを守る対策も必要です。

- 重要情報を表示する直前に、本人の意思を再確認する
  → ⭕ パスワード再入力などの再認証が有効です。

👉 正しくは
- **盗まれにくくする対策**と**盗まれた後に重要処理を止める対策**を分けて考える

---

## 確認問題（SG試験対策）

次のうち、セッションハイジャックの説明として最も適切なものはどれか。

- ア. セッションIDなどを盗み、正規利用者になりすまして操作する攻撃である。
- イ. 利用者にIPアドレスを自動的に割り当てる仕組みである。
- ウ. 証明書の発行者を信頼の階層で確認する仕組みである。
- エ. すべてのパスワード候補を順に試す攻撃である。

<details markdown="1">
<summary>▶ クリックして答えと解説を見る（ここを開く）</summary>

**正解：ア**

### 解説
- ア：ログイン後のセッションを奪う点が特徴です。
- イ：DHCPの説明です。
- ウ：PKIや証明書チェーンの説明です。
- エ：ブルートフォース攻撃です。

👉 判断ポイント
セッションハイジャックは「認証情報そのもの」より「ログイン状態を示すセッション」を奪う。

</details>

---

## まとめ（試験直前用）

- セッションハイジャック＝「ログイン状態の乗っ取り」
- パスワード不要で侵入できるのが特徴
- 対策は、HTTPS、Cookie設定、セッションID再発行などで盗まれにくくする
- 重要処理の直前は、パスワード再入力などで再認証する
- 試験では、**盗まれにくくする対策か、盗まれた後の被害拡大防止か**で切り分ける
