Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
IPv4ネットワークに潜むIPv6ホストの危険性とその対処
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
koh
November 10, 2018
Technology
0
330
IPv4ネットワークに潜むIPv6ホストの危険性とその対処
IPv6対応ホストに対するLAN攻撃への対策法を解説します。
koh
November 10, 2018
Tweet
Share
More Decks by koh
See All by koh
プリンタの怖い話(1) 〜意外と簡単に盗める〜
torawarenoaya
0
88
Other Decks in Technology
See All in Technology
Oracle AI Database移行・アップグレード勉強会 - RAT活用編
oracle4engineer
PRO
0
110
外部キー制約の知っておいて欲しいこと - RDBMSを正しく使うために必要なこと / FOREIGN KEY Night
soudai
PRO
12
5.6k
Agile Leadership Summit Keynote 2026
m_seki
1
680
AIエージェントを開発しよう!-AgentCore活用の勘所-
yukiogawa
0
190
Ruby版 JSXのRuxが気になる
sansantech
PRO
0
170
Why Organizations Fail: ノーベル経済学賞「国家はなぜ衰退するのか」から考えるアジャイル組織論
kawaguti
PRO
1
210
マネージャー視点で考えるプロダクトエンジニアの評価 / Evaluating Product Engineers from a Manager's Perspective
hiro_torii
0
190
We Built for Predictability; The Workloads Didn’t Care
stahnma
0
150
22nd ACRi Webinar - NTT Kawahara-san's slide
nao_sumikawa
0
110
22nd ACRi Webinar - 1Finity Tamura-san's slide
nao_sumikawa
0
110
ブロックテーマでサイトをリニューアルした話 / 2026-01-31 Kansai WordPress Meetup
torounit
0
480
ブロックテーマ、WordPress でウェブサイトをつくるということ / 2026.02.07 Gifu WordPress Meetup
torounit
0
200
Featured
See All Featured
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
Git: the NoSQL Database
bkeepers
PRO
432
66k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.4k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
98
Context Engineering - Making Every Token Count
addyosmani
9
670
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
0
140
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
34k
Google's AI Overviews - The New Search
badams
0
910
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
200
The Cost Of JavaScript in 2023
addyosmani
55
9.5k
Discover your Explorer Soul
emna__ayadi
2
1.1k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2k
Transcript
IPv4ネットワークに潜む IPv6ホストの危険性と その対処 富士通システム統合研究所 大平浩貴 1
自己紹介 • 大平 浩貴(おおひら こうき) • 前職ではプリンタ・コピー機にIPv6/IPsecを載せる仕事など –日本インターネット協会 IPv6ディプロイメント委員 •
昨年 AVTOKYO 2017 においてプリンタハックを発表 • 今年は名前解決を盗みます 2
質問 • 職場や学校で使っているパソコンのOSは何ですか? •Windows •macOS •Linux •その他 3
• IPv6に対応しているのはご存知ですか? それらのOSが… 4
さらに質問 • あなたの職場や学校のLANはIPv6に対応していますか? • IPv6 に対応している • IPv4 にしか対応していない •
わからない 5
現状 6 LAN は IPv4 にしか対応していない パソコンは IPv6 に対応している
7
検証概要 8
おおまかな流れ 9 192.168.41.34 fdda:7207:8908:1::80 不正なIPv6アドレス設定 不正なIPv6DNSサーバ設定 fdda:7207:8908:1::~ 不正DNSサーバ 正規のDNSサーバ 192.168.41.1
192.168.41.33 http://ourchat.local/ 名前解決を盗む
IPv6の自動アドレス設定 • ステートレスアドレス自動設定 –ルータが RA (Router Advertisement) をLAN内全ホストに送信 • RAにはLANの情報が記載
–端末がRAを受けとったら • 端末自身がIPv6アドレスを決定して設定する • ステートフルアドレス自動設定 –DHCPv6 –端末がサーバに問い合わせる • サーバが端末のアドレスを決定して割り振る 10
検証1 不正なRAで 割り振る 11
検証1 不正RAによる 12 192.168.41.34 fdda:7207:8908:1::80 RAによるプレフィックス設定 RAによるDNSサーバ設定 正規のDNSサーバ 192.168.41.1 192.168.41.33
http://ourchat.local/ 不正RA送信 プログラム
検証1 結果 13 正しいDNSサーバ
14 正しいDNSサーバに接続して 正しいアドレスが応答された ポイズニング失敗
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 設定や環境によって動作が異なる
RAのDNS設定(RDNSS)が効かなかった • 今回の環境ではRAによるDNSポイズニングが失敗 • 次の策として、DHCPv6 を試してみます 16
検証2 不正なDHCPv6 サーバで 割り振る 17
検証2 不正DHCPv6による 18 192.168.41.34 fdda:7207:8908:1::80 DHCPv6によるアドレス設定 DHCPv6によるDNSサーバ設定 正規のDNSサーバ 192.168.41.1 192.168.41.33
http://ourchat.local/ 不正DHCPv6 サーバ
検証2 結果 19 不正なDNSサーバ 正しいDNSサーバ
20 不正なDNSサーバにアクセス 不正な結果を得た (正しい値は192.168.41.33) ポイズニング成功
DNSサーバスプーフィングの危険 • 偽のサーバを立ち上げる –偽のサーバでMITMして秘密の情報を奪取する • パスワード等の窃取 –偽のサーバで嘘の情報をクライアントに提供する • 情報・コードなどのポイズニング 21
対策 22
問題と対策は? 問題 対策?本当に? 23 IPv6 を配布できないようにする? IPv6 プロトコルを無効にする? IPv4 の優先順位を上げる?
IPv6が勝手に配布されて しまった 使用中の IPv4 よりも、 使っていない IPv6 を優 先してしまった
IPv4を優先させてポイズニングを回避する? •優先度が不明瞭なケースもある –Happy Eyeballs • IPv6 と IPv4 のDNSクエリを一気に出して、先に応答があったプロトコ ルを採用する
• 一方のプロトコルを優先するために、クエリを出すタイミングをずらす ことも提案されている 24 IPv4プロトコルを確実に優先する ということができないケースもある *1 *1 rfc8305 にて定義
不正なIPv6設定を止めるには? • 端末の IPv6 プロトコルを無効にする –適用できない・適用しにくいケースがある • Active Directoryなど一括設定がない場合 •
モバイル端末などIPv6無効化が難しい場合 • Winodws 1809でIPv6を無効にしていると不具合が出るなどの例も • 問題のある IPv6 利用を環境で抑制する –Layer3(ルータ)でIPv6トラフィックを止める • サブネットの内部は止められない –Layer2(スイッチ)でIPv6トラフィックを止める 25
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
DHCPv6-Shield とは • LANスイッチの機能 –従来の DHCPv4 Snooping 機能と類似 • DHCPv6サーバが居るポートを指定
• DHCPv6サーバが居るはずのないポートを指定 27 設定:DHCPv6サーバが居るよ 設定:DHCPv6サーバは居ないよ × DHCPv6サーバ
RA-Guard とは • DHCPv6-Shield と類似 • ルータが居るポートを指定 • ルータが居るはずのないポートを指定 28
設定:ルータが居るよ 設定:ルータは居ないよ × IPv6ルータ
それらの問題点 • 実装が少ない・高価なスイッチのみ • 同一ポート内のスプーフィングは止められない 29 安価なスイッチに普及するまで 今しばらくは 高価で対応機種が少ない
LANを監視しよう・検証しよう • IPv4ネットであってもIPv6も監視する –パケット監視ソフトを使う –RA-Guard や DHCPv6-Shield があれば、それらのロギング機 能も使える •
監視できるか検証しよう –アラートはちゃんと上がるか? 30
自作したDHCPv6スプーフィングチェッカー • Docker コンテナとして実装した • 下記を利用 –DHCPv6サーバ –DNSプロキシ –RA送信機能 –Webサーバ
• スプーフィングが成功すると、存在しないはずのホスト名 でWebページが参照できるようになる • 今後ペンテストツールとして公表できないか検討中 31
まとめ • IPv4環境でもIPv6のことを考えてあげよう 32 IPv6のことも忘れないであげて!
参考文献 • rfc7123 – IPv4ネットワーク内にIPv6ホストがある場合のセキュリティ対策について解説 • draft-ietf-opsec-v6-14 – IPv6ネットワークのセキュアな運用について解説 •
rfc6105, 7113, 6104 – RA-Guard について記述、今回の説明以外にも面白い機能が解説されている • rfc7610 – DHCPv6-Sheild について記述 • rfc8305,6555 – Happy Eyeballsの仕様を定義 33