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
koh
November 10, 2018
Technology
0
280
IPv4ネットワークに潜むIPv6ホストの危険性とその対処
IPv6対応ホストに対するLAN攻撃への対策法を解説します。
koh
November 10, 2018
Tweet
Share
More Decks by koh
See All by koh
プリンタの怖い話(1) 〜意外と簡単に盗める〜
torawarenoaya
0
84
Other Decks in Technology
See All in Technology
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
6.3k
OpenTelemetry Collector internals
ymotongpoo
5
510
MCPを利用して自然言語で3Dプリントしてみよう!
hamadakoji
0
1.5k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
19
4.4k
Drawing with LLMs
rist
0
250
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
12k
Tenstorrent HW/SW 概要説明
tenstorrent_japan
0
370
Whats_new_in_Podman_and_CRI-O_2025-06
orimanabu
3
160
Data Hubグループ 紹介資料
sansan33
PRO
0
1.8k
ハッカー視点で学ぶサイバー攻撃と防御の基本
nomizone
3
1.7k
Go Connectへの想い
chiroruxx
0
160
(新URLに移行しました)FASTと向き合うことで見えた、大規模アジャイルの難しさと楽しさ
wooootack
0
610
Featured
See All Featured
Become a Pro
speakerdeck
PRO
28
5.4k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.3k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
Raft: Consensus for Rubyists
vanstee
139
7k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.5k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Product Roadmaps are Hard
iamctodd
PRO
53
11k
Music & Morning Musume
bryan
46
6.6k
A Modern Web Designer's Workflow
chriscoyier
693
190k
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