Instiq
第2章 · 基本ネットワークセキュリティ·v1.0.0·更新 2026/7/17·読了目安 約15分

変更要約: 初版

2.1TCP/IPプロトコルの脆弱性

この節の要点

インターネットを支えるTCP/IPの各プロトコルには、設計当初にセキュリティを想定していなかった弱点があります。偽のMAC応答で通信を乗っ取るARPスプーフィングMITM)、名前解決を汚すDNSポイズニング、アドレス枯渇や偽サーバのDHCP攻撃、偵察やフラッドに使われるICMP、接続を溢れさせるTCP SYNフラッド、そして盗聴される平文HTTPを、「このパケットの異常は何攻撃か」を識別する視点で学びます。

TCP/IPは世界中の通信を支える基盤ですが、多くのプロトコルは「まず動くこと」を優先して作られ、セキュリティは後付けでした。そのため、相手を確認せず信じてしまう仕組みが各所に残っています。攻撃者はこの「信じてしまう」性質を突いて、通信を横取りしたり、偽の情報を教え込んだり、サービスを溢れさせたりします。この節では、ARPDNSDHCPICMPTCPHTTPという身近なプロトコルそれぞれの弱点と、それを悪用する代表的な攻撃を、「このパケットや症状はどの攻撃の兆候か」を見分ける視点で学びます。個々の攻撃を深く解析するのではなく、まず名前と特徴を結びつけて識別できることが入門の目標です。

2.1.1通信を乗っ取る攻撃:ARPスプーフィングとDNSポイズニング

  • ARPスプーフィング(ARPポイズニング)=同一LAN内でIPアドレスとMACアドレスの対応を偽って教え込む攻撃。攻撃者が「そのIPの持ち主は自分(自分のMAC)だ」と偽のARP応答を流すと、被害者の通信が攻撃者を経由するようになり、通信を盗み見・改ざんできるMITM(中間者攻撃)が成立する。ARPには送信元を確認する仕組みがないのが弱点。
  • DNSポイズニング(DNSスプーフィング/キャッシュポイズニング)=名前とIPアドレスの対応を偽る攻撃。DNSに偽の応答を信じ込ませると、正しいドメイン名を入力しても攻撃者の用意した偽サイトのIPへ誘導される。利用者は「正しいURLを打ったのに偽サイトに着く」ことになり、フィッシングや情報窃取につながる。
  • 両者は「対応表を偽る」点で似ているが層が違う:ARPスプーフィングはL2(同一LAN内のIP↔MAC)、DNSポイズニングはアプリ層(名前↔IP)。どちらも被害者に間違った宛先を信じ込ませて誘導するのが本質。

2.1.2資源とサービスを狙う攻撃:DHCP・ICMP・TCP SYN

  • DHCPスタベーション=偽の要求を大量に送ってDHCPサーバの配布できるIPアドレスを使い尽くし、正規の端末がアドレスを取得できなくする枯渇攻撃。さらに不正DHCPサーバ(rogue DHCP)を立てると、偽のゲートウェイやDNSを配って通信を攻撃者へ誘導できる。
  • ICMP=pingなどに使う診断プロトコル。悪用されると、生きているホストや経路を調べる偵察(スキャン)や、大量のICMPで回線を溢れさせるICMPフラッドに使われる。診断に便利な反面、外向きに無制限だと攻撃の道具になる。
  • TCP SYNフラッド=TCPの3ウェイハンドシェイクの弱点を突くDoS。攻撃者は接続要求(SYN)だけを大量に送って応答(ACK)を返さず、サーバの「未完了の接続待ち」の枠を埋め尽くす。結果、正規の利用者が新しい接続を張れなくなる。
試験ポイント

「ARPスプーフィング=同一LANでIP↔MACを偽りMITM」「DNSポイズニング=名前↔IPを偽り偽サイト誘導」「DHCPスタベーション=IP枯渇/不正DHCP=偽GW・DNS配布」「ICMP=偵察・フラッドに悪用」「TCP SYNフラッド=半開接続でDoS」「平文HTTPは盗聴可(HTTPSで保護)」が頻出です。攻撃名とその特徴(どのプロトコルの何を偽る/溢れさせるか)を結びつけましょう。

