ืžืชืงืคืช DNS SAD ื—ื“ืฉื” ืœื”ื›ื ืกืช ื ืชื•ื ื™ื ืžื–ื•ื™ืคื™ื ืœืžื˜ืžื•ืŸ ื”-DNS

ืฆื•ื•ืช ื—ื•ืงืจื™ื ืžืื•ื ื™ื‘ืจืกื™ื˜ืช ืงืœื™ืคื•ืจื ื™ื”, ืจื™ื‘ืจืกื™ื™ื“ ืคืจืกื ื’ืจืกื” ื—ื“ืฉื” ืฉืœ ืžืชืงืคืช DNS SAD (CVE-2021-20322) ืฉืคื•ืขืœืช ืœืžืจื•ืช ื”ื’ื ื•ืช ืฉื ื•ืกืคื• ื‘ืฉื ื” ืฉืขื‘ืจื” ื›ื“ื™ ืœื—ืกื•ื ืืช ื”ืคื’ื™ืขื•ืช CVE-2020-25705. ื”ืฉื™ื˜ื” ื”ื—ื“ืฉื” ื“ื•ืžื” ื‘ื“ืจืš ื›ืœืœ ืœืคื’ื™ืขื•ืช ืฉืœ ืฉื ื” ืฉืขื‘ืจื” ื•ื”ื™ื ืฉื•ื ื” ืจืง ื‘ืฉื™ืžื•ืฉ ื‘ืกื•ื’ ืื—ืจ ืฉืœ ืžื ื•ืช ICMP ืœื‘ื“ื™ืงืช ื™ืฆื™ืื•ืช UDP ืคืขื™ืœื•ืช. ื”ืžืชืงืคื” ื”ืžื•ืฆืขืช ืžืืคืฉืจืช ื”ื—ืœืคื” ืฉืœ ื ืชื•ื ื™ื ืคื™ืงื˜ื™ื‘ื™ื™ื ืœืชื•ืš ืžื˜ืžื•ืŸ ืฉืจืช ื”-DNS, ืืฉืจ ื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘ื”ื ื›ื“ื™ ืœื”ื—ืœื™ืฃ ืืช ื›ืชื•ื‘ืช ื”-IP ืฉืœ ื“ื•ืžื™ื™ืŸ ืฉืจื™ืจื•ืชื™ ื‘ืžื˜ืžื•ืŸ ื•ืœื”ืคื ื•ืช ื‘ืงืฉื•ืช ืœื“ื•ืžื™ื™ืŸ ืœืฉืจืช ืฉืœ ื”ืชื•ืงืฃ.

ื”ืฉื™ื˜ื” ื”ืžื•ืฆืขืช ืคื•ืขืœืช ืจืง ื‘ืขืจื™ืžืช ื”ืจืฉืช ืฉืœ ืœื™ื ื•ืงืก ื‘ืฉืœ ื”ื—ื™ื‘ื•ืจ ืฉืœื” ืœืžื•ื–ืจื•ื™ื•ืช ืฉืœ ืžื ื’ื ื•ืŸ ืขื™ื‘ื•ื“ ืžื ื•ืช ICMP ื‘ืœื™ื ื•ืงืก, ืฉืคื•ืขืœ ื›ืžืงื•ืจ ืœื“ืœื™ืคืช ื ืชื•ื ื™ื ื”ืžืคืฉื˜ืช ืืช ืงื‘ื™ืขืช ืžืกืคืจ ื™ืฆื™ืืช ื”-UDP ื”ืžืฉืžืฉ ืืช ื”ืฉืจืช ืœืฉืœื™ื—ืช ื‘ืงืฉื” ื—ื™ืฆื•ื ื™ืช. ืฉื™ื ื•ื™ื™ื ืฉื—ื•ืกืžื™ื ื“ืœื™ืคืช ืžื™ื“ืข ืื•ืžืฆื• ืœืชื•ืš ืœื™ื‘ืช ืœื™ื ื•ืงืก ื‘ืกื•ืฃ ืื•ื’ื•ืกื˜ (ื”ืชื™ืงื•ืŸ ื ื›ืœืœ ื‘-kernel 5.15 ื•ืขื“ื›ื•ื ื™ ืกืคื˜ืžื‘ืจ ืœืขื ืคื™ ื”-LTS ืฉืœ ื”ืงืจื ืœ). ื”ืชื™ืงื•ืŸ ืžืกืชื›ื ื‘ืžืขื‘ืจ ืœืฉื™ืžื•ืฉ ื‘ืืœื’ื•ืจื™ืชื ื”ื’ื™ื‘ื•ื‘ ืฉืœ SipHash ื‘ืžื˜ืžื•ื ื™ื ื‘ืจืฉืช ื‘ืžืงื•ื Jenkins Hash. ื ื™ืชืŸ ืœื”ืขืจื™ืš ืืช ืžืฆื‘ ืชื™ืงื•ืŸ ื”ืคื’ื™ืขื•ืช ื‘ื”ืคืฆื•ืช ื‘ื“ืคื™ื ื”ื‘ืื™ื: Debian, RHEL, Fedora, SUSE, Ubuntu.

