Upgrade to Pro — share decks privately, control downloads, hide ads and more …

IPv4ネットワークに潜むIPv6ホストの危険性とその対処

Avatar for koh koh
November 10, 2018

 IPv4ネットワークに潜むIPv6ホストの危険性とその対処

IPv6対応ホストに対するLAN攻撃への対策法を解説します。

Avatar for koh

koh

November 10, 2018
Tweet

More Decks by koh

Other Decks in Technology

Transcript

  1. 7

  2. IPv6の自動アドレス設定 • ステートレスアドレス自動設定 –ルータが RA (Router Advertisement) をLAN内全ホストに送信 • RAにはLANの情報が記載

    –端末がRAを受けとったら • 端末自身がIPv6アドレスを決定して設定する • ステートフルアドレス自動設定 –DHCPv6 –端末がサーバに問い合わせる • サーバが端末のアドレスを決定して割り振る 10
  3. RAによるDNS設定(RDNSS)は可能か? • 今回の検証では、IPv4アドレスやIPv4のDNSサーバアドレスが設定された Windowsにおいて RDNSS で IPv6 DNSを設定することはできなかった • さらに検証したところ下記の現象が観測された

    – Windowsで site local well-known のDNSアドレスが設定されている状況だと、 RDNSS を受け入れるようだ – 今回、DHCPv4 ないしは手動設定で v4 DNSが設定されている状況ではsite-local のDNSアドレスは設定されておらず、RDNSSを受け入れなかった – 「netsh interface ipv6 show int (インターフェース番号)」コマンドで得られるパラ メータによってRDNSSを受け入れるかどうか異なると推測される – また、送付されるRAのフラグ設定も影響を与えうると考えられる 15 設定や環境によって動作が異なる
  4. 問題と対策は? 問題 対策?本当に? 23 IPv6 を配布できないようにする? IPv6 プロトコルを無効にする? IPv4 の優先順位を上げる?

    IPv6が勝手に配布されて しまった 使用中の IPv4 よりも、 使っていない IPv6 を優 先してしまった
  5. IPv4を優先させてポイズニングを回避する? •優先度が不明瞭なケースもある –Happy Eyeballs • IPv6 と IPv4 のDNSクエリを一気に出して、先に応答があったプロトコ ルを採用する

    • 一方のプロトコルを優先するために、クエリを出すタイミングをずらす ことも提案されている 24 IPv4プロトコルを確実に優先する ということができないケースもある *1 *1 rfc8305 にて定義
  6. 不正なIPv6設定を止めるには? • 端末の IPv6 プロトコルを無効にする –適用できない・適用しにくいケースがある • Active Directoryなど一括設定がない場合 •

    モバイル端末などIPv6無効化が難しい場合 • Winodws 1809でIPv6を無効にしていると不具合が出るなどの例も • 問題のある IPv6 利用を環境で抑制する –Layer3(ルータ)でIPv6トラフィックを止める • サブネットの内部は止められない –Layer2(スイッチ)でIPv6トラフィックを止める 25
  7. Layer2で不正を止める • RA-Guard、 DHCPv6-Shield –L2スイッチの機能 –不正なRAや不正なDHCPv6メッセージを転送しない機能 –L2スイッチのポート単位でRAやDHCPv6のパケットをフィルタリ ングする • RA-Guard/

    DHCPv6-Shield機能がなくても、ポート単位で特定のパ ケットをフィルタリングする機能があれば類似の機能を実現できる 26 *1 RA-Guard は rfc6105, 7113, 6104 にて記述 *2 DHCPv6-Shield は rfc7610 にて記述 *1 *2
  8. DHCPv6-Shield とは • LANスイッチの機能 –従来の DHCPv4 Snooping 機能と類似 • DHCPv6サーバが居るポートを指定

    • DHCPv6サーバが居るはずのないポートを指定 27 設定:DHCPv6サーバが居るよ 設定:DHCPv6サーバは居ないよ × DHCPv6サーバ
  9. 自作したDHCPv6スプーフィングチェッカー • Docker コンテナとして実装した • 下記を利用 –DHCPv6サーバ –DNSプロキシ –RA送信機能 –Webサーバ

    • スプーフィングが成功すると、存在しないはずのホスト名 でWebページが参照できるようになる • 今後ペンテストツールとして公表できないか検討中 31
  10. 参考文献 • rfc7123 – IPv4ネットワーク内にIPv6ホストがある場合のセキュリティ対策について解説 • draft-ietf-opsec-v6-14 – IPv6ネットワークのセキュアな運用について解説 •

    rfc6105, 7113, 6104 – RA-Guard について記述、今回の説明以外にも面白い機能が解説されている • rfc7610 – DHCPv6-Sheild について記述 • rfc8305,6555 – Happy Eyeballsの仕様を定義 33