Atacul asupra dns sau coșmar administrator de rețea

Atac pe DNS
sau
administrator de rețea Nightmare

Fiind unul dintre elementele-cheie ale rețelelor de infrastructură bazate pe IP, Domain Name Service (DNS), în același timp, ceea ce nu este ideal în ceea ce privește securitatea informațiilor. Utilizarea unui protocol de transport fără a stabili un canal virtual (UDP), lipsa mijloacelor încorporate de identificare, autentificare și control al accesului face vulnerabile la atacuri de la distanță de diferite tipuri.

Acest articol discută despre atacul de la distanță Intersegment pe DNS-server nu are nevoie de nici un mediu dur și permite o implementare practică eficientă.

1. DNS șopârliță vizualizare

Sursa principală de informații despre fiecare domeniu este responsabil pentru domeniul DNS-server (de fapt, pot exista mai multe). Responsabilitatea pentru partea de informații de domeniu (subdomeniile) pot fi delegate altor servere

Partea de client este numit DNS resolver (resolver), accesul la care se obține prin intermediul aplicațiilor API sistemul de operare. Atunci când interacționează cu serverul resolver este utilizat ca protocolul UDP de transport, care nu include formarea unui canal virtual. Cererile generate resolver sunt recursive, adică, ca răspuns la o interogare este returnat sau informațiile solicitate, sau mesajul său absență.

Primirea unei cereri de la serverul resolver fie returnează un răspuns imediat (în funcție de disponibilitatea informațiilor dorite în baza de date locală), sau generează o cerere către un alt server. Această solicitare, de obicei, este iterativ și, în contrast cu recursive, permite un răspuns sub forma unui link către un alt server, care este mai bine informat cu privire la locul de amplasare a informațiilor dorite.

În general, căutarea începe cu serverul rădăcină, care returnează informații despre serverele responsabile pentru domeniile de nivel superior, apoi, o nouă interogare iterativ la una dintre aceste servere, etc. Rezultatul unei astfel de lanț de întrebări și răspunsuri este fie obține informațiile dorite, fie să încheie absența sa, iar răspunsul rezultat este returnat rezolver. Toate serverul acumulate în timpul informațiilor de operare este stocat în cache pentru a accelera service solicitări ulterioare și pentru a minimiza traficul în rețea.

2. Inter-segmente de atac la distanță pe DNS-server

Dacă există posibilitatea unui atacator de a intercepta mesajele schimbate între client și server (atac intersegment) punerea în aplicare a atacului nu reprezintă nici o dificultate. Cu toate acestea, această opțiune nu este o mulțime de interes practic, deoarece posibilitatea de atac intersegment presupune o anumită locație a clientului mutual, server și gazda atacator (de exemplu, atacatorul și cota țintă DNS-server de același mediu de transmisie fizică), care se realizează în practică destul de rare.

Mult mai frecvent caz este atacul Intersegment nu este necesară pentru punerea în aplicare astfel de condiții aspre. Din acest motiv, ne vom concentra pe luarea în considerare a acestei clase particulare de atacuri de la distanță de atât interesul academic și practic.

Este evident că punerea în aplicare a primelor și a patra condiție nu este pentru a ataca prea mare dificultate. Al doilea și al treilea raport cu situația este mult mai complicată, deoarece în cazul atacurilor inter-segmente atacatorul nu este posibil de a intercepta cererea inițială și „spion“ parametrii necesari.

Cele mai multe dintre implementarile DNS-server utilizate în prezent (BIND4, MS DNS) este utilizat pentru portul de ieșire 53, astfel că poate fi „noroc“ trimite un răspuns greșit la acest port. Cu toate acestea, această metodă nu va funcționa întotdeauna ca, de exemplu, bind8 poate folosi orice port neprivilegiat selectat în mod aleatoriu pentru interogări de ieșire.

Identificatorul (ID) interogare este un număr de doi octeți indicat de server în cererea, în scopul de a identifica în mod unic un răspuns la solicitare. Acest număr este incrementat cu fiecare nouă solicitare. Nu se cunoaște valoarea curentă de identificare conduce la necesitatea de a trimite multitudinea de răspunsuri false cu diferite valori id.

