ARP poisoning(テクニカルエンジニアNWで出る!?)

  • スニファへの防衛策←スイッチングハブ
  • →パケットがLAN全体にブロードキャストされなくなる
  • しかしこの対策を迂回する方法がある!
  • ARP poisoning
  • 偽のARPパケットを標的ホストに記憶させる
  • (偽装ARP replyをブロードキャストする)
  • Aさんが「Bさんどこー?」って聞いたら、
  • 悪意のあるCさんが「ここだよー」って言う。
  • Bさんにも同様にする。
  • するとAさんがBさんに送ったつもりでもCさんを経由
  • つまりman-in-the-middle攻撃ができる
  • ARPスプーフィングともいう
  • 2007年に流行
  • spoofing=なりすまし
  • LAN内(Ethernet)内で端末を特定するのはMACアドレス
  • 通信ではIPアドレス&MACアドレスなどをパケットに付加し送信
  • 送られてきた宛先MAC=自分のMAC→受け取ろう
  • つまり通信するにはまずMAC
  • そのためにIPからMACを知るのがARP
  • ARP要求パケット、ARP応答パケット
  • ARP要求パケットをブロードキャストする
  • 何度も聞くのは面倒なのでARPテーブルにキャッシュする
  • さて、どう傍受するか
  • 悪意のあるCさんが、AさんBさんのMACをARPで下調べ
  • CさんはAさんBさんに「BさんのMACはCさんのMACだよ」
  • 「AさんのMACはCさんのMACだよ」と嘘を教える
  • AさんBさんのARPテーブルが間違ったものに書き換えられる
  • ARP要求をしてもないのにARP応答を受け取ってしまう
  • AさんがBさんに送信したとき
  • 騙されているのでCさんに送ってしまう
  • CさんはBさんに中継する
  • そのとき、送信元IPアドレスをAさんのものにしておく
  • そうすればばれない
  • 盗み見だけでなく、改ざんも可能
  • Aさんとルータに対してARPスプーフィングを実行すれば、
  • Aさんのインターネット通信が丸見え!
  • 問題は、ARP応答を信じてしまうこと
  • 対策:MACとIPの組み合わせを静的に決めておく(面倒)
  • 対策:こめめにARP要求
  • ARPスプーフィングが行われた場合、
  • arp -a
  • →異なるIPアドレスに同じMACアドレスが現れる
  • 「Aさんは俺(C)、Bさんも俺(C)、みんな俺(C)」
  • 対策:秘密情報をNWに流さない
  • 対策:NWを経由する際には暗号化
  • メールなら、S/MIMEPGPなどの暗号化ツールを使おう
  • WEBならSSL(WEBサーバとブラウザの間で暗号化)
  • 「偽の郵便ポスト」という例
  • インターネット上のサーバに接続したい
  • →デフォルト・ゲートウェイを知るためにARP
  • 対策:ルータ自体のIPとMACの対応が書き換えられていないか
  • ARPスプーフィング=ARPポイズニング=ARPリダイレクト
  • 最寄りのゲートウェイのIPとMACを知るipconfig
  • ちゃんとしたのを知って、IPとMACの関係をstaticにすれば対策に
  • NIDS(ネットワークIDSを導入し、ARPテーブルの書き換えに反応)
  • →こまめにARPして、正しいARPもたまに返ってくるのなら、
  • ARPテーブルの書き換えが大量発生し、検知できるはず

結構今も流行っているみたいですよ?