Top Banner
DNS - DOMAIN NAME SYSTEM PRINCIPII, FUNCTIONARE, VULNERABILITATI AUTOR: TITURO 2013
31
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Proiect DNS Tituro

DNS - DOMAIN NAME SYSTEM

PRINCIPII, FUNCTIONARE, VULNERABILITATI

AUTOR:

TITURO

2013

Page 2: Proiect DNS Tituro

DNS – Principii,Functionare,Vulnerabilitati 2013 tituro

1

Cuprins:

1.Istoric…………………………………………………………………………………………………………………………..…2

2.Principii de functionare……………………………………………………………………………………….…………3

2.1.Spaţiul numelor de domenii………………………………………………………………………………..………5

2.2.Servere de nume………………………………………………………………………………………………….……..6

2.3.Resolvere…………………………………………………………………………………………………………………….9

3.Protocolul DNS…………………………………………………………………………………………………..………..12

3.1. Cautarile DNS inverse (Reverse DNS Lookups)……………………………………………..………...16

3.2.Zonele de transfer……………………………………………………………………………………………..……..17

3.3. Startul de autoritate (Start of Authority - SOA)………………………………………………..……..18

4. Algoritmul de dirijare…………………………………………………………………………………………..….….19

4.1.Dirijarea IP………………………………………………………………………………………………………..….……20

5. 5.Atacuri si Vulnerabilitati ale DNS……………………………………………………………………..………22

5.1.Atacuri de tip DoS impotriva retelelor de calculatoare cu ajutorul DNS…………..……….22

5.2. Atacuri de tip DoS impotriva DNS………………………………………………………………….………...23

5.3.Atacuri de tip DoS impotriva retelelor de calculatoare cu ajutorul DNS……….………..…23

5.4. Atacuri la nivel de aplicatie…………………………………………………………………………..………....24

5.5. Reducerea vulnerabilitatilor in DNS……………………………………………………….………………..25

5.5.1. Securizarea serverului si a sistemului de operare…………………………………….…………...25

5.5.2. Securizarea aplicatiei………………………………………………………………………….………………...25

5.5.3. Apararea impotriva atacurilor de tip DoS……………………………………………………………...26

5.5.4. Protejarea utilizatorilor serviciilor DNS………………………………………………………………...26

5.6. Studii si Cazuri recente……………………………………………………………………………………………..27

6.Bibliografie…………………………………………………………………………………………………………………..30

Page 3: Proiect DNS Tituro

DNS – Principii,Functionare,Vulnerabilitati 2013 tituro

2

1.Istoric

In timpul Razbloiului Rece, la mijlocul anilor ’60, Departamentul Apararii al SUA

(Department of Defence) voia sa creeze o retea de comanda si control stabila si

invulnerabila in cazul declansarii unui razboi nuclear.In acest scop a fost creata Agentia

de Cercetare pentru Proiecte Avansate a Departamentului Apararii care a cerut sprijinul

universitatilor si firmelor private pentru dezvoltarea proiectului.

S-a pornit de la ideea implementarii retelei pe principiul comutarii de

pachete,reteaua urmand sa fie formata dintr-o subretea si calculatoare

gazda.Subreteaua urma sa fie alcatuita din minicalculatoare (IMP-Interface Message

Processors) conectate prin linii de transmisie, astfel încât fiecare calculator IMP să fie

legat la cel putin alte două, pentru a asigura mai multă sigurantă în comunicare. În caz

că unele linii si IMP-uri se defectau, mesajele puteau fi dirijate automat pe căi

alternative. Fiecare nod al retelei era format dintr-un IMP si o gazdă care transmitea

mesajele (ambele fiind conectate si situate în aceeasi încăpere).

În urma evaluării a 12 propuneri de implementare hard si soft a retelei, proiectul

a fost preluat de firma BBN din Massachusetts. Pe post de IMP-uri s-au folosit

minicalculatoare de tip Honeywell (special adaptate), fără discuri fiindcă în acea

perioadă părtile mobile erau considerate nesigure [Tan97] iar programele au fost scrise

separat pentru subretea si pentru gazde. Astfel a apărut prima configuratie a retelei

ARPANET.

Reteaua a fost dezvoltată continuu. ARPA a finantat cercetări în domeniul

retelelor de sateliti si retelelor mobile radio cu comutare de pachete. A avut loc o

faimoasă demonstratie în care un cercetător care călătorea într-un camion prin

California folosea un calculator din Londra (utilizând transmisiile radio si prin satelit).

Aceste evolutii au arătat că protocoalele ARPANET existente nu erau potrivite pentru a

rula pe mai multe retele. Cercetările axate pe protocoale mai performante au dus la

aparitia lui TCP/IP, care a fost proiectat special pentru comunicarea inter-retele, obiectiv

esential în conditiile în care tot mai multe retele erau legate la ARPANET. Pentru a

încuraja adoptarea noilor protocoale, ARPA a încheiat contracte cu BBN si cu

University of California din Berkeley, pentru integrarea protocoalelor în Berkeley Unix.

Cercetătorii de la Berkeley au dezvoltat o interfată de programare cu reteaua si au scris

numeroase aplicatii, utilitare si programe de administrare care să simplifice

interconectarea. Aceste produse soft au răspuns necesitătilor concrete ale multor

universităti care dispuneau de câteva minicalculatoare VAX conectate într-un LAN.

Integrarea protocolului TCP/IP în sistemul de operare UNIX, un sistem portabil, scris în

Page 4: Proiect DNS Tituro

DNS – Principii,Functionare,Vulnerabilitati 2013 tituro

3

mare parte în limbajul C, dezvoltat cu mult entuziasm mai ales de programatori din

mediile universitare si ulterior distribuit gratuit, a avut un rol important în evolutia rapidă

si masivă a retelei.

În 1983, ARPANET continea peste 200 de IMP-uri si sute de gazde, era stabil si

se bucura de succes. În acest moment, ARPA a încredintat administrarea retelei

Agentiei de Comunicatii a Apărării (DCA - Defense Communications Agency), care a

izolat portiunea militară (aproximativ 160 IMP-uri , din care 110 în SUA si 50 în

străinătate) într-o retea numită Milnet si a prevăzut porti stricte între aceasta si

subreteaua de cercetare rămasă [Tan97]. Reteaua Milnet există si astăzi.

În anii '80, la ARPANET s-au conectat multe alte retele. Pentru o accesare cât

mai eficientă a gazdelor într-o inter-retea de dimensiuni tot mai mari s-a creat un sistem

care organiza masinile în domenii si punea în corespondentă numele gazdelor cu

adrese numelor de domenii IP.Acest sistem este Sistemul Numelor de Domenii (DNS -

Domain Naming System), la care voi face referirein continuarea lucrarii.

În 1990, ARPANET era deja surclasat de retelele mai moderne cărora le dăduse

nastere; a fost închis si demontat dar contributia sa covârsitoare în crearea retelei

globale Internet rămâne actuală.

2.Principii de functionare

DNS (Domain Name System) – este un serviciu care permite referirea

calculatoarelor gazdă cu ajutorul adresei literale.

Adresa literală conţine succesiuni de nume asociate cu domenii, subdomenii sau

tipuri de servicii. Acest mod de adresare este utilizat exclusiv de nivelul aplicaţie şi este

util deoarece permite operatorului uman să utilizeze o manieră prietenoasă şi comodă

de localizare a informaţiilor. Forma generala a unei astfel de adrese este:

[tip_serviciu].[nume_gazda].[subdomeniu2].[subdomeniu1].[domeniu].[tip_domeniu]

Practic, serviciul DNS transformă adresa IP într-o adresă literală, şi invers. Privit

în amănunt, DNS este un soft care gestionează şi controlează o bază de date

distribuită, constituită dintr-o sumă de fişiere memorate pe calculatoare diferite-

localizate în spaţii geografice diferite, ca pe o singură bază de date.

Page 5: Proiect DNS Tituro

DNS – Principii,Functionare,Vulnerabilitati 2013 tituro

