ARPとARPスプーフィング①

セキュリティ

今回は7月に以下の勉強会で発表してきた「ARPスプーフィング」について解説していきます。

第18回ゼロから始めるセキュリティ入門

なお、理解するためにはARPというものを知っておく必要があるので、そちらも記事にしていきます。

ARPスプーフィングは自分の管理する環境以外で実施した場合は犯罪になりますので、あらかじめご認識ください。

なお、記事の内容については個人的な見解であることをあらかじめご了承ください。

ARPとはなにか?

そもそもARPを知らない人もいると思いますので、そちらの解説から入っていきます。

ARP(Address Resolution Protocol)は、IPアドレスからEthernetのMACアドレスの情報を得られるプロトコル。LANに接続されたコンピュータ間で通信するためには、IPパケットは下位のレイヤでL2ヘッダが付加された上で伝送されることからMACアドレスの情報が必要。しかしこれらのIPアドレスとMACアドレスは自動的な関連づけがないので、ARPでMACアドレスを得る必要がある。
(参考:http://www.infraexpert.com/study/tcpip2.html)

インターネットについては、IPアドレスとFQDNが紐づいて通信を行っています。

例えばこのサイト「nekotosec.com」のIPアドレスは「202.254.234.155」となっています。こちらのIPアドレスをもとにこのサイトに到達しているわけですね。
※バーチャルホスト、DNS等他にも伝えたいことは色々ありますが、ここでは触れません。

イントラネット(社内ネットワーク等)については少し異なり、IPアドレスが分っているだけでは通信を行うことができません。

それに紐づくMACアドレスが必要になります

イメージを画像にしましたので、そちらで解説します。

①同じネットワークに機器が接続された時にブロードキャストアドレスにPCの情報(IP、MACアドレス)とMACの情報が欲しい機器の情報を送信し対象の機器からの応答を待つ
②他の機器は受け取った情報をARPテーブルへ保存し、自PCの情報を応答し、自分の位置を知らせる。

ちなみにこの通信は一瞬です。
※PC等でWiresharkを起動してから実際にNWに接続してみるとよくわかります。

もちろん設定によってはARPの情報を返してくれない場合もあります。

以下は私の管理する環境のARPテーブルです。

>arp -a
#ARPテーブルの一覧を表示
インターフェイス: 192.168.70.1 --- 0x3
インターネット アドレス 物理アドレス 種類
192.168.70.254 00-50-56-e6-48-35 動的
192.168.70.255 ff-ff-ff-ff-ff-ff 静的
224.0.0.22 01-00-5e-00-00-16 静的
224.0.0.251 01-00-5e-00-00-fb 静的
224.0.0.252 01-00-5e-00-00-fc 静的
239.255.255.250 01-00-5e-7f-ff-fa 静的
255.255.255.255 ff-ff-ff-ff-ff-ff 静的

インターフェイス: 192.168.11.13 --- 0x6
インターネット アドレス 物理アドレス 種類
192.168.11.1 84-af-ec-a9-fe-00 動的
192.168.11.3 f4-f5-e8-1e-ab-44 動的
192.168.11.255 ff-ff-ff-ff-ff-ff 静的
224.0.0.22 01-00-5e-00-00-16 静的
224.0.0.251 01-00-5e-00-00-fb 静的
224.0.0.252 01-00-5e-00-00-fc 静的
239.255.255.250 01-00-5e-7f-ff-fa 静的
255.255.255.255 ff-ff-ff-ff-ff-ff 静的

インターフェイス: 192.168.19.1 --- 0x15
インターネット アドレス 物理アドレス 種類
192.168.19.254 00-50-56-e9-30-a6 動的
192.168.19.255 ff-ff-ff-ff-ff-ff 静的
224.0.0.22 01-00-5e-00-00-16 静的
224.0.0.251 01-00-5e-00-00-fb 静的
224.0.0.252 01-00-5e-00-00-fc 静的
239.255.255.250 01-00-5e-7f-ff-fa 静的
255.255.255.255 ff-ff-ff-ff-ff-ff 静的

とこんな感じで登録されているかと思います。こちらを基にイントラネット内の通信は行われているわけですね。

ARPスプーフィング

APRの話はこの程度にして、実際にAPRスプーフィングの解説に入ります。

まずはAPRスプーフィングの概要です。

正規のクライアントからのARP要求に対して、攻撃者が「不正なARP応答」をブロードキャストすることでLAN上の通信機器になりすます攻撃手法のこと。正規のクライアントは意図しない通信相手にトラフィックを転送する結果、情報を盗聴される可能性がある。
(参考:http://www.infraexpert.com/study/dhcpz6.html)

情報を盗聴される可能性のあるかなり怖い攻撃手法ですね。

ARP自体を知らない人も多くいるこの世の中で、ARPスプーフィングを実行できるツールは普通に存在しています。

なので、自衛のためにもどういった攻撃でどう対処したらいいかを考えておく必要がありますね。

次回は実際にwindow上でツールのダウンロード、動作等を行っていく予定です。

何か記事の情報で補足や間違っている点があればご教授いただければ幸いです。

また、不明点や要望やこういったこともやって欲しいとの要望があれば、お問い合わせページやコメント、ツイッターからでも結構ですので、気軽にご連絡ください。

コメント