Ce este căutarea DNS?

Căutarea sistemului de nume de domeniu, sau DNS pe scurt, este ceea ce se întâmplă între timpul în care cineva tastează o adresă URL în bara de căutare și încărcarea paginii. Din punct de vedere tehnic, este un proces care traduce adresele URL (cum ar fi www.google.com) în adrese IP.

O adresă IP este similară cu adresa de acasă. La fel cum utilizați adrese pentru a trimite e-mailuri, computerele folosesc adrese IP pentru a trimite date la un anumit loc. Deoarece adresele IP sunt greu de reținut (sunt șiruri lungi de numere), computerele folosesc DNS pentru a traduce între adrese IP și adrese URL (care sunt mult mai ușor de reținut). Toate dispozitivele conectate la internet au o adresă IP.

Cum funcționează DNS?

Având în vedere dimensiunea internetului, computerele nu pot stoca toate adresele IP în memoria lor. În schimb, tastând www.google.com într-un browser îi spune computerului să caute adresa IP a site-ului web.

Ce trebuie sa stiti despre DNS

În primul rând, computerul își verifică memoria locală, numită cache. Acesta este locul în care computerul stochează adresele IP ale site-urilor sale cele mai recent vizitate, astfel încât să le poată încărca mai repede fără a fi nevoie să le caute. Cu toate acestea, deoarece doar câteva site-uri vizitate recent sunt aici, este probabil ca computerul să nu găsească adresa IP.

Pasul 1 (pașii corespund cu numerele diagramei de mai sus): Apoi, computerul va cere serverul de nume recursiv local al ISP-ului. Un furnizor de servicii Internet este un furnizor de servicii de internet – cum ar fi Time Warner Cable, Spectrum, Verizon etc. com? ”).

Orice server de nume poate răspunde la această întrebare, fie răspunzând cu adresa IP (dacă știe), fie răspunzând că nu știe și spunând serverului solicitant să solicite alt server. Un server de nume recursiv este diferit deoarece, dacă nu știe răspunsul la întrebare. Va face treaba de a găsi răspunsul, în loc să reorienteze interogarea. Nu toate serverele de nume sunt recursive.

Pasul 2: Serverul de nume recursiv își va verifica mai întâi memoria cache. Dacă adresa IP nu este acolo, va solicita un server de nume rădăcină (serverele de nume rădăcină nu cunosc adresele IP, dar pot citi cererile și pot spune serverului de nume recursiv unde să meargă mai departe). Toate serverele de nume recursive vin cu 13 adrese IP ale serverelor de nume rădăcină preconfigurate. Serverul de nume recursiv alege unul și îi pune aceeași întrebare („care este adresa IP pentru www.google.com?”).

Pasul 3: Serverul de nume rădăcină citește domeniul de nivel superior (sfârșitul cererii), în acest caz .com, (www.google.com) și îi va spune serverului de nume recursiv să solicite serverele globale de domeniu de nivel superior (GTLD). GTLD-urile sunt, în esență, liste de referință pentru fiecare tip de domeniu – .com, .net., .Edu etc. Deși nu cunosc adresele IP pentru site-uri web, știu ce servere de nume vor avea acea informație.

Pasul 4: Serverul de nume recursiv solicită serverului de nume GTLD adresa IP a www.google.com.

Pasul 5: Serverul de nume GTLD va citi următoarea parte a cererii dvs., citind de la dreapta la stânga (în acest caz „google” din www.google.com) și va trimite înapoi un mesaj cu serverul de nume autorizat pentru a contacta. Un server de nume autorizat este un server de nume care este responsabil pentru domeniu (și este sursa principală de informații).

Pasul 6: Serverul de nume recursiv va pune acelui server de nume autoritar aceeași întrebare („care este adresa IP pentru www.google.com?”). Din punct de vedere tehnic, serverul solicită înregistrarea adresei (A), care este modul în care serverele se referă la adresa IP.

Pasul 7: Acest server are răspunsul! Acesta va transmite adresa IP înapoi la serverul de nume recursiv, marcat pentru a anunța serverul de nume recursiv, răspunsul este autoritar. Serverul de nume recursiv înregistrează adresa IP în memoria cache în cazul în care cineva încearcă să acceseze în curând același site web. Fiecare articol din cache este etichetat cu un „timp de trăit” care îi spune serverului cât timp trebuie să păstreze informațiile înainte de a le șterge.

