ARPポイズニング|サイバーセキュリティ.com

ARPポイズニング

ARPポイズニング(ARP Poisoning)とは、ネットワーク上での通信を盗聴したり、不正に操作したりする目的で行われる「中間者攻撃(Man-in-the-Middle攻撃)」の一種です。ARPポイズニングは、LAN(ローカルエリアネットワーク)内のデバイス間で通信を行うためのARP(Address Resolution Protocol)を悪用して行われ、通常、攻撃者が偽のARPメッセージを送信して、他のデバイスに誤ったMACアドレス情報を登録させることによって実行されます。

ARPポイズニングによって、通信データが本来の送信先ではなく攻撃者のデバイスに転送されるため、攻撃者はそのデータを盗聴し、場合によっては改ざんすることも可能です。この手法は、LAN環境で比較的容易に実行できるため、企業ネットワークや公共Wi-Fiなどの安全性が不十分な環境で多用される攻撃手法です。

ARPポイズニングの仕組み

ARPポイズニングは、ARPの仕組みとその脆弱性を悪用して行われます。

  1. ARPの基本的な役割
    ARPは、IPアドレス(論理アドレス)をMACアドレス(物理アドレス)に変換するプロトコルであり、LAN内のデバイスが通信を行う際に必要です。例えば、あるデバイスが別のデバイスにデータを送信する際、相手のIPアドレスを基にARPを使用して相手のMACアドレスを取得し、正しい送信先にデータを届けます。
  2. ARPテーブルの更新
    各デバイスは、ARPによって取得したIPアドレスとMACアドレスのペアを「ARPテーブル」に保存し、後に同じデバイスに通信を行う際に再利用します。このARPテーブルは定期的に更新されますが、ARPメッセージを受信するたびにその内容が書き換えられるため、悪意のある情報にも容易に上書きされるという弱点があります。
  3. 偽のARPメッセージ送信によるポイズニング
    攻撃者は、標的のデバイスに対して偽のARPメッセージを送信し、「特定のIPアドレスが攻撃者のMACアドレスである」と誤認させます。この結果、標的デバイスは本来の送信先の代わりに攻撃者のデバイスへとデータを送信するようになり、攻撃者が通信内容を盗聴したり、改ざんしたりできるようになります。

ARPポイズニングの例

  1. ターゲットAとターゲットBが同じLAN内にいる
  2. 攻撃者がターゲットAに「ターゲットBのIPアドレスは攻撃者のMACアドレスである」という偽のARPメッセージを送信
  3. ターゲットAのARPテーブルに誤った情報が登録される
  4. ターゲットAからターゲットBへの通信が攻撃者を経由する

このようにして、攻撃者が通信内容を盗聴する中間者攻撃が成立します。

ARPポイズニングの攻撃手法と用途

ARPポイズニングは、以下のような用途や手法で実行されることが多いです。

1. スニッフィング(盗聴)

ARPポイズニングによって通信が攻撃者を経由するようになった場合、攻撃者はスニッフィング(パケット盗聴)を行い、平文で送信される情報を取得します。これにより、ユーザー名やパスワード、クレジットカード情報などの機密情報が盗まれる可能性があります。

2. 中間者攻撃(MITM)

ARPポイズニングは、中間者攻撃の一環としても使用され、攻撃者は通信内容を改ざんすることができます。例えば、銀行の振込先口座を改ざんすることで、ユーザーが誤って攻撃者の口座に送金するよう誘導することが可能です。

3. DoS攻撃(サービス妨害)

攻撃者がARPポイズニングを使用して特定のIPアドレスを誤ったMACアドレスにマッピングさせると、デバイスが正しい通信相手に接続できなくなり、ネットワークが停止することがあります。これにより、サービス停止を目的としたDoS攻撃が実行される場合があります。

4. セッションハイジャック

ユーザーのセッションIDを盗み出し、不正にアクセスを行うためにARPポイズニングが使用されることもあります。例えば、攻撃者がユーザーのウェブセッションを乗っ取ることで、アカウント情報を取得したり、アクセス制限のあるデータに不正アクセスしたりすることが可能です。

ARPポイズニングの検出方法

ARPポイズニングの検出には、以下の方法が有効です。

  1. ARPテーブルの監視
    デバイスのARPテーブルを定期的に監視し、同一のIPアドレスに対して異なるMACアドレスが繰り返し登録されている場合、ARPポイズニングの疑いがあります。異常なエントリが検出された際には、ネットワーク管理者が早急に対処することが推奨されます。
  2. IDS/IPSの導入
    侵入検知システム(IDS)や侵入防止システム(IPS)は、ARPポイズニングを含むネットワーク攻撃をリアルタイムで検出し、通知や対策を行うことが可能です。これにより、ARPポイズニング攻撃の検出精度が向上します。
  3. アクティブ監視ツールの利用
    Wiresharkなどのネットワーク監視ツールを使うと、ネットワークトラフィックの異常を検知することが可能です。ARPリクエストの異常な増加や、同一IPからの多数のARPリクエストなどが見られる場合、ARPポイズニングの兆候と考えられます。

ARPポイズニングの対策

ARPポイズニングに対する対策には、次のような方法が有効です。

  1. 静的ARPエントリの設定
    静的ARPエントリを設定することで、特定のIPアドレスとMACアドレスの対応を固定することができます。これにより、偽のARPメッセージによる誤登録を防ぐことができます。ただし、大規模なネットワークでは静的設定が困難な場合があります。
  2. セキュアなプロトコルの利用
    通信にHTTPSやVPNなどの暗号化プロトコルを使用することで、たとえARPポイズニングによって通信が攻撃者に傍受されたとしても、内容が暗号化されているため、情報の盗聴や改ざんのリスクを軽減できます。
  3. ダイナミックARPインスペクション(DAI)
    DAIは、スイッチでARPリクエストとレスポンスを検査し、正当なARPリクエストのみを許可する機能です。これにより、ARPポイズニングによる不正なARPメッセージの送信が防止されます。多くの管理者向けスイッチでサポートされており、ネットワークセキュリティの向上に役立ちます。
  4. VPNの使用
    公共Wi-Fiなどのセキュリティが不十分なネットワークを利用する際には、VPN(Virtual Private Network)を使用して通信を暗号化することで、ARPポイズニングの影響を最小限に抑えることができます。
  5. 二要素認証の導入
    認証情報が盗まれるリスクに対処するため、二要素認証(2FA)を導入することで、たとえユーザー名やパスワードが盗まれた場合でも、不正アクセスを防ぐことができます。

まとめ

ARPポイズニングは、LAN環境におけるARPプロトコルの脆弱性を悪用した中間者攻撃の一種であり、情報窃取、データ改ざん、サービス妨害などのリスクを引き起こします。ネットワーク上の通信を乗っ取ることで、攻撃者はさまざまな不正行為を行うことが可能です。

ARPポイズニングに対抗するには、静的ARPエントリの設定、HTTPSやVPNの利用、ダイナミックARPインスペクション(DAI)の導入、二要素認証などの対策が効果的です。また、ARPテーブルの監視や侵入防止システムの活用も、ARPポイズニング攻撃を検出し、防御するために役立ちます。


SNSでもご購読できます。