この記事は、セキュリティ資格学習のために、AI(Claude)と共同で作成したコンテンツです。
※間違った解釈がある可能性あります。
この記事の目的
セキュリティの専門用語は、カタカナや略語が多く、初学者にとって非常に取っつきにくいものです。
そこで、専門家じゃなくてもわかるようにストーリー風に構成してみました。
プロローグ:新たな攻撃の予兆
ある晩、山本がメタCにログインしようとすると、いつもより接続が遅い。
「あれ?いつもはすぐつながるのに…」
ようやくログインできたが、ワールドを移動しようとすると、画面がカクカクする。
「また重い…おかしいな」
その時、里見からメッセージが届いた。
里見:「ねえ、慎也君。今日、メタC全体の通信が不安定みたいなの。もしかして…」
山本:「まさか、また結城の攻撃?」
里見:「可能性はある。でも、今回は少し様子が違うの。ログを見てるんだけど、変なパケットがたくさん飛んでて…」
山本:「パケット?」
里見:「慎也君、今からネットワークの基礎を教えるね。これがわかれば、今起きてることも理解できるから」
第1章:ネットワークの階層構造
🏢 OSI参照モデル(7階建てビルの例え)
里見が画面を共有しながら説明を始めた。
里見:「ネットワーク通信は、7つの階層に分かれているの。これをOSI参照モデル(Open Systems Interconnection)って言うんだ」
OSI参照モデル(オーエスアイ さんしょうモデル):
- 通信の仕組みを7つの層に分けて整理したもの
- 国際標準化機構(ISO)が作った世界共通の考え方
- 「7階建てビル」のイメージ
例え話:
手紙を送ることを想像してね。
【7階】アプリケーション層 ↓ 手紙の内容を書く(「好きです」) 【6階】プレゼンテーション層 ↓ 日本語→英語に翻訳、暗号化 【5階】セッション層 ↓ 「会話を始めます」「会話を終わります」 【4階】トランスポート層 ↓ 手紙を小分けにして番号をつける(1枚目、2枚目…) 【3階】ネットワーク層 ↓ 宛先の住所を書く(○○県○○市…) 【2階】データリンク層 ↓ 近所の郵便局に持っていく方法を決める 【1階】物理層 ↓ 実際に車で運ぶ、手で渡す
山本:「7階から1階に降りていくんだね」
里見:「そう!送る側は7階→1階、受け取る側は1階→7階って登っていくの」
🌐 TCP/IP(実際に使われている4階建て)
里見:「OSI参照モデルは理論的な話で、実際のインターネットではTCP/IPっていう、もうちょっとシンプルな4層モデルを使ってるの」
TCP/IP(ティーシーピー アイピー):
- Transmission Control Protocol / Internet Protocol
- インターネットの標準通信規約
- OSI参照モデルの7層を4層にまとめたもの
TCP/IPの4層:
| 層番号 | OSI 7層モデル | 層番号 | TCP/IP 4層モデル |
|---|---|---|---|
| 7 | アプリケーション層 | 4 | アプリケーション層 (HTTP, FTP, SMTP, DNS等) |
| 6 | プレゼンテーション層 | ||
| 5 | セッション層 | ||
| 4 | トランスポート層 | 3 | トランスポート層 (TCP, UDP) |
| 3 | ネットワーク層 | 2 | インターネット層 (IP, ICMP, ARP) |
| 2 | データリンク層 | 1 | ネットワークインターフェース層 (Ethernet, Wi-Fi等) |
| 1 | 物理層 |
対応関係のポイント:
- TCP/IP 第4層 = OSI 第5~7層をまとめたもの
- TCP/IP 第3層 = OSI 第4層とほぼ同じ
- TCP/IP 第2層 = OSI 第3層とほぼ同じ
- TCP/IP 第1層 = OSI 第1~2層をまとめたもの
例え話:
宅配便の仕組みで考えてみよう。
- アプリケーション層: 荷物の中身(プレゼント、手紙など)
- トランスポート層: 段ボールに梱包、伝票に番号を書く
- インターネット層: 配送ルートを決める(東京→大阪経由→福岡)
- ネットワークインターフェース層: トラックで実際に運ぶ
第2章:データリンク層の役割
🚪 データリンク層(第2層)
山本:「それぞれの層で、具体的に何をしてるの?」
里見:「まず、データリンク層から説明するね。ここは”隣の家までデータを届ける”層なの」
データリンク層:
- 同じネットワーク内での通信を担当
- MACアドレス(機器の固有番号)を使う
- エラーチェック機能
例え話:
マンションの中で、隣の部屋に荷物を届けるときのルール。
- 部屋番号(MACアドレス)を確認
- 廊下を通って隣の部屋まで歩く
- ちゃんと届いたか確認
主な技術:
- イーサネット(Ethernet): 有線LANの規格
- Wi-Fi(IEEE 802.11): 無線LANの規格
- PPP: 電話回線などでの接続
📬 ARP(アープ)
里見:「データリンク層で重要なのがARP。これは”IPアドレスからMACアドレスを調べる”プロトコルなの」
ARP(Address Resolution Protocol:アドレス解決プロトコル):
- IPアドレス(論理アドレス)→ MACアドレス(物理アドレス)に変換
- 「192.168.1.10の人、MACアドレス教えて!」と呼びかける
例え話:
マンションで「301号室の田中さん、いますか?」と呼びかけるようなもの。
- 「301号室の人!」と廊下で叫ぶ(ARPリクエスト)
- 田中さんが「はい、私です」と返事(ARPリプライ)
- 「じゃあ荷物届けますね」(データ送信)
ARPの流れ:
PC-A「IPアドレス192.168.1.10の人、MACアドレス教えて!」 ↓(ブロードキャスト:全員に聞く) PC-B「私のIPは192.168.1.10です。MACは AA:BB:CC:DD:EE:FF です」 ↓ PC-A「ありがとう!これで送れる」
山本:「なるほど。じゃあ、遠くの人に送るときはどうするの?」
里見:「それが次のネットワーク層の役割だよ」
第3章:ネットワーク層とIPアドレス
🌍 ネットワーク層(第3層)
里見:「ネットワーク層は、”遠くまでデータを届ける”層。IPアドレスとルーティングが重要なの」
ネットワーク層:
- 異なるネットワーク間での通信
- IPアドレスを使って宛先を指定
- 最適な経路を選択(ルーティング)
例え話:
郵便配達の仕組み。
- 住所(IPアドレス)を見る
- 「東京→大阪→福岡」とルートを決める(ルーティング)
- 各地の郵便局を経由して届ける
🏠 IPアドレスの種類
里見:「IPアドレスにはいくつか種類があるの。まずIPv4から説明するね」
【IPv4のクラス分類】
クラスA~D:
| クラス | 範囲 | 用途 | 例え |
|---|---|---|---|
| クラスA | 1.0.0.0 ~ 126.255.255.255 | 超大規模ネットワーク | 国レベル |
| クラスB | 128.0.0.0 ~ 191.255.255.255 | 大規模ネットワーク | 県レベル |
| クラスC | 192.0.0.0 ~ 223.255.255.255 | 中小規模ネットワーク | 市町村レベル |
| クラスD | 224.0.0.0 ~ 239.255.255.255 | マルチキャスト | 同報配信用 |
マルチキャスト:
- 複数の相手に同時にデータを送る方式
- 1対多の通信(ライブ配信など)
例え話:
ラジオ放送みたいなもの。電波を1回流せば、複数の人が同時に聞ける。
【CIDR(サイダー)】
里見:「クラス分けは古い方法で、今はCIDRって方法を使ってるの」
CIDR(Classless Inter-Domain Routing:サイダー):
- クラスにとらわれない柔軟なアドレス割り当て
- 「192.168.1.0/24」のように書く
- /24 = 最初の24ビットがネットワーク部分
例え話:
マンションの部屋割り。
- 192.168.1.0/24 → 「192.168.1」がマンション名、残り256部屋
- 192.168.1.0/25 → 同じマンションを2つに分けて、各128部屋
【特別なIPアドレス】
ループバックアドレス(127.0.0.1):
- 自分自身を指すアドレス
- 「localhost」とも呼ばれる
例え話:
鏡に向かって話しかけるようなもの。自分のコンピュータ内でテストするときに使う。
プライベートIPアドレス:
- 10.0.0.0 ~ 10.255.255.255
- 172.16.0.0 ~ 172.31.255.255
- 192.168.0.0 ~ 192.168.255.255
- 家や会社の中だけで使えるアドレス
🗺️ ルーティング
山本:「IPアドレスでルートを決めるって、どういうこと?」
里見:「ルーティングは、データが通る道を決めることなの」
ルーティング(Routing):
- データパケットを目的地まで届けるための経路選択
- ルータ(Router)が担当
- 最短・最速のルートを自動で選ぶ
例え話:
カーナビが目的地までの道を選ぶのと同じ。
- 「東京から福岡まで行きたい」
- ルート候補:
- 東名高速→名神高速→山陽道
- 中央道→北陸道→山陽道
- 渋滞や距離を見て最適ルートを選択
ルーティングテーブル:
- ルータが持っている「道案内の地図」
- 「192.168.1.0のネットワークは、ゲートウェイ10.0.0.1経由」みたいな情報
🚪 ゲートウェイ(Gateway)
山本:「さっき”ゲートウェイ”って出てきたけど、それって何?」
里見:「ゲートウェイは、違うネットワーク同士をつなぐ”出入口”のことなの」
ゲートウェイ(Gateway):
- 異なるネットワーク間の出入口
- 自分のネットワークから外部に出るときの「門」
- 通常はルータがゲートウェイの役割を果たす
例え話:
マンションの正面玄関みたいなもの。
- マンション内(自分のネットワーク)にいる人は自由に行き来できる
- 外(インターネット)に出るには、必ず正面玄関(ゲートウェイ)を通る
- 外から来た人も、正面玄関を通ってマンションに入る
デフォルトゲートウェイ:
- 「どこに行けばいいかわからない時は、ここに送る」という標準の出口
- 家のWi-Fiルータが、家庭内PCのデフォルトゲートウェイになっている
具体例:
【家の中】 PC: 192.168.1.10 デフォルトゲートウェイ: 192.168.1.1(ルータ) PCが外部サイト(例: google.com)にアクセスしたいとき: 1. PCは「192.168.1.1(ゲートウェイ)に送ろう」と判断 2. ルータがインターネット側に転送 3. 外部からの返事も、ルータ(ゲートウェイ)経由で戻ってくる
里見:「だから、ネットワーク設定で必ず”デフォルトゲートウェイ”を設定するの。これがないと外部と通信できないよ」
🛡️ VRRP(ブイアールアールピー)
里見:「ルータが壊れたらどうする?そのための仕組みがVRRPなの」
VRRP(Virtual Router Redundancy Protocol:仮想ルータ冗長プロトコル):
- 複数のルータを1つの仮想ルータとして動かす
- メインが壊れたら、すぐにバックアップが代わりをする
例え話:
レストランのウェイターが2人いる。
- 普段は田中さん(メイン)が接客
- 田中さんが休んだら、佐藤さん(バックアップ)が代わりに接客
- お客さんから見ると「いつもウェイターがいる」状態
第4章:IPヘッダーの中身
📦 IPヘッダー
里見:「データパケットにはIPヘッダーっていう”宛名ラベル”がついてるの」
IPヘッダー:
- IPパケットの先頭についている情報
- 送信元、宛先、制御情報が含まれる
重要な3つのフィールド:
① TTL(Time To Live:生存時間)
- パケットが何回ルータを経由できるか
- 経由するたびに1ずつ減る
- 0になったら破棄される
例え話:
宝探しゲームで「ヒント10回まで」みたいなルール。
- 最初: TTL=64
- ルータA通過: TTL=63
- ルータB通過: TTL=62
- …
- TTL=0: 「もう無理、諦めます」→破棄
なぜ必要?
ループ(同じ道をぐるぐる回る)を防ぐため。
② プロトコル番号
- どの通信プロトコルを使っているか
- 次の層で何を処理すべきか指示
主なプロトコル番号:
- 1 = ICMP(エラー通知)
- 6 = TCP(信頼性のある通信)
- 17 = UDP(高速だけど信頼性低い)
- 50 = ESP(暗号化通信)
- 51 = AH(認証)
例え話:
荷物の種類を示すラベル。
- 「ワレモノ注意」→ TCP(慎重に扱う)
- 「速達」→ UDP(とにかく速く)
- 「書留」→ ICMP(受領確認あり)
③ 宛先IPアドレス
- データの送り先
- 32ビット(IPv4)または128ビット(IPv6)
例え話:
郵便の宛先住所。
第5章:ICMPとネットワーク診断
📢 ICMP(アイシーエムピー)
山本:「さっき”エラー通知”って出てきたけど、それって?」
里見:「それがICMP。ネットワークの”お知らせ係”なの」
ICMP(Internet Control Message Protocol:インターネット制御メッセージプロトコル):
- エラーや状態を通知するプロトコル
- 通信できるか確認する(ping)
- ルートを調べる(traceroute)
例え話:
郵便配達員からの連絡。
- 「宛先不明で届けられませんでした」
- 「遠すぎて届けられません」
- 「ちゃんと届きましたよ」
主なICMPメッセージ:
- Echo Request / Echo Reply: ping(生存確認)
- Destination Unreachable: 宛先に到達できない
- Time Exceeded: TTLが0になった
- Redirect: もっと良いルートがあるよ
🧊 ICMPv6(IPv6版)
里見:「IPv6でも同じようなプロトコルがあって、ICMPv6って言うの。IPv4版より機能が増えてるよ」
ICMPv6の追加機能:
- Neighbor Discovery(近隣探索): ARPの代わり
- Router Advertisement(ルータ広告): ルータが自動的に情報を配布
- 自動設定機能: IPアドレスを自動で設定
第6章:トランスポート層
📮 トランスポート層(第4層)
里見:「次はトランスポート層。ここは”確実に届ける”ための層なの」
トランスポート層:
- エンドツーエンド(端から端まで)の通信を管理
- データを分割・再構成
- エラー訂正、再送制御
主なプロトコル:
- TCP: 信頼性重視
- UDP: 速度重視
📋 TCPヘッダー
TCPヘッダー:
- 送信元ポート番号
- 宛先ポート番号
- シーケンス番号(順番)
- 確認応答番号(ACK)
- 制御フラグ(SYN、ACK、FINなど)
例え話:
書留郵便の伝票。
- 送信元: 差出人の名前
- 宛先: 受取人の名前
- シーケンス番号: 「10通中の3通目」
- 確認応答: 「2通目、受け取りました」
🚪 ウェルノウンポート番号
山本:「ポート番号って何?」
里見:「ポート番号は、アプリケーションを区別する番号なの。1つのパソコンで複数のサービスを動かすときに使うよ」
ウェルノウンポート番号(Well-Known Ports):
- 0~1023番
- 有名なサービス用に予約されている
主なポート番号:
| ポート番号 | サービス | 説明 |
|---|---|---|
| 20, 21 | FTP | ファイル転送 |
| 22 | SSH | 暗号化リモート接続 |
| 23 | Telnet | リモート接続(非暗号化) |
| 25 | SMTP | メール送信 |
| 53 | DNS | ドメイン名解決 |
| 80 | HTTP | ウェブサイト閲覧 |
| 110 | POP3 | メール受信 |
| 143 | IMAP | メール受信(高機能版) |
| 443 | HTTPS | 暗号化ウェブ閲覧 |
| 3389 | RDP | Windowsリモートデスクトップ |
例え話:
マンションの部屋番号。
- IPアドレス = マンションの住所
- ポート番号 = 部屋番号
- 「〇〇マンション(192.168.1.10)の101号室(ポート80)」→ Webサーバー
- 「〇〇マンション(192.168.1.10)の201号室(ポート22)」→ SSHサーバー
第7章:セキュリティプロトコル
🔐 IPsec(アイピーセック)
里見:「ネットワーク通信を暗号化するのがIPsecなの」
IPsec(IP Security:アイピーセキュリティ):
- IPレベルでの暗号化・認証
- VPN(仮想専用線)でよく使われる
- 盗聴・改ざんを防ぐ
例え話:
手紙を金庫に入れて送るようなもの。
- 普通の郵便: 封筒だけ(盗み見られるかも)
- IPsec: 金庫に入れて送る(安全)
🛡️ ESP(イーエスピー)
ESP(Encapsulating Security Payload:カプセル化セキュリティペイロード):
- IPsecの暗号化プロトコル
- データの中身を暗号化
- プロトコル番号: 50
例え話:
手紙の中身を暗号で書く。
- 元の文: 「好きです」
- 暗号化: 「XjK9#mP2」
- 受信者だけが解読できる
✅ AH(エーエイチ)
AH(Authentication Header:認証ヘッダー):
- IPsecの認証プロトコル
- 「誰が送ったか」を証明
- 改ざんを検知
- プロトコル番号: 51
例え話:
手紙に印鑑を押すようなもの。
- 印鑑があれば「本当に山本さんが書いた」とわかる
- 印鑑が違えば「偽物だ!」とわかる
ESPとAHの違い:
| 項目 | ESP | AH |
|---|---|---|
| 暗号化 | ○ | × |
| 認証 | ○ | ○ |
| 改ざん検知 | ○ | ○ |
| 使用頻度 | 高い | 低い |
里見:「実際はESPの方がよく使われるよ。暗号化も認証も両方できるからね」
第8章:IPv6の世界
🌐 IPv6(アイピーバージョンシックス)
里見:「IPv4はアドレスが足りなくなってきたから、IPv6って新しいバージョンができたの」
IPv6の特徴:
- アドレス数の増加
- IPv4: 約43億個(2^32)
- IPv6: 約340澗個(2^128)※澗=10の36乗
- IPアドレスの自動設定
- ルータから情報をもらって自動設定
- DHCPサーバーが不要
- ルータの自動認識
- ネットワークにつなぐだけで、ルータを見つけられる
- Router Advertisement(ルータ広告)機能
- セキュリティ強化
- IPsecが標準装備
- IPv4では拡張機能だったものが最初から組み込まれている
📮 IPv6のアドレスタイプ
里見:「IPv6には3種類の配送方法があるの」
① ユニキャスト(Unicast)
- 1対1の通信
- 特定の1人に送る
例え話:
友達に手紙を送る。1人だけに届く。
② マルチキャスト(Multicast)
- 1対多の通信
- グループに登録した人全員に送る
例え話:
メーリングリスト。登録した人全員にメールが届く。
③ エニーキャスト(Anycast)
- 1対最も近い1人
- 同じアドレスを持つ複数のサーバーのうち、一番近いサーバーに届ける
例え話:
コンビニを探すとき。
- 「セブンイレブン」と検索
- 一番近い店舗が表示される
- どの店舗でも良い(一番近ければOK)
使用例:
DNSサーバー。世界中にある同じアドレスのDNSサーバーのうち、一番近いサーバーが応答する。
IPv4との違い:
| 配送方法 | IPv4 | IPv6 |
|---|---|---|
| ユニキャスト | ○ | ○ |
| マルチキャスト | ○ | ○ |
| ブロードキャスト | ○ | ×(マルチキャストで代替) |
| エニーキャスト | △(非公式) | ○(正式対応) |
第9章:NAPT(アドレス変換)
🔄 NAPT(ナプト)
山本:「家のWi-Fiって、みんな同じIPアドレスなの?」
里見:「いい質問!家の中では別々のプライベートIPアドレスを使ってて、外に出るときはNAPTって技術で1つのIPアドレスに変換されるの」
NAPT(Network Address Port Translation:ネットワークアドレスポート変換):
- 複数のプライベートIPアドレスを1つのグローバルIPアドレスに変換
- ポート番号も同時に変換
- 「IPマスカレード」とも呼ばれる
例え話:
会社の代表電話。
- 外から: 03-1234-5678(代表番号1つ)
- 中では: 内線101、102、103…(個別の番号)
- 電話交換手(ルータ)が、外からの電話を適切な内線に振り分ける
NAPTの動き:
【家の中】
PC-A: 192.168.1.10:50001 ┐
PC-B: 192.168.1.11:50002 ├→ ルータ
スマホ: 192.168.1.12:50003 ┘
↓
【ルータ(NAPT)】
全部を 123.45.67.89:xxxxx に変換
↓
【インターネット】
123.45.67.89:10001(PC-A用)
123.45.67.89:10002(PC-B用)
123.45.67.89:10003(スマホ用)
メリット:
- グローバルIPアドレスを節約
- 家の中の機器が外から直接見えない(セキュリティ向上)
第10章:結城の攻撃
説明が一段落したとき、佐藤から緊急連絡が入った。
佐藤:「里見さん、山本さん、今すぐログを見てください。結城の攻撃パターンが判明しました」
佐藤が画面を共有すると、そこには膨大なログが流れていた。
🔍 攻撃の分析
佐藤:「結城は以下の3つの攻撃を仕掛けています」
【攻撃1】ICMPフラッド攻撃
- 大量のpingリクエスト(ICMP Echo Request)を送りつける
- サーバーが処理しきれず、正常な通信ができなくなる
佐藤:「ログを見ると、1秒間に10万回以上のpingが来ています。これは完全にDoS攻撃(Denial of Service:サービス妨害攻撃)ですね」
【攻撃2】IPスプーフィング
- 送信元IPアドレスを偽装
- 「山本のIPアドレスから攻撃した」ように見せかける
山本:「でも、送信元IPアドレスって偽装できるの?」
里見:「実は、できちゃうの。IPスプーフィング(IP Spoofing)の仕組みを説明するね」
💡 IPスプーフィングの仕組み
なぜ偽装できるのか:
- IPパケットの送信元アドレスは、送信者が自由に書き込める
- 郵便の差出人欄と同じで、嘘の住所を書いても投函できてしまう
- ネットワーク機器は基本的に「送信元IPアドレスが正しいか」を確認しない
具体的な手順:
【通常の通信】 結城のPC(本当のIP: 203.0.113.50) ↓ IPヘッダーに「送信元: 203.0.113.50」と書く ↓ パケット送信 ↓ メタCサーバー「203.0.113.50から来たな」 【IPスプーフィング】 結城のPC(本当のIP: 203.0.113.50) ↓ IPヘッダーに「送信元: 192.168.1.10(山本のIP)」と嘘を書く ↓ パケット送信 ↓ メタCサーバー「192.168.1.10(山本)から来たな」← 騙される!
どうやって偽装するのか:
- Raw Socket(生ソケット)を使う
- 通常のプログラムはOSが自動でIPヘッダーを作る
- Raw Socketを使うと、IPヘッダーを手動で作れる
- 送信元IPアドレス欄に好きな値を書ける
- 専用ツールを使う
- hping3、Scapyなどのツール
- コマンド一つで偽装パケットを送れる
例(hping3の場合):
hping3 -a 192.168.1.10 203.0.113.100
↑ 偽装したいIP ↑ 攻撃先
山本:「え、そんなに簡単に!?じゃあ、誰でも偽装し放題じゃない?」
里見:「理論上はそうなんだけど、実際には返信が受け取れないという問題があるの」
🚫 IPスプーフィングの限界
返信が届かない問題:
【攻撃の流れ】 結城のPC(203.0.113.50) ↓ 送信元を「192.168.1.10(山本)」に偽装してパケット送信 ↓ メタCサーバー ↓ 「192.168.1.10に返信しよう」 ↓ 山本のPC(192.168.1.10)← 返信が届く ↑ 結城には返信が届かない!
だから偽装できるのは:
- 返信が不要な攻撃だけ
- DoS攻撃(とにかく大量に送りつける)
- SYNフラッド(TCP接続を大量に開始するだけ)
- 通常の通信(Webブラウジングなど)は偽装できない
- 返信を受け取れないと通信が成立しない
佐藤:「今回の結城の攻撃も、返信不要のICMPフラッドだから偽装できたんです。でも安心してください。見破る方法があります」
🔍 IPスプーフィングの見破り方
①TTL値の確認:
- 通常、山本のPCからのパケットはTTL=64(初期値)
- ルータを2つ経由したら、TTL=62になる
- 結城の偽装パケットはTTLが不自然に小さい
- 「おかしい、山本のPCはこんな遠くにないはずだ」→偽装を検知
②パケットのパターン分析:
- 本物の山本のPCと、偽装パケットの送信パターンが違う
- パケットサイズ、送信間隔、TCPウィンドウサイズなどの「指紋」
③送信元検証(Ingress Filtering):
- ネットワークの入口で「この送信元IPは、このネットワークから来るはずがない」と判定
- ISPレベルで偽装パケットをブロック
佐藤:「ログを詳しく分析した結果、結城が送ったパケットは以下の特徴がありました」
【本物の山本のパケット】 送信元IP: 192.168.1.10 TTL: 62(ルータ2つ経由) パケットサイズ: 通常は1000〜1500バイト 送信間隔: 不規則 【結城の偽装パケット】 送信元IP: 192.168.1.10(偽装!) TTL: 48(ルータ16個経由→遠すぎる!) パケットサイズ: 常に64バイト(攻撃ツールの典型) 送信間隔: 0.001秒ごと(機械的すぎる!)
里見:「つまり、偽装はできるけど完璧には隠せないってこと。慎也君のせいにしようとしたけど、バレバレだったんだよ」
山本:「なるほど!技術的には偽装できるけど、痕跡が残るんだね」
【攻撃3】ポートスキャン
- 開いているポート番号を片っ端から調べる
- 脆弱なサービスを探している
佐藤:「ポート22(SSH)、ポート3389(RDP)、ポート80(HTTP)…全部のポートに接続を試みています。侵入口を探してるんです」
🛡️ 対策の実施
佐藤:「では、対策を打ちましょう」
【対策1】ファイアウォールでICMPを制限
- 1秒間に100回以上のICMPは拒否
- 正常なpingは通すが、フラッド攻撃は防ぐ
【対策2】送信元IP検証
- 逆引きDNSでIPアドレスの正当性を確認
- 偽装されたIPアドレスを検出
【対策3】不要ポートの閉鎖
- 使っていないポートをすべて閉じる
- 必要なポートだけ開ける(ホワイトリスト方式)
【対策4】IPsecによる暗号化
- 重要な通信はIPsec(ESP)で暗号化
- 盗聴・改ざんを防ぐ
【対策5】ログの保全
- すべてのログを証拠として保存
- 警察に提出できるよう準備
佐藤:「これで一旦は防げます。でも、結城は次の手を考えてくるでしょう」
第11章:ネットワークの全体像
📊 通信の流れを整理
里見:「今日学んだことを整理しよう」
データ送信の流れ(OSI参照モデル):
【送信側】 7. アプリケーション層: メールを書く ↓ 6. プレゼンテーション層: 暗号化 ↓ 5. セッション層: 通信開始 ↓ 4. トランスポート層: データ分割、TCP/UDPヘッダー追加 ↓ 3. ネットワーク層: IPヘッダー追加、ルーティング ↓ 2. データリンク層: MACヘッダー追加 ↓ 1. 物理層: 電気信号に変換 ↓ ━━━━━━━━━━━━━━━━ ↓ インターネット ━━━━━━━━━━━━━━━━ ↓ 【受信側】 1. 物理層: 電気信号を受信 ↓ 2. データリンク層: MACヘッダー確認 ↓ 3. ネットワーク層: IPヘッダー確認 ↓ 4. トランスポート層: データ再構成 ↓ 5. セッション層: 通信管理 ↓ 6. プレゼンテーション層: 復号化 ↓ 7. アプリケーション層: メール表示
🔑 各層の役割まとめ
| 層 | 名前 | 役割 | 主な技術 |
|---|---|---|---|
| 7 | アプリケーション | ユーザーが使うアプリ | HTTP, FTP, SMTP |
| 6 | プレゼンテーション | データ形式の変換 | 暗号化, 圧縮 |
| 5 | セッション | 通信の開始・終了 | セッション管理 |
| 4 | トランスポート | 確実な配送 | TCP, UDP |
| 3 | ネットワーク | 経路選択 | IP, ICMP, IPsec |
| 2 | データリンク | 隣への配送 | Ethernet, ARP |
| 1 | 物理 | 電気信号の送受信 | ケーブル, 無線 |
エピローグ:理解の深まり
攻撃が収まり、メタCは平穏を取り戻した。
佐藤が席を外した後、山本と里見は二人きりでログを見直していた。
💕 二人の時間
山本:「ネットワークの仕組みって、すごく複雑だけど、理解できると攻撃の意味もわかるね」
里見:「そうなの。”何が起きてるか”がわかれば、対策も立てやすい」
里見が微笑みながら、山本の肩に頭を寄せた。
里見:「慎也君、すごく頑張ってるね。私も教え甲斐があるよ」
山本:「里見さん…いつも守ってくれてありがとう」
里見:「何言ってるの。私たち、恋人でしょ?一緒に乗り越えるのが当たり前だよ」
山本が里見の手をそっと握った。
山本:「これからも、一緒に学んでいこうね」
里見:「うん。お互いに守り合おう?」
二人は小指を絡めて、約束を交わした。メタCの夜景が、二人の幸せな時間を優しく照らしていた。
😈 闇の中で
一方、薄暗い部屋。複数のモニターに囲まれた結城が、憎悪に満ちた表情でキーボードを叩いていた。
画面には、山本と里見が一緒に写っている画像。
結城:「…慎也は私のものだったのに。あの女が現れてから、全部狂った」
結城は別のウィンドウを開いた。「Webアプリケーション脆弱性」という文字。
結城:「ネットワーク層じゃダメか。なら、次はアプリケーション層だ」
結城の口元が、不気味に歪んだ。
結城:「SQLインジェクション、XSS、CSRF…。慎也を取り戻す。絶対に」
闇の中で、次なる攻撃の準備が着々と進んでいた。
🎓 第3話で学んだ用語まとめ
ネットワーク基礎
| 用語 | 読み | 意味 |
|---|---|---|
| OSI参照モデル | オーエスアイ さんしょうモデル | 通信を7つの層に分けた理論モデル |
| TCP/IP | ティーシーピー アイピー | インターネットの標準プロトコル(4層) |
| データリンク層 | – | 隣の機器までデータを届ける層 |
| ネットワーク層 | – | 遠くまでデータを届ける層 |
| トランスポート層 | – | 確実にデータを届ける層 |
IPアドレス関連
| 用語 | 読み | 意味 |
|---|---|---|
| クラスA〜D | – | IPv4の古い分類方法 |
| CIDR | サイダー | 柔軟なアドレス割り当て方法 |
| ループバックアドレス | – | 自分自身を指すアドレス(127.0.0.1) |
| マルチキャスト | – | 1対多の同時配信 |
プロトコル
| 用語 | 読み | 意味 |
|---|---|---|
| ARP | アープ | IPアドレス→MACアドレス変換 |
| ICMP | アイシーエムピー | エラー通知・診断プロトコル |
| ICMPv6 | アイシーエムピー バージョン6 | IPv6版のICMP |
| VRRP | ブイアールアールピー | ルータの冗長化プロトコル |
| NAPT | ナプト | IPアドレス+ポート番号の変換 |
セキュリティ
| 用語 | 読み | 意味 |
|---|---|---|
| IPsec | アイピーセック | IP層での暗号化・認証 |
| ESP | イーエスピー | 暗号化プロトコル(IPsec) |
| AH | エーエイチ | 認証プロトコル(IPsec) |
IPv6
| 用語 | 読み | 意味 |
|---|---|---|
| ユニキャスト | – | 1対1通信 |
| マルチキャスト | – | 1対多通信 |
| エニーキャスト | – | 1対最寄り1通信 |
| Router Advertisement | ルーター アドバタイズメント | ルータが自動的に情報配布 |
ポート番号
| ポート | サービス | 用途 |
|---|---|---|
| 20, 21 | FTP | ファイル転送 |
| 22 | SSH | 暗号化リモート接続 |
| 23 | Telnet | リモート接続 |
| 25 | SMTP | メール送信 |
| 53 | DNS | 名前解決 |
| 80 | HTTP | ウェブ閲覧 |
| 110 | POP3 | メール受信 |
| 143 | IMAP | メール受信 |
| 443 | HTTPS | 暗号化ウェブ閲覧 |
| 3389 | RDP | リモートデスクトップ |
ヘッダー情報
| 用語 | 意味 |
|---|---|
| IPヘッダー | IPパケットの制御情報 |
| TCPヘッダー | TCPセグメントの制御情報 |
| TTL | パケットの生存時間 |
| プロトコル番号 | 次の層のプロトコル種別 |
| 宛先IPアドレス | データの送り先 |
ルーティング
| 用語 | 意味 |
|---|---|
| ルーティング | 経路選択 |
| ルータ | 経路を決める機器 |
| ルーティングテーブル | 経路情報の表 |
| ゲートウェイ | 異なるネットワーク間の出入口 |
| デフォルトゲートウェイ | 標準の出口(通常はルータ) |
攻撃手法
| 用語 | 意味 |
|---|---|
| IPスプーフィング | 送信元IPアドレスを偽装する攻撃 |
| ICMPフラッド | 大量のICMPパケットで攻撃 |
| ポートスキャン | 開いているポートを探す偵察行為 |
| DoS攻撃 | サービス妨害攻撃 |
次回もよろしくおねがいします!