Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

ARPスプーフィング(エーアールピー スプーフィング)とは | 意味や読み方など丁寧でわかりやすい用語解説

ARPスプーフィング(エーアールピー スプーフィング)の意味や読み方など、初心者にもわかりやすいように丁寧に解説しています。

作成日: 更新日:

読み方

日本語表記

ARPスプーフィング (エーアールピースプーフィング)

英語表記

ARP spoofing (エーアールピー スプーフィング)

用語解説

ARPスプーフィングは、ネットワークプロトコルの一つであるARP(Address Resolution Protocol)の脆弱性を悪用し、同一ローカルエリアネットワーク(LAN)内の通信を傍受、改ざん、または妨害する攻撃手法である。この攻撃は、攻撃者が偽のARPメッセージを送信することで、正規の通信相手になりすまし、本来とは異なる通信経路を強制的に確立させることにより実行される。その結果、被害者の通信は攻撃者を経由することとなり、機密情報の窃取やデータの改ざん、ネットワークの停止といった様々な被害を引き起こす可能性がある。

ARPは、IPアドレスとMACアドレスという異なる層のアドレスを相互に関連付けるための重要なプロトコルである。インターネットなどの広域ネットワークではIPアドレスを用いて通信相手を特定するが、イーサネットなどのLAN内では、実際にデータを送受信する際にハードウェア固有の識別子であるMACアドレスが必要となる。例えば、あるデバイスが特定のIPアドレスを持つデバイスと通信したい場合、まずはそのIPアドレスに対応するMACアドレスを知る必要がある。このとき、デバイスは「このIPアドレスを持つデバイスのMACアドレスは何ですか?」というARPリクエストをネットワーク全体にブロードキャスト送信する。該当するIPアドレスを持つデバイスは、「私のMACアドレスはこれです」というARPリプライを送信し、リクエスト元はこれを受け取って自身のARPキャッシュにIPアドレスとMACアドレスの対応情報を記録する。このキャッシュ情報に基づいて、以降の通信は直接MACアドレス宛に行われる。

ARPスプーフィング攻撃は、このARPの動作原理を悪用する。攻撃者は、被害者となるデバイス(例:PC)と、そのPCが通信したい相手(例:ルーターやサーバー)の間に割り込もうと企てる。具体的には、攻撃者は二つの偽のARPリプライを送信する。一つは被害者PCに対して、「ルーターのIPアドレスは私のMACアドレスに対応しています」という偽の情報を含むARPリプライを送る。これにより、被害者PCのARPキャッシュは、ルーターのIPアドレスに対するMACアドレスが、実際には攻撃者のMACアドレスであると誤って記録してしまう。もう一つは、ルーターに対して、「被害者PCのIPアドレスは私のMACアドレスに対応しています」という偽のARPリプライを送る。これにより、ルーターのARPキャッシュもまた、被害者PCのIPアドレスに対するMACアドレスが攻撃者のものであると誤認する。

この状態になると、被害者PCからルーターへの通信は、まず攻撃者のMACアドレスに送られる。攻撃者はこのパケットを受信すると、その内容を盗聴したり改ざんしたりした後、本来のルーターのMACアドレスに転送する。同様に、ルーターから被害者PCへの通信も、攻撃者を経由して転送されることになる。このように、攻撃者は通信の中間に位置し、あたかも透過的にデータを中継しているかのように振る舞うため、「中間者攻撃(Man-in-the-Middle attack)」の一種としても知られる。

ARPスプーフィングによって引き起こされる被害は多岐にわたる。最も一般的なのは通信の盗聴であり、ウェブサイトの閲覧履歴、入力されたユーザー名やパスワード、クレジットカード情報、さらには社内の機密情報などが攻撃者に傍受される危険がある。暗号化されていないHTTP通信の場合、その内容は平文で盗み見られてしまう。また、転送されるパケットの内容を攻撃者が任意に改ざんすることも可能であり、例えばウェブページの表示内容を書き換えたり、ダウンロードされるファイルを悪意のあるものにすり替えたりといったことも行われる。さらに、特定の通信をブロックすることで、サービス拒否(DoS)攻撃として利用されたり、通信セッションを乗っ取ってなりすましを行う「セッションハイジャック」にも悪用されることがある。

この攻撃の深刻な点は、同一LAN内にいる限り、比較的容易に実行可能であること、そして多くのネットワークデバイスがデフォルトでARPスプーフィングに対する直接的な防御策を持たないことである。対策としては、静的ARPエントリの利用が挙げられる。これは、IPアドレスとMACアドレスの対応を手動でARPキャッシュに固定登録する方法だが、管理が煩雑になるため大規模なネットワークでは現実的ではない。より実践的な対策としては、ネットワーク内のARPトラフィックを監視し、不正なARPリプライを検知・遮断するIDS(侵入検知システム)やIPS(侵入防止システム)の導入が有効である。また、ARPスプーフィングを防止する機能を持つスイッチやルーターを利用することも考えられる。ネットワークを複数のVLAN(Virtual LAN)に分割し、攻撃の影響範囲を限定することも有効な手段となる。さらに、SSL/TLS(HTTPS)やSSHといった通信の暗号化を徹底することで、たとえARPスプーフィングによって通信が盗聴されても、その内容が解読されるリスクを低減できる。MACアドレス認証を導入し、不正なMACアドレスを持つデバイスの接続を制限する対策もある。これらの対策を組み合わせることで、ARPスプーフィング攻撃のリスクを大幅に軽減することが可能となる。

関連コンテンツ

関連IT用語