Atacurile DNS reflexive
Un atac DNS reflexiv este folosit în multe atacuri DDoS (distributed denial-of-service) pentru a distruge o conductă de internet. Atacul este un atac în doi pași; atacatorul trimite o cantitate mare de cereri către unul sau mai multe servere DNS legitime, folosind în același timp un IP sursă falsificat al victimei vizate. Serverul DNS care primește solicitările semi-legitime răspunde la IP-ul falsificat, lansând astfel, fără să știe, un atac asupra victimei țintă cu răspunsuri la solicitări pe care victima nu le-a trimis niciodată.
Internetul este plin de servere DNS oferite ca open-resolvers care vor servi orice solicitare care le este trimisă, unele rapoarte numesc milioane ca sumă. Acest număr uriaș face foarte dificilă preidentificarea atacului cu ajutorul reputației IP. Mai mult decât atât, serverele sunt de fapt servere legitime care trimit de obicei trafic legitim, ceea ce face ca orice serviciu de reputație IP să fie confuz cu privire la faptul că natura lor este sau nu malițioasă.
Majoritatea interogărilor DNS sunt trimise folosind UDP, un protocol care nu permite validarea IP-ului sursă. Acesta este motivul pentru care serverul DNS intermediar presupune că solicitările sosesc de la victimă și îi trimite răspunsurile înapoi. Spoofing-ul IP face extrem de dificilă detectarea atacatorului de către serverul victimă, deoarece pare că este atacat de un server DNS legitim, iar IP-ul atacatorului este complet ascuns. IP spoofing-ul invalidează, de asemenea, serviciile de reputație IP, care, dacă nu sunt scrise corespunzător, pot atribui o reputație proastă unui server DNS legitim. De asemenea, elimină orice tractabilitate pentru cei care se așteaptă ca securitatea să încerce să identifice sursa atacului.
Un alt avantaj pentru spoofing este capacitatea de a ataca orice server sau serviciu. Atacatorul poate folosi IP-ul și portul serverului public al victimei pentru a se asigura că atacul este trimis către orice serviciu, nu doar către un serviciu DNS. Traficul va arăta pur și simplu ca o mulțime de date, iar serverul va trebui să analizeze și să examineze datele pentru a se asigura că nu este un trafic legitim.
Rețineți că IP spoofing-ul este, de asemenea, o limitare a acestui atac – dacă IP spoofing-ul nu este posibil, atacul nu poate fi lansat, deoarece nu există nicio modalitate de a direcționa răspunsurile către IP-ul victimei. Acesta este cazul roboților Mirai care rulează pe dispozitive IoT aflate în spatele unui router care efectuează NAT. Cu toate acestea, recentele tactici de infectare Mirai vizează chiar routerele casnice, ocolind astfel limitarea NAT.
Cel mai recent și cel mai mare avantaj care contribuie la potențialul distructiv al inundațiilor DNS reflexive este amplificarea, care poate fi realizată cu ajutorul extensiilor DNS (EDNS0, definite în RFC 2671) și DNSSec. EDNS0 permite ca răspunsul DNS să fie mai mare decât cele 512 permise inițial, în timp ce DNSSec permite autentificarea răspunsului pentru a preveni otrăvirea cache-ului. DNSSec necesită EDNS0 pentru a funcționa, deoarece adaugă date criptografice la răspuns. Având în vedere că DNSSec devine popular în internetul actual, care ține cont de securitate, face ca tot mai multe servere DNS să suporte EDNS0 și permite unui atacator să obțină răspunsuri mari la cererile sale.
Dimensiunea posibilă a răspunsului – până la 4096 octeți, permite atacatorului să trimită un număr mic de cereri scurte, în timp ce răspunsurile trimise de serverul DNS sunt mult amplificate, epuizând conducta de internet a victimei. Atacatorii pot studia serverul DNS și pot afla ce interogări legitime pot duce la răspunsuri mari și, de asemenea, pot folosi DNSSec pentru a le face și mai mari cu date criptografice. În multe cazuri, răspunsul poate ajunge până la maxim 4096 de octeți, ceea ce dă un factor de amplificare de x100 pentru cererea inițială.
Cu conectivitatea mare la internet din zilele noastre, o conexiune de 100 M la internet poate trimite un atac modest de unul singur și totuși poate provoca daune unui site normal. Cu toate acestea, dacă atacatorul are capacitatea de a utiliza acest răspuns uriaș de 4096 de octeți pentru cererea sa de 44 de octeți și de a obține o amplificare de 100x, serverul victimă va primi 10G de trafic de atac, peste lățimea de bandă normală a traficului său. Un astfel de trafic va face ca orice serviciu normal să fie imediat scos din funcțiune. Imaginați-vă ce se poate obține cu un botnet format chiar și din câțiva astfel de roboți.
La dimensiunea răspunsului se adaugă și faptul că astfel de răspunsuri nu pot încăpea într-un pachet IP normal. În astfel de cazuri, serverele folosesc opțiunea IP-fragmentation, care le permite să împartă mesajul în mai multe pachete. Utilizarea traficului fragmentat în atac face ca atenuarea atacului să fie și mai dificilă – atenuatorul trebuie să stocheze datele de nivel 4 ale primului pachet (porturi UDP) într-un tabel și să le aplice la restul pachetelor din același mesaj. Multe entități de rețea sunt epuizate rapid de o mulțime de trafic fragmentat, ceea ce face ca acest atac să fie și mai eficient.
Video-ul atacului de amplificare DNS de pe YouTube al Radware ilustrează grafic structura și fluxul unui atac DNS reflexiv.
După ce ați învățat toate dedesubturile atacului DNS reflexiv, rămâne un singur lucru – cum să protejați o organizație împotriva unui astfel de atac și să îl atenuați? Spre deosebire de sofisticarea atacului în sine, această problemă are o soluție cunoscută – pentru a atenua un atac DNS reflexiv, trebuie să aveți un detector bun la fața locului pentru a detecta rapid atacul și a preveni întreruperea activității. Detectorul ar trebui să fie suficient de inteligent pentru a înțelege că atacul pe care îl vede saturează conexiunea la internet și că trebuie să aibă loc o deviere a traficului către un centru de spălare în cloud. Odată ce traficul este deviat către cloud scrubbing, acesta va fi curățat și trimis către site.
Scrubbing-ul în sine depinde de cantitatea de trafic similar care este considerat legitim – site-ul vede mult trafic UDP? Trafic DNS? Trafic fragmentat? Și dacă da, ce îl deosebește de traficul de atac? Utilizarea unei tehnici automate pentru a separa traficul legitim de cel de atac vă va oferi o atenuare bună și rapidă a cloud-ului și, de asemenea, o oarecare liniște sufletească.
Pentru mai multe informații, consultați blogul meu anterior: DNS și atacurile DNS
Citiți „Creating a Safe Environment for Under-Protected APIs” pentru a afla mai multe.
Download Now
.