この記事は、セキュリティ資格学習のために、AI(Claude)と共同で作成したコンテンツです。
※間違った解釈がある可能性があります。
この記事の目的
セキュリティの専門用語は、カタカナや略語が多く、初学者にとって非常に取っつきにくいものです。
そこで、専門家じゃなくてもわかるようにストーリー風に構成してみました。
結城の新たな計画
DNS攻撃が失敗した翌日。結城は次の作戦を練っていた。
「DNSは佐藤とお砂糖(里見)に対策されてしまった…でも、まだ手はある」
結城の画面には、山本が住むマンションの見取り図が表示されている。
「調べたら、慎也と同じマンションに空室があった。すぐに契約した…これで、山本と同じWi-Fiネットワークに接続できる」
結城の唇が不気味に歪んだ。
「このマンションの共有Wi-Fi…セキュリティが甘い。DHCPサーバーを乗っ取れば、慎也のPCに偽の設定を送り込める。ネットワークに接続した瞬間、自動的に私のサーバー経由になる…」
「ユーザーは何も疑わず、私のサーバーから設定を受け取る。
そうすれば、すべての通信を私のサーバー経由にできる。DNS攻撃より確実…完璧な計画だわ。ふふうふ、慎也のパスワード盗聴してやろう。私を裏切った報いよ。」
キーボードを叩く音が、静かな部屋に響いた。
💑 自宅でのひととき
その頃、慎也は自宅でメタCにアクセスしていた。里見とワールド内でデートしている。
「里見、昨日はDNS攻撃を防いでくれてありがとう。おかげで助かったよ」
山本が感謝の気持ちを伝える。
「どういたしまして。でもね、慎也。攻撃者は一度失敗しても諦めないの。必ず別の方法を試してくる」
里見が真剣な表情で答える。
「そうなんだ…じゃあ、次はどんな攻撃が来るかな?」
「うーん…DNSがダメだったから、次はもっと身近な部分を狙ってくるかも。例えば、慎也が使ってる自宅のWi-Fiとか」
「え、自宅のWi-Fi?」
「そう。慎也のマンション、共有Wi-Fi使ってるでしょ?あれ、同じマンションの住人なら誰でも接続できるから、実は危険なの」
「あ…確かに。マンション全体で1つのWi-Fiだから、便利だけど…」
「便利な反面、同じネットワークに悪意のある人がいたら、DHCPを悪用される可能性があるわ」
「DHCP?それって何?」
「ネットワークに繋いだときに、自動的に設定してくれる仕組みよ。今から説明するね」
📖 里見の解説:DHCPの仕組み
DHCP(Dynamic Host Configuration Protocol:ディーエイチシーピー)
「DHCPは、ネットワークの自動受付係みたいなものよ」
DHCPの役割:
- ネットワークに接続したデバイスに、自動的に設定情報を配布
- IPアドレス、サブネットマスク、デフォルトゲートウェイ、DNSサーバーなどを提供
- 手動設定の手間を省き、設定ミスを防ぐ
身近な例え:
「ホテルにチェックインしたとき、フロントで『お部屋は305号室です。Wi-Fiのパスワードはこれです。朝食会場は2階です』って一気に教えてくれるでしょ?DHCPも同じで、ネットワークに繋いだ瞬間に『あなたのIPアドレスはこれ、ゲートウェイはこれ、DNSサーバーはこれ』って自動的に教えてくれるの」
「なるほど!いちいち手動で設定しなくていいんだね」
「そう。もしDHCPがなかったら、スマホやPCをWi-Fiに繋ぐたびに、IPアドレスとか全部手動で入力しないといけない。すごく面倒でしょ?」
DHCPで提供される情報
「DHCPサーバーは、こんな情報をまとめて教えてくれるの」
1. IPアドレス
役割:デバイスのネットワーク上の住所
例:192.168.1.100
身近な例え:「ホテルの部屋番号」
2. サブネットマスク
役割:ネットワークの範囲を示す
例:255.255.255.0
身近な例え:「同じフロアの部屋は201〜299号室だよ、という情報」
3. デフォルトゲートウェイ
役割:外部ネットワーク(インターネット)への出口
例:192.168.1.1
身近な例え:「ホテルから外に出るときは、1階のロビーを通ってね、という案内」
4. DNSサーバー
役割:ドメイン名をIPアドレスに変換するサーバー
例:8.8.8.8(GoogleのDNS)
身近な例え:「道に迷ったら、このコンシェルジュに聞いてね、という案内」
5. ホスト名
役割:デバイスの名前
例:yamamoto-pc
身近な例え:「宿泊者名」
「へぇ〜、こんなにたくさんの情報を一気に配ってくれるんだ」
「そう。だから、もしこのDHCPサーバーが偽物だったら…」
「え…全部ウソの情報を受け取っちゃうってこと?」
「その通り。それが不正なDHCPサーバー攻撃なの」
DHCPの4つのパケット(DORA)
「DHCPがどうやって動くか、4つのステップで見てみよう。『DORA(ドーラ)』って覚えるといいわ」
1. DHCP Discover(発見:ディスカバー)
誰が:クライアント(あなたのPC)
何を:「DHCPサーバーさん、いますか〜?」とブロードキャスト
宛先:255.255.255.255(ブロードキャストアドレス)= ネットワーク内の全員に送信
身近な例え:
「ホテルのロビーに着いて、『すみませーん、フロントの方いらっしゃいますか?』と大声で呼びかける」
クライアント:「DHCPサーバーさん!IPアドレスください!」 宛先:255.255.255.255(全員に聞こえる) (ネットワーク全体に呼びかけ)
ブロードキャストとは:
- ネットワーク内の全デバイスに一斉送信
- 255.255.255.255 = 特別なIPアドレス(「みんな聞いて!」という意味)
- 同じネットワーク内にいる全員がこのメッセージを受信する
- だから、悪意のある人も当然このメッセージを見れる
2. DHCP Offer(提供:オファー)
誰が:DHCPサーバー
何を:「はい、こちらです。このIPアドレスどうぞ」と返事
身近な例え:
「フロント係が『はい、305号室をご用意しました』と返事」
DHCPサーバー:「192.168.1.100をどうぞ。 サブネットマスクは255.255.255.0、 ゲートウェイは192.168.1.1です」
重要:複数のDHCPサーバーがあると、全部が返事する!
3. DHCP Request(要求:リクエスト)
誰が:クライアント
何を:「このサーバーの提案を受け入れます」と選択
身近な例え:
「複数のフロント係が『305号室どうぞ』『306号室どうぞ』って言ってきたけど、最初に返事してくれた人の『305号室』にします、と返事」
クライアント:「192.168.1.100を使わせてもらいます!」 (ネットワーク全体に通知)
注意:通常は最初に返事したサーバーを選ぶ
4. DHCP Acknowledgment(確認:アクノレッジメント)
誰が:DHCPサーバー
何を:「OK、あなたに192.168.1.100を正式に割り当てました」と確認
身近な例え:
「フロント係が『かしこまりました。305号室、正式にお客様のお部屋です。チェックアウトは明日10時までです』と確認」
DHCPサーバー:「正式に192.168.1.100を割り当てました。 有効期限は24時間です」
DORAのまとめ
【DHCPの4ステップ:DORA】 D - Discover (発見):クライアント → 全体「DHCPサーバーいますか?」 O - Offer (提供):サーバー → クライアント「このIPどうぞ」 R - Request (要求):クライアント → 全体「これください」 A - Ack (確認):サーバー → クライアント「OK、確定です」
「『ドーラ』って覚えやすいね!」
「そう。試験でも頻出だから、この順番は絶対覚えてね」
DHCPのリース時間
「さっき『有効期限24時間』って言ってたけど、それって何?」
「いい質問!DHCPで配られたIPアドレスは、借りてるだけなの」
リース時間(Lease Time):
- IPアドレスを使える期限
- 期限が来る前に、自動的に更新(Renewal)される
- 長時間使わないと、自動的に返却される
身近な例え:
「レンタルDVDみたいなもの。『1週間レンタル』で借りて、返却期限前に『延長』できる。返さないと、自動的に延滞金…じゃなくて、IPアドレスが回収される」
「なるほど!だから『リース』なんだね」
⚠️ 結城の攻撃開始
その時、山本のマンションのネットワークに異変が起きていた。
結城は、山本と同じマンションの一室で、偽のDHCPサーバーを起動させていた。
「同じWi-Fiネットワーク内にいれば、DHCPサーバーになりすますのは簡単…」
不正なDHCPサーバー攻撃(Rogue DHCP Server Attack):
- 正規のDHCPサーバーより早く応答する偽サーバーを設置
- 同じネットワーク内にいれば実行可能(マンション共有Wi-Fi、カフェの公衆Wi-Fiなど)
- クライアントに偽の設定情報を配布
- すべての通信を攻撃者経由にする
攻撃の流れ:
1. 山本が自宅のマンション共有Wi-Fiに接続
↓
2. 山本のPCが「DHCPサーバーいますか?」とDiscover送信
(同じWi-Fi内の全デバイスに届く)
↓
3. 結城の偽DHCPサーバーが超高速でOffer送信
「IPアドレス:192.168.100.50
デフォルトゲートウェイ:192.168.100.1(結城のPC)
DNSサーバー:192.168.100.2(結城の偽DNS)」
↓
4. 山本のPCが偽サーバーを選択(最速だったため)
↓
5. すべての通信が結城のPC経由に
↓
6. 結城が通信内容を盗聴・改ざん
「完璧…これで山本の通信は全部私のPCを通る。ログイン情報も、お砂糖とのメッセージも、全部盗める…」
結城の目が不気味に光った。
🔍 異変の検知
山本が自宅のWi-Fiに再接続した直後、里見がビデオ通話で異変に気付いた。
「慎也、ちょっと待って。今、ネットワーク設定確認して」
「え?どうして?」
「さっきから通話の音質が悪い気がする…それに、メタCへの接続も遅くなってない?」
山本がネットワーク設定を確認すると…
IPアドレス:192.168.100.50 サブネットマスク:255.255.255.0 デフォルトゲートウェイ:192.168.100.1 (結城のPC) DNSサーバー:192.168.100.2(結城のPC)
「あれ?いつもと違うIPアドレスだ…マンションのWi-Fiって、いつもは192.168.1.xxxじゃなかった?」
「やっぱり!これ、不正なDHCPサーバーよ!」
里見が素早く指示を出した。
C:\> ipconfig /all DHCPサーバー:192.168.100.254 ← 本来は192.168.1.1のはず! リース取得:2025-01-01 20:30:15
「20時30分…たった5分前にリース取得してる。慎也、すぐにWi-Fiから切断して!有線LANか、スマホのテザリングに切り替えて!」
「わ、わかった!」
山本は慌ててWi-Fiを切断し、スマホのテザリングに切り替えた。
🛡️ 防御と対策
里見はすぐに冷静に指示を出した。
「慎也、まず落ち着いて。今から対策を教えるわ」
個人でできる対策:
- Wi-Fiから切断:すぐに不正なネットワークから離脱
- 代替接続手段を使う:スマホのテザリング、有線LANなど
- パスワード変更:盗聴された可能性を考えて、重要なパスワードを変更
- 管理者に報告:マンション管理会社やネットワーク管理者に連絡
「わかった…まず管理会社に連絡するね」
山本が管理会社に電話すると、担当者がすぐに対応してくれた。
「不正なDHCPサーバーですか…すぐにネットワーク管理会社に連絡します」
数時間後、ネットワーク管理会社が調査結果を報告した。
「やはり…不正なDHCPサーバーが検出されました。発信源は…305号室です」
「305号室…!」
山本が驚いた。305号室は、つい最近引っ越してきた新しい住人の部屋だった。
マンション側の対策:
- 不正DHCPサーバーの遮断:該当の部屋からのDHCP応答をブロック
- DHCPスヌーピング導入:スイッチで正規DHCPサーバーのみ許可
- ポートセキュリティ強化:不正デバイスの接続を防止
- 802.1X認証導入検討:接続時に認証を要求
- 警察への相談:不正アクセス禁止法違反の可能性
「305号室の契約者情報を確認したところ…結城という名前でした」
「やっぱり…」
山本と里見は、結城がここまでするとは思っていなかった。
「慎也、警察に相談した方がいいわ。これは明らかな不正アクセスよ」
「うん…佐藤さんにも相談してみる」
DHCP攻撃の検知方法
攻撃が収まった後、里見が山本に教えた。
「DHCPの不正サーバーは、こうやって見つけるの」
検知方法:
- IPアドレスの範囲確認:いつもと違う範囲のIPが割り当てられていないか
- DHCPサーバーのIP確認:知らないサーバーから配布されていないか
- ゲートウェイの確認:正しいゲートウェイか
- ネットワークスキャン:複数のDHCPサーバーが稼働していないか
- リース時間の確認:異常に短いリース時間は怪しい
「なるほど…いつもと違う設定が来たら要注意なんだね」
「そう。特に、デフォルトゲートウェイが変わってたら、絶対に怪しいと思って」
💑 安堵のひととき
攻撃が阻止された夜、山本と里見はビデオ通話で話していた。山本はスマホのテザリングでメタCに接続している。
「お砂糖、また助けてくれてありがとう。もし気づかなかったら、僕の通信、全部盗まれてたんだよね…」
「大丈夫よ、慎也。私がいつも見守ってるから」
里見が優しく微笑んだ。
「でも、まさか結城が僕と同じマンションに引っ越してくるなんて…怖いよ」
「そうね…でも、管理会社と警察が動いてくれるから、大丈夫。それに、これで結城の居場所が特定できたわ」
「そうだね…でも、共有Wi-Fiって便利だけど、こんなに危険だったんだね」
「そうなの。同じネットワーク内にいる人は、お互いの通信を見ようと思えば見れちゃう。だからこそ、VPNとかHTTPSが大事なの」
「VPN…それも今度教えてほしいな」
「簡単に説明すると、こういうことよ」
なぜVPNが大事?
VPN(Virtual Private Network:仮想プライベートネットワーク):
- 通信内容を暗号化したトンネルで送る技術
- 同じWi-Fiにいる人が盗聴しようとしても、暗号化されてるから中身が読めない
- すべての通信がVPNサーバー経由になるので、元のデータが守られる
- 無料wifiも暗号化されていないのがほとんどだから、VPNがないと盗聴されるかもよ。
身近な例え:
「公衆トイレで着替えるとき、カーテンを閉めるでしょ?VPNは、通信に『カーテン(暗号化)』をかけるようなもの。外から覗かれても、中身は見えない」
【VPNなし】
あなた → 「パスワード:1234」 → サーバー
↑ 同じWi-Fiの誰かが盗聴 → バレバレ
【VPNあり】
あなた → [暗号化トンネル] → VPNサーバー → サーバー
↑ 盗聴しても「#$%&!?」暗号で読めない
なぜHTTPSが大事?
HTTPS(HTTP Secure:安全なHTTP):
- Webサイトとの通信をSSL/TLSで暗号化する技術
- 途中で盗聴されても、暗号化されてるから内容が読めない
- 偽サイトかどうか証明書で確認できる
身近な例え:
「普通の郵便(HTTP)と書留(HTTPS)の違い。書留なら、封がされてて、途中で開けられたら分かるし、本人確認もある」
【HTTPの場合】
あなた → 「パスワード:1234」(平文) → サーバー
↑ 途中で盗聴 → バレバレ
【HTTPSの場合】
あなた → 「暗号化データ」 → サーバー
↑ 盗聴しても解読不可能
VPNとHTTPSの違い
| 技術 | 守る範囲 | 使う場面 |
|---|---|---|
| HTTPS | Webサイトとの通信のみ | ネットショッピング、ログイン、個人情報入力 |
| VPN | すべての通信 | 公衆Wi-Fi使用時、リモートワーク、海外から接続 |
「なるほど!HTTPSは特定のサイトだけ、VPNは全部守ってくれるんだね」
「その通り!だから、今回のDHCP攻撃で偽のゲートウェイを設定されても、HTTPSで通信してたから、パスワードまでは盗まれなかったの。多層防御って、こういうことなのよ」
「もちろん。あとね、今回学んだ多層防御、覚えてる?」
「うん!1つの防御だけじゃなくて、何重にも防御を重ねること」
「そう!今回も、Wi-Fiが危険でも、HTTPSで通信が暗号化されてたから、パスワードまでは盗まれなかった。複数の防御があったから助かったの」
「なるほど…里見、本当に頼りになるよ」
「えへへ、ありがとう。じゃあ、次はSNMPについて教えるね。ネットワーク機器の管理の仕組みよ」
「うん、楽しみ!」
二人の絆は、試練を乗り越えるたびに深まっていった。
😤 結城の悔しさ
一方、結城の部屋にマンション管理会社の担当者と警察が訪ねてきた。
「結城様、不正なDHCPサーバーを運用されていましたね。これは不正アクセス禁止法違反に該当する可能性があります」
「私は何も…ただネットワークの勉強を…」
「言い訳は結構です。マンションの規約にも違反していますので、退去していただきます」
結城は渋々、荷物をまとめることになった。
部屋を出る前、結城は最後にモニターを見つめた。
「くっ…またお砂糖に邪魔された!同じマンションに住んでも、すぐにバレるなんて…」
画面には、「DHCPスヌーピング有効化」「ポートセキュリティ強化」の通知が表示されていた。
「お砂糖…山本…あなたたち、本当に許さない。でも、まだ手はある」
結城の目が、次の標的を捉えた。
「SNMP…古いバージョンには脆弱性がある。メタCのサーバーを調べて、そこから情報を盗み出せば…」
結城の復讐は、まだ終わらない。
マンションを出た結城は、新たな拠点から攻撃の準備を始めていた。
📚 用語まとめ
| 用語 | 読み | 意味・用途 |
|---|---|---|
| DHCP | ディーエイチシーピー | Dynamic Host Configuration Protocol。ネットワーク設定を自動配布するプロトコル。 |
| DHCP Discover | ディスカバー | クライアントがDHCPサーバーを探すパケット。DORAの「D」。 |
| DHCP Offer | オファー | DHCPサーバーがIPアドレスを提案するパケット。DORAの「O」。 |
| DHCP Request | リクエスト | クライアントがIPアドレスの割り当てを要求するパケット。DORAの「R」。 |
| DHCP Acknowledgment | アクノレッジメント | DHCPサーバーがIPアドレス割り当てを確認するパケット。DORAの「A」。 |
| IPアドレス | アイピーアドレス | ネットワーク上のデバイスを識別する番号。DHCPで自動配布される。 |
| サブネットマスク | サブネットマスク | ネットワークの範囲を定義する値。DHCPで配布される。 |
| デフォルトゲートウェイ | デフォルトゲートウェイ | 外部ネットワークへの出口となるルーターのIPアドレス。DHCPで配布される。 |
| DNSサーバー | ディーエヌエスサーバー | ドメイン名をIPアドレスに変換するサーバー。DHCPで配布される。 |
| ホスト名 | ホストメイ | ネットワーク上のデバイスの名前。DHCPで配布される場合がある。 |
| リース時間 | リースジカン | DHCPで配布されたIPアドレスを使用できる期限。 |
| 不正なDHCPサーバー | フセイナディーエイチシーピーサーバー | Rogue DHCP Server。攻撃者が設置する偽のDHCPサーバー。 |
| DHCPスヌーピング | ディーエイチシーピースヌーピング | スイッチで正規のDHCPサーバーのみを許可し、不正サーバーをブロックする機能。 |
| ポートセキュリティ | ポートセキュリティ | スイッチのポートに接続できるデバイスを制限する機能。 |
| 802.1X | はちまるにてんいちエックス | ネットワーク接続時に認証を要求する規格。不正デバイスの接続を防ぐ。 |
🎯 試験対策ポイント
DHCPの4ステップ(DORA)は必須暗記!
- Discover(発見):クライアント → ブロードキャスト「DHCPサーバーいますか?」
- Offer(提供):サーバー → クライアント「このIPどうぞ」
- Request(要求):クライアント → ブロードキャスト「これください」
- Acknowledgment(確認):サーバー → クライアント「OK、確定」
DHCPで配布される主な情報(4つ覚えよう)
- IPアドレス:デバイスの住所
- サブネットマスク:ネットワークの範囲
- デフォルトゲートウェイ:外部への出口
- DNSサーバー:名前解決サーバー
不正DHCPサーバー攻撃の対策
- DHCPスヌーピング:正規サーバーのみ許可
- ポートセキュリティ:接続デバイス制限
- 802.1X認証:接続時の認証
- 定期的なネットワークスキャン:不正サーバー検知
DiscoverとRequestの違い(ひっかけ注意!)
- Discover:「DHCPサーバー探してます」(最初の呼びかけ)
- Request:「このサーバーのこのIPください」(選択後の要求)
ブロードキャストとユニキャスト
- Discover:ブロードキャスト(全員に呼びかけ)
- Offer:ユニキャスト(個別に返信)
- Request:ブロードキャスト(選択を全員に通知)
- Acknowledgment:ユニキャスト(個別に確認)
🔍 補足:リース更新の仕組み
DHCPで配布されたIPアドレスは、期限が来ると自動的に更新されます。
リース更新のタイミング:
- 50%経過時点:リース更新を試みる(Renewal)
- 87.5%経過時点:再度更新を試みる(Rebinding)
- 100%経過:IPアドレスを返却、新たに取得
身近な例え:
「図書館の本を2週間借りたとき、1週間目(50%)で『延長しますか?』ってメールが来る。返事しなかったら、12日目(87.5%)で『本当に延長しないの?』って再度連絡。それでも返事しなかったら、2週間後に自動返却」