Ce este ARP (Address Resolution Protocol)?

S-ar putea să fiți familiarizat cu conceptul de adrese IP. Fiecare computer dintr-o rețea are cel puțin unul. Când comunică între rețele, aceste adrese IP identifică în mod unic sursa și destinația traficului de rețea, astfel încât acesta să poată fi livrat și să poată fi răspuns în mod fiabil. Când comunică cu un dispozitiv din aceeași rețea, un computer nu utilizează direct adresa IP. În schimb, traduce acea adresă IP într-o adresă MAC. ARP este protocolul pentru a gestiona traducerile IP la MAC și pentru a comunica acest lucru în rețea.

ARP înseamnă Address Resolution Protocol. Este un protocol fără stat care are componente de difuzare și cerere-răspuns. ARP este utilizat în principal în rețelele IPv4, deși îl folosesc și alte sisteme de rețea. Rețelele IPv6 implementează funcționalitatea ARP și unele funcționalități suplimentare cu NDP. Sau Protocolul de descoperire a vecinilor.

Adresele MAC care au fost identificate sunt stocate într-un tabel ARP pe fiecare dispozitiv. Fiecare intrare din tabelul ARP expiră în mod regulat. Dar poate fi actualizat pasiv pe măsură ce traficul ARP este transmis în rețea, minimizând cantitatea totală de trafic ARP necesară.

Sondă și răspuns ARP

Dacă un computer trebuie să transmită un pachet de rețea, se uită la adresa IP de destinație. Știe că trebuie să-l trimită la router pentru dispozitive dintr-o rețea diferită. Acest lucru poate direcționa apoi pachetul către rețeaua potrivită. Dacă pachetul este destinat unui dispozitiv din rețeaua locală, computerul trebuie să cunoască adresa MAC corectă la care să-l trimită.

Ca prim port de apel, computerul își va verifica tabelul ARP. Aceasta ar trebui să aibă o listă cu toate dispozitivele cunoscute din rețeaua locală. Dacă IP-ul și adresa MAC țintă sunt acolo, va folosi tabelul ARP pentru a completa și trimite pachetul. Dacă adresa IP nu are o intrare în tabelul ARP, computerul trebuie să afle printr-o sondă ARP.

Computerul difuzează o sondă ARP către rețea întrebând „cine are " cu a înlocuit adresa IP relevantă. Fiecare dispozitiv din rețea va vedea acest mesaj deoarece este o difuzare. Cei mai mulți îl vor ignora, deoarece nu este îndreptat către ei. Dar dispozitivul care are acea adresă IP va răspunde cu un alt mesaj difuzat spunând „ aparține lui ” din nou cu și înlocuite cu valorile lor respective. Calculatorul original își va actualiza apoi tabelul ARP și va trimite pachetul destinatarului vizat.

Notă: Răspunsul sondei ARP este, de asemenea, o difuzare. Acest lucru permite tuturor celorlalte dispozitive de rețea să își actualizeze tabelele ARP fără a le solicita să realizeze sonde ARP identice. Acest lucru ajută la minimizarea traficului ARP.

Sonda ARP la conexiune

Când un computer se conectează la o rețea, acesta trebuie să obțină o adresă IP. Acesta poate fi specificat manual, dar este de obicei alocat dinamic de către un DHCP (Protocolul de control dinamic al gazdei) Server. Serverul DHCP este în general o funcție a routerului de rețea, dar poate fi rulat de un dispozitiv separat. Odată ce un dispozitiv nou are o adresă IP, fie prin configurare manuală, fie prin DHCP. Dispozitivul trebuie să verifice rapid că niciun alt dispozitiv nu utilizează deja adresa IP respectivă.