ืœืคื™ ื”ื—ื•ืงืจื™ื ืฉื–ื™ื”ื• ืืช ื”ื‘ืขื™ื”, ื›-38% ืžื”ืคื•ืชื—ื™ื ื”ืคืชื•ื—ื™ื ื‘ืจืฉืช ืคื’ื™ืขื™ื, ื›ื•ืœืœ ืฉื™ืจื•ืชื™ DNS ืคื•ืคื•ืœืจื™ื™ื ื›ืžื• OpenDNS ื•-Quad9 (9.9.9.9). ื‘ืืฉืจ ืœืชื•ื›ื ืช ืฉืจืช, ื”ืชืงืคื” ื™ื›ื•ืœื” ืœื”ืชื‘ืฆืข ื‘ืืžืฆืขื•ืช ื—ื‘ื™ืœื•ืช ื›ื’ื•ืŸ BIND, Unbound ื•-dnsmasq ืขืœ ืฉืจืช ืœื™ื ื•ืงืก. ื”ื‘ืขื™ื” ืœื ืžื•ืคื™ืขื” ื‘ืฉืจืชื™ DNS ื”ืคื•ืขืœื™ื ื‘ืžืขืจื›ื•ืช Windows ื•-BSD. ื›ื“ื™ ืœื‘ืฆืข ืชืงื™ืคื” ื‘ื”ืฆืœื—ื”, ื™ืฉ ืฆื•ืจืš ืœื”ืฉืชืžืฉ ื‘ื–ื™ื•ืฃ IP, ื›ืœื•ืžืจ. ื ื“ืจืฉ ืฉ-ISP ืฉืœ ื”ืชื•ืงืฃ ืœื ื™ื—ืกื•ื ืžื ื•ืช ืขื ื›ืชื•ื‘ืช IP ืžื–ื•ื™ืคืช ืžืงื•ืจ.

