注目キーワード

メタCセキュリティ物語~DHCP編・ネットワークの自動設定を乗っ取る罠~

この記事は、セキュリティ資格学習のために、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を切断し、スマホのテザリングに切り替えた。


🛡️ 防御と対策

里見はすぐに冷静に指示を出した。

「慎也、まず落ち着いて。今から対策を教えるわ」

個人でできる対策

  1. Wi-Fiから切断:すぐに不正なネットワークから離脱
  2. 代替接続手段を使う:スマホのテザリング、有線LANなど
  3. パスワード変更:盗聴された可能性を考えて、重要なパスワードを変更
  4. 管理者に報告:マンション管理会社やネットワーク管理者に連絡

「わかった…まず管理会社に連絡するね」

山本が管理会社に電話すると、担当者がすぐに対応してくれた。

「不正なDHCPサーバーですか…すぐにネットワーク管理会社に連絡します」

数時間後、ネットワーク管理会社が調査結果を報告した。

「やはり…不正なDHCPサーバーが検出されました。発信源は…305号室です」

「305号室…!」

山本が驚いた。305号室は、つい最近引っ越してきた新しい住人の部屋だった。

マンション側の対策

  1. 不正DHCPサーバーの遮断:該当の部屋からのDHCP応答をブロック
  2. DHCPスヌーピング導入:スイッチで正規DHCPサーバーのみ許可
  3. ポートセキュリティ強化:不正デバイスの接続を防止
  4. 802.1X認証導入検討:接続時に認証を要求
  5. 警察への相談:不正アクセス禁止法違反の可能性

「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)は必須暗記!

  1. Discover(発見):クライアント → ブロードキャスト「DHCPサーバーいますか?」
  2. Offer(提供):サーバー → クライアント「このIPどうぞ」
  3. Request(要求):クライアント → ブロードキャスト「これください」
  4. 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週間後に自動返却」