SAD DNS: un atac per substituir dades falses en la memòria cau de DNS

Un grup de investigadors de la Universitat de Tsinghua i la Universitat de Califòrnia a Riverside han desenvolupat un nou tipus d'atac que permet la substitució de dades falses en la memòria cau de servidor DNS, que poden usar-se per falsificar l'adreça IP d'un domini arbitrari i redirigir les trucades a l'domini a servidor de l'atacant.

L'atac evita la protecció agregada als servidors DNS per bloquejar el mètode clàssic d'enverinament de la memòria cau de DNS proposat en 2008 per Dan Kaminsky.

El mètode de Kaminsky manipula la mida insignificant de camp d'identificació de la consulta de DNS, que és només de 16 bits. Per trobar l'identificador correcte necessari per suplantar el nom d'amfitrió, només cal enviar unes 7.000 sol·licituds i simular unes 140.000 respostes falses.

L'atac es redueix a enviar una gran quantitat de paquets falsos vinculats a IP a l'resolutor de DNS amb diferents identificadors de transaccions de DNS. Per evitar que la primera resposta s'emmagatzemi en memòria cau, en cada resposta falsa s'especifica un nom de domini lleugerament modificat.

Per protegir-se contra aquest tipus d'atac, Els fabricants de servidors DNS van implementar una distribució aleatòria dels números dels ports de la xarxa d'origen des dels que s'envien les sol·licituds de resolució, el que va compensar la mida de l'identificador insuficientment gran (per enviar una resposta fictícia, a més de seleccionar un identificador de 16 bits, es va fer necessari seleccionar un 64 mil ports, que va augmentar el nombre d'opcions per a la selecció a 2 ^ 32).

l'atac SAD DNS simplifica dràsticament la identificació de ports a l'aprofitar l'activitat filtrada en els ports de xarxa. El problema es manifesta en tots els sistemes operatius (Linux, Windows, macOS i FreeBSD) i quan s'utilitzen diferents servidors DNS (BIND, Unbound, dnsmasq).

S'afirma que el 34% de tots els solucionadors oberts són atacats, així com 12 dels 14 principals serveis DNS provats, inclosos els serveis 8.8.8.8 (Google), 9.9.9.9 (Quad9) i 1.1.1.1 (CloudFlare), així com 4 de 6 encaminadors provats de fabricants reconeguts.

El problema es deu a la peculiaritat de la formació de paquets de resposta ICMP, que permet determinar l'accés a ports de xarxa actius i no utilitzats a través d'UDP. Aquesta funció permet escanejar molt ràpidament els ports UDP oberts i ometre de manera efectiva la protecció basada en una selecció aleatòria de ports de xarxa d'origen, el que redueix el nombre d'opcions de força bruta a 2 ^ 16 + 2 ^ 16 en lloc de 2 ^ 32.

La font de el problema és el mecanisme per limitar la intensitat de l'enviament de paquets ICMP a la pica de la xarxa, que utilitza un valor de comptador predictible, a partir d'el qual comença la limitació d'enviament. Aquest comptador és comú per a tot el trànsit, Inclòs el trànsit fals de l'atacant i el trànsit real. Per defecte, en Linux, les respostes ICMP estan limitades a 1000 paquets per segon. Per a cada sol·licitud que arriba a un port de xarxa tancat, la pila de xarxa incrementa el comptador a 1 i envia un paquet ICMP amb dades de l'port inabastable.

Per tant, si envia 1000 paquets a diferents ports de xarxa, tots els quals estan tancats, el servidor restringirà l'enviament de respostes ICMP durant un segon i l'atacant pot estar segur que no hi ha ports oberts entre els 1000 ports buscats. Si s'envia un paquet a un port obert, el servidor no retornarà una resposta ICMP i no canviarà el valor de l'comptador, és a dir, després que s'enviïn 1000 paquets, no s'aconseguirà el límit de taxa de resposta.

Atès que els paquets falsos es duen a terme des d'una IP falsa, l'atacant no pot rebre respostes ICMP, però gràcies a el comptador total, després de cada 1000 paquets falsos, pot enviar una sol·licitud a un port inexistent des d'una IP real i avaluar la arribada de la resposta; si la resposta va arribar, llavors en un dels 1000 paquets. Cada segon, un atacant pot enviar 1000 paquets falsos a diferents ports i determinar ràpidament en quin bloc es troba el port obert, després reduir la selecció i determinar un port específic.

El nucli de Linux resol el problema amb un pegat que aleatoriza els paràmetres per limitar la intensitat de l'enviament de paquets ICMP, el que introdueix soroll i minimitza la fuga de dades a través de canals laterals.

font: https://www.saddns.net/


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: AB Internet Networks 2008 SL
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.