ARPスプーフィング
読み:アープ-スプーフィング
外語:ARP spoofing
ARPテーブルを汚染すること。通信経路情報を不正に書き換えること。
概要
これによって攻撃を受けると、目的のノードにアクセスしたつもりが、実は悪意ある何者かのノードへと誘導される可能性がある。
クラッカーからすると、ユーザーを意図した先へ誘導することが可能となる。
特徴
挙動
例えばLAN内に、ノードA、ノードBと、何者かに侵入され汚染されたノードCがあるとする。
ノードAがノードBと通信する場合、ノードAはノードBのIPアドレスからMACアドレスを得るためにARPを投げる。
通常はノードBが応答し、ノードAに対して返答を返すが、ここで汚染ノードCがノードCのMACアドレスを入れた「偽の」返答をノードAに対して送りつける。これが「ARPスプーフィング」である。
問題
ノードAは、実際には汚染ノードCのMACアドレスを、ノードBのIPアドレスに対応するMACアドレスであると信じ込んでしまう。このため、ノードB宛のパケットに汚染ノードCのMACアドレスをつけてEthernetへと送るため、結果としてパケットは汚染ノードCへと送られてしまう。
そのままでは正常に通信できなくなるためすぐ問題になるが、もしこの時汚染ノードCで、パケットを傍受し、その後はIPアドレスから正しいMACアドレスを判断して宛先ノードへと転送するプロセスが稼動していたとするとどうなるか。
この状況では、一見ノードAとノードBは通信が成立しており、ノードCが余計なことをしなければARPが汚染されていることすら分からない。しかしこの場合はパケットが傍受され続けているので、重要な情報が外部に漏れる恐れがあ
この状況では、一見ノードAとノードBは通信が成立しており、ノードCが余計なことをしなければARPが汚染されていることすら分からない。しかしこの場合はパケットが傍受され続けているので、重要な情報が外部に漏れる恐れがある。
危険性
似たようなことは、プロミスキャスモードに対応したNICがあれば出来そうだが、スイッチで区切られたネットワークでも他ノード宛ユニキャストの通信が傍受できる点で強力である。
しかも、外部から侵入し、乗っ取ったノードにこの処理をこなすソフトウェアを送り込めば、後は特別なハードウェアもなく実現できる。
解決法
本質的な解決法は現時点では見出されていない。
ARPというプロトコル自体の欠点であるため、動的な動作を諦め、全てを静的に設定をするしかないが、ノード数が多くなると管理が膨大になるため現実的ではない。
本質的ではないが、ARPテーブルの変更(特に、あるIPアドレスに関連付けられたMACアドレスが変更になった時)でログを残すようにしておくと、このような事をしている人がいることを検知できる可能性がある。
再検索