4

Administrarea unui numar mare de nume este o problema complexa. In sistemul

postal, gestionarea numelor se realizeaza prin scrierea pe plic a numelui destinatarului,

adresei acestuia, orasului, statului, tarii in care acesta locuieste. Astfel, nu va exista o

confuzie intre adresa lui Ion Ardelean din Romania, Cluj Napoca, Str. Baritiu, respectiv

a lui Ion Ardelean tot din Cluj Napoca, Bd. Dorobantilor si nici al lui Ion Ardelean, New

York, SUA. DNS functioneaza folosind un principiu asemanator.

O shita a mecanismului prin care functioneaza acest sistem este reprezentata in

figura 2.1.

ClientDNS

server

Client

.roDNS

server

Radiomures.ro

DNS server

Ce IP are

radiomures.ro?

Nu am adresaceruta. cautserverul DNS ptadresa ceruta

DA,am detaliile

pt.serverul DNS cerut

stochez IP-ul pt radiomures.ro

Ca 89.238.227.148 pt utilizare viitoare?

IP-ul cerut este89.238.227.148

DA,am detaliile pt

radiomures.ro

Fig 2.1

Conform figurii de mai sus, clientul doreşte să acceseze de pe calculatorul său personal

pagina web www.radiomures.ro , această cerere este trimisă unui server DNS care o

analizează şi returnează ca rezultat adresa IP a staţiei care găzduieşte site-ul solicitat.

Page 6: Proiect DNS Tituro

DNS – Principii,Functionare,Vulnerabilitati 2013 tituro

5

În principiu, DNS este alcătuit din trei componente:

• Spaţiul numelor de domenii – reprezintă informaţia conţinută în baza de date,

structurată ierarhic.

• Servere de nume – programe server care stochează informaţia DNS şi răspund

cererilor adresate de alte programe

• Resolverele – programe care extrag informaţiile din serverele de nume ca

răspuns la cererile unor client

Pentru a stabili corespondenţa dintre un nume şi o adresă IP, programul de aplicaţie

apelează un resolver, transferându-I numele ca parametru, resolverul trimite un pachet

UDP (printr-un protocol de transport fără conexiune) la serverul DNS local, care caută

numele şi returnează adresa IP către resolver, care o trimite mai departe apelantului.

Înarmat cu adresa IP, programul poate stabili o conexiune TCP cu destinaţia sau îi

poate trimite pachete UDP.

2.1Spaţiul numelor de domenii

Internetul este organizat in 200 de domenii de nivel superior, fiecare continand mai

multe sisteme gazda. Domeniul este impartit in subdomenii, care la randul lor sunt

impartite, creind o ierarhie arborescenta dupa cum se poate observa in figura de mai

jos.

Page 7: Proiect DNS Tituro

DNS – Principii,Functionare,Vulnerabilitati 2013 tituro

6

Frunzele arborelui reprezinta domenii care nu au subdomenii, insa pot contine

mii de sisteme gazda. Domeniile din primul nivel al arborelui sunt de doua tipuri:

generice si specifice unor tari. Domeniile generice sunt de tip com (comercial), edu

(institutii educationale), gov (guvernul federal SUA), mil (militar), org (organizatii non-

profit), net (furnizori Internet). Domeniile de tari includ o intrare pentru fiecare tara,

dupa cum defineste standardul international ISO 3166. Pe masura ce retelele de

calculatoare se dezvolta se introduc nume noi de nivel superior.

Informatia continuta in baza de date cu structura arborescenta

-arpa(Address and Routing Parameter Area),domeniu special care transforma adresele

IP in nume folosit exclusiv in sopuri de infrastructura tehnica (ex: http://143.228.193.in-

addr.arpa)

-grupul generic sau al organizatiilor(contine 3 caractere:com,net,edu,gov)

-grupul geografic al tarilor (2 caractere:us,ro,fr…)

IANA (Internet Assigned Numbers Authority)este organismul care administrea za

numele de domenii la nivel mondial

Componentele unui nume pot avea max 64 caractere iar intreg sirul max 255caractere

Fiecarui domeniu i se asociaza anumite resurse(resurce records),care reprezinta datele

ce definesc continutul DNS,cea mai cunoscuta fiind adresa IP.

2.2Servere de nume

-Programe server care stocheaza informatia DNS si raspund cererilor adresate de alte

programe

-Contacteaza severele radacina care la randul lor trebuie sa stie numele si IP-uri le

tuturor serverelor de nivel 2

-Pt fiecara zona este un sever DNS principal si unul sau mai multe secundare (cu rol de

backup)

Teoretic un server de nume poate deservi intreaga baza de date de nume; totusi,

practic, el poate sa fie atat de ocupat, incat sa devina neutilizabil. Pentru a evita

limitarile aduse de existenta unei singure surse de informatie, s-a hotarat partajarea

spatiului de nume DNS in zone care nu se suprapun si nu se intretaie. O posibila

Page 8: Proiect DNS Tituro

DNS – Principii,Functionare,Vulnerabilitati 2013 tituro

7

impartire a acestui domeniului este prezentata in Fig. 2.2.1. Fiecare zona contine cate

o parte a arborelui si numele serverelor care pastreaza informatia autorizata din acea

zona. Orice zona va avea un server de nume primar, care preia informatia dintr-un fisier

de pe discul propriu si unul sau mai multe servere secundare, care preiau informatiile

de pe serverul primar. Unele servere pot fi chiar plasate intr -o alta zona, ceea ce

imbunatateste fiabilitatea retelei.

Fig. 2.2.1 Fragment din spatiul de nume DNS partajat pe zone

Dimensiunea zonelor este la latitudinea administratorului, care decide cate

servere de nume sunt dorite si cum trebuie plasate. De exemplu, in Fig. 2.2.1, Yale are

un server pentru yale.edu care administreaza eng.yale.edu, dar nu si cs.yale.edu, care

este o zona separata cu propriile servere de nume. O asemenea situatie poate avea loc

in cazul in care departamentul de limba engleza nu doreste sa aiba propriul server de

nume, spre deosebire de departamentul de calculatoare, care doreste un asemenea

server. De aceea, cs.yale.edu este o zona separata, iar eng.yale.edu nu este separata.

Atunci cand un resolver are o cerere referitoare la un nume de domeniu, el va

transfera cererea la unul din serverele locale de nume. Daca domeniul cautat se afla

sub tutela serverelui de nume, cum ar fi ai.cs.yale.edu, care este sub cs.yale.edu, el va

intoarce inregistrari de resurse autorizate. O inregistrare autorizata este o informatie

care provine de la autoritatea care administreaza intregistrarea si este intotdeauna

corecta. Se mai pot primi inregistrari din memoria ascunsa, care pot fi eronate pentru ca

sunt expirate.

In cazul in care domeniul se afla la distanta si nu este disponibila nici o

informatie despre domeniul cerut, atunci, serverul de nume este nevoit sa trimita o

Page 9: Proiect DNS Tituro

DNS – Principii,Functionare,Vulnerabilitati 2013 tituro

8

cerere la serverul de nume de pe primul nivel al domeniului in cauza. De exemplu, in

Fig. 2.2.2, flits.cs.vu.nl este initiatorul cautarii, iar cs.vu.nl, edu-server.net, yale.edu,

cs.yale.edu domenii cu serverele de nume VU CS, EDU, YALE, Yale CS. Resolverul

flits.cs.vu.nl doreste sa stie adresa IP a sistemului gazda amc.cs.yale.edu. In pasul 1,

trimite o cerere la serverul local cs.vu.nl, care contine numele de domeniu cautat, tipul

(A) si clasa (IN). Presupunem ca serverul local nu a mai intalnit o asemenea cerere si

nu are informatii despre domeniul cautat. Cu toate acestea, el poate trimite un pachet

UDP (User Datagram Protocol) la serverul EDU, specificat in baza sa de date. Cum nici

acest din urma server nu cunoaste adresa domeniului pentru amc.cs.yale.edu, va

