アドレス解決プロトコル(ARP)スプーフィング
ARP攻撃およびその防止方法

Bart Lenaerts-Bergmans - 11月 6, 2023

アドレス解決プロトコル(ARP)スプーフィングまたはARPポイズニングは、ハッカーがデータ傍受に使用するスプーフィング攻撃の一種です。ハッカーは、1つのデバイスに工作し、意図した受信者ではなくハッカーにメッセージを送信させることにより、ARPスプーフィング攻撃を行います。この方法により、ハッカーは、パスワードやクレジットカード情報などの機密データが含まれるデバイス通信にアクセスできるようになります。このような攻撃から身を守るためにはいくつかの方法が存在します。

ARPプロトコルとARPスプーフィング

ARPスプーフィングは、ARPを使用するローカルエリアネットワーク(LAN)で発生します。ARPは、動的インターネットプロトコル(IP)アドレスを物理的なマシンアドレスに接続する通信プロトコルです。後者はメディアアクセス制御(MAC)アドレスと呼ばれます。ARPプロトコルは、LAN上の通信を管理します。

各ネットワークデバイスには、IPアドレスとMACアドレスの両方があります。メッセージを送受信するには、ネットワーク上のホストがそのネットワーク上の他のホストのアドレスを知っている必要があります。そうすることで、ホストは(通常、動的IPアドレスを物理MACアドレスに)接続します。

例えば、コンピューターネットワーク上のホストAが、そのIPアドレスをホストBのMACアドレスに接続する場合は、LAN上の他のすべてのホストにARP要求を送信します。この要求の後に、ホストAは、ホストBからMACアドレスを含むARP応答を受信します。要求元のホストは、連絡先リストに似たARPキャッシュにこのアドレスを格納します。このキャッシュはアドレスがテーブルの形式で格納されるため、ARPテーブルと呼ばれることもあります。

ARPスプーフィングとは、ホストBになりすましてLANにアクセスする攻撃者を指します。攻撃者は、ホストAを騙して攻撃者のアドレスをホストBのアドレスとして保存させる目的で、ホストAにメッセージを送信します。ホストAは最終的にホストB宛ての通信を代わりに攻撃者に送信します。攻撃者がこの中間者になると、ホストAは、ホストBと通信するたびに、実際には攻撃者と最初に通信することになります。ホストBは、通常、デフォルトのゲートウェイまたはルーターになります。

ARPスプーフィング攻撃の目的

ARPスプーフィング攻撃には、いくつかの目的があります。攻撃者は、スパイ攻撃、中間者攻撃、またはサービス拒否攻撃などの追加のサイバー攻撃にARPスプーフィングを使用します。

スパイ攻撃およびサービス拒否攻撃とは

スパイ攻撃では、攻撃者がホストAとホストBの間の通信を変更せずに通信を読み取り、目的のホストに転送します。中間者攻撃では、攻撃者は情報を変更してから目的のホストに送信します。

ただし、このようなスパイ行為やメッセージの変更は、多くの場合、ラテラルムーブメントを含むより複雑なサイバー攻撃の一部です。そのうちの1つはサービス拒否攻撃で、攻撃者は2つ以上のホスト間での通信を妨害します。また、攻撃者がホスト間で悪意のあるファイルを送信する可能性もあります。

ARPスプーフィングの使用者

ハッカーは1980年代からARPスプーフィングを使用してきました。ハッカーによる攻撃は計画的であることも、機に乗じたものであることもあります。計画的な攻撃としてはサービス拒否攻撃などがあり、公共のWI-FIネットワークからの情報の窃盗は機に乗じた攻撃の一例です。このような攻撃は防止できるとはいえ、経済的および技術的に簡単に実行できる攻撃であるため、依然として頻繁に発生しています。

一方で、ARPスプーフィングを価値のある目的で実行することもできます。開発者はARPスプーフィングを使用して、2つのホスト間に中間者を意図的に挿入することで、ネットワークトラフィックをデバッグします。また、倫理的なハッカーは、ARPキャッシュポイズニング攻撃をシミュレートして、ネットワークがそのような攻撃に対して安全であることを確認します。

ARPスプーフィングの影響

ARPスプーフィングには、Eメールスプーフィングなどの他の形式のスプーフィングと同様の影響があります。ARPスプーフィングでは、その影響が見られないことも、攻撃者がサービス拒否攻撃を実装してネットワークに接続できなくなるほどの影響が出ることもあり、その程度はさまざまです。攻撃の影響があるかどうかは、ハッカーの目的によって異なります。ハッカーがホスト間の情報を盗み見たり、変更したりするだけなら、攻撃に気付かないかもしれません。ARPスプーフィング攻撃でよくあるように、さらなる攻撃を引き起こそうとしている場合は、ハッカーも気付かれたくないと考えるでしょう。ただし、そのような攻撃は、ハッカーが最終目標に到達すると明白になります。例えば、システムがマルウェア通信によって過負荷になったり、マシンがランサムウェアに感染したりします。

ARPスプーフィングが危険な理由

