Атака NXNSAttack, Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°ΡŽΡ‰Π°Ρ всС DNS-Ρ€Π΅Π·ΠΎΠ»Π²Π΅Ρ€Ρ‹

Π“Ρ€ΡƒΠΏΠΏΠ° исслСдоватСлСй ΠΈΠ· ВСль-Авивского унивСрситСта ΠΈ ΠœΠ΅ΠΆΠ΄ΠΈΡΡ†ΠΈΠΏΠ»ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ Ρ†Π΅Π½Ρ‚Ρ€Π° Π² Π“Π΅Ρ€Ρ†Π»ΠΈΠΈ (Π˜Π·Ρ€Π°ΠΈΠ»ΡŒ) Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π»Π° Π½ΠΎΠ²Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π°Ρ‚Π°ΠΊΠΈ NXNSAttack (PDF), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π»ΡŽΠ±Ρ‹Π΅ DNS-Ρ€Π΅Π·ΠΎΠ»Π²Π΅Ρ€Ρ‹ Π² качСствС усилитСлСй Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ усилСния Π΄ΠΎ 1621 Ρ€Π°Π· ΠΏΠΎ числу ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² (Π½Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹ΠΉ ΠΊ Ρ€Π΅Π·ΠΎΠ»Π²Π΅Ρ€Ρƒ запрос, ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ Π½Π° сСрвСр ΠΆΠ΅Ρ€Ρ‚Π²Ρ‹ 1621 запрос) ΠΈ Π΄ΠΎ 163 Ρ€Π°Π· ΠΏΠΎ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΡƒ.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° связана с особСнностями Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° ΠΈ Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°Π΅Ρ‚ всС DNS-сСрвСры, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ Ρ€Π΅ΠΊΡƒΡ€ΡΠΈΠ²Π½ΡƒΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ запросов, Π² Ρ‚ΠΎΠΌ числС BIND (CVE-2020-8616), Knot (CVE-2020-12667), PowerDNS (CVE-2020-10995), Windows DNS Server ΠΈ Unbound (CVE-2020-12662), Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹Π΅ DNS-сСрвисы Google, Cloudflare, Amazon, Quad9, ICANN ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ. Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π±Ρ‹Π»ΠΎ скоординировано с Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ DNS-сСрвСров, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ выпустили обновлСния с устранСниСм уязвимости Π² своих ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°Ρ…. Π—Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ Π°Ρ‚Π°ΠΊΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π² выпусках
Unbound 1.10.1, Knot Resolver 5.1.1, PowerDNS Recursor 4.3.1, 4.2.2, 4.1.16, BIND 9.11.19, 9.14.12, 9.16.3.

Атака основываСтся Π½Π° использовании Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰ΠΈΠΌ запросов, ΡΡΡ‹Π»Π°ΡŽΡ‰ΠΈΡ…ΡΡ Π½Π° большоС число Ρ€Π°Π½Π΅Π΅ Π½Π΅ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°Π²ΡˆΠΈΡ…ΡΡ Ρ„ΠΈΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… NS-записСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ дСлСгируСтся ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½ΠΈ, Π½ΠΎ Π±Π΅Π· указания Π² ΠΎΡ‚Π²Π΅Ρ‚Π΅ glue-записСй с ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎΠ± IP-адрСсах NS-сСрвСров. НапримСр, Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰ΠΈΠΉ отправляСт запрос Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½ΠΈ sd1.attacker.com, контролируя DNS-сСрвСр, ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΠΉ Π·Π° Π΄ΠΎΠΌΠ΅Π½ attacker.com. Π’ ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ Ρ€Π΅Π·ΠΎΠ»Π²Π΅Ρ€Π° ΠΊ DNS-сСрвСру Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰Π΅Π³ΠΎ, выдаётся ΠΎΡ‚Π²Π΅Ρ‚, Π΄Π΅Π»Π΅Π³ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ адрСса sd1.attacker.com DNS-сСрвСру ΠΆΠ΅Ρ€Ρ‚Π²Ρ‹ Ρ‡Π΅Ρ€Π΅Π· ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ Π² ΠΎΡ‚Π²Π΅Ρ‚Π΅ NS-записСй Π±Π΅Π· Π΄Π΅Ρ‚Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ IP NS-сСрвСров. Π’Π°ΠΊ ΠΊΠ°ΠΊ упомянутый NS-сСрвСр Ρ€Π°Π½Π΅Π΅ Π½Π΅ встрСчался ΠΈ Π΅Π³ΠΎ IP-адрСс Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½, Ρ€Π΅Π·ΠΎΠ»Π²Π΅Ρ€ пытаСтся ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ IP-адрСс NS-сСрвСра, Π½Π°ΠΏΡ€Π°Π²ΠΈΠ² запрос ΠΊ DNS-сСрвСру ΠΆΠ΅Ρ€Ρ‚Π²Ρ‹, ΠΎΠ±ΡΠ»ΡƒΠΆΠΈΠ²Π°ΡŽΡ‰Π΅ΠΉ Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Π΄ΠΎΠΌΠ΅Π½ (victim.com).