accesa informatii despre adresele fiilor din subarbore; de aceea, va transmite cererea

catre serverul yale.edu, care, la randul sau, va avea inregistrari autorizate ale propriilor

resurse. Inregistrarea cautata a fost gasita si informatia va fi transmisa inapoi la

resolver prin aceleasi servere, in ordine inversa, adica prin yale.edu, apoi edu-

server.net, cs.vu.nl.

Fig. 2.2.2. Cautarea in 8 pasi a unui nume aflat la distanta de catre un resolver

Atunci cand inregistrarea ajunge la serverul de nume cs.vu.nl, ele vor fi depuse

in memoria ascunsa pentu o utilizare ulterioara. Totusi, informatia nu este autorizata si,

in cazul in care are loc o modificare in cs.yale.edu, aceasta nu se va propaga pana la

serverul cs.vu. De aceea, informatia salvata in memoria ascunsa nu trebuie pastrata

indelung. Campul Timp_de_viata este inclus in fiecare inregistrare de resursa si are

rolul de a informa fiecare server de nume cat timp sa mentina inregistrarile din memoria

ascunsa. In functie de stabilitatea adreselor IP, acestea pot fi stocate timp de cateva

secunde sau cateva zile.

Metoda de interogare descrisa mai sus se numeste metoda de interogare

recursiva, deoarece fiecare server care nu detine informatia ceruta este nevoit sa

intrebe alt dispozitiv din retea si sa furnizeze, in final, un raport. O alta posibilitate este

aceea in care atunci cand o cerere nu este rezolvata, ea esueaza, insa este intors

numele urmatorului server de pe calea care trebuie incercata.

Atunci cand un client DNS nu reuseste sa primeasca un raspuns intr-un timp de

cautare prestabilit, este eliminat din lista serverelor posibile, deoarece se presupune sa

flits.cs.vu.nl cs.vu.nl edu-server.net yale.edu cs.yale.edu

Page 10: Proiect DNS Tituro

DNS – Principii,Functionare,Vulnerabilitati 2013 tituro

9

servelui este defect sau ca cererea ori raspunsul s-au pierdut; in acest sens, la o data

urmatoare, se incearca un alt server.

In concluzie, un server de nume este un proces care dispune de o baza de date

ce cuprinde inregistrari DNS. In general, un server de nume raspunde de o zona de

nume, detinand toate inregistrarile pentru numele din zona de responsabilitate, si, in

plus, poseda inregistrari suplimentare, legate in general de zonele adiacente - zona

parinte si zonele fii.

2.3.Resolvere

Fiecarui domeniu ii poate fi asociata o multime de inregistrari de resurse. Pentru

un singur sistem gazda, cea mai obisnuita asignare de resursa este adresa IP. Atunci cand un resolver trimite un nume de domeniu catre un DNS, priemste ca raspuns inregistrarile de resurse asociate acelui nume.

O inregistrare de resursa este un 5-tuplu cu formatul urmator: Nume_domeniu Timp_de_viata Clasa Tip Valoare

Nume_domeniu precizeaza domeniul caruia i se aplica inregistrarea.

Acest camp este o cheie de cautare primara in baza de date. Ordinea inregistrarilor nu este importanta.

Timp_de_viata da informatii despre cat de stabila este conexiunea

respectiva. Se acorda valori mari pentru cele stabile (de exemplu, 86400

secunde pentru durata unei zile) si valori mici pentru cele instabile (de exemplu, 30 secunde). Tip precizeaza tipul inregistrarii. Cele mai importanta tipuri sunt

prezentate in Tabelul 2.3.1.

Tip Semnificatie Valoare

SOA Start autoritate Parametrii zonei

A Adresa IP a unui sistem

gazda

Intreg pe 32 biti

MX Schimb de posta Prioritate, domeniu dispus sa accepte servicii de posta electronica

NS Server de Nume Numele serverului pe domeniu

CNAME Nume canonic Numele domeniului

PTR Pointer Alias pentru adresa IP

HINFO Descriere sistem gazda Sistem de operare ASCII

TXT Text Text ASCII neinterpretat

Tabelul 2.3.1 Principalele valori pentru campul Tip

Page 11: Proiect DNS Tituro

DNS – Principii,Functionare,Vulnerabilitati 2013 tituro

10

Inregistrarea SOA poate furniza numele sursei primare de informatii

despre zona serverului de nume, adresa de email a administratorului, un identificator unic si diversi indicatori, contoare de timp etc.

Inregistrarea A pastreaza adresa IP pe 32 de biti a unui sistem gazda. Inregistrarea MX precizeaza numele sistemului gazda care este capabil

sa accepte posta electronica pentru domeniul respectiv. De exemplu, daca

cineva vrea sa trimita un email la adresa [email protected] , atunci trebuie sa gaseasca un server care sa accepte email.

Inregistrarea NS are rolul de a specifica serverele de nume. De exemplu,

fiecare baza de date DNS are o inregistrare NS pentru fiecare domeniu de pe primul nivel, astfel incat posta electronica sa poata trimite emailuri la nivele mult

inferioare unui subarbore. Inregistrarea CNAME permite folosirea alias-urilor. De exemplu, o

persoana care doreste sa trimita un mesaj unei persoane al carui nume de

conectare la un sistem din Radio Targu Mures este inginer1 poate presupune ca adresa de email este [email protected] adresa nu este cea corecta,

deoarece domeniul Radio Targu Mures este radiomures.ro.Totusi departamentul IT poate crea o intrare CNAME, pentru a dirija persoanele si programele catre directia corecta.Astfel, o intrare poate fi:

radioms.ro 86400 IN CNAME radiomures.ro PTR se refera la un alt nume, ca si CNAME. Deosebirea dintre cele doua

este data de faptul ca CNANE este doar un macro, pe cand PTR este un tip de date DNS a carui interpretare depinde de context. De obicei, se asociaza un nume cu o adresa IP, pentru a permite gasirea numelui masinii in functie de

adresa IP. Inregistrarea HINFO permite aflarea tipului de masina de si sistem de

operare carora le corespunde domeniul. Inregistrarea TXT permite domeniilor sa se autoidentifice intr-un mod

arbitrar. Valoare este un camp care poate fi un numar, un nume de domeniu sau

un sir de caractere ASCII.

Pentru fiecare din aceste cazuri se prezinta in Tabelul 2.3. o scurta descriere.

In Tabelul de mai jos se afla un exemplu de informatie care poate fi gasita

in baza de date DNS extrasa cu ajutorul utilitarului online http://network-tools.com

Retrieving DNS records for radiomures.ro...

Page 12: Proiect DNS Tituro

DNS – Principii,Functionare,Vulnerabilitati 2013 tituro

11

DNS servers tag.euroweb.ro nsx.euroweb.ro

Answer records

radiomures.ro A 89.238.227.148 86400s

radiomures.ro IN SOA server: tag.euroweb.ro

email: [email protected] serial: 2012111400 refresh: 3600

retry: 7200 expire: 86400

minimum ttl: 86400

86400s

radiomures.ro MX preference: 5 exchange: mail.radiomures.ro

86400s

radiomures.ro MX preference: 10 exchange: radioms2.radiomures.ro

86400s

radiomures.ro NS nsx.euroweb.ro 86400s

radiomures.ro NS tag.euroweb.ro 86400s

Authority records

Additional records

mail.radiomures.ro A 89.238.227.147 86400s

tag.euroweb.ro A 193.226.61.1 120s

nsx.euroweb.ro A 193.230.183.201 120s

radioms2.radiomures.ro A 86.35.82.138 86400s

Explicatiile pentru linii sunt:

1. tag.euroweb.ro

nsx.euroweb.ro Serverele DNS folosite de radiomures.ro

2. radiomures.ro- indica serverul pentru domeniul radiomures.ro

3. IN –Indica Internet Name

4. SOA –indica serverul autoritate pentru domeniul radiomures.ro

-tag.euroweb.ro –numele serverului primar pt acest domeniu

