「ARPキャッシュポイズニング」という言葉を見聞きしたものの、具体的に何をされる攻撃なのか、自分の環境が危ないのかがよくわからない、という方は多いのではないでしょうか。この記事では、ARPキャッシュポイズニング(ARPスプーフィング)の仕組みから、実際に起こりうる被害、自分ですぐできる確認方法、そして個人・企業それぞれの対策までを、一次情報に基づいてわかりやすく整理しました。
ARPキャッシュポイズニングとは
ARPキャッシュポイズニングとは、同一LAN(社内ネットワークや家庭内Wi-Fiなど)の中で、攻撃者が偽の通信情報を流し、他の機器に「自分が正規の相手だ」と誤認させることで通信を横取りする攻撃手法です。ARPスプーフィング・ARPポイズニングとも呼ばれますが、いずれも同一の攻撃を指す呼び方の違いにすぎません。まずは自分の状況に合わせて、どこを見ればよいかをチェックしてみましょう。
ARPキャッシュポイズニングは、ARP(Address Resolution Protocol)という、ネットワーク通信に欠かせないプロトコルの弱点を悪用する攻撃です。ARP自体は1982年にRFC 826として標準化された、非常に古くから使われている仕組みで、通信の正当性を確認する「認証」の機能を持っていません。この設計上の特性が、ARPキャッシュポイズニングという攻撃を可能にしてしまっているのです。
なお、この攻撃は同一LAN(同一L2セグメント)内でしか成立しません。つまり、インターネットの向こう側から突然攻撃されるようなものではなく、「同じWi-Fiや社内ネットワークに攻撃者が接続できる状態」が前提になります。この前提を理解しておくと、後述する対策の考え方もつかみやすくなります。
ARP(Address Resolution Protocol)の仕組み
ARPキャッシュポイズニングを理解するには、まず正常なARPの動きを知っておく必要があります。難しく感じるかもしれませんが、やっていることはシンプルです。
IPアドレスとMACアドレスの対応付け
私たちが普段意識する「IPアドレス」は、ネットワーク上の住所のようなものです。一方、LAN内で実際にデータをやり取りする際には、通信機器ごとに割り当てられた「MACアドレス」という物理的な識別番号が使われます。ARPは、このIPアドレスから対応するMACアドレスを調べるための仕組みです。
ある機器が通信したい相手のIPアドレスはわかっているものの、MACアドレスがわからない場合、ネットワーク内の全機器に向けて「このIPアドレスのMACアドレスを教えてください」とブロードキャストでARPリクエストを送信します。
該当するIPアドレスを持つ機器が「自分のMACアドレスはこれです」とARPレスポンスを返します。
取得したIPアドレスとMACアドレスの対応関係は、機器内の「ARPテーブル(ARPキャッシュ)」に一時的に保存されます。以降は同じ相手と通信するたびにARPリクエストを繰り返す必要がなくなり、通信が効率化されます。
この仕組み自体は非常に合理的なのですが、問題は「ARPには認証機能がない」という点です。受け取ったARPレスポンスが本物かどうかを検証する手段がプロトコル内に存在しないため、悪意のある応答が来ても機器はそれをそのまま信じてしまいます。ARPキャッシュポイズニングは、まさにこの弱点を突く攻撃なのです。
ちなみに、家庭やオフィスで使うWi-Fiルーターやアクセスポイントも、このARPによるIP-MAC対応付けの上で動いています。ネットワーク機器の基礎から見直したい方は、こちらの記事もあわせて参考にしてみてください。
ARPキャッシュポイズニングが起こる仕組み・攻撃の流れ
ARPに認証機能がないことを悪用し、攻撃者はどのように通信を乗っ取るのでしょうか。基本的な流れを見てみましょう。
ARPキャッシュポイズニングは同一LAN内でしか成立しないため、まず攻撃者は対象のネットワーク(社内LAN、公共Wi-Fi、家庭内Wi-Fiなど)に何らかの方法で接続する必要があります。
攻撃者は、本来の通信相手(多くの場合デフォルトゲートウェイ=ルーター)になりすました偽のARPレスポンスを、ターゲットの機器に向けて送信します。「このIPアドレスのMACアドレスは自分(攻撃者)です」という嘘の情報です。
ARPには認証がないため、ターゲットの機器は偽の情報をそのままARPテーブルに登録してしまいます。正規の応答より先に偽の応答が届けば、それだけでキャッシュが書き換わってしまうという点も、この攻撃の厄介なところです。
以降、ターゲットからの通信は本来の宛先ではなく攻撃者の機器を経由するようになります。攻撃者はここで通信内容を盗み見たり、改ざんしたり、そのまま本来の宛先へ転送して発覚を遅らせたりすることができてしまいます。
攻撃が成立しやすい条件
ARPキャッシュポイズニングは、主に以下のような条件が重なると成立しやすくなります。逆にいえば、これらの条件を潰していくことが対策の基本方針になります。
- 攻撃者が同一LAN(同一L2セグメント)に接続できる状態にある
- スイッチ側でARPの正当性を検証する機能(後述のDAIなど)が有効化されていない
- 端末や機器が動的ARP学習を行っており、偽の情報を拒否できない
- 無線LANの共用、来客用ポートの設定不備、未管理端末の接続など、接続制御が弱い
Ettercap・Cain & Abel・arpspoofなど、ARPキャッシュポイズニングを再現できるツールが存在することは事実として広く知られています(Wikipedia)。ただし、許可なく他人の通信を盗聴・改ざんする行為は、不正アクセス禁止法や電気通信事業法が保護する「通信の秘密」の侵害など、複数の法令に抵触するおそれがあります。自分が管理していないネットワークや機器に対してこうしたツールを試すことは絶対にやめましょう。
ARPキャッシュポイズニングでどんな被害が起こる?
ARPキャッシュポイズニングによって通信経路が乗っ取られると、具体的にどのような被害につながるのでしょうか。代表的な被害は次の3つに整理できます。
| 被害の種類 | 内容 |
|---|---|
| 盗聴・改ざん(中間者攻撃) | 通信が攻撃者を経由することで、内容を読み取られたり書き換えられたりする可能性があります。この種の攻撃はAdversary-in-the-Middle(中間者攻撃)に分類されます |
| 通信断・業務停止(DoS) | ARPテーブルが不正な状態になり、端末が誤った宛先へ送信し続けることで、特定の端末やネットワーク全体の通信が不安定・不能になることがあります |
| 不正アクセスの足がかり化 | 単体で全てが突破されるわけではありませんが、DoS攻撃やセッションハイジャックなど、次の攻撃の布石として使われることがあります |
幸い、HTTPS(TLS)で暗号化され、証明書検証が正しく行われている通信であれば、内容の解読や気づかれない改ざんは難しくなります。とはいえ、通信が不安定になる・急に切れる・見慣れない証明書警告が出るといった影響は、暗号化されていても起こりうる点には注意が必要です(出典)。「HTTPSだから絶対安全」と思い込まず、日頃から通信の違和感に気づける状態にしておくことが大切です。
ARPは「同じLANにつながっているIP機器」であれば種類を問わず対象になる仕組みです。そのため、パソコンやスマホだけでなく、ネットワークプリンター・NAS(ファイルサーバー)・スマートスピーカーなどのIoT機器も、理屈の上では同じようにARPキャッシュポイズニングの影響を受ける可能性があります。「自分の端末さえ気をつければ大丈夫」ではなく、同じネットワークにつながる機器全体を意識しておくことが大切です。
自分の環境は大丈夫?今すぐ確認する方法
難しい話が続きましたが、実は自分のパソコンからでも、ARPテーブルの状態を簡単に確認できます。「同じIPアドレスなのに、見慣れないMACアドレスに変わっていないか」をチェックしてみましょう。
| OS / 機器 | コマンド | 備考 |
|---|---|---|
| Windows | arp -a | コマンドプロンプトで実行。ARPテーブルの一覧が表示されます(出典) |
| Mac / Linux | arp -a | ターミナルで実行。Linuxでは ip neigh でも同様の情報が確認できます |
| Ciscoスイッチ等 | show arp | 管理画面・CLIで実行(出典) |
確認すべきポイント
- 同一のIPアドレスに対して、短期間で異なるMACアドレスが割り当てられていないか
- 見覚えのないMACアドレスがゲートウェイ(ルーター)のIPアドレスに紐づいていないか
- 通信が急に遅くなった、切断を繰り返す、証明書エラーが頻発するなど、体感的な違和感がないか
Windowsで arp -d *、Macで sudo arp -a -d のように、コマンドでARPキャッシュを一度削除し、正常な通信経路が復元されるか確認する方法もあります。ただし、これはあくまで応急処置です。根本的な対策には、次章で紹介するネットワーク側の防御が欠かせません。
ARPキャッシュポイズニングの対策方法
ARPキャッシュポイズニングへの対策は、「これさえやれば完璧」というものではなく、複数の対策を組み合わせる多層防御が基本になります。ここでは、個人・家庭向けと企業・組織向けに分けて整理します。
- 公共Wi-Fiなど信頼できないネットワークでは、重要な通信を避けるかVPNを使う
- ブラウザで表示されるHTTPS(鍵マーク)・証明書警告を無視しない
- ルーターやOSのファームウェア・セキュリティパッチを最新に保つ
- セキュリティソフトのネットワーク保護機能を有効にしておく
- スイッチのDynamic ARP Inspection(DAI)を有効化する
- ポートセキュリティで許可するMACアドレスを制限する
- VLANで同一L2セグメントを不用意に広げない
- 重要な区間には静的ARPエントリ、全体には監視ツールを導入する
企業・組織向け対策の詳しい仕組み
| 対策 | 狙い | ポイント |
|---|---|---|
| Dynamic ARP Inspection(DAI) | 偽ARPパケットの遮断 | スイッチを通過するARPパケットをDHCP Snoopingのバインディング情報等と照合し、矛盾するものを破棄します。DHCPを使わない環境ではARP ACLで許可する対応関係を定義します |
| ポートセキュリティ | 不正端末の接続抑止 | スイッチの各ポートで許可するMACアドレス数や、想定外の端末を検出した際の挙動を制御します |
| VLANセグメンテーション | 影響範囲の縮小 | 端末・サーバー・管理系・来客用などをネットワーク的に分離し、同一L2の範囲を狭めます |
| 静的ARPエントリ | 重要区間の固定化 | IPとMACの対応を固定登録する方式です。安全性は高まりますが、端末数が多いほど管理の手間が急激に増えるため、重要サーバーとゲートウェイ間など限定した区間での運用が現実的です |
| 監視・検知ツール | 早期発見と封じ込め | Arpwatch(ARPテーブルの変化を通知)やWireshark(パケット解析)などで異常を可視化します。検知後の「切り分け→隔離」までを運用ルールとして整備しておくことが重要です |
| 通信の暗号化(VPN・TLS等) | 盗聴時の被害抑制 | 暗号化は侵入そのものを防ぐわけではありませんが、万一盗聴された場合の情報漏洩リスクを大きく下げられます |
拠点間の通信やリモートアクセスでは、VPNを併用することで盗聴時のリスクをさらに抑えられます。VPNサービスの選び方や料金を比較したい方は、以下の記事も参考にしてみてください。
また、対策の土台として見落とされがちなのが「ルーター本体の古さ」です。古いルーターはファームウェアの更新が終了していたり、そもそもARP保護機能が搭載されていなかったりすることがあります。買い替えのタイミングが気になる方は、こちらの記事もチェックしてみてください。
類似する攻撃・用語との違い
ARPスプーフィング・ARPポイズニングとの関係
「ARPキャッシュポイズニング」「ARPスプーフィング」「ARPポイズニング」という3つの呼び方を目にすることがありますが、これらはいずれも同一の攻撃手法を指す呼称の違いです。どれか一つを覚えておけば十分で、混在して使われていても身構える必要はありません。
DNSキャッシュポイズニングとの違い
名前が似ている「DNSキャッシュポイズニング」とは、攻撃が成立する範囲が大きく異なります。混同しやすいので、ここで整理しておきましょう。
| 比較項目 | ARPキャッシュポイズニング | DNSキャッシュポイズニング |
|---|---|---|
| 攻撃範囲 | 同一LAN内に限定 | DNSリゾルバやクライアントのキャッシュを狙うため、より広範囲に影響しうる |
| 狙われる対象 | IPアドレスとMACアドレスの対応表(ARPテーブル) | ドメイン名とIPアドレスの対応情報(DNSキャッシュ) |
| 主な被害 | 通信の盗聴・改ざん・DoS | 偽サイトへの誘導、フィッシング |
どちらも「キャッシュポイズニング」という共通点を持つ攻撃ですが、ARPキャッシュポイズニングは「同じネットワークの中」という限定された範囲で起きる攻撃だと覚えておくと理解しやすいはずです。
よくある質問
基本的には起きません。ARPは同一LAN(同一L2セグメント)内で機能する仕組みのため、この攻撃も同一ネットワーク内でのみ成立します。インターネットの向こう側から直接攻撃されるものではなく、「同じWi-Fiや社内LANに攻撃者が接続できる状態」が前提になります。
証明書検証が正しく行われているHTTPS(TLS)通信であれば、内容の解読や気づかれない改ざんは難しくなります。ただし、通信の不安定化・遅延・証明書警告といった影響は暗号化されていても起こりうるため、「絶対安全」というわけではありません。
企業・組織であれば、対応するスイッチでDynamic ARP Inspection(DAI)を有効にし、DHCP Snoopingなどと組み合わせて偽ARPを遮断することが優先度の高い対策とされています。個人・家庭では、信頼できないネットワークでのVPN利用と、ルーター・OSを最新の状態に保つことが基本になります。
重要サーバーとゲートウェイ間など、対象範囲を限定できる場合には有効な対策です。ただし、ネットワーク内の端末数が多い環境では、対応関係を1台ずつ固定登録する管理負荷が大きくなるため、「小さく効くが広くは使いにくい」対策として位置づけるのが現実的です。
ARPキャッシュポイズニングは同一LAN内に限定された攻撃であるのに対し、DNSキャッシュポイズニングはドメイン名とIPアドレスの対応情報を狙う攻撃で、より広範囲に影響しうる点が異なります。狙われる情報も、被害の内容(通信の盗聴・改ざんか、偽サイトへの誘導か)も異なります。
ESETなど一部のセキュリティ製品は、同一ネットワーク内で不正なARP通信のパターンを検知すると、この種の警告を表示します。実際の攻撃を検知しているケースもありますが、プリンターやNASなど複数の機器が同時にネットワークへ接続するタイミングなど、正常な通信を誤って検知するケースもあります。まずは警告に表示された通信相手(IPアドレスやMACアドレス)が自宅・社内の見覚えのある機器かどうかを確認し、不明であれば安易に無視せずネットワーク管理者やサポート窓口に相談しましょう。
いいえ。ARPは同じLANにつながっているIP機器であれば種類を問わず対象になるため、パソコンやスマホに限らず、ネットワークプリンターやNAS、IoT機器なども理屈の上では影響を受ける可能性があります。ネットワークにつながる機器全体を意識して対策することが大切です。
まとめ
この記事のポイント
- ✓ARPキャッシュポイズニングは、同一LAN内でIP-MACの対応情報を偽装し、通信を横取りする攻撃です
- ✓ARPには認証機能がないため、偽の情報でもそのままARPテーブルに登録されてしまいます
- ✓盗聴・改ざん・通信断・不正アクセスの足がかり化など、さまざまな被害につながる可能性があります
- ✓
arp -aコマンドで、自分の環境のARPテーブルをすぐに確認できます - ✓個人はVPN・アップデートの徹底、企業はDAIやVLANセグメンテーションなど多層防御が基本です
プライシーは本来、スマホやガジェットの価格比較を専門とするメディアですが、ネットワーク機器の選び方や買い替え時期など、暮らしに関わるIT・セキュリティの基礎知識もあわせて発信しています。ルーターの買い替えや価格の動向が気になる方は、プライシーのほかの記事もぜひチェックしてみてください。
