jp.sharp について

IIJ/DNSOPS.jp幹事
島村 充<simamura@iij.ad.jp>©Internet Initiative Japan Inc.

なにが起こった︖

10/22 時刻不明(少なくとも17時以前)〜10/27 19時頃︖
マスクが買えねーぞ (#ﾟДﾟ)ｺﾞﾙｧ!!
jp.sharp が名前解決できません︕©Internet Initiative Japan Inc.

構成の推測[a-m].root-servers.net.

sharp.
jp.sharp.
IN CNAME …

sharp.
sharp.

jp.sharp.
(ns1|gt1).sharp.co.jp[abkl].gmoregistry.net©Internet Initiative Japan Inc.

構成の推測問題発⽣前、及び復旧後$ORIGIN sharp.
@

IN SOA …

@@

IN NS ns1.sharp.co.jp.
IN NS tg1.sharp.co.jp.

jp

IN CNAME ualsharp.hs.llnwd.net.

zone apexにCDNを被せたい…(CNAME書きたい) 「あるあるあるある」
でも、zone apexにCNAMEは書けない…。
せや︕親ドメインでzone cutすればええやろ︕©Internet Initiative Japan Inc.

問題発⽣時

せや︕DNSSEC署名したろ︕︕ RRSIG jp.sharp/CNAME alg 8, id 26718:
The Signer's Name field of the RRSIG RR(sharp) does not match the name of thezone containing the RRset (jp.sharp).
$ORIGIN sharp.
@

IN SOA …

@@

IN NS ns1.sharp.co.jp.
IN NS tg1.sharp.co.jp.

jpjp

IN CNAME ualsharp.hs.llnwd.net.
IN RRSIG CNAME …

©Internet Initiative Japan Inc.

はて…︖RRSIGは追加されたが、対応するDNSKEYがない。
しかし、上位ゾーンにDSの登録もない。
…あれ︖これってbogus(SERVFAIL)になるの…︖⇨ BIND, PowerDNS recursor, Knot resolverではならない。
Unboundはbogusになる
う、うーん…
⇨ tss先⽣がunbound-usersに突撃するも、碌な応答がない
RFC的にはどうなるべきなの︖ 教えて︕詳しい⼈︕︕©Internet Initiative Japan Inc.

ちなみに(新g?)TLDのzoneにはCNAMEレコード書いてはいけないらしいです

thanks JPRS 阿波連さん

https://newgtlds.icann.org/sites/default/files/agreements/agreement-approved-31jul17-en.pdf#page=40©Internet Initiative Japan Inc.

どうしていればよかったのか︖

そもそも、ちゃんとRRSIGとDNSKEYをセットで登録する
1. CNAME Flattingに対応した権威DNS(サービス)
2. HTTPS (Type65) RR
⽇本語解説: HTTPSの接続情報を通知する “HTTPS DNSレコード” の提案仕様@ IN HTTPS 0 cdn.example.com.
まだ使われはじめの段階
l iOS 14l Chrome
⼿元のWindows, Linuxでは確認できず
l フルサービスリゾルバには結構な割合来ているl

A: 57% AAAA: 29% HTTPS: 12%©Internet Initiative Japan Inc.

そもそもzone apexにCNAMEは書けない事になっているけど、書くとどんな実害が⽣じるの︖(つぶら教えて︕詳しい⼈︕︕©Internet Initiative Japan Inc.

ところで©Internet Initiative Japan Inc.

SAD DNSについて

IIJ/DNSOPS.jp幹事
島村 充<simamura@iij.ad.jp>©Internet Initiative Japan Inc.

⼤元と参考サイト

https://www.saddns.net/
SAD DNSのICMP rate limitを⽤いた
サイドチャネル攻撃について - knqyf263's blog
https://knqyf263.hatenablog.com/entry/2020/11/19/200900
このスライドは8割knqyf263⽒のblog記事をまとめただけです
最後に疑問点を書いていますが。

©Internet Initiative Japan Inc.

3 4⾏で新しいDNS Cache poisoning⼿法
DNS応答パケットのエントロピー:
TXID(2^16) * source port数(65535-1024) ≈ 2^32
source port番号を推測(同定)することで、エントロピーを2^16+2^16 (=2^17) に下げられる
推測⽅法: ICMP port unreachableと、そのrate limitを利⽤(サイドチャネル攻撃)©Internet Initiative Japan Inc.

source portの推測⽅法 (1)1. 空いてないportにUDPパケットを投げつけるとICMP portunreachableが返る
しかし、これにはrate limitがかかっていて、Linuxではデフォ
ルト50packet/20msec

2. 20msec以内に、ばらばらのsrc IPで、50個の異なるdstportにパケットを投げる (rate limit上限に達する)
3. その後、攻撃者のsrc IPで確実に閉じてるであろうdstportにパケットを投げる⇨ port unreachが返ってこない → 50個全部閉じている
port unreachが返ってくる → 50個の中に空いている
portが1つはある©Internet Initiative Japan Inc.

source portの推測⽅法 (2)あとは⼆分探索などをする
1秒で1000port程度scan可能→ 65535-1024 スキャンするのに64.5秒かかる
スキャン中に正規の権威DNSサーバからの応答パケットが届いてしまうと、おじゃん。
フルサービスリゾルバのクエリを送出しているIPアドレスをsrc IPとして(偽装) 、正規権威DNSサーバに⼤量にクエリを送る
正規権威DNSサーバはRRLを発動させて、応答を⼀定割合で破棄する → 応答の遅延を引き起こし、その間を狙う©Internet Initiative Japan Inc.

影響

みんな⼤好きRHEL/CentOSでは• 6: global rate limitがないので影響なし• 7: 3.10系だが影響あり 8: 影響あり
What versions of the operating system were affected?
• Linux 3.18-5.10 ⇦ 5.9だと思う• Windows Server 2019 (version 1809) and newer (*)• macOS 10.15 and newer (*)• FreeBSD 12.1.0 and newer (*)*: we did not test older versions©Internet Initiative Japan Inc.

対策

DNSSEC (SERVFAILは…)
dns0x20
DNS Cookie
送信側のICMP port unreachableを無効化(遮断)ICMP(v6)を全部遮断してはダメです (とくにIPv6)
ICMP port unreachableのrate limitのランダム化
Linux 5.10にて導⼊ (まだRC…)©Internet Initiative Japan Inc.

疑問点

「RRLによって権威DNSサーバの応答が来る前にsource portを推測して、偽の応答を送りつけることが可能」って本当に︖
BINDのRRLの発動具合: (初期実装で、今は違う可能性あり)
設定値を超える割合でresponseを返す場合、半分はdropし、半分はTC bitをonにした応答を返す
TC bit onの応答パケットを受け取ったリゾルバのUDP portは閉じますよね…︖
あと、source portわかっても、1packetで攻略できるわけではない(TXID: 2^16)ので、更に時間が必要
権威DNSをDDoSなどで落として、全く応答が返ってこないのなら、じっくり料理可能©Internet Initiative Japan Inc.

疑問点

ロス率50%でも、20回中9回は毒⼊れできた︖「Alexa top 10kのうち、ロス率66.7%を超えたのは、1kppsで13%, 4kppsで18%もあったよ」︖©Internet Initiative Japan Inc.

DNS Flag Day 2020

IIJ/DNSOPS.jp幹事
島村 充<simamura@iij.ad.jp>©Internet Initiative Japan Inc.

なんだっけ︖

IPフラグメンテーションアタックを喰らいにくいように、ENDS Buffer sizeを1232byteに下げましょう
みなさん、やりました︖©Internet Initiative Japan Inc.