- [email protected] adresa de email a administratorului domeniului

Page 13: Proiect DNS Tituro

DNS – Principii,Functionare,Vulnerabilitati 2013 tituro

12

-2012111400 numarul serial

-3600 timpul de refresh in secunde intre serverul master si slave

-7200 timpul in secunde in care serverul slave interogheaza din nou serverul

master

-86400 timpul insecunde in care serverul slave raspunde chiar daca nu s-au

facut modificari in zona de update file

-86400 timpul de viata (TTL-Time to Live) in secunde in care resolverul foloseste

datele primite de la serverul de nume inainte de a-l interoga din nou asupra

modificarilor survenite

5. Serverul de posta electronica pr radiomures.ro este mail.radiomures.ro si

radioms2.radiomures.ro avand TTL 86400s (24H)

6. NS Name server nsx.euroweb.ro si tag.euroweb.ro

7. Restul liniilor sunt numele si maparea IP pentru masinile din organizatie

mail.radiomures.ro A 89.238.227.147 86400s

tag.euroweb.ro A 193.226.61.1 120s

nsx.euroweb.ro A 193.230.183.201 120s

radioms2.radiomures.ro A 86.35.82.138 86400s

3.Protocolul DNS

DNS foloseste numarul portului 53 si poate sa foloseasca fie UDP, fie TCP ca

protocoale pentru nivelul de transport. In general, UDP (limitat la 512 bytes) este

folosit pentru a trimite intrebari si raspunsuri. TCP trebuie folosit pentru zonele de

transfer, pentru ca datele transmise intre serverele autorizate trebuie sa fie cat

mai sigur transmise.

Formatul unui pachet DNS are aspectul prezentat in Fig. 3.1.

Page 14: Proiect DNS Tituro

DNS – Principii,Functionare,Vulnerabilitati 2013 tituro

13

Fig. 3.1 Formatul unui pachet DNS

ID – este un identificator creat de program pentru a reprezenta cererea. Raspunsul

foloseste acest identificator pentru ca raspunsul sa poata fi atasat cererii respective.

QR – este un bit care are valoarea 0 pentru o cerere, respectiv valoarea 1 pentru

raspuns.

OPcode – este un bit care are valoarea 0 pentru o cerere standard, valoarea 1 pentru o

cerere inverse, valoarea 2 pentru cererea unui status.

AA – daca acest bit este setat, atunci raspunsul provine de la un server autorizat.

TC – (Truncated) inseamna ca mesajul a fost mai lung decat permitea banda de

transmisie.

RD – (Recursive Desired) inseamna ca cererea este recursive

RA – raspunsul are acest bit setat daca serverul poate procesa o cerere rescursiva.

Page 15: Proiect DNS Tituro

DNS – Principii,Functionare,Vulnerabilitati 2013 tituro

14

Z – este un bit nefolosit si este zero pentru toate cererile si raspunsurile.

Rcode – (Response Code) are urmatoarele valori:

0 – nu sunt erori

1 – eroare: serverul nu a inteles cererea

2 – serverul nu functioneaza correct: fie pentru ca s-a defectat, fie nu a reusit sa obtina

un raspuns dup ace a trimis cererea.

3 – eroare de nume; aceasta eroare poate fi anuntata doar de catre serverele

autorizate.

4 – nu este implementata;

5 - refuz

QDcount – numarul de cereri din intrebarea care face parte din pachet.

ANcount – numarul de inregistrari de resurse din partea de raspunsuri din pachet.

NScount – numarul de inregistrari de resurse din serverul de nume in partea pachetului

care contine inregistrari de la servere autorizate

ARcount – numarul de inregistrari de resurse din partea de inregistrari aditionale ale

pachetului DNS.

Cererea

Qname – Numele de domeniu tinta se prezinta ca o succesiune de etichete,

fiecare eticheta continand un octet pentru lungime urmat de un alt numar de

octeti. Serverul DNS cauta inregistrarile de resurse care se potrivesc campului

Qtype si Qclass. Daca nici o potrivire nu este gasita, atunci se cauta un alt server

DNS care poate avea o astfel de potrivire.

Qtype – specifica tipul cererii; de exemplu: A, PTR, AXFR, MAILB etc.

Qclass – specifica clasa cererii; de exemplu: IN pentru Internet, CH pentru

Chaos.

Inregistrarile de resurse (Resource Record – RR)

Name – numele domeniului unde este localizata resursa.

Page 16: Proiect DNS Tituro

DNS – Principii,Functionare,Vulnerabilitati 2013 tituro

15

Type – un tip de cod care indica tipul de date din Rdata, care este un camp de

16 biti care defineste tipul de inregsitrare de resursa:

-A – adresa de statie-gazda (host); de exemplu: o inregistrare 'A' , sau 'Answer'.

-CNAME – nume canonic al unui alias (Canonical name of the Alias). Acesta

este folosit daca se doreste mai degraba realizarea unei asocieri gazda-la-gazda

decat de la gazda la adresa IP. Acest mecanism este util atunci cand un numar

mare de computere-gazda (hosts) sunt asociate cu o singura adresa IP. De

exemplu, un computer are mai multe nume associate, cum ar fi www.amc.com si

ftp.amc.com.

-HINFO – tipul unitatii centrale de prelucrare (CPU) si al sistemului de operare

folosit de calculatorul gazda.

-MX – (Domain Mail Exchange) – domeniu pentru email.

-NS – (Authoritative Name Server for the Domain) server de nume autorizat

folosit

-PTR – este un pointer spre alta zona a spatiului de domenii, localizat cu ajutorul

numelui calculatorului-gazda.

-SOA – (Start of a Zone of Authority), marcheaza inceputul unei zone autorizate.

-Class – clasa de date in Rdata, care reprezinta un camp de 16 biti identificand o

familie de protocoale, IN pentru Internet si CH pentru sistemul de haos

TTL – identifica in secunde cat de mult ar trebui pastrata inregistrarea de resursa

in memoria cache a serverelor neautorizate. Cu cat aceasta valoare este mai

mica, cu atat mai mare va fi banda utilizata pentru zona de informatie. De obicei,

cateva ore este un timp suficient de scurt.

RDlength –lungimea campului Rdata in octeti

Rdata – este o variabila de descriere a resursei:

A - pentru IN, o adresa IP pe 32 biti ; pentru CH, o adresa pe 16 bit

CNAME – un alias pentru un nume de domeniu

MX – o valoare pe 16 biti si o adresa a calculatorului gazda pentru un Mail

Exchange; cu cat acest numar este mai jos, cu atat mai preferat este schimbul

de mail. Inregistrarea MX se ocupa cu cererile de mail din serverul Mail. Daca un

server de mail trimite o cerere si nu exista nici o inregistrare MX, atunci resolver-

Page 17: Proiect DNS Tituro

DNS – Principii,Functionare,Vulnerabilitati 2013 tituro

16

ul incepe o cautare a unei inregistarri de tip A si se realizeaza o conexiune spre

acea adresa IP pe portul 25 (SMTP).

NS – (Authoritative Name Server) reprezinta serverul de nume autorizat pentru

domeniul respectiv.

PTR – un pointer spre o alta zona a domeniului.

SOA – (Start of a Zone of Authority) reprezinta informatie despre inceputul unei

zone autorizate.

Pointer – din motive de comprimare, un poiner este folosit pentru a indica

prezentele multiple ale numelui de domeniu in date. Pointerul se afla la sfarsitul

listei de etichete. Etichetele sunt identificate drept 00, in timp de un pointer este

identificat de 11 urmat de o valoare de offset. Atunci cand se foloseste protocolul

UDP pentru transport mesajul nu poate avea mai mult de 512 bytes, de aceea,

mesajele mai lungi sunt trunchiate. In acest caz, mesajul DNS incepe cu un

camp de 2 octeti care da detalii despre lungimea mesajului pentru ca programul

aplicatiei sa il poata procesa.

3.1. Cautarile DNS inverse (Reverse DNS Lookups)

