1. DNS/1/UDP/fragmentation

https://en.wikipedia.org/wiki/IP_fragmentation


長いUDP packetが分割されて、組み立て直されるときに、後半をすり替えるのは比較的簡単です。

Amir Herzberg, Haya Shulman: Fragmentation Considered Poisonous

あとはDNS返答としての整合性が問題になるだけです。

https://www.iajapan.org/ipv6/summit/SAPPORO2014/pdf/JPRS_SAPPORO2014.pdf

UDP checksum 0 返答をするサーバ: https://twitter.com/beyondDNS/status/693456707909865474

https://www.menandmice.com/resources/educational-resources/webinars/dns-fragmentation-attacks-the-dangers-of-not-validating-dnssec/

https://dnssec.surfnet.nl/wp-content/uploads/2012/09/Recommendations-for-dealing-with-fragmentation-in-DNS-v3.pdf

2. 脅威

二つ目以降の偽フラグメントを先に送り込む攻撃が可能

キャッシュDNSサーバーの応答ログには攻撃の痕跡が残らない

IP fragmentation attack on DNS

dns-operationでのやりとり https://lists.dns-oarc.net/pipermail/dns-operations/2013-September/010625.html

nxdomain 返答が返るものは使えない。 だが、ワイルドカード設定があると、...

the Kaminsky-attack on top of Shulman-attack is just limited to heavily populated zones (TLDs)
or wildcard domains, since you need a positive response (since you cannot rewrite
RCODE in the packet).

TTLが短いと、攻撃の機会が増える。-- ToshinoriMaeno 2016-02-06 01:19:53

http://www.circleid.com/posts/20130913_on_the_time_value_of_security_features_in_dns/

3. リゾルバーでの対策

unbound option

ただし、手元で試してみたが、512に制限しているようには見えない。確かめる。 -- ToshinoriMaeno 2016-02-07 00:46:49

4. サーバ側での緩和策

返答パケットでの工夫

[draft] DNS message fragments draft-muks-dns-message-fragments-00

5. 仙豆 blog

http://senz.hatenablog.com/entry/2014/03/24/000442

難関はただひとつ、IPヘッダのIdentificationフィールドです。

http://senz.hatenablog.com/entry/2014/05/06/200528

そのエントリではUDPチェックサムをうまくあわせることができず最終的に毒入れを成功させることができませんでした。

6. checksum 0 は危険

きっかけはこのあたり https://twitter.com/muranet/status/688946338965262336?lang=ja