インターネット通信が日常となった現代、通信の「機密性」と「完全性」を脅かす最も古典的かつ強力な攻撃手法が、中間者攻撃(Man-in-the-Middle: MITM)です。特にローカルネットワーク内で実行されるARPスプーフィングは、その仕組みの単純さと防御の難しさから、セキュリティ対策において極めて重要なトピックとなっています。
本記事では、ネットワークの深層で何が起きているのかを可視化し、攻撃のメカニズムから最新の防御技術まで、実務や試験に直結する視点で詳細に解説します。
1. 通信を支配する「中間者攻撃(MITM)」の本質
中間者攻撃(MITM)とは、独立して通信を行っている二者の間に、攻撃者が気づかれないように入り込み、通信を中継・制御する攻撃の総称です。送信者は受信者に送っているつもりで攻撃者にデータを渡し、受信者は送信者から受け取っているつもりで攻撃者からのデータを受け取ります。

MITMにおける「信頼の悪用」
中間者攻撃が成立する背景には、ARPのように「通信相手の正当性を認証する仕組みを持たない」ネットワークプロトコルの設計上の特性があります。攻撃者は、この信頼を悪用し、自分を「正しい通信相手」だと思い込ませることで、以下のような致命的な操作を行います。
盗聴(Eavesdropping)では、暗号化されていないパスワード、クレジットカード情報、個人メールの内容をすべて読み取ります。改ざん(Tampering)では、送信された振込先口座番号を攻撃者のものに書き換える、あるいはダウンロードしようとしているファイルをマルウェア付きのものに差し替えます。さらにセッションハイジャックでは、ログイン後のセッション情報を奪い取り、ユーザーになりすまして正規のサービスを操作します。
攻撃が実行されるレイヤー
MITMは特定のプロトコルに限定されません。OSI参照モデルの各レイヤーで、それぞれ異なる手法のMITMが存在します。
データリンク層(L2)ではARPスプーフィング、ネットワーク層(L3)ではルーティング情報の偽装(ICMPリダイレクト攻撃など)、アプリケーション層(L7)ではプロキシを悪用した通信の横取りやDNSポイズニングが行われます。各レイヤーでの攻撃手法を理解することで、多層的な防御戦略を構築できます。
+おまけ:毎日1通の無料メール講座つき。登録した日が「1日目」、図解と論理で16週間かけて基礎も固まります。
2. ARPスプーフィング:LAN内における通信ジャックの仕組み
ローカルネットワーク(LAN)内でのMITMの代表的な手法が「ARPスプーフィング(ARPポイズニング、ARPキャッシュポイズニングとも呼ばれます)」です。これを理解するためには、まず正常なARPの挙動を知る必要があります。
正常なARP(Address Resolution Protocol)の動作
イーサネットなどのLANでIPv4パケットを隣接する機器に届けるためには、IPアドレスだけでなく、宛先のハードウェア固有の「MACアドレス」を知る必要があります。このIPアドレスからMACアドレスを解決する仕組みがARPです(IPv6ではARPの代わりにNDP(近隣探索プロトコル)が同じ役割を担い、同様のなりすましが成立します)。
ARPは次のような手順で動作します。まずARPリクエストとして「IPアドレス192.168.1.1の方は、MACアドレスを教えてください」とネットワーク全体に問い合わせます(ブロードキャスト)。次にARPリプライとして、該当するIPを持つ機器が「私のMACアドレスは00:00:5E:00:53:01です」と返答します。最後に各機器はこの対応関係を一時的にメモリ(ARPテーブル)に保存します。