ARPスプーフィングは、さまざまな理由で危険な場合があります。最も著しい状況は、ハッカーに機密情報への不正アクセスを許してしまうことです。ハッカーは、パスワード、個人を特定できる情報、クレジットカード情報へのアクセスなど、さまざまな悪意のある目的にこのアクセスを使用します。また、このような攻撃は、ランサムウェアなどの悪意のあるソフトウェアを導入するために使用されます。

ARPスプーフィングの検知方法

スプーフィングされているかどうかを検知するには、タスクの自動化と設定管理プログラムを確認します。そこでARPキャッシュを見つけることができます。同じMACアドレスを持つIPアドレスが2つある場合は、攻撃の被害者になっている可能性があります。ハッカーは通常、そのアドレスがデフォルトのゲートウェイのアドレスであることを示すメッセージを送信するスプーフィングソフトウェアを使用します。

また、このソフトウェアが被害者をだましてデフォルトのゲートウェイのMACアドレスを独自のアドレスで上書きすることもあります。その場合は、通常と異なるARPトラフィックがないかを確認する必要があります。通常、異常な形式のトラフィックは、ルーターのIPアドレスまたはMACアドレスのいずれかを所有していると主張する一方的なメッセージです。したがって、一方的なメッセージは、ARPスプーフィング攻撃の兆候である可能性があります。

攻撃者が検知を防ぐ方法

ARPスプーフィングの攻撃者は、通常、気付かれないことを望んでいます。そうすれば、情報を収集したり、ネットワークに深く侵入して、より大きな攻撃を開始したりできます。ネットワークのホストが、受信したARP要求が偽であることに気付けば、スプーフィングを軽減することができます。

被害者は通常、汚染されたARPキャッシュを検知せず、そのまま通常どおり通信を受け取ります。しかし攻撃者は、被害者のユーザー名やパスワードなど、ARPプロトコルを介して送信される通信を傍受します。

ARPスプーフィングからシステムを保護する方法

幸いなことに、インシデント対応計画の一環として、ARPスプーフィングを防止するためのさまざまな手順とツールを実装できます。このような手法には、ARP要求の認証、パケットフィルタリング、ARPスプーフィング対策ソフトウェア、暗号化などがあります。

ARP要求を検証するツール

静的ARPエントリは、IPアドレスとMACアドレスを検証する最も簡単な方法です。静的ARPエントリは手動で入力や受け入れができるため、デバイスがARPプロトコルに従ってARPキャッシュを自動的に変更する可能性がなくなります。これは一部のエントリ(デフォルトのゲートウェイのアドレスなど)に対してのみ行い、他のエントリは動的なままにすることができます。多くのネットワークでのキャッシュメンテナンスには手がかかりすぎるため、ほとんどのアドレスは動的なままにすることになります。

ARP要求を検証してARPスプーフィングから保護するソフトウェアもあります。このソフトウェアは、IPアドレスとMACアドレスを認証し、認証されていない応答を積極的にブロックします。ARPテーブルエントリが変更されたときにホストに通知するソフトウェアもあります。多くのソフトウェアオプションがあり、カーネルレベルで動作するものもあれば、ネットワークの動的ホスト設定プロトコルまたはネットワークスイッチの一部となっているものもあります。

ARPスプーフィングを防止するツール

ARPスプーフィングから保護するための非常にシンプルな方法は、パケットフィルタリング型ファイアウォールを使用することです。パケットフィルタリング型ファイアウォールは、ネットワーク内で2回見つかったアドレス(この重複は元のホストのなりすましを示唆)からのデータパケットにフラグを立てます。

ARP攻撃から保護するための最も重要な方法は、おそらく暗号化です。今日、暗号化された通信プロトコルが広く使用されているため、ARPハッキングははるかに困難になっています。例えば、ほとんどのウェブサイトのトラフィックはHTTPSを使用して暗号化されているため、ハッカーはメッセージを傍受しても読むことができません。したがって、このような攻撃を軽減する最も重要な方法は、暗号化されていないデータの送信を回避することです。

ソフトウェアもまた、保護に役立ちます。多くのサイバーセキュリティ保護ソフトウェアプログラムは、サイトでデータが暗号化されていない場合などに、ユーザーに通知します。

注目に値する別の暗号化ツールは、仮想プライベートネットワーク(VPN)です。VPNに接続すると、すべてのデータが暗号化トンネルを通過します。

最後に、正確には「ツール」ではありませんが、独自のネットワークでARPスプーフィングをシミュレートして、サイバーセキュリティシステムの潜在的な穴を探すことができます。実際、このような攻撃に使用されるツールのほとんどは入手しやすく使いやすいため、倫理的ハッキングは、攻撃から身を守るための適切な戦略です。

GET TO KNOW THE AUTHOR

バートは、クラウドストライクの脅威インテリジェンスのシニアプロダクトマーケティングマネージャーであり、脅威の監視、検知、インテリジェンスにおいて20年を超える経験を持っています。ベルギーの金融機関でネットワークセキュリティ運用アナリストとしてキャリアをスタートさせた後、米国東海岸に移り、3Com/Tippingpoint、RSA Security、Symantec、McAfee、Venafi、FireEye-Mandiantなどの複数のサイバーセキュリティ企業に入社し、製品管理と製品マーケティングの両方の役割を果たしました。