Атака NXNSAttack, Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°ΡŽΡ‰Π°Ρ всС DNS-Ρ€Π΅Π·ΠΎΠ»Π²Π΅Ρ€Ρ‹

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π΄Π°Ρ‚ΡŒ Π² ΠΎΡ‚Π²Π΅Ρ‚Π΅ ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹ΠΉ список Π½Π΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΡ…ΡΡ NS-сСрвСров с Π½Π΅ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ Ρ„ΠΈΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ΠΏΠΎΠ΄Π΄ΠΎΠΌΠ΅Π½ΠΎΠ² ΠΆΠ΅Ρ€Ρ‚Π²Ρ‹ (fake-1.victim.com, fake-2.victim.com,… fake-1000.victim.com). Π Π΅Π·ΠΎΠ»Π²Π΅Ρ€ попытаСтся ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ запрос DNS-сСрвСру ΠΆΠ΅Ρ€Ρ‚Π²Ρ‹, Π½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ ΠΎΡ‚Π²Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π΄ΠΎΠΌΠ΅Π½ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½, послС Ρ‡Π΅Π³ΠΎ попытаСтся ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ NS-сСрвСр Π² спискС ΠΈ Ρ‚Π°ΠΊ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ ΠΏΠ΅Ρ€Π΅Π±Π΅Ρ€Ρ‘Ρ‚ всС пСрСчислСнныС Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰ΠΈΠΌ NS-записи. БоотвСтствСнно, Π½Π° ΠΎΠ΄ΠΈΠ½ запрос Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰Π΅Π³ΠΎ Ρ€Π΅Π·ΠΎΠ»Π²Π΅Ρ€ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½ΠΎ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ число запросов для опрСдСлСния NS-хостов. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π° NS-сСрвСров Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‚ΡΡ случайно ΠΈ ΡΡΡ‹Π»Π°ΡŽΡ‚ΡΡ Π½Π° Π½Π΅ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠΎΠ΄Π΄ΠΎΠΌΠ΅Π½Ρ‹, ΠΎΠ½ΠΈ Π½Π΅ ΠΈΠ·Π²Π»Π΅ΠΊΠ°ΡŽΡ‚ΡΡ ΠΈΠ· кэша ΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ запрос Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΡˆΠΊΠ²Π°Π»Ρƒ запросов ΠΊ DNS-сСрвСру, ΠΎΠ±ΡΠ»ΡƒΠΆΠΈΠ²Π°ΡŽΡ‰Π΅ΠΌΡƒ Π΄ΠΎΠΌΠ΅Π½ ΠΆΠ΅Ρ€Ρ‚Π²Ρ‹.

Атака NXNSAttack, Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°ΡŽΡ‰Π°Ρ всС DNS-Ρ€Π΅Π·ΠΎΠ»Π²Π΅Ρ€Ρ‹

Π˜ΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΈΠ·ΡƒΡ‡ΠΈΠ»ΠΈ ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ подвСрТСнности ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹Ρ… DNS-Ρ€Π΅Π·ΠΎΠ»Π²Π΅Ρ€ΠΎΠ² ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠ»ΠΈ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ΅ запросов Ρ€Π΅Π·ΠΎΠ»Π²Π΅Ρ€Ρƒ CloudFlare (1.1.1.1) ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ приумноТСния числа ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² (PAF, Packet Amplification Factor) Π² 48 Ρ€Π°Π·, Google (8.8.8.8) — 30 Ρ€Π°Π·, FreeDNS (37.235.1.174) — 50 Ρ€Π°Π·, OpenDNS (208.67.222.222) — 32 Ρ€Π°Π·Π°. Π‘ΠΎΠ»Π΅Π΅ Π·Π°ΠΌΠ΅Ρ‚Π½Ρ‹Π΅ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ Π½Π°Π±Π»ΡŽΠ΄Π°ΡŽΡ‚ΡΡ для
Level3 (209.244.0.3) — 273 Ρ€Π°Π·Π°, Quad9 (9.9.9.9) — 415 Ρ€Π°Π·
SafeDNS (195.46.39.39) — 274 Ρ€Π°Π·Π°, Verisign (64.6.64.6) — 202 Ρ€Π°Π·Π°,
Ultra (156.154.71.1) — 405 Ρ€Π°Π·, Comodo Secure (8.26.56.26) — 435 Ρ€Π°Π·, DNS.Watch (84.200.69.80) — 486 Ρ€Π°Π·, ΠΈ Norton ConnectSafe (199.85.126.10) — 569 Ρ€Π°Π·. Для сСрвСров Π½Π° Π±Π°Π·Π΅ BIND 9.12.3 Π·Π° счёт распараллСливания запросов ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ усилСния ΠΌΠΎΠΆΠ΅Ρ‚ Π΄ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π΄ΠΎ 1000. Π’ Knot Resolver 5.1.0 ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ усилСния составляСт ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ нСсколько дСсятков Ρ€Π°Π· (24-48), Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ NS-ΠΈΠΌΡ‘Π½ выполняСтся ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈ упираСтся Π²ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π½Π° число шагов Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΈΠΌΡ‘Π½, допустимых для ΠΎΠ΄Π½ΠΎΠ³ΠΎ запроса.

Π’Ρ‹Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π΄Π²Π΅ основныС стратСгии Π·Π°Ρ‰ΠΈΡ‚Ρ‹. Для систСм с DNSSEC ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ RFC-8198 для прСдотвращСния ΠΎΠ±Ρ…ΠΎΠ΄Π° кэша DNS, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ запросы ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ со случайными ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ. Π‘ΡƒΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π² Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π΅Π³Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ² Π±Π΅Π· обращСния ΠΊ Π°Π²Ρ‚ΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π½Ρ‹ΠΌ DNS-сСрвСрам, примСняя ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ ΠΏΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°ΠΌ Ρ‡Π΅Ρ€Π΅Π· DNSSEC. Π‘ΠΎΠ»Π΅Π΅ простым способом являСтся ограничСния числа ΠΈΠΌΡ‘Π½, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π΄Π΅Π»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ запроса, Π½ΠΎ Ρ‚Π°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌ с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ конфигурациями, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π»ΠΈΠΌΠΈΡ‚Ρ‹ Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ Π² ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π΅.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru