狠狠撸
Submit Search
滨笔惫6セキュリティ はじめの一歩
?
9 likes
?
2,469 views
Kenji Ohira
Follow
第12回名古屋情报セキュリティ勉强会(2017/03/19)资料
Read less
Read more
1 of 53
Download now
Downloaded 23 times
More Related Content
滨笔惫6セキュリティ はじめの一歩
1.
IPv6セキュリティ はじめの一歩 徳島大学 大平健司 https://en.wikipedia.org/wiki/File:Aldrin_Apollo_11.jpg
2.
身も蓋もない結論 ? 心構え –ほとんどの対策はIPv4と変わらない ?L2以下とL4以上は(本来)変わらない ?L3がIPv4であることを前提にした各種作り込みに なっていなければ ?そう、IPv4同様の対策ができる実装なら... –IPv6なんて使ってないはずという油断は敵 ?穴はいくらでも開けられる March 19,
2017 第12回名古屋情報セキュリティ勉強会 2
3.
本日の内容 ? イントロダクション ? IPv6アドレス体系 ?
IPv6アドレスと経路の設定 ? IPv6とフィルタリング ? 複数のIPv6アドレス ? IPv6とIPv4の混在 ? 落穂ひろい March 19, 2017 第12回名古屋情報セキュリティ勉強会 3
4.
避けたい状況 March 19, 2017
第12回名古屋情報セキュリティ勉強会 4 http://www.itu.int/en/ITU-D/Regional-Presence/AsiaPacific /Documents/s11-ipv6-securingtransitionmechanisms.pdf
5.
IPv6とIPv4で違うところ ? IPアドレス(32ビット→128ビット) –広大なアドレス空間を利用した使い捨て –自動設定方法 –スコープ(リンクローカルアドレス等) ? マルチキャストへの依存度 –ブロードキャストは廃止 March
19, 2017 第12回名古屋情報セキュリティ勉強会 5
6.
IPv6未導入のはずのリンクにて March 19, 2017
第12回名古屋情報セキュリティ勉強会 6
7.
見えていたもの ? IPv6パケット –リンクローカルアドレス(fe80::...) –マルチキャストアドレス(ff02::...) ? IPv6で話をしようとしている機器がいる –今のところは特に悪いことはなさそう –これらに偽設定情報を食わせると... March
19, 2017 第12回名古屋情報セキュリティ勉強会 7
8.
IPv6で考えるべき「複数の**」 ? IPバージョン ? リンク ?
スコープ ? アドレス ? プレフィクス ? ルータ(上流、ルータ広告(RA)) ? DHCPv6サーバ/リレー March 19, 2017 第12回名古屋情報セキュリティ勉強会 8
9.
IPv6アドレス体系 March 19, 2017
第12回名古屋情報セキュリティ勉強会 9
10.
IPv6アドレス (1/2) March 19,
2017 第12回名古屋情報セキュリティ勉強会 10 アドレス範囲 用途 ::/128 Unspecified Address ::1/128 Loopback Address ::ffff:0:0/96 IPv4-mapped Address 64:ff9b::/96 IPv4-IPv6 Translation 100::/64 Discard-Only Address Block 2000::/3 Global Unicast 2001::/23 IETF Protocol Assignments 2001::/32 TEREDO 2001:1::1/128 Port Control Protocol Anycast 2001:1::2/128 Traversal Using Relays around NAT Anycast 2001:2::/48 Benchmarking [1] https://www.iana.org/assignments/ipv6-address-space/ipv6-address-space.xhtml [2] https://www.iana.org/assignments/iana-ipv6-special-registry/iana-ipv6-special-registry.xhtml
11.
IPv6アドレス (2/2) March 19,
2017 第12回名古屋情報セキュリティ勉強会 11 アドレス範囲 用途 2001:3::/32 AMT 2001:4:112::/48 AS112-v6 2001:5::/32 EID Space for LISP (Managed by RIPE NCC) 2001:10::/28 Deprecated (previously ORCHID) 2001:20::/28 ORCHIDv2 2001:db8::/32 Documentation 2002::/16 6to4 2620:4f:8000::/48 Direct Delegation AS112 Service fc00::/7 Unique Local Unicast fe80::/10 Linked-Scoped Unicast ff00::/8 Multicast [1] https://www.iana.org/assignments/ipv6-address-space/ipv6-address-space.xhtml [2] https://www.iana.org/assignments/iana-ipv6-special-registry/iana-ipv6-special-registry.xhtml
12.
IPv6アドレスとスコープ ? スコープ一覧 (RFC
4291, 7346) ? リンクローカルアドレスが多用される – <address>%<zone_id> の形で表現 – 「サイト出口」での追跡?制御は不可能 March 19, 2017 第12回名古屋情報セキュリティ勉強会 12 番号 名前 1 Interface-Local scope 2 Link-Local scope 3 Realm-Local scope 4 Admin-Local scope 5 Site-Local scope 8 Organization-Local scope e Global scope
13.
IPv6マルチキャスト ? IPv6アドレス –ff0x::/8 (xはスコープ) ?
MACアドレス –33-33-xx-xx-xx-xx (IPv6アドレスの下位32ビット) ? 送信者制御 –L2機器でのClient separation ? 受信者(Multicast Listener)制御 –L2機器でのMLD snooping March 19, 2017 第12回名古屋情報セキュリティ勉強会 13
14.
頻出マルチキャストアドレス ? ff02::1 (All
Node) ? ff02::2 (All Router) ? ff02::16 (MLDv2) ? ff02::1:2 (All DHCPv6 server/relay) ? ff02::1:3 (Link-local Multicast Name Resolution) ? ff02::1:ffxx:xxxx (Solicited Node) ? ff05::1:3 (All DHCPv6 server) March 19, 2017 第12回名古屋情報セキュリティ勉強会 14
15.
IPv6アドレス空間と攻撃耐性 ? IPアドレスの全数探索(brute force)には なかなかヒットしない –
ルータに近隣探索させることになり、 結局負荷は上がる(DoS意図は成就する) – 標的と同一リンクに入ってしまえば マルチキャストパケット一発で終わり – RFC 7707にあるような手法で探索量を削減 ? 攻撃者側もIPアドレスは多数ある (嘘もつき放題) – フィルタ粒度、エントリ数 ?フィルタの自動生成も怖い ?rate-limitくらいしか手はなさそうだが対象範囲の 適切な設定は難しそう March 19, 2017 第12回名古屋情報セキュリティ勉強会 15
16.
IPv6アドレスと経路の設定 March 19, 2017
第12回名古屋情報セキュリティ勉強会 16
17.
IPv6アドレス自動設定1 ? ステートレス型 –ICMPv6 Router
Advertisement (RFC 4862) ?プレフィクス64ビットとホスト自身が決めた 64ビットを結合 ?Privacy Extension (RFC 4941)によりアドレス数 が膨れ上がる ?(Valid lifetime) / (Preferred lifetime) ?端末側からの新規コネクションには使わないが 待受アドレスとしては有効 ?Neighbor cacheも消費 March 19, 2017 第12回名古屋情報セキュリティ勉強会 17
18.
RAメッセージの例1 (1/2) March 19,
2017 第12回名古屋情報セキュリティ勉強会 18
19.
RAメッセージの例1 (2/2) March 19,
2017 第12回名古屋情報セキュリティ勉強会 19
20.
RAにより設定されたアドレス March 19, 2017
第12回名古屋情報セキュリティ勉強会 20
21.
RAへの攻撃 ? 攻めどころ –誰でも(諸々偽装して)送信できる –高優先度での送信 –Lifetime=0を用いた正規RAの無効化 ? 対策 –RA
Guard (RFC 6105, 7113) ?L2機器での対策(物理ポートを限定) –SEND (RFC 3971) ?暗号的生成アドレス、RSA署名 March 19, 2017 第12回名古屋情報セキュリティ勉強会 21
22.
IPv6アドレス自動設定2 ? ステートフル型 –DHCPv6 (RFC
3315) ? アドレス割当の管理をしっかり行いたい ならDHCPv6で、と言いたいところだが… March 19, 2017 第12回名古屋情報セキュリティ勉強会 22
23.
DHCPv6も色々問題が ? プロトコル的な問題 –RAとの連携要(なくても動くかも※1だが) ?経路設定はDHCPv6ではされない※2 ?RAベースのアドレス割当を避けるように設定要 –MACアドレスとの対応がわからない ?払い出しアドレスと対応付けられるのはDUID ? 実装上の問題 –AndroidとWindows –詳細後述 March
19, 2017 第12回名古屋情報セキュリティ勉強会 23 ※1: RFC 4862 §5.5.2 ※2: draft-ietf-mif-dhcpv6-route-option-05 (expired)
24.
DHCPv6を展開したネットワーク例 March 19, 2017
第12回名古屋情報セキュリティ勉強会 24 240b:251:c080:16::/64 240b:251:c080:14::/64 PC Router & DHCPv6 Server Catalyst 3560 Router & DHCPv6 Relay Wireless AP Client PC (Windows 10)
25.
RAベースのアドレス割当抑制 (1/2) ? radvd.conf
(Linux PCルータ) March 19, 2017 第12回名古屋情報セキュリティ勉強会 25 interface enp0s2 { AdvSendAdvert on; AdvManagedFlag on; AdvOtherConfigFlag on; prefix 240b:251:c080:14::/64 { AdvOnLink on; AdvAutonomous off; AdvRouterAddr off; AdvValidLifetime 3600; AdvPreferredLifetime 1800; }; };
26.
RAベースのアドレス割当抑制 (2/2) ? Cisco
IOS March 19, 2017 第12回名古屋情報セキュリティ勉強会 26 interface GigabitEthernet0/10 no ip address ipv6 enable ipv6 nd ra suppress all interface Vlan6 no ip address ipv6 address 240B:251:C080:16::1/64 ipv6 enable ipv6 nd prefix default 3600 1800 no-autoconfig no-rtr-address ipv6 nd managed-config-flag ipv6 nd other-config-flag ipv6 nd ra lifetime 3600 ipv6 dhcp relay destination 240B:251:C080:14::1
27.
RAメッセージの例2 (1/2) March 19,
2017 第12回名古屋情報セキュリティ勉強会 27
28.
RAメッセージの例2 (2/2) March 19,
2017 第12回名古屋情報セキュリティ勉強会 28
29.
DHCPv6によるアドレス割当 ? dhcpd.conf (ISC
DHCPd) March 19, 2017 第12回名古屋情報セキュリティ勉強会 29 subnet6 240b:251:c080:14::/64 { range6 240b:251:c080:14::1000:0 240b:251:c080:14::1000:20; } subnet6 240b:251:c080:16::/64 { range6 240b:251:c080:16::1000:0 240b:251:c080:16::1000:1000; option dhcp6.name-servers 2001:4860:4860::8888; }
30.
DHCPv6メッセージの例 March 19, 2017
第12回名古屋情報セキュリティ勉強会 30
31.
DHCPv6により設定されたアドレス March 19, 2017
第12回名古屋情報セキュリティ勉強会 31
32.
IPv6アドレスとMACアドレスの紐付け ? Neighbor cache –ip
-6 neighbor –netsh interface ipv6 show neighbors –show ipv6 neighbors ? DHCPサーバでの記録 –DHCP(v4)ではMACアドレスとIPv4アドレス –DHCPv6ではDUIDとIPv6アドレス ? DUIDとMACアドレスの紐づけ –DHCP relay越しでは対応付けが難しい March 19, 2017 第12回名古屋情報セキュリティ勉強会 32
33.
DHCPv6実装の問題 ? Android –そもそもDHCPv6が実装されていない –http://www.techrepublic.com/article/android s-lack-of-dhcpv6-support-poses-security- and-ipv6-deployment-issues/ ? Windows
10 –Renewに失敗する –手動 ipconfig /renew6 連打により暫定対処 –https://social.technet.microsoft.com/Forums /windows/en-US/4d167816-bc56-4003- bc97-232b9dbcc1ca/ March 19, 2017 第12回名古屋情報セキュリティ勉強会 33
34.
DHCPv6への攻撃 ? 攻めどころ –マルチキャストグループに誰でもJOIN可能 ? 対策 –L2機器での物理ポート限定 –DHCPv6
Shield (RFC 7610)によるヘッダ チェック –Delayed Authentication(遅延認証)の導入 ?サーバとクライアントの間で秘密鍵を共有 ?Dibbler DHCPv6では実装されている模様 March 19, 2017 第12回名古屋情報セキュリティ勉強会 34
35.
プレフィクス割当 (1/2) ? エンドサイトがプロバイダから得る 標準的なアドレス空間は/56 –https://www.nic.ad.jp/doc/jpnic-01167.html –大学とかの規模であれば/48の場合も ?http://w4a.sinet.ad.jp/service/network/l3/ipv6/as signment/ ?
1リンクは標準的に/64 ? サイト内のアドレス(プレフィクス)割当 –集約しやすさを考慮に入れる必要有 March 19, 2017 第12回名古屋情報セキュリティ勉強会 35
36.
プレフィクス割当 (2/2) ? 動的割当プロトコル –DHCPv6-PD
(RFC 3633) ? 経路制御 –RIPng (RFC 2080) –OSPFv3 (RFC 5340) March 19, 2017 第12回名古屋情報セキュリティ勉強会 36
37.
トンネルあれこれ ? IP in
IP、GRE ? 6to4、6rd ? Teredo ? ISATAP ? MPLS ? その他独自方式のトンネル ? 予期しない上流への抜け穴はいくらでも 作れる March 19, 2017 第12回名古屋情報セキュリティ勉強会 37
38.
IPv6とフィルタリング March 19, 2017
第12回名古屋情報セキュリティ勉強会 38
39.
流入フィルタ ? uRPF (unicast
Reverse Path Forwarding) –RFC 3704 (BCP 84) March 19, 2017 第12回名古屋情報セキュリティ勉強会 39 240b:251:c080:16::/64 240b:251:c080:14::/64 Router Router Wireless AP Client PC × Src=/240b:251:c080:16::xxxx Strict uRPFの例
40.
ICMPv6 ? IPv4ではICMPを原則止めてしまう運用が 多くなされている –IPv6でも同様の運用をしかねない ? ICMPへの依存度?メッセージの種類は IPv4より増している –アドレス割当 –アドレス解決(近隣探索、ARP相当) –ルータ探索 –マルチキャストグループ管理(IGMP相当) March
19, 2017 第12回名古屋情報セキュリティ勉強会 40
41.
近隣探索 (RFC 4861) ?
ICMPv6 –Neighbor Solicitation (Type 135) ?送信元:送信元IFに付されたアドレス 又は :: ?宛先:ターゲットのアドレス 又は 対応する 要請ノードマルチキャストアドレス –Neighbor Advertisement (Type 136) ?送信元:送信元IFに付されたアドレス ?宛先:対応するNSの送信元アドレス ?NSの送信元が::の場合はff02::1へ March 19, 2017 第12回名古屋情報セキュリティ勉強会 41
42.
ICMPv6メッセージのフィルタリング ? オススメのやり方がRFC 4890に –ブリッジ型とルータ型の各FW –リンクローカルとグローバル –ip6tablesでの具体的な設定方法の付録付き March
19, 2017 第12回名古屋情報セキュリティ勉強会 42
43.
複数のIPv6アドレス March 19, 2017
第12回名古屋情報セキュリティ勉強会 43
44.
複数のIPv6アドレス ? 個々の通信において送信元?宛先として どれを使うか決めなければならない ? getaddrinfo()に介入 –送信元アドレス選択 –宛先アドレス選択 –標準的な選択基準:RFC
6724 March 19, 2017 第12回名古屋情報セキュリティ勉強会 44
45.
送信元アドレス選択 ? 所与の宛先(D)に対する送信元(S)を一つ算出 1. S=DであるSを優先 2.
適切なスコープであるSを優先 3. 廃止されたアドレスであるSを回避 4. ホームアドレスであるSを優先 5. 送出インタフェースに付されたSを優先 5. 次ホップから広告されたプレフィクスのSを優先 6. SとDのラベルが一致するSを優先 7. 一時アドレスであるSを優先 8. SとDのプレフィクス一致が最長のSを優先 March 19, 2017 第12回名古屋情報セキュリティ勉強会 45
46.
宛先アドレス選択 ? 宛先リストの並べ替え 1. 到達不能なDやDに対応するSが未定義なもの を回避 2.
SとDのスコープが一致するものを優先 3. Sが廃止されたアドレスとなるものを回避 4. Sがホームアドレスとなるものを優先 5. SとDのラベルが一致するものを優先 6. 優先度の高いDを優先 7. ネイティブトランスポートのものを優先 8. スコープの小さいDを優先 9. SとDのプレフィクス一致が最長のものを優先 10. 元の順番を変えない March 19, 2017 第12回名古屋情報セキュリティ勉強会 46
47.
ラベルと優先度 ? 設定変更可能 –Linux: /etc/gai.conf –
Windows: netsh interface ipv6 show prefixpolicies March 19, 2017 第12回名古屋情報セキュリティ勉強会 47 ループバック その他 IPv4射影アドレス 6to4 TEREDO ユニークローカル サイトローカル(廃止) 6bone(廃止) IPv4互換アドレス(廃止)
48.
IPv6とIPv4の混在 March 19, 2017
第12回名古屋情報セキュリティ勉強会 48
49.
Happy Eyeballs ? 目的:IPv4フォールバックの時間を短く ?
規約:RFC 6555 – IPv4のSYNとIPv6のSYNを両方投げる ?少しだけIPv6を優先する ? 各SYNは150-250ms間隔(推奨値) ?IPv6での接続成否を一定期間記憶 ?A/AAAAが複数ある場合、下記優先順 1. 最優先のIPv6アドレス 2. IPv4アドレス 3. その他のIPアドレス – 先にSYN+ACKが返ってきた方を使う – アプリケーションでの実装がシンプル ?OSでの実装の場合、RFC6724と要調整 March 19, 2017 第12回名古屋情報セキュリティ勉強会 49
50.
落穂ひろい March 19, 2017
第12回名古屋情報セキュリティ勉強会 50
51.
攻撃(にも使える)ツール ? THC-IPV6 –https://www.thc.org/thc-ipv6/ –http://tools.kali.org/information- gathering/thc-ipv6 ? SI6
Networks’ IPv6 Toolkit –https://www.si6networks.com/tools/ipv6tool kit/ ? scapy –http://www.idsv6.de/Downloads/IPv6Packet CreationWithScapy.pdf March 19, 2017 第12回名古屋情報セキュリティ勉強会 51
52.
おわりに ? IPv6を気に掛けよう –各ホストではIPv6対応したファイアウォー ルソフトを入れる ?IPv6関連の設定を再度確認する –デフォルトそのままの運用は大穴かも ?全通しや全落としになっている可能性 ? さっさとnative
IPv6を導入してしまうの が実はセキュア化の早道かもしれない –リンクを乗取られる前に先手を打って整備 March 19, 2017 第12回名古屋情報セキュリティ勉強会 52
53.
参考文献 ? Philip Smith,
``IPv6 Security,’’ ITU/APNIC/MICT IPv6 Security Workshop, May 2016. ? 志田智ら, ``マスタリングTCP/IP IPv6編 第2版,’’ オーム社, 2013. ? Scott Hogg, et al., ``IPv6 Security,’’ Cisco Press, 2009. March 19, 2017 第12回名古屋情報セキュリティ勉強会 53
Download