ื›ื–ื›ื•ืจ, ืžืชืงืคืช ื”-DNS ืฉืœ SAD ืขื•ืงืคืช ืืช ื”ื”ื’ื ื•ืช ืฉื ื•ืกืคื• ืœืฉืจืชื™ ื”-DNS ื›ื“ื™ ืœื—ืกื•ื ืืช ืฉื™ื˜ืช ื”ืจืขืœืช ืžื˜ืžื•ืŸ ื”-DNS ื”ืงืœืืกื™ืช ืฉื”ื•ืฆืขื” ื‘-2008 ืขืœ ื™ื“ื™ ื“ืŸ ืงืžื™ื ืกืงื™. ื”ืฉื™ื˜ื” ืฉืœ โ€‹โ€‹ืงืžื™ื ืกืงื™ ืžื‘ืฆืขืช ืžื ื™ืคื•ืœืฆื™ื•ืช ื‘ื’ื•ื“ืœ ื”ื–ืขื™ืจ ืฉืœ ืฉื“ื” ืžื–ื”ื” ืฉืื™ืœืชืช ื”-DNS, ืฉื”ื•ื ืจืง 16 ืกื™ื‘ื™ื•ืช. ื›ื“ื™ ืœื‘ื—ื•ืจ ืืช ืžื–ื”ื” ืขืกืงืช ื”-DNS ื”ื ื›ื•ืŸ ื”ื“ืจื•ืฉ ืœื–ื™ื•ืฃ ืฉื ืžืืจื—, ืžืกืคื™ืง ืœืฉืœื•ื— ื›-7000 ื‘ืงืฉื•ืช ื•ืœื“ืžื•ืช ื›-140 ืืœืฃ ืชื’ื•ื‘ื•ืช ืคื™ืงื˜ื™ื‘ื™ื•ืช. ื”ืžืชืงืคื” ืžืกืชื›ืžืช ื‘ืฉืœื™ื—ืช ืžืกืคืจ ืจื‘ ืฉืœ ืžื ื•ืช ืขื ื›ืจื™ื›ืช IP ืคื™ืงื˜ื™ื‘ื™ืช ื•ืขื ืžื–ื”ื™ ืขืกืงืื•ืช DNS ืฉื•ื ื™ื ืœืคื•ืชืจ ื”-DNS. ื›ื“ื™ ืœืžื ื•ืข ืฉืžื™ืจื” ื‘ืžื˜ืžื•ืŸ ืฉืœ ื”ืชื’ื•ื‘ื” ื”ืจืืฉื•ื ื”, ื›ืœ ืชื’ื•ื‘ืช ื“ืžื” ืžื›ื™ืœื” ืฉื ื“ื•ืžื™ื™ืŸ ืฉื•ื ื” ืžืขื˜ (1.example.com, 2.example.com, 3.example.com ื•ื›ื•').

ื›ื“ื™ ืœื”ื’ืŸ ืžืคื ื™ ืกื•ื’ ื–ื” ืฉืœ ื”ืชืงืคื”, ื™ืฆืจื ื™ ืฉืจืชื™ DNS ื™ื™ืฉืžื• ื—ืœื•ืงื” ืืงืจืื™ืช ืฉืœ ืžืกืคืจื™ื ืฉืœ ื™ืฆื™ืื•ืช ืจืฉืช ืžืงื•ืจ ืฉืžื”ืŸ ื ืฉืœื—ื•ืช ื‘ืงืฉื•ืช ืจื–ื•ืœื•ืฆื™ื”, ืžื” ืฉืคื™ืฆื” ืขืœ ื”ื’ื•ื“ืœ ื”ืœื ืžืกืคื™ืง ืฉืœ ื”ืžื–ื”ื”. ืœืื—ืจ ื”ื˜ืžืขืช ื”ื’ื ื” ืœืฉืœื™ื—ืช ืชื’ื•ื‘ื” ืคื™ืงื˜ื™ื‘ื™ืช, ื‘ื ื•ืกืฃ ืœื‘ื—ื™ืจืช ืžื–ื”ื” ืฉืœ 16 ืกื™ื‘ื™ื•ืช, ื”ื™ื” ืฆื•ืจืš ืœื‘ื—ื•ืจ ื‘ืื—ืช ืžืชื•ืš 64 ืืœืฃ ื™ืฆื™ืื•ืช, ืžื” ืฉื”ื’ื“ื™ืœ ืืช ืžืกืคืจ ืืคืฉืจื•ื™ื•ืช ื”ื‘ื—ื™ืจื” ืœ-2^32.

ืฉื™ื˜ืช SAD DNS ืžืืคืฉืจืช ืœืš ืœืคืฉื˜ ื‘ืื•ืคืŸ ืงื™ืฆื•ื ื™ ืืช ืงื‘ื™ืขืช ืžืกืคืจ ื™ืฆื™ืืช ื”ืจืฉืช ื•ืœื”ืคื—ื™ืช ืืช ื”ื”ืชืงืคื” ืœืฉื™ื˜ืช ืงืžื™ื ืกืงื™ ื”ืงืœืืกื™ืช. ืชื•ืงืฃ ื™ื›ื•ืœ ืœื–ื”ื•ืช ื’ื™ืฉื” ืœื™ืฆื™ืื•ืช UDP ืฉืื™ื ืŸ ื‘ืฉื™ืžื•ืฉ ื•ืคืขื™ืœื•ืช ืขืœ ื™ื“ื™ ื ื™ืฆื•ืœ ืžื™ื“ืข ืฉื“ืœืฃ ืขืœ ื”ืคืขื™ืœื•ืช ืฉืœ ื™ืฆื™ืื•ืช ืจืฉืช ื‘ืขืช ืขื™ื‘ื•ื“ ืžื ื•ืช ืชื’ื•ื‘ื” ืฉืœ ICMP. ื”ืฉื™ื˜ื” ืžืืคืฉืจืช ืœื ื• ืœื”ืงื˜ื™ืŸ ืืช ืžืกืคืจ ืืคืฉืจื•ื™ื•ืช ื”ื—ื™ืคื•ืฉ ื‘-4 ืกื“ืจื™ ื’ื•ื“ืœ - 2^16+2^16 ื‘ืžืงื•ื 2^32 (131_072 ื‘ืžืงื•ื 4_294_967_296). ื“ืœื™ืคืช ื”ืžื™ื“ืข ื”ืžืืคืฉืจืช ืœืงื‘ื•ืข ื‘ืžื”ื™ืจื•ืช ื™ืฆื™ืื•ืช UDP ืคืขื™ืœื•ืช ื ื’ืจืžืช ื‘ืฉืœ ืคื’ื ื‘ืงื•ื“ ืœืขื™ื‘ื•ื“ ืžื ื•ืช ICMP ืขื ื‘ืงืฉื•ืช ืคื™ืฆื•ืœ (ICMP Fragmentation Needed flag) ืื• ื ื™ืชื•ื‘ ืžื—ื“ืฉ (ICMP Redirect flag). ืฉืœื™ื—ืช ืžื ื•ืช ื›ืืœื” ืžืฉื ื” ืืช ืžืฆื‘ ื”ืžื˜ืžื•ืŸ ื‘ืขืจื™ืžืช ื”ืจืฉืช, ืžื” ืฉืžืืคืฉืจ ืœืงื‘ื•ืข, ืขืœ ืกืžืš ืชื’ื•ื‘ืช ื”ืฉืจืช, ืื™ื–ื• ื™ืฆื™ืืช UDP ืคืขื™ืœื” ื•ืื™ื–ื• ืœื.

ืชืจื—ื™ืฉ ื”ืชืงืคื”: ื›ืืฉืจ ืคื•ืชืจ DNS ืžื ืกื” ืœืคืชื•ืจ ืฉื ื“ื•ืžื™ื™ืŸ, ื”ื•ื ืฉื•ืœื— ืฉืื™ืœืชืช UDP ืœืฉืจืช ื”-DNS ื”ืžืฉืจืช ืืช ื”ื“ื•ืžื™ื™ืŸ. ื‘ื–ืžืŸ ืฉื”ืคื•ืชืจ ืžืžืชื™ืŸ ืœืชื’ื•ื‘ื”, ืชื•ืงืฃ ื™ื›ื•ืœ ืœืงื‘ื•ืข ื‘ืžื”ื™ืจื•ืช ืืช ืžืกืคืจ ื™ืฆื™ืืช ื”ืžืงื•ืจ ืฉืฉื™ืžืฉ ืœืฉืœื™ื—ืช ื”ื‘ืงืฉื” ื•ืœืฉืœื•ื— ืืœื™ื” ืชื’ื•ื‘ื” ืžื–ื•ื™ืคืช, ืชื•ืš ื”ืชื—ื–ื•ืช ืœืฉืจืช ื”-DNS ื”ืžืฉืจืช ืืช ื”ื“ื•ืžื™ื™ืŸ ื‘ืืžืฆืขื•ืช ื–ื™ื•ืฃ ื›ืชื•ื‘ื•ืช IP. ืคื•ืชืจ ื”-DNS ื™ืฉืžื•ืจ ื‘ืžื˜ืžื•ืŸ ืืช ื”ื ืชื•ื ื™ื ืฉื ืฉืœื—ื• ื‘ืชื’ื•ื‘ื” ื”ืžื–ื•ื™ืคืช ื•ืœืžืฉืš ื–ืžืŸ ืžื” ื™ื—ื–ื™ืจ ืืช ื›ืชื•ื‘ืช ื”-IP ืฉื”ื•ื—ืœืคื” ืขืœ ื™ื“ื™ ื”ืชื•ืงืฃ ื‘ื›ืœ ืฉืืจ ื‘ืงืฉื•ืช ื”-DNS ืขื‘ื•ืจ ืฉื ื”ื“ื•ืžื™ื™ืŸ.

ืžืงื•ืจ: OpenNet.ru

ื”ื•ืกืคืช ืชื’ื•ื‘ื”