Cautarile DNS inverse sunt cererile menite sa gaseasca calculatorul-gazda cu o

anumita adresa IP. Acestea reprezinta elemente optionale ale unui server DNS;

totusi, daca un server nu poate procesa acest tip de cereri, ar trebui sa poata sa

raspunda printr-un mesaj de eroare. O cerere standard asociaza un nume de

domeniu SOA RR, pe cand o cerere inversa asociaza o SOA RR cu un nume de

domeniu. Pentru a realiza acest lucru, trebuie efectuata o cautare in intregul

spatiu de nume. Domeniul este numit in-addr.arpa si se afla intr-o Zona

Inversata. Aceasta Zona Inversata contine subdomenii cu adrese IP. Deoarece

domeniile sunt scrise in arbore intr-o ordine de la frunza spre radacina, pentru a

mentine consistenta in denumiri, numele adreselor IP sunt scrise, la randul lor, in

ordine inversa. De exemplu, adresa IP 162.230.95.4 ar avea numele intr-o zona

inversata astfel: 4.95.230.162. Intr-o cautare inversata, resolver-ul realizeaza o

cautare PTR (Pointer) pentru un calculator gazda specific in domeniul in-

addr.arpa. Daca utilizatorul se afla in reteaua 192.168.4.0/24, atunci resolver-ul

cere numele adreselor IP din subreteaua 192.168.4.0/24, dupa care, se vor

examina inregistrarile PTR din domeniul 4.168.192.in-addr.arpa, dintre care

doar octetii din masca vor determina numele IP.

Page 18: Proiect DNS Tituro

DNS – Principii,Functionare,Vulnerabilitati 2013 tituro

17

3.2. Zonele de transfer

Organizarea traditionala DNS presupunea o editare manuala a fisierelor text

numite Zone care formau baza de date de configurare. Aceasta metoda putea da

nastere usor la erori. Astazi, exista un manager de nume de domenii care

creeaza fisiere de zone in mod automat, verificand sintaxa si eventualele adrese

IP duplicate. Inregistrarile de tip pointer (PTR) sunt generate la randul lor

automat pentru a da posibilitatea existentei cautarilor DNS inverse (Reverse

DNS Lookup), cum ar fi, de exemplu, cautarea unui nume dintr-o cerere de

adresa IP.

Atunci cand se creeaza un server de nume autorizat, domeniul trebuie

intregistrat cu un Registru. Apoi trebuie creat un Dosar cu Zone (Zone file)

care contine toate inregistrarile DNS pentru zona respectiva. Dosarul cu Zone

contine Startul Autorizarii (Start of Authority - SOA), sectiune care contine

informatiile despre zone.

Serverele autorizate sunt responsabile pentru pastrarea informatiilor despre

zone. Atunci cand au loc schimbari, noduri sunt atasate sau eliminate, aceste

modificari trebuie propagate catre toate serverele de nume.

Intr-o anume zona, unul din serverele de nume este ales ca server Master sau

Primar. Un alt server de nume poate fi ales secundar pentru a verifica periodic

schimbarile in anumite zone, cu ajutorul campului SERIAL din SOA, car se

incrementeaza atunci cand versiuni de zone noi sunt create. Se poate utiliza

tehnica de polling periodic in SOA RR cu ajutorul unor parametri, printre care

sunt inclusi si REFRESH, RETRY si EXPIRE. Atunci cand o noua zona este

incarcata intr-un server secundar, acesta asteapta cateva secunde de

REFRESH inainte de a compara informatiile cu cele din serverul primar. Daca

aceasta verificare nu poate fi terminata complet, se vor face noi verificari la

fiecare cate RETRY secunde. Acest din urma tip de verificare etse o simpla

cerere de SOA RR al zonei, adresata serverului primar.

Dupa ce serverul de nume secundar a detectat o schimbare de zona, trimite un

AXFR, care reprezinta o cerere pentru o Zona de Transfer. Serverul primar

raspunde cu un sir de RR, care contin serverele de nume, serverele autorizate.

Primul si ultimul RR contine date pentru nodul cu autoritatea cea mai mare a

zonei. Zona de Transfer foloseste protocolul TCP pentru transportul acestor date

extrem de importante pentru functionarea DNS. In loc sa trimita un sir de RR,

serverul primar potae trimite de asemenea, un fisier text Master.

Page 19: Proiect DNS Tituro

DNS – Principii,Functionare,Vulnerabilitati 2013 tituro

18

3.3. Startul de autoritate (Start of Authority - SOA)

In Unix, SOA are urmatorul format:

@ IN SOA ns hostmaster (

2001112301

4H

1H

5D

24H)

@ - numele serverului de nume master.

ns – serverul de nume; acesta este numele serverului de nume care contine

informatia despre zona si este completat automat.

hostmaster – adresa de e-mail a celui care controleaza zona (de exemplu:

[email protected]).

2001112301 – este un numar care indica statiilor – slave versiunea

informatiilor despre zona. Formatul este yyyymmddxx, cu ultimii digiti

reprezentand versiunea zilei. Daca acest numar este mai nou decat copia

detinuta, atunci informatia despre noua zona va fi incarcata in locul celei

vechi.

4H - 4 ore au fost alese pentru timpul de Refresh, care reprezinta timpul

pentru care zona este stocata in serverele–slave inainte ca acestea sa

verifice master-ul pentru o copie noua.

1H - 1 ora este timpul pentru Retry. Atunci cand un server–slave devine

activ, el incearca imediat sa obtina o copie cu informatiile despre zona de la

serverul master. Daca nu reuseste, atunci va reincerca cu o perioada data de

timpul de retry.

5D - 5 zile este timpul de expirare – Expire time. Daca serverul-master

devine inaccesibil pentru o perioada de timp, serverele -slave vor mentine

zona pentru o perioada de timp.

24H - 24 ore este timpul minim (Minimum time) pentru care zonele pot

exista pe seama serverelor-slave.

Page 20: Proiect DNS Tituro

DNS – Principii,Functionare,Vulnerabilitati 2013 tituro

19

NU

DA

DA

DA

DA

DA

NU

NU

NU

NU

Tabela locala are adresa

simbolica

(DNS local) Tabela locala nu are specificate

adrese de domeniu din adresa

simbolica

Domeniul specificat este

domeniul curent al DNS

Trimite cererea la un DNS

inregistrat ca DNS vecin

Ultimul DNS

DNS vecin rezolva

Trimite IP

Trimite adresa IP

Trimite cererea de

rezolutie la DNS

superior

Trimite cererea de

rezolutie la DNS din

domeniul gazda

Adresa simbolica

incorecta

4. Algoritmul de dirijare

DNS (Name Server – Server de nume) este responsabil cu gestionarea

automata a unor tabele de nume. Numele trebuie sa conţină o specificatie a

gazdei, a utilizatorului şi a unei entitati finale. Administrarea numelor simbolice

este o operaţie mai complicata decât administrarea adreselor numerice deoarece

adresele simbolice oferă mai multe grade de libertate. Acest tip de adresare este

specificat printr-o succesiune de campuri de lungime arbitrara separate prin

„.”(punct). Aceste campuri formeaza o ierarhie de domenii şi subdomenii.

Domeniile se inlanţuie de la stânga la dreapta formând o ierarhie (invers faţa de

ierarhiile date de DDN).

Operaţia de gestiune a adreselor simbolice de face pe principiul sistemului

domeniilor de nume (Domain Name System). Implementarea DNS se face prin

Domain Name Server, care gaseşte corespondentul unei adrese simbolice printr-

o adresa numerica si localizează sursa. Deci scopul DNS este localizarea unei

resurse simbolice.

Algoritmul de dirijare consta in urmatorii pasi prezentati in figura urmatoare.

Fig. 4.0. Algoritm de dirijare

Page 21: Proiect DNS Tituro

DNS – Principii,Functionare,Vulnerabilitati 2013 tituro

20

4.1. Dirijarea IP

Este o actiune indeplinita de un DNS pentru a realiza rezolutie de adrese.

