ARP
ARP とは何ですか?
ARPRFC 826 で定義されたデータリンク層プロトコルで、同一ブロードキャストドメイン内のホストの IPv4 アドレスを MAC アドレスに対応付け、フレーム配送を可能にする。
アドレス解決プロトコル(Address Resolution Protocol)は RFC 826(1982 年)で定義され、データリンク層とネットワーク層の境界で動作します。ホストが同一サブネット上の宛先へ IPv4 パケットを送る必要があるとき、ホストは ARP リクエスト(「192.168.1.1 を持つのは誰か」)をブロードキャストし、その所有者が自身の MAC アドレスで応答します。このマッピングは、以降のフレームのために ARP テーブルにキャッシュされます。
flowchart TD H["ホスト A が 192.168.1.1 を求める"] -->|"ブロードキャスト: .1 を持つのは誰か"| LAN[(ブロードキャストドメイン)] LAN --> GW["ゲートウェイ .1"] LAN --> ATK[攻撃者] GW -->|"応答: .1 は aa:bb:cc"| H ATK -->|"gratuitous 応答: .1 は私の MAC"| H H -.->|"キャッシュが汚染される"| ATK ATK -->|"中継/盗聴"| GW
ARP には認証がないため、同一セグメント上の任意のホストが応答したり、要求のない gratuitous 応答を送ったりできます。これが ARP スプーフィング / ARP ポイズニングを可能にし、攻撃者を経由するように通信を誘導して盗聴や改ざんを行えるようにします。これは古典的なオンパス(中間者)攻撃の基本手法であり、arpspoof(dsniff に含まれる)、Ettercap、Bettercap といったツールで自動化されます。応答は何の確認もなくキャッシュエントリを上書きするため、毎秒数パケットあれば乗っ取りを維持するのに十分です。管理機能を備えたスイッチでの防御策には、DHCP スヌーピングのバインディングテーブルと照合して応答を検証する Dynamic ARP Inspection (DAI) のほか、重要ホスト向けの静的 ARP エントリ、ポートセキュリティ、VLAN による信頼境界のセグメント化があります。IPv6 は ARP を捨て、Neighbor Discovery(ICMPv6、RFC 4861)を用います。その SEND 拡張(RFC 3971)は、同種のスプーフィングに耐えるために暗号学的に生成されたアドレスを追加します。
● 例
- 01
Wireshark で、起動中のホストがデフォルトゲートウェイの MAC を学習する際の ARP 要求と応答を観察できる。
- 02
攻撃者がゲートウェイ IP を自分のものだと主張する gratuitous ARP 応答を送り、LAN の通信を奪う。
● よくある質問
ARP とは何ですか?
RFC 826 で定義されたデータリンク層プロトコルで、同一ブロードキャストドメイン内のホストの IPv4 アドレスを MAC アドレスに対応付け、フレーム配送を可能にする。 サイバーセキュリティの ネットワークセキュリティ カテゴリに属します。
ARP とはどういう意味ですか?
RFC 826 で定義されたデータリンク層プロトコルで、同一ブロードキャストドメイン内のホストの IPv4 アドレスを MAC アドレスに対応付け、フレーム配送を可能にする。
ARP からどのように防御しますか?
ARP に対する防御は通常、上記の定義で述べたとおり、技術的統制と運用上の実践を組み合わせます。
ARP の別名は何ですか?
一般的な別名: Address Resolution Protocol。