Pentru a face acest lucru, dispozitivul difuzează un pachet de sondă ARP, solicitând oricărui dispozitiv care folosește adresa IP nou atribuită să răspundă la acesta. Răspunsul așteptat este tăcerea. Niciun alt dispozitiv nu ar trebui să reacționeze, mai ales într-o rețea DHCP. După scurte întârzieri, dispozitivul va difuza din nou același mesaj de câteva ori. Această repetare ajută în cazurile în care un pachet ar fi putut fi aruncat în drum spre sau de la un dispozitiv cu o adresă IP conflictuală. Odată ce nu au existat răspunsuri la câteva probe ARP, dispozitivul poate începe să folosească noua sa adresă IP. Pentru a face acest lucru, trebuie să trimită un ARP gratuit.

ARP gratuit

Odată ce un dispozitiv a stabilit că adresa IP pe care dorește să o utilizeze nu este utilizată, trimite un ARP gratuit. Aceasta implică pur și simplu difuzarea către rețea „ are .” Acesta este de obicei formatat ca și cum ar fi un răspuns la o sondă ARP standard, doar fără ca o sondă ARP să-l solicite vreodată, de unde și numele „ARP gratuit”.

Solicitările ARP gratuite sunt, de asemenea, trimise în mod regulat în rețea, la fel ca mementouri pentru toate celelalte dispozitive că computerul este încă conectat, online și are adresa sa IP.

Falsificarea ARP

ARP este un protocol fără stat, nu există nicio conexiune și toate mesajele sunt transmise în rețea în general. Toate dispozitivele ascultă și memorează în cache răspunsurile ARP în tabelele lor ARP. Acest lucru duce însă la o vulnerabilitate în sistem. Presupunând că un atacator se poate conecta fizic la rețea, acesta poate rula software care difuzează în mod rău intenționat pachete de răspuns ARP gratuite incorecte. Fiecare dispozitiv din rețea va vedea pachetele ARP rău intenționate, implicit va avea încredere în ele și va actualiza tabelele de rutare. Aceste tabele ARP incorecte sunt denumite „otrăvite”.

Acest lucru ar putea fi folosit doar pentru a cauza probleme de rețea, îndreptând traficul în direcția greșită. Există însă un scenariu mai rău. Dacă atacatorul falsifică pachetele ARP pentru adresa IP a routerului și le indică către propriul dispozitiv, ar primi și va putea vedea tot traficul din rețea. Presupunând că dispozitivul are o altă conexiune de rețea pentru a redirecționa traficul, poate fi nevoie de un om la mijloc (MitM) poziție. Acest lucru îi permite atacatorului să efectueze atacuri urâte, cum ar fi dezactivarea HTTPS, permițându-le potențial să vadă și să modifice tot traficul din rețea.

Notă: Există unele protecții împotriva atacurilor MitM. Atacatorul nu ar putea duplica certificatul HTTPS al unui site web. Orice utilizator care are traficul interceptat ar trebui să primească erori de certificat de browser.

Există, totuși, multe comunicații esențiale și necriptate, în special pe o rețea internă. Acesta nu este chiar așa într-o rețea de acasă. Cu toate acestea, rețelele corporative construite pe Windows sunt deosebit de vulnerabile la atacurile de falsificare ARP.

Otrăvirea ARP permite atacurile MitM - Sursa: Wikipedia

Concluzie

ARP înseamnă Address Resolution Protocol. Este folosit în rețelele IPv4 pentru a traduce adrese IP în adrese MAC, așa cum este necesar în rețelele locale. Este alcătuit din transmisii de solicitare și răspuns apatride. Răspunsurile sau lipsa acestora permit unui dispozitiv să determine ce adresă MAC este asociată cu o adresă IP sau dacă o adresă IP este nefolosită. Dispozitivele memorează în cache răspunsurile ARP pentru a-și actualiza tabelele ARP.

De asemenea, dispozitivele pot difuza în mod regulat anunțuri gratuite că adresa lor MAC este asociată cu adresa lor IP. Lipsa unui mecanism de autentificare permite unui utilizator rău intenționat să difuzeze pachete ARP false pentru a otrăvi tabelele ARP și a direcționa traficul către ei înșiși pentru a efectua analize de trafic sau atacuri MitM.