Aceasta se realizeaza si prin actiunea de dirijare prin router. Cand se doreste

aflarea adresei numerice corespunzatoare unei adrese simbolice, se face o

cautare intr-o baza de date.

Dirijarea poate fi:

1.locala;

2.indirecta;

3.directa.

In cazul dirijarii locale, ne bazam pe folosirea mastilor. Acestea indica

faptul ca sursa si destinatia se afla intr-o zona restransa identificata prin masca.

Se apeleaza la sisteme fizice pentru conectare. Se folosesc adrese statice

bazate pe o configuratie stabila.

In cazul dirijarii indirecte ne bazam pe un router adiacent, care semnifica

intermedierea de catre un reprezentant al retelei. Daca routerul este la randul lui

conectat direct atunci avem de a face cu o retea locala conectata cu o retea

locala. Toate accesele in reteaua locala exterioara sunt intermediate de routerul

local.

In cazul dirijarii directe, dirijarea se face direct de la o adresa la alta

adresa (ambele exprimate direct in DDN).

Dirijarea implicita se bazeaza pe DNS. DNS-urile au activitati mai complexe

decat cele suportate de routere. Acestea sunt responsabile de transferurile de date intre

domenii diferite. Se face o routare implicita, care reprezinta o forma de conectare spre

tot Internetul. DNS reprezinta mijlocul prin care o statie locala este legata la Internet.

Fiecare DNS reprezinta un hop in aceasta retea, hopul fiiind reprezent de traversarea

unui DNS. Aceasta dirijare este implicita pentru ca nu este locala, indirecta sau directa.

Aici este implicat orice domeniu care exista pe Internet.

Dirijarea implicita: se face pe baza de internet, conectarea a doua retele

neconectate direct. Se realizeaza un dialog intre o succesiune de rutere, fiecare trecere

printr-un ruter se numeste hop, prima trecere este prin ruterul care leaga reteaua, asa

numitul ruter intermediar.

Page 22: Proiect DNS Tituro

DNS – Principii,Functionare,Vulnerabilitati 2013 tituro

21

Algoritmul de dirijare este urmatorul:

Implementarea dirijarii cu DNS : este vorba de gestiune de baza de date care se

refera la noduri din domenii si subdomenii.Serverele DNS schimba intre ele tabele

despre topologia retelelor. In acest caz fiecare DNS poate sa gestioneze o parte din

retea dependenta de el prin tabela sa. Un calculator nou se introduce in evidenta astfel

: cand i se atribuie un nume acesta va trebui sa cunoasca DNS-ul care il conecteaza la

Internet. Serverul de nume sau de domenii, cand afla de acest nod nou, il va trece in

primul rand in tabelele proprii. DNS-ul verifica sa nu fie dublura de nume in cadrul

domeniului din care face parte.

Exemplu de dirijare IP prin adrese IP:

141.185.254.16

141.85.53.1 141.85.107.1

.53.13 .53.97 .107.9

.53.14 .53.100 .107.10

Tabela de rutare pentru 141.85.53.1:

141.85.53.1-local ;141.85.107.1-implicit;

141.85.53.13-local;141.85.107.9-implicit;

141.85.53.97-local;141.85.107.10-implicit;

141.85.53.14-indirect;141.85.53.100-indirect

Tabela de rutare pentru 141.85.107.1:

141.85.107.1-local;141.85.53.xxx–implicit(prin 141.85.256.16);

141.85.107.9-local;141.85.107.10-indirect

Tabela de rutare pentru 141.85.254.16:

141.85.53.1-local ;141.85.53.xxx-indirect;

Page 23: Proiect DNS Tituro

DNS – Principii,Functionare,Vulnerabilitati 2013 tituro

22

141.85.xxx.xxx-implicite;141.85.107.1-local;

141.85.107.xxx - indirect

Exemplu de dirijare prin DNS:

141.85.254.16 - pub.ro

elia.pub.ro – .53.1 neuro.pub.ro (.107.1)

DNS:elia.pub.ro DNS: neuro.pub.ro

stst.elia.pub.ro - .53.20 xeno.neuro.pub.ro-.107.10

stst.elia.pub.ro ca cauta in elia.pub.ro care se duce la pub.ro apoi la .ro apoi la

.com apoi la intel.com apoi la www.intel.com.

5. Atacuri si Vulnerabilitati ale DNS

5.1.Atacuri de tip DoS impotriva retelelor de calculatoare cu

ajutorul DNS

Atacul de tip DoS reprezinta un incident pe timpul caruia un

utilizator/grup/organizatie nu poate accesa un serviciu care in mod normal ar trebui sa

fie functional. In acest context, termenul "serviciu" se refera punctual la o singura

aplicatie: software-ul serverului DNS. Atacuri le de tip DoS care implica si DNS-ul au

doua forme distincte: o forma in care atacul este directionat impotriva serverului DNS si

o alta in care mecanismul de functionare al DNS este folosit pentru a livra un atac de tip

DoS impotriva unei terte parti (prezentat in sectiunea urmatoare).

Un atac de tip DoS presupune in general trimiterea de mai mult trafic decat poate

procesa destinatia in orice moment de timp. In contextul prezentat aceasta inseamna

incapacitatea serverelor DNS de a mai traduce numele in adrese IP facand astfel

imposibila accesarea paginilor web sau trimiterea de e-mail-uri. Pentru a face atacul si

mai eficient, atacatorul isi poate construi o retea de calculatoare zombi (botnet)

generand astfel un atac de tip DDoS (Distributed Denial-of-Service). Atacurile de tip

DDoS folosind o retea de tip botnet sunt foarte puternice fiind dificil de contracarat.

Page 24: Proiect DNS Tituro

DNS – Principii,Functionare,Vulnerabilitati 2013 tituro

23

5.2. Atacuri de tip DoS impotriva DNS

Arhitectura DNS poate fi exploatata de catre un atacator pentru a executa un atac

de tip DoS (Denial of Service )impotriva altor servere sau retele de calculatoare. Acest

tip de atac depinde de unele pregatiri avansate ale atacatorului precum si de abili tatea

sa de a gasi un numar mare de servere DNS de tip open-recursive pentru care mai apoi

sa le foloseasca in cadrul atacului sau. Serverele de tip open-recursive sunt acele

servere care vor raspunde unui anume tip de interogare denumit interogare recursiva,

dar vor da acest raspuns oricarui client care face o astfel de interogare (recomandat

este sa raspunda doar unui anume set de clienti "de incredere").

Atacatorul executa atacul sau de tip DoS asupra victimei dupa un algortim similar cu

urmatorii pasi:

Atacatorul isi instruieste reteaua de tip botnet sa trimita interogari DNS catre

serverele de tip open-recursive

Aceste interogari sunt trimise folosind drept adresa IP sursa adresa serverului

DNS victima si portul sursa 53/UDP (spoofing)

Serverele open-recursive efectueaza propriile lor interogari catre serverul DNS

autorizat pentru zona respectiva, in acest caz serverul DNS compromis anterior

de catre atacator

Serverul DNS compromis trimite un raspuns

Serverele open-recursive trimit propriile raspunsuri DNS - aceste raspunsuri vor

fi trimise la adresa IP a serverului DNS victima

Aceasta metoda este foarte eficienta deoarece atacatorul creaza o cerere

DNS initiala foarte mica, dar raspunsul rezultat este foarte mare creandu-se

astfel un efect de amplificare. Serverul DNS victima este practic bombardat

cu trafic pe care nu l-a cerut si care nu are o sursa distincta fiind astfel dificil

de filtrat.

5.3.Atacuri de tip DoS impotriva retelelor de calculatoare cu ajutorul

DNS

Conceptele de baza ale unui astfel de atac pot fi rezumate in urmatorii pasi:

Page 25: Proiect DNS Tituro

DNS – Principii,Functionare,Vulnerabilitati 2013 tituro

24

Un client are nevoie sa faca o interogare DNS si astfel o trimite catre serverul