スプーフィング(なりすまし)による毒入れ
ARPには送信者の正当性を認証する仕組みがなく、「要求していない返答(リプライ)であっても受け入れてしまう」という脆弱な仕様があります(厳密には、ARPテーブルを更新するかどうかはOSの実装・設定や既存エントリの有無によって異なりますが、多くの環境で既存の対応関係が上書きされ得ます)。攻撃者はこの隙を突き、偽のARPリプライを継続的に送信します(偽装にはARPリクエストが使われることもあります)。
具体的には、ターゲットA(PC)に対して「デフォルトゲートウェイ(ルーター)のMACアドレスは、私(攻撃者)のMACアドレスです」と嘘を教えます。同時にターゲットB(ルーター)に対して「PCのMACアドレスは、私(攻撃者)のMACアドレスです」と嘘を教えます。
これにより、PCとルーターの両方のARPテーブルが「毒入れ(ポイズニング)」され、本来二者間で直接やり取りされるべきパケットがすべて攻撃者の端末を経由するようになります。攻撃者は受け取ったパケットをフォワーディング(転送)設定によって中継するため、ユーザーは通信の遅延にも気づかない場合があります。
ARPスプーフィングが危険な理由
ARPスプーフィングの最大の脅威は、その検知の困難さにあります。通信は途切れることなく継続し、表面上は何も問題が起きていないように見えます。しかし、その裏では攻撃者を経由する通信が記録され、暗号化されていない内容は読み取られ、場合によっては改ざんされています。
さらに、ARPはOSI参照モデルのデータリンク層で動作するため、上位層のセキュリティ対策だけでは防ぎきれません。一般的なファイアウォールやウイルス対策ソフトでは、この攻撃を検知できないことが多いのです。
3. 防御の要:ネットワーク機器と暗号化による多層防御
ARPスプーフィングやMITMは、OSやプロトコルの標準仕様を利用しているため、個々の端末側だけで防ぎきることは困難です。ネットワークインフラとアプリケーションの両面からの対策が求められます。
L2スイッチによる防御:DAI(Dynamic ARP Inspection)
企業ネットワークにおける有力な対策が、インテリジェントL2スイッチの機能である「DAI」の導入です。
DAIの仕組みは、スイッチが信頼できないポート(後述)で受信したARPパケットを検査し、不審なものを遮断するというものです。DHCPスヌーピングとの連携により、スイッチはDHCPでのIP割り当て状況を監視して「どのポートにどのMACアドレスとIPアドレスのペアが接続されているか」というデータベース(バインディングデータベース)を構築します。DAIはこのデータベースと照合し、矛盾するARPパケットを即座に破棄します。

DAIを有効にするには、スイッチ側で信頼できるポート(Trusted Port)と信頼できないポート(Untrusted Port)を明確に区別する必要があります。通常、ルーターやDHCPサーバーが接続されているポートを信頼できるポートとして設定し、エンドユーザーのPCが接続されるポートは信頼できないポートとして扱います。なお、DAIの信頼できるポートは「受信したARPを検査せずに通す」設定であり、DHCPスヌーピングの信頼できるポートとは別に設定します。また、固定IPアドレスの機器はDHCPのバインディングに載らないため、ARP ACLなどで正しい対応関係を別途登録する必要があります。
暗号化プロトコルによる情報の無効化
たとえLAN内で通信が傍受されたとしても、内容が高度に暗号化されていれば、攻撃者は情報を解読できません。
TLS(HTTPS)の徹底により、Webサイトとの通信は必ずHTTPSで行います。現代のブラウザは、HTTPS接続を優先する仕組みが標準で組み込まれています。HSTS(HTTP Strict Transport Security)は、ブラウザに対して「このサイトには常にHTTPSで接続せよ」という命令を出し、HTTPへの強制ダウングレード(SSLストリッピング攻撃)を防ぎます。ただし、HSTSはサーバーからの応答ヘッダ(Strict-Transport-Security)をブラウザが一度受け取って初めて有効になります(HTTPS応答で受け取ったものだけが有効で、HTTP応答のヘッダは無視されます)。そのため、初回アクセス時の攻撃まで防ぐ代表的な方法は、ブラウザに組み込まれたHSTSプリロードリストへの登録です。
さらに証明書の検証も重要です。MITM攻撃者が偽の証明書を提示した場合、ブラウザが表示する「警告」を絶対に無視しないよう、組織内でのリテラシー教育が必要です。証明書エラーは、単なる技術的な不具合ではなく、攻撃が行われている可能性を示す重要なシグナルです。
その他の技術的対策
VPNの利用は、公衆Wi-Fiなどの信頼できないネットワークを使用する際、通信を暗号化されたトンネル内に通すことで、LANやWi-Fi上で経路を乗っ取られても通信内容を盗聴・改ざんされないようにします(ARPスプーフィングや偽アクセスポイントそのものを防ぐ仕組みではありません)。ただし、保護されるのはVPNのトンネルを通る通信だけです。スプリットトンネル設定で対象外となる通信や、VPN接続前の通信は保護されません。VPNは、リモートワークが一般化した現代において、有効なセキュリティ対策の一つです。
IDS/IPSによる検知では、ネットワーク内のARPトラフィックを監視し、異常な頻度のARPパケットや、MACアドレスの不自然な重複を検知して管理者に通知します。リアルタイムでの脅威検知により、被害を最小限に抑えることができます。
静的ARPエントリは、重要なサーバーやルーターのIPアドレスとMACアドレスを、OS側で固定設定(Static)にします。ただし、管理コストが膨大になるため、限定的な用途に留まります。大規模ネットワークでは現実的ではありませんが、小規模な重要システムでは有効な対策となります。
4. パケット構造から見るARPの脆弱性
情報処理安全確保支援士試験対策として、ARPパケットの内部構造についても理解を深めておきましょう。パケットレベルでの解析能力は、トラブルシューティングやフォレンジックにおいて不可欠です。
ARPヘッダの主要フィールド
ARPパケットには、以下のような情報が含まれています。
- ハードウェアタイプ:通信媒体(イーサネットなら1)
- プロトコルタイプ:上位プロトコル(IPv4なら0x0800)
- オペレーションコード(Opcode):1(要求)か2(応答)か。攻撃者はこの「2」を多用します
- 送信元MACアドレス / 送信元IPアドレス
- ターゲットMACアドレス / ターゲットIPアドレス