Pasul 8: Serverul de nume recursiv îi spune computerului dvs. care este adresa IP (de data aceasta nu este etichetată ca fiind autoritară, deoarece nu este sursa principală de informații, ci doar transmite informațiile.

Pasul 9: Computerul dvs. trimite o solicitare pentru www.google.com la adresa IP pe care tocmai a primit-o.

Pasul 10: Serverul web de la această adresă returnează pagina de pornire Google și pagina se încarcă.

Întregul proces durează doar câteva milisecunde și se întâmplă de miliarde de ori în fiecare zi.

Cum are impact DNS utilizatorii finali?

Deoarece DNS face parte integrantă din funcționarea internetului, este o țintă importantă pentru hackeri. Problema rădăcină cu DNS este aceeași cu majoritatea problemelor de securitate pe care le experimentăm cu tehnologia actuală. Internetul și o mare parte din tehnologia pe care o folosim astăzi a fost concepută pentru un grup mic de cercetători și, în timp, sa extins într-un sistem pe care îl folosește întreaga lume. DNS (și HTTP, precum și majoritatea protocoalelor pe care le folosim) nu au fost concepute având în vedere securitatea. Acum, a trebuit să adăugăm remedieri pentru diverse probleme de securitate. Din păcate, securitatea fixată la sfârșit nu este la fel de eficientă ca securitatea inclusă în dezvoltare.

O problemă pe care aceasta o pune pentru DNS este că nu există nicio verificare a autenticității serverului de nume atunci când este primit un răspuns. Astfel, un hacker poate trimite răspunsuri rău intenționate la interogarea DNS a unui computer și poate păcăli computerul să creadă că acesta este răspunsul real de la serverul de nume DNS. Cu alte cuvinte, când computerul întreabă „care este adresa IP pentru www.chase.com?” hackerul va răspunde (înainte ca serverul DNS să poată) cu adresa IP a site-ului rău intenționat al hackerului. Apoi, atunci când site-ul se încarcă, arată exact ca site-ul web chase.com, dar este de fapt controlat de hacker.

Acest lucru este foarte asemănător cu phishingul – cu excepția faptului că utilizatorii nu sunt înșelați să facă clic pe linkuri greșite, ci mai degrabă site-urile web pe care încearcă să le viziteze sunt direcționate către site-uri rău prin căutare DNS (mult mai periculoasă, deoarece este mult mai dificilă pentru a preveni acest tip de atacuri). Acest lucru impune apoi utilizatorului să fie precaut, să observe că site-ul falsifică site-ul real (poate că link-ul nu pare chiar corect sau există greșeli de ortografie sau copii slabe ale logo-ului). Cu toate acestea, acest lucru poate fi foarte dificil și se bazează pe utilizatori pentru a fi relativ tehnic.

În 2016, un atac DNS a distrus părți semnificative ale internetului pentru majoritatea coastei de est a Statelor Unite pentru aproape o zi întreagă. În acest caz, întreruperea a fost cauzată de un atac DDoS. Un atac DDoS este un atac de negare a serviciului distribuit, în care mii de mașini de pe internet atacă un sistem în același timp. În general, acestea sunt mașini care au fost infectate cu programe malware fără știrea proprietarului lor, iar un hacker sau un grup de hackeri controlează toate mașinile. Aceste mașini sunt numite „botnet” atunci când sunt utilizate împreună.

Rețeaua botnet trimite cereri DNS către serverul victimei și cantitatea de cereri trimise copleșește sistemul, făcând serverul să nu poată gestiona traficul legitim pe care îl primește. Astfel, în timp ce hackerii atacă serverele DNS și un computer încearcă să solicite adrese IP, serverul nu poate răspunde. Deci computerul nu poate accesa site-urile pe care serverul le controlează (sau este autoritar) până când atacul nu este oprit.

Acest atac poate fi atenuat de servere de supraprovizionare pentru a face față cererii excesive sau pentru a avea un firewall DNS.

O modalitate mai largă de abordare a rezolvării multor probleme prezentate de DNS este DNSSEC. DNSSEC întărește autentificarea cu semnături digitale bazate pe criptografie cu cheie publică. În esență, proprietarul datelor solicitate le semnează digital, pentru a se asigura că situația de mai sus nu se poate întâmpla. Aceasta oferă autentificarea originii datelor (datele provin de fapt de unde crede că provine rezolvatorul) și protecția integrității datelor (datele nu au fost modificate în tranzit).

Din păcate, pentru a remedia DNS, DNSSEC necesită o implementare largă. Trebuie să fie activat în mod specific de către operatorii de rețea pe rezoluțiile lor recursive și de către proprietarii de nume de domeniu de pe serverele autorizate. Acest lucru nu s-a întâmplat încă, dar sperăm că pe măsură ce mai mulți oameni vor deveni conștienți de problemele pe care DNS le prezintă și vor pleda pentru schimbări.