DNS in mod normal si asteapta un raspuns

O terta parte trimite un raspuns clientului folosind drept adresa IP sursa adresa

serverului DNS, inainte ca serverul DNS real sa o faca

Clientul accepta acest raspuns ca fiind unul veritabil si retine raspunsul neavand

nici o metoda de a sti ca nu a venit de la sursa de la care se astepta. In acest fel,

terta parte poate "otravi" lista cu raspunsuri memorate ale clientului cu informatii

false

Pentru ca un atacator sa poata executa atacul cu succes are nevoie sa fie capabil

sa deduca o serie de informatii referitoare la interactiunea dintre client si server:

adresele IP sursa si destinatie, porturi le sursa si destinatie si ID-ul tranzactiei DNS.

Exista cateva lucrari in internet care descriu cum pot fi obtinute aceste informatii; nu

este foarte dificil, deci un atacator cu abilitati medii ar putea efectua acest atac cu

usurinta.

5.4. Atacuri la nivel de aplicatie

Vulnerabilitati in interiorul software-ului DNS au fost descoperite in mod regulat

pe parcursul a mai multor ani. Cel mai periculos tip de vulnerabilitate duce la

exploatarea de la distanta a unei situatii neprevazute cunoscuta drept "depasirea

bufferului de tip stiva".

Aceasta vulnerabilitate apare din cauza ca dezvoltatorul aplicatiei nu defineste si nu

filtreaza in mod corespunzator datele de intrare pe care un program le poate primi ( in

acest caz aplicatia serverului DNS). Aceasta permite unui atacator sa trimita

programului date special fabricate care vor avea ca rezultat o depasire a memoriei

alocate intr-o zona speciala numita "stiva". Cand acest lucru se intampla, atacatorul

poate redirectiona operatia programului catre o zona unde se afla propriul cod

executand astfel instructiunile alese de atacator. In acest moment atacatorul poate crea

propriul "backdoor" pe server, sa incarce programe daunatoare, sa descarce username -

uri si detalii de conturi de pe server, sa stearga date si inregistrari sau multe alte

activitati neautorizate.

Aceste vulnerabilitati au fost descoperite in multe versiuni ale diferitilor producatori.

Software-ul DNS este prezent in multe locatii nu doar pe serverele DNS. De exemplu,

aproape fara exceptie, routerele, switch-urile, firewall-urile, modem-urile au software

DNS preinstalat.

Page 26: Proiect DNS Tituro

DNS – Principii,Functionare,Vulnerabilitati 2013 tituro

25

5.5. Reducerea vulnerabilitatilor in DNS

5.5.1. Securizarea serverului si a sistemului de operare

Atacurile impotriva serverului DNS si/sau sistemului de operare pe care ruleaza

pot duce la intreruperea sau manipularea aplicatiei DNS. Din aceste motive este vital ca

atat serverul cat si sistemul de operare sa fie implementate intr -o configuratie sigura.

Toate implementari le ar trebui sa se ghideze dupa urmatoarele directive:

Securitatea fizica trebuie sa fie pe primul plan

Hardware-ul serverului ar trebui securizat pentru a impiedica accesul

neautorizat. Mecanismele de securitate logice (firewall/antivirus etc.) nu pot compensa

o slaba securitate fizica; daca o terta parte poate obtine accesul fizic la componentele

hardware atunci este posibila manipularea sistemului.

Separarea functionalitatii

Un server DNS prezinta o atat de mare importanta din punct de vedere al retelei incat

ar trebui sa fie tot timpul functional. O buna implementare a retelei de comunicatii ar

trebui sa separe aceasta functie in servere specifice care sa fie responsabile doar

pentru servicii DNS. In schimb, serviciile DNS ar trebui dezactivate sau indepartate din

sistemele care nu au nevoie de ele.

Actualizarea sistemului de operare

Indiferent de sistemul de operare folosit intotdeauna se vor gasi unele probleme,

astfel, configuratiile de securitate si un plan de instalare in mod regulat a patch-urilor de

securitate sunt esentiale. Pachete cu remedieri si patch-uri de securitate ar trebui

aplicate cat mai curand, dar doar dupa ce au fost testate; nu implementati actualizari

ale software-ului care nu au fost testate intr-un sistem aflat in exploatare.

Aceste masuri sunt departe de a fi suficiente; administratorii de retea ar trebui sa

urmareasca indrumarile de securitate ale distribuitorilor de hardware si sisteme de

operare specifice produselor lor. In plus ar trebui luata in considerare folosirea firewall -

urilor la nivel de aplicatie si a IDS-urilor (Intrusion Detection Systems).

5.5.2. Securizarea aplicatiei

Vulnerabilitatile aplicatiei (precum depasiri ale buffer-ului) din software-ul DNS pot

de asemenea duce la compromiterea sistemlui. Exista multe vulnerabilitati cunoscute si

fara indoiala altele vor fi descoperite de-a lungul timpului. Din acest motiv rulati

intotdeauna versiunea curenta a software-ului si asigurati-va ca actualizarile si patch-

Page 27: Proiect DNS Tituro

DNS – Principii,Functionare,Vulnerabilitati 2013 tituro

26

urile de securitate furnizate de distribuitor sunt aplicate. Urmatoarele principii ar trebui

urmate:

-Adoptati principiul "cel mai mic privilegiu" cand instalati software-ul. Nu rulati

serviciul DNS cu privilegii de root sau administrator; daca sistemul este compromis,

atacatorul va avea aceleasi drepturi ca si procesul compromis - in acest caz

root/administrator.

-Implementati reteaua in asa fel incat DNS sa fie impartit sa proceseze cereri interne

si externe separat. In acest fel se evita ca domeniile interne ale organizatiei sa fie

pastrate intr-o locatie care sa fie accesibila si statiilor din exterior.

-Dezactivati interogarile de tip open-recursive.

-Acceptati cereri de transfer de zona doar de la statiile de incredere.

-Implementati tehnici criptografice de autentificare si integritate oriunde este posibil

(ex: DNSSEC sau TSIG).

-Verificati la distribuitori pentru recomandari cu privire la o instalare securizata.

5.5.3. Apararea impotriva atacurilor de tip DoS

Majoritatea operatorilor de servere root de internet au implementat aceste

servere folosind o tehnologie numita Anycast. Ideea din spatele Anycast consta in

implementarea nu doar a unui singur server fizic ci a mai multor servere fizice. Aceste

servere ruleaza toate aceeasi instanta a serverului DNS root pe care o reprezinta si vor

raspunde la interogari DNS care isi au originea in zona geografica desemnata.

In esenta, tehnologia Anycast se traduce prin faptul ca acum exista sute de servere

root in internet distribuite pe glob care asigura un grad mai mare de rezistenta la

atacuri le de tip DoS.

Si alti administratori de retea au nevoie de asemenea sa se protejeze impotriva

atacuri lor de tip DoS. Aceast lucru poate fi indeplinit prin implementarea de solutii de

filtrare a traficului de retea si printr-o colaborare cu furnizorii de servicii aflati pe o

treapta ierarhica superioara pentru o mai buna atenuarea a efectelor.

5.5.4. Protejarea utilizatorilor serviciilor DNS

Un utilizator de servicii DNS poate fi un individ sau o organizatie. Cel mai

important factor din punctul de vedere al utilizatorului este ca informatia obtinuta de la

DNS sa fie corecta si de incredere. In contextul securitatii aceasta se traduce prin

atenuarea atacurilor de tip cache poisoning.Atacurile de tip cache poisoning pot fi

atenuate prin folosirea DNSSEC ( Domain Name Systems Security Extensions) care

Page 28: Proiect DNS Tituro

DNS – Principii,Functionare,Vulnerabilitati 2013 tituro

27

adauga autentificarea sursei datelor si integritatea datelor DNS. DNSSEC utilizeaza noi

tipuri de RR (Resource Records) impreuna cu criptografia cu chei publice pentru a

asigura utilizatorului un grad mai mare de incredere.