これらのフィールドがどのような値を取るか、そして攻撃時にどのフィールドが偽られるかを押さえておきましょう。特にオペレーションコードの値(要求=1、応答=2)と、送信元IPアドレスに「なりすます相手のIPアドレス」、送信元MACアドレスに「攻撃者自身のMACアドレス」を入れて、偽りの対応関係を相手に覚え込ませることが攻撃の核心です。
Gratuitous ARP(GARP)の功罪
ARPには、問い合わせを受けていないのに自分のIPアドレスとMACアドレスの対応を自発的にブロードキャストする、GARPという仕組みがあります。
GARPの本来の目的は、自身のIPアドレスが他と重複していないかの確認、または自身のMACアドレス変更の通知です(厳密には、RFC 5227ではアドレスの使用前の重複確認にARP Probe、使用開始の通知にARP Announcementを使うと整理されています)。しかし悪用されると、攻撃者はGARPを繰り返し送りつけることで、同一セグメント上の多くの機器のARPキャッシュを一度に書き換えられる場合があります。
GARPを受け付けない設定自体は可能ですが、GARPは冗長構成の切り替えなど正当な用途でも使用されるため、一律に遮断すると正常な動作に支障が出ることがあります。そのため、必要な用途を確認したうえで、DAIなどの検証機構と組み合わせて、正当なGARPと攻撃的なGARPを区別する必要があります。
5. 実務における脅威シナリオ:偽のWi-Fiアクセスポイント
MITMの応用として、公衆無線LAN環境における「Evil Twin(悪意のある双子)」攻撃があります。
攻撃のステップ
攻撃は次のように展開されます。まずなりすましとして、カフェなどで提供されているフリーWi-Fiと同じSSIDを持つ偽のアクセスポイントを設置します。次に誘導として、本物のアクセスポイントよりも強い電波を出す、あるいは本物のアクセスポイントになりすまして利用者の端末に切断要求を送りつける接続妨害攻撃(Deauthentication攻撃)を行うことで、ユーザーを偽のアクセスポイントへ接続するよう誘導します(PMF(管理フレーム保護)を使う接続では、偽装された切断要求は防がれます)。
そして傍受として、接続してきたユーザーの全トラフィックは攻撃者の管理下にあるルーターを通過します。最後に情報窃取として、キャプティブポータル(ログイン画面)を偽装し、SNSや銀行のID・パスワードを入力させるフィッシング詐欺へと繋げます。
このシナリオでは、ARPスプーフィングを行わずとも、通信経路そのものを攻撃者が支配しているため、より容易にMITMが成立してしまいます(ただし、証明書が正しく検証されるHTTPS通信の内容まで読めるわけではありません)。
公衆Wi-Fi利用時の対策
公衆Wi-Fiを利用する際は、以下の対策を実施することが推奨されます。まず、信頼できるVPNを利用し、保護したい通信がVPNのトンネルを通る設定になっていることを確認します(VPN接続前の通信や、偽のキャプティブポータルに自分で入力した情報はVPNでは守れません)。次に、ログイン情報など重要な情報は、公衆Wi-Fi経由では入力しないようにします。さらに、Evil TwinはSSIDをそっくり真似るため、SSID名が一致していることだけで本物と判断しないようにします。最後に、自動接続機能をオフにし、意図しないネットワークへの接続を防ぎます。
6. ログとキャプチャによる攻撃の検知手法
インシデント発生時、管理者はどのようにして攻撃の痕跡を見つけるのでしょうか。
MACアドレスの競合ログ
OSや監視ツール、ネットワーク機器のログには、IPアドレスの重複を検知した際や、同一IPアドレスに対応するMACアドレスが入れ替わった際に、「アドレスの重複」や「MACアドレスの変更」に関する警告が記録されることがあります(何がどの条件で記録されるかはOS・ツールごとに異なります)。
Windowsでは、自分自身のIPアドレスを他の機器が名乗った(ARPで重複を検知した)場合に、イベントビューアの「システムログ」に、ソース「Tcpip」、イベントID:4199、種類:エラーで、「The system detected an address conflict for IP address \[IPアドレス\] with the system having network hardware address \[MACアドレス\]. Network operations on this system may be disrupted as a result.」というメッセージが記録されます。ただし、このイベントは自分のIPアドレスの重複を示すものであり、ゲートウェイのARP対応の変化を検知するイベントではありません。攻撃者がゲートウェイだけになりすまし、PC自身のIPアドレスを名乗らない場合は、このイベントからは気づけません。
Linuxでは、カーネルが既定でARPキャッシュの変化をログに残すわけではないため、arpwatchなどのツールでIPアドレスとMACアドレスの対応の変化を監視し、その通知を/var/log/messagesや/var/log/syslogに記録させます。これらのログを定期的に監視することで、攻撃の初期段階で検知できる可能性が高まります。
Wiresharkによるトラフィック解析
パケットキャプチャツールを使用すると、以下のような不審な挙動が可視化されます。
同一の送信元MACアドレスから、多数の異なる送信元IPアドレスを名乗るARPリプライが出ている場合、ARPスプーフィングの可能性があります(ただし、Proxy ARPのように、ルーターが複数のIPアドレスに対して自分のMACアドレスを正当に返す構成もあるため、そうした正当な理由で説明できるかを確認します)。ARPリクエスト(要求)がないにもかかわらず、大量のARPリプライが継続的に流れている場合も不審です。正規のデフォルトゲートウェイとは異なるMACアドレスが、ゲートウェイのIPを名乗っている場合は、冗長構成の切り替えなど正当な理由がない限り、攻撃を強く疑うべき兆候です。
Wiresharkのフィルタ機能を使用すると、`arp.opcode == 2`で応答パケットのみを表示し、異常な頻度のARPリプライを特定できます。さらに、`arp.duplicate-address-detected`フィルタで、重複したIPアドレスの検出を確認できます。
【演習】情報処理安全確保支援士対策:MITM攻撃とARPスプーフィングの深層理解(全10問)
ネットワークの「機密性」と「完全性」を脅かす中間者攻撃(MITM)。その中でも、ローカルネットワークの根幹を揺るがすARPスプーフィングは、情報処理安全確保支援士試験においても重要なテーマです。
本演習では、攻撃のメカニズムから、DAIやHSTSといった最新の防御技術、さらにはパケット構造の細部まで、実務と試験の両面で役立つ重要ポイントを凝縮した10問を用意しました。
「仕組みを理解しているつもり」から「試験で確実に得点できる知識」へ。 解説では、正解の理由だけでなく、他の選択肢がなぜ誤りなのかについても詳しく触れています。記事の内容をどれだけマスターできたか、ぜひ全問正解を目指してチャレンジしてください!
まとめ
中間者攻撃(MITM)とARPスプーフィングは、ネットワークの信頼性を根底から揺るがす攻撃です。しかし、その仕組みを正しく理解し、多層的な防御を施すことで、確実にリスクを低減できます。
MITMは通信の中間に潜み、情報の「覗き見」と「書き換え」を行います。ARPスプーフィングは、LAN内でのMACアドレス解決を偽装し、通信を攻撃者経由に仕向けます。DAI(Dynamic ARP Inspection)は、L2スイッチ層での強力な防御策となり、TLS(HTTPS)とHSTS、VPNによる暗号化は、万が一通信が傍受された際の最後の砦となります。
試験においては、これらの技術がOSI参照モデルのどのレイヤーに位置し、互いにどのように連携して防御を構成するのかを整理しておくことが合格への近道です。
セキュリティエンジニアとしての視点
技術は常に進化していますが、ARPのような基本的なプロトコルの脆弱性は、今なお多くの組織で潜在的なリスクとして残っています。常に「通信経路は汚染されているかもしれない」という前提に立ち、プロトコルレベルでの正当性を検証する姿勢を持つことが、真に安全なネットワークを構築するための第一歩です。
今回の学習を通じて、ネットワークの透明人間をあぶり出すための「眼」を養い、試験突破と実務での活躍を目指しましょう。
+おまけ:毎日1通の無料メール講座つき。登録した日が「1日目」、図解と論理で16週間かけて基礎も固まります。