== DNS/1/UDP/fragmentation == <> https://en.wikipedia.org/wiki/IP_fragmentation ---- <> 長いUDP packetが分割されて、組み立て直されるときに、後半をすり替えるのは比較的簡単です。  IPヘッダのidentification(16ビット)を一致させられればよい。[[DNS/1/UDP]]   そして、id が予測可能だったりしたケースすらあったと。 Amir Herzberg, Haya Shulman: Fragmentation Considered Poisonous http://arxiv.org/pdf/1205.4011.pdf あとはDNS返答としての整合性が問題になるだけです。 https://www.iajapan.org/ipv6/summit/SAPPORO2014/pdf/JPRS_SAPPORO2014.pdf 攻撃にチェックサムの調整が必要で、「不可能ではない」とあるので、困難だと考えているようだが、  簡単なので、誤解しているのだろう。 UDP checksum 0 返答をするサーバ: https://twitter.com/beyondDNS/status/693456707909865474 https://twitter.com/shuque/status/722411612087455744 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 == 脅威 == 二つ目以降の偽フラグメントを先に送り込む攻撃が可能 キャッシュDNSサーバーの応答ログには攻撃の痕跡が残らない  IP-IDが一致しなかった場合 IP fragmentation attack on DNS https://ripe67.ripe.net/presentations/240-ipfragattack.pdf 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 <> http://www.circleid.com/posts/20130913_on_the_time_value_of_security_features_in_dns/ == リゾルバーでの対策 == unbound option max-udp-sizeを512に制限できる。do-udpをnoにすることも可能。 ただし、手元で試してみたが、512に制限しているようには見えない。確かめる。 -- ToshinoriMaeno <> == サーバ側での緩和策 == 返答パケットでの工夫 [draft] DNS message fragments draft-muks-dns-message-fragments-00 https://tools.ietf.org/html/draft-muks-dns-message-fragments-00 == 仙豆 blog == http://senz.hatenablog.com/entry/2014/03/24/000442 {{{ 難関はただひとつ、IPヘッダのIdentificationフィールドです。 }}} http://senz.hatenablog.com/entry/2014/05/06/200528 {{{ そのエントリではUDPチェックサムをうまくあわせることができず最終的に毒入れを成功させることができませんでした。 }}} == checksum 0 は危険 == きっかけはこのあたり https://twitter.com/muranet/status/688946338965262336?lang=ja