Exista si alte solutii ce pot fi implementate pentru a spori gradul de incredere in

serviciile DNS precum TSIG ( Transaction Signatures). Similar cu DNSSEC, TSIG de

asemenea foloseste un tip diferit de RR pentru a implementa o solutie criptografica.

Diferenta majora fata de DNSSEC este ca TSIG foloseste criptografia cu chei simetrice,

in timp ce DNSSEC implementeaza cheile publice/private, astfel incat DNSSEC nu se

confrunta cu problema distribuirii intr-un mod securizat al cheilor. Din acest motiv TSIG

este cel mai des intalnit in sisteme care impartasesc un control administrativ comun

fiind folosit in special la securizarea transferului de zone intre serverele DNS.

Organizatiile ar trebui sa se asigure ca toate echipamentele de retea capabile sa

ofere servicii DNS sunt corect configurate si actualizate cu ultimele remedieri si

actualizari ale software-ului. De cele mai multe ori aceasta se reduce doar la

securizarea configuratiilor implicite si la oprirea serviciilor care nu sunt folosite.

5.6. Studii si Cazuri recente

Cercetatorii de la Universitatea Oulu din Finlanda au descoperit o serie de

scapari in software -ul utilzat pentru administrarea Internet Domain Name System.

Vulnerabilitatile ar putea fi exploatate pentru a cauza o varietate de rezultate, precum

prabusirea serverului DNS sau posibilitatea de a oferi atacatorilor un mod de a rula

software-uri neautorizate, potrivit unui avertisment postat de National Infrastructure

Security Coordination Centre din Marea Britanie. Cercetatorii au creat o suita de teste

DNS care poate fi utilizata pentru a testa aceste vulnerabilitati, iar un numar de furnizori

de software DNS, precum Juniper Networks si Internet Software Consortium au

confirmat ca unele produse ale lor sunt vulnerabile.

Bug-ul descoperit in software-ul BIND ( Berkeley Internet Name Domain) al

Internet Software Consortium nu este cosiderat cu mare risc , potrivit cercetatorilor.

Hitachi si Wind River au declarat ca produsele lor nu sunt afectate. Microsoft, Cisco

Systems si Sun Microsystems isi testeaza produsele si nu au putut specifica daca sunt

sau nu afectate. Serverele DNS gestioneaza Sistemul Internet pentru a converti adrese

Web in adrese IP unice care sunt utilizate de computere.

Page 29: Proiect DNS Tituro

DNS – Principii,Functionare,Vulnerabilitati 2013 tituro

28

Aceste servere au intrat in atentie din cauza recentelor atacuri care au aratat ca

sistemul DNS poate fi potential compromis. De curand, VeriSign a dezvaluit ca atacatori

necunoscuti au utilizat computerele compromise si servere DNS pentru a lansa un atac

denial-of-service impotriva a aproximativ 1.500 de organizatii. La scurta vreme dupa

popularizarea atacului, hackerii au atacat serverele DNS ale Network Solutions si

Joker.com, ambele avand ca rezultat intreruperea activitatii acestora.

Dan Kaminsky, unul din expertii in securitate recunoscuti pe plan international, a

anuntat ca in curand a lucrat impreuna cu Microsoft, Cisco, Sun, pentru realizarea unui

patch de securitate pentru serverele de DNS care va fi instalat simultan. Problema de

securitate nu a fost dezvaluita publica in detaliu, ceea ce inseamna ca impactul este

major. Teoretic, orice uti lizator, chiar daca va scrie in browser adresa unui site corect,

poate fi redirectat catre un site fals, deoarece serverele DNS vulnerabile accepta in

cache intrari fara verificarea sursei.

Ca un exemplu, site-urile Google.ro şi Yahoo.ro au căzut victime atacurilor unui

hacker sau al unui grup de hackeri algerieni în cursul lunii decembrie 2012, acestea

afişând un mesaj în locul tradiţionalelor pagini de intrare. Problemele generate de acest

atac sunt deja în curs de rezolvare, însă utilizatorii anumitor furnizori de servicii Internet

ar putea fi încă afectaţi.

Acest atac nu este unul directionat asupra paginilor şi conţinutului real găzduit de

cele două servicii, ci un atac asupra serverelor DNS, care interpretează adresele Web

cerute şi le direcţionează către adresele IP reale. Printr-un atac de tip DNS poisoning,

în care sunt livrate informaţii false către celelalte servere DNS şi care se propagă astfel

către utilizator, atacatorii pot redirecţiona traficul către un server rulat de ei. În cazul de

faţă, redirecţionarea se face către nişte servere stocate în datacenter-ul EMango din

Olanda.

Utilizatorii trebuie să fie atenţi la paginile vizitate deoarece atacatorii pot livra

fişiere malware sau pretinde date de autentificare. Fiecare browser afişează, într -o

formă sau alta, certificatele de securitate ale paginii vizitate iar acestea trebuie să fie

valide. Utilizatorul poate alege temporar soluţia utilizării adreselor IP reale a serviciilor

Google.ro şi Yahoo.ro, care sunt 173.194.75.94, respectiv, 87.248.120.148, adăugarea

manuală a acestora în fişierul HOSTS, utilizarea versiunilor internaţionale .com ale

celor două servicii sau alegerea unui furnizor alternativ de servicii DNS precum

OpenDNS sau Google Public DNS.

Un studiu pe 465 profesionisti din IT, efectuat in 2011, arata ca in ciuda

eforturilor sisfiene, multe companii raman vulnerabile. Mai mult de jumatate din

respondenti au declarat ca au cazut victima unor anumite forme de atacuri malware.

Page 30: Proiect DNS Tituro

DNS – Principii,Functionare,Vulnerabilitati 2013 tituro

29

Mai mult de o treime au fost afectati de atacuri denial-of-service (DoS), iar mai mult de

44% au fost victima unui atac pharming sau cache-poisoning.

Atat serverele DNS interne, cat si cele externe sunt la fel de vulnerabile: ambele

tipuri au sucombat la atacuri cam cu aceasi frecventa, potrivit studiului realizat de

Mazerov Research and Consulting.

Un server DNS compromis poate fi uti lizat pentru a supune utilizatorii Web la

toate tipurile de atacuri phishing si site-uri web malitioase, iar in unele cazuri chiar sa

creeze haos in serviciile de directoare si e-mail.

Potrivit studiului Mazerov, atacurile DoS sunt prevalente in randul respondentilor,

doar 16% declarand ca nu s-au confruntat niciodata cu astfel de atacuri. Principalele

forme de atac DNS sunt malware (viermi, virusi, troieni, etc) - 68%; denial ofe service -

48%; cache-poisoning - 36% si pharming - 23%.

Page 31: Proiect DNS Tituro

DNS – Principii,Functionare,Vulnerabilitati 2013 tituro

30

6.Bibliografie:

-Comunicatii si Internet-Lucrare de grup- Universitatea Politehnica Bucuresti(Andrei

Vlad Alexandru,Carleciuc Gabriela Alina,Chirita Andi ,Cucu Horia,Cuculescu Ana-

Maria,Dragan Nicoleta,Ivan Silviu)

- Andrew Tanenbaum - Retele de Calculatoare, Editia a 4-a.

- Revista Chip

-www.iana.org

-www.wikipedia.org

- Muntea Cristina - Retele de calculatoare - MI – 2009

- Retele de comunicatii date-lucrare nesemnata preluata regielive.ro

-http://network-tools.com/default.asp?prog=dnsrec&noncache=yes&host=radiomures.ro

-http://stiri.acasa.ro/auto-tehno-190/it-c-191/vulnerabilitati-in-software-ul-dns-58477.html

-http://www.securitatea-informatiilor.ro

-http://www.go4it.ro/internet/google.ro-si-yahoo.ro-victimele-unui-atac-dns-poisoning-

10354286/

-https://corisweb.stsisp.ro/documente/dns

-http://www.capital.ro

-http://pctroubleshooting.ro

-http://www.smartnews.ro/Internet/9579.html