端末がLAN内で通信する際には、IPアドレスに対応するMACアドレスをARPで調べ、そのMACアドレスを持つ機器にアクセスする。IPアドレスとMACアドレスの対応関係は、端末が内蔵するARPキャッシュに納められている。端末がARP応答パケットを受け取ることでIPアドレスとMACアドレスの対応を学習し、一定時間が過ぎるとその情報を破棄する。

 この仕組みを悪用して偽の機器にアクセスさせる攻撃がARPキャッシュポイズニングだ(図2-1)。偽のARP応答パケットを送って偽の対応関係を学習させ、偽の機器にアクセスさせる

図2-1●攻撃対象のARPキャッシュを汚染する
LAN内で通信する際には、IPアドレスに対応するMACアドレスをARPで調べ、MACアドレスで宛先の機器にアクセスする。IPアドレスとMACアドレスの対応は、端末が内蔵するARPキャッシュに納められている。攻撃対象端末に偽のARP応答パケットを送ってARPキャッシュを汚染すると、偽の機器に誘導できる。
[画像のクリックで拡大表示]

 まず、ARPパケットの大まかな構造を見ておこう(図2-2)。ARPではMACアドレスやIPアドレスの情報を、イーサネットフレームのデータとしてやりとりする。攻撃者がこのデータを詐称することで、ARPキャッシュポイズニングが可能になる。

図2-2●MACアドレスの情報をデータとしてやりとり
ARPパケットの大まかな構造を示した(この特集の実験に無関係なフィールドは省略)。ARPではMACアドレスやIPアドレスの情報をデータとしてやりとりする。イーサネットフレームのヘッダーにあるMACアドレスとは異なり、そのパケットの通信には使われない。
[画像のクリックで拡大表示]
▼偽の機器にアクセスさせる
LAN内のアクセスにはMACアドレスだけが使われるため、偽の機器のIPアドレスが本物の機器のIPアドレスとは異なっていても攻撃は成功する。
▼イーサネットフレームのデータ
イーサネットフレームのヘッダーでは「宛先、送信元」という順番で並んでいるのに対し、ARPパケットでは「送信元、宛先」と順番が逆になる。

この先は有料会員の登録が必要です。「日経NETWORK」定期購読者もログインしてお読みいただけます。今なら有料会員(月額プラン)が12月末まで無料!

日経 xTECHには有料記事(有料会員向けまたは定期購読者向け)、無料記事(登録会員向け)、フリー記事(誰でも閲覧可能)があります。有料記事でも、登録会員向け配信期間は登録会員への登録が必要な場合があります。有料会員と登録会員に関するFAQはこちら