ある社員から「いつもの社内ポータルにログインしようとしたら、見た目は同じなのにブラウザが証明書の警告を出した。おかしいと思って確認した」という報告が来たとします。ここで入門レベルのサポートに求められるのは、まず症状から攻撃の当たりを付けることです。正しいアドレスを入力しているのに違うサイトに着いていそう、という点は、名前とIPの対応が偽られるDNSポイズニングの典型的な兆候です。一方で、同じLAN内の複数のPCで急に通信が遅くなり、ネットワーク機器のARPテーブルに「1つのMACアドレスがいくつものIPを持っている」ような不自然な状態が見えたなら、それはARPスプーフィングによるMITMを疑います。また、社内の1台のサーバだけが「新しい接続がまったく張れない」状態で、ログに未完了のSYNが大量に残っていればTCP SYNフラッド、pingが大量に飛んで回線が飽和していればICMPフラッド、といった具合に、観察した現象を攻撃名に翻訳していきます。CCST入門では、ここで攻撃を止める高度なフォレンジックまで踏み込む必要はありません。大切なのは、「どのプロトコルの、どんな信じ込ませ/溢れさせが起きているか」で攻撃を識別し、平文HTTPのように盗聴されやすい通信はHTTPSに、といった基本的な守りの方向を示せることです。まず正しく名前を付けられることが、後続の対応(担当への報告・遮断・恒久対策)の出発点になります。

攻撃狙うプロトコル/仕組み本質・典型的な兆候
ARPスプーフィングARP(同一LANのIP↔MAC)IP↔MACを偽りMITMで盗聴/改ざん
DNSポイズニングDNS(名前↔IP)正しいURLでも偽サイトへ誘導
DHCPスタベーション/不正DHCPDHCP(アドレス配布)IP枯渇・偽GW/DNS配布で誘導
ICMPの悪用ICMP(診断)偵察スキャン・回線を溢れさせるフラッド
TCP SYNフラッドTCP(3ウェイハンドシェイク)半開接続でサーバ枠を埋めDoS
平文HTTPの盗聴HTTP(暗号化なし)経路上で内容を盗み見(HTTPSで保護)
注意

ひっかけ: 「HTTPSではなく平文のHTTPでも、社内ネットワークの中なら盗聴されないので安全」は誤りです——平文HTTPは経路上で内容がそのまま読めるため、ARPスプーフィングによるMITMが成立すれば社内でも盗聴・改ざんされます。暗号化するHTTPSを使うのが基本です。また「ICMP(ping)は診断専用だから攻撃には一切関係ない」も誤り=ICMPは偵察やフラッドに悪用され得ます。

ARPスプーフィング・DNSポイズニング・SYNフラッドの図。
パケットの異常を攻撃名に翻訳する

2.1.3この節のまとめ

  • ARPスプーフィングは同一LANでIP↔MACを偽るMITMDNSポイズニングは名前↔IPを偽り偽サイトへ誘導する。どちらも「対応表を偽る」攻撃
  • DHCPは枯渇/不正サーバ、ICMPは偵察/フラッド、TCPはSYNフラッドで悪用される。プロトコルの弱点と攻撃名を結びつける
  • 平文HTTPは盗聴・改ざんされ得るためHTTPSで暗号化する。症状から攻撃を識別できることが入門の目標

進捗の記録にはログインが必要です。

理解度チェック

(軽い確認用)

Q1. 同一LAN内で、攻撃者が「あるIPアドレスの持ち主は自分のMACアドレスだ」という偽の応答を流し、被害者の通信を自分経由に仕向けて盗み見た。この攻撃の名称として最も適切なものはどれか。

Q2. あるサーバで、正規の利用者が新しい接続をまったく張れなくなった。調べると、接続要求(SYN)だけが大量に届き、応答(ACK)が返らない未完了の接続でサーバの枠が埋まっていた。この攻撃はどれか。

Q3. 社内のWebアプリがHTTPS(暗号化)ではなく平文のHTTPで通信している。同一LANでMITMが成立し得る前提で、このHTTPのリスクとして最も適切なものはどれか。

理解度を確認第2章「基本ネットワークセキュリティ」の問題を解く