Este acest fapt face ca punerea în practică a acestui atac este foarte dificil să pună în aplicare. Într-adevăr, răspunsul fals care urmează să fie obținute în serverul țintă intervalul de timp de la trimiterea unei solicitări la momentul sosirii răspunsului de la server, care, în practică, nu este mai mult de câteva secunde. În această perioadă de timp atacator trebuie să trimită 216 răspunsuri false la toate valorile posibile ale id, în cazul în portul de ignoranță, această cifră crește chiar de zeci de ori. Deoarece dimensiunea IP-pachet care conține răspunsul fals, este de aproximativ 100 de octeți, care, în cele mai multe cazuri, să fie impracticabile înainte de a ataca sarcina, plus câteva megabytes de informații pentru câteva secunde.

3. Metoda de determinare a numărului de port și identificatorul curent de solicitări

În prezența atacului de server controlat descris poate fi modificat după cum urmează. Să presupunem pentru definiteness că controalele de atacator ns.hacker.com server. responsabil pentru domeniul hacker.com. În prima fază a atacului vom provoca serverul ns.victim.com de a face apel la ns.hacker.com prin trimiterea unei interogări recursiv pentru a căuta informații cu privire la orice nume (nu neapărat real) în hacker.com domeniu. Deoarece ns.hacker.com se află sub controlul atacatorului, acesta poate intercepta cererea și de a prelua informații de la ea cu privire la numărul de port și ID-ul curent.

Următoarele două faze ale atacului nu diferă de cele descrise, cu singura diferență că acum atacator suficient pentru a trimite câteva fals pozitive, pentru că el știe numărul de port și poate prezice foarte precis valoarea de identificare cerere ns.coolsite.com.

4. Metoda de provocare indirectă

Este clar că o condiție necesară pentru succesul acestui atac este abilitatea de a trimite interogări recursive la serverul țintă, provocând-l să apeleze la alte servere, în scopul de a găsi informațiile solicitate. În principiu, este posibil să se configureze DNS-server, astfel încât acesta va accepta interogări recursive numai de la clienții „lor“ (gazdă, rezolvere care sunt configurate pentru a utiliza acel server). În acest caz, punerea în aplicare a atacului devine imposibilă.

În scopul de a lucra în jurul valorii de această limitare, vă poate oferi o metodă simplă, care se numește convențional „provocare indirectă.“ Ideea de bază a acestei metode este utilizarea oricărui serviciu public, care este un client al țintă DNS-server, pentru a crea cererea provocatoare necesară. Candidatul cel mai potrivit apare la un server de e-mail public, care prin definiție trebuie să accepte conexiuni de la orice computer pe Internet. Să presupunem că rezolvitorul mail.victim.com calculator este configurat pentru a utiliza ns.victim.com server. acesta din urmă acceptă interogări recursive numai din domeniul victim.com. Următorul dialog ns.victim.com caută informații în numele any-name.any-domain.com-provocatoare SMTP:

Astfel, aplicarea metodei de „provocare indirectă“ permite atac direct, fără a trimite cereri către țintă DNS-server.

5. Deoarece există epidemii

În condiții normale, un atac de succes duce la o „contaminare“ a unui anumit server de cache, și zona de distribuție a informațiilor false este limitată doar de către clienții săi. Cu toate acestea, în cazul în care există o situație de „delegare incorectă“ (delegare lame), care rezultă din erorile de administrare pot propaga informații false către alte servere, ceea ce va duce la un nivel global „infecție“.

Prin delegare necorespunzătoare a înțeles situația, în cazul în care responsabilitatea pentru domeniul este delegată la server care nu are o copie locală a informațiilor de domeniu. Aceasta conduce la faptul că, în răspuns la interogări iterative la alte servere în loc de informațiile solicitate, aceasta returnează o referință la celălalt server (și, uneori, se) că, din punctul de vedere al serverului, au informațiile necesare.

caracteristică Neplăcut a acestui scenariu este incapacitatea de a eliminarea rapidă a consecințelor atacului, deoarece informații false vor fi în cache-urile de mii de servere înainte de expirarea timpului de viață, pe care un atacator poate selecta foarte mare.

6. încercări de punere în aplicare și pe teren

7. Uita-te pe cealaltă parte a baricadelor

Din păcate, rezultatul dorit poate doar introducerea pe scară largă a unor noi protocoale, ceea ce implică dificultăți organizatorice considerabile, și nu se poate face într-un timp scurt.

Când se folosește această metodă nu trebuie uitat faptul că această protecție poate fi destul de ușor depășite prin utilizarea metodei descrisă provocare indirectă.

În același timp, natura și amploarea rezultatelor acestui atac poate fi bine cotat ca la informațiile armelor de distrugere în masă. Lipsa de mijloace adecvate de protecție, este foarte ușoară semne de dificultatea de a elimina consecințele atacurilor agrava și mai mult situația.