Kas yra ARP (Address Resolution Protocol)?

Galbūt esate susipažinę su IP adresų sąvoka. Kiekvienas tinkle esantis kompiuteris turi bent vieną. Bendraujant tarp tinklų, šie IP adresai vienareikšmiškai identifikuoja tinklo srauto šaltinį ir paskirties vietą, kad būtų galima patikimai perduoti ir reaguoti. Bendraudamas su įrenginiu tame pačiame tinkle, kompiuteris tiesiogiai nenaudoja IP adreso. Vietoj to, jis verčia tą IP adresą į MAC adresą. ARP yra protokolas, skirtas valdyti IP vertimus į MAC ir perduoti tai visame tinkle.

ARP reiškia Address Resolution Protocol. Tai protokolas be būsenos, turintis transliavimo ir užklausų-atsakymų komponentus. ARP pirmiausia naudojamas IPv4 tinkluose, nors jį naudoja ir kitos tinklo sistemos. IPv6 tinkluose įdiegta ARP funkcija ir kai kurios papildomos funkcijos su NDP. Arba Kaimyno atradimo protokolas.

Nustatyti MAC adresai yra saugomi kiekvieno įrenginio ARP lentelėje. Kiekvienas įrašas ARP lentelėje reguliariai baigiasi. Bet gali būti atnaujintas pasyviai, kai ARP srautas yra transliuojamas į tinklą, taip sumažinant bendrą reikalingą ARP srautą.

ARP tyrimas ir atsakas

Jei kompiuteriui reikia perduoti tinklo paketą, jis žiūri į paskirties IP adresą. Jis žino, kad jį reikia nusiųsti į maršrutizatorių, skirtą įrenginiams kitame tinkle. Tai gali nukreipti paketą į tinkamą tinklą. Jei paketas skirtas įrenginiui vietiniame tinkle, kompiuteris turi žinoti teisingą MAC adresą, į kurį galėtų jį siųsti.

Kaip pirmasis iškvietimo prievadas, kompiuteris patikrins savo ARP lentelę. Jame turėtų būti visų žinomų vietinio tinklo įrenginių sąrašas. Jei yra tikslinis IP ir MAC adresas, paketui užpildyti ir išsiųsti bus naudojama ARP lentelė. Jei IP adresas neturi įrašo ARP lentelėje, kompiuteris turi tai sužinoti per ARP zondą.

Kompiuteris transliuoja ARP zondą į tinklą, klausdamas „kas turi " su pakeitė atitinkamą IP adresą. Kiekvienas tinklo įrenginys matys šį pranešimą, nes tai yra transliacija. Dauguma jų nepaisys, nes tai nėra skirta jiems. Bet įrenginys, turintis tą IP adresą, atsakys kitu transliacijos pranešimu, kuriame sakoma: priklauso “ vėl su ir pakeisti atitinkamomis jų vertėmis. Tada pradinis kompiuteris atnaujins savo ARP lentelę ir išsiųs paketą numatytam gavėjui.

Pastaba: ARP zondo atsakymas taip pat yra transliacija. Tai leidžia visiems kitiems tinklo įrenginiams atnaujinti savo ARP lenteles nereikalaujant atlikti identiškų ARP zondų. Tai padeda sumažinti ARP srautą.

ARP zondas prisijungus

Kai kompiuteris prisijungia prie tinklo, jis turi gauti IP adresą. Tai gali būti nurodyta rankiniu būdu, bet paprastai dinamiškai paskirstoma DHCP (Dinaminis pagrindinio kompiuterio valdymo protokolas) serveris. DHCP serveris paprastai yra tinklo maršruto parinktuvo funkcija, bet gali būti paleistas atskiru įrenginiu. Kai naujas įrenginys turi IP adresą, naudojant rankinę konfigūraciją arba DHCP. Įrenginys turi greitai patikrinti, ar joks kitas įrenginys jau nenaudoja to IP adreso.

Kad tai padarytų, įrenginys transliuoja ARP zondo paketą, prašydamas į jį atsakyti bet kurio įrenginio, naudojančio jam naujai priskirtą IP adresą. Laukiamas atsakas – tyla. Joks kitas įrenginys neturėtų reaguoti, ypač DHCP tinkle. Po trumpo uždelsimo įrenginys kelis kartus transliuos tą patį pranešimą. Šis kartojimas padeda tais atvejais, kai vienas paketas galėjo būti numestas pakeliui į įrenginį arba iš įrenginio, kurio IP adresas nesuderinamas. Negavus atsakymų į kelis ARP zondus, įrenginys gali pradėti naudoti savo naują IP adresą. Norėdami tai padaryti, jis turi nusiųsti nemokamą ARP.

Nemokamas ARP

Kai įrenginys nustato, kad IP adresas, kurį jis nori naudoti, nenaudojamas, jis siunčia nemokamą ARP. Tai tiesiog apima transliavimą į tinklą “ turi . Paprastai tai suformatuojama taip, tarsi tai būtų atsakas į standartinį ARP zondą, tik ARP zondas niekada to neprašo, todėl pavadinimas „nemokamas ARP“.

Nemokamos ARP užklausos taip pat reguliariai siunčiamos į tinklą kaip priminimai visiems kitiems įrenginiams, kad kompiuteris vis dar prijungtas, prisijungęs ir turi savo IP adresą.

ARP klastojimas

ARP yra protokolas be būsenos, nėra ryšio, o visi pranešimai transliuojami į tinklą. Visi įrenginiai klausosi ir talpykloje saugo ARP atsakymus savo ARP lentelėse. Tačiau tai sukelia sistemos pažeidžiamumą. Darant prielaidą, kad užpuolikas gali fiziškai prisijungti prie tinklo, jis gali paleisti programinę įrangą, kuri piktybiškai transliuoja neteisingus neatlygintinus ARP atsakymų paketus. Kiekvienas tinklo įrenginys matys kenkėjiškus ARP paketus, netiesiogiai jais pasitikės ir atnaujins savo maršruto lenteles. Šios dabar neteisingos ARP lentelės vadinamos „apsinuodijusiomis“.

Tai gali būti naudojama tinklo problemoms sukelti, nukreipiant srautą neteisinga kryptimi. Tačiau yra ir blogesnis scenarijus. Jei užpuolikas suklastotų maršrutizatoriaus IP adreso ARP paketus ir nukreiptų juos į savo įrenginį, jis gautų ir galėtų matyti visą tinklo srautą. Darant prielaidą, kad įrenginys turi kitą tinklo ryšį srautui perduoti, gali prireikti žmogaus viduryje (MitM) poziciją. Tai leidžia užpuolikui atlikti bjaurias atakas, pvz., HTTPS pašalinimą, todėl gali matyti ir keisti visą tinklo srautą.

Pastaba: Yra keletas apsaugos priemonių nuo MitM atakų. Užpuolikas negalės kopijuoti svetainės HTTPS sertifikato. Bet kuris vartotojas, perėmęs srautą, turėtų gauti naršyklės sertifikato klaidas.

Tačiau yra daug esminių ir nešifruotų ryšių, ypač vidiniame tinkle. Namų tinkle taip nėra. Vis dėlto „Windows“ pagrindu sukurti įmonių tinklai yra ypač pažeidžiami ARP klaidinimo atakų.

Apsinuodijimas ARP įgalina MitM atakas – Šaltinis: Vikipedija

Išvada

ARP reiškia Address Resolution Protocol. Jis naudojamas IPv4 tinkluose IP adresams išversti į MAC adresus, kaip reikia vietiniuose tinkluose. Jį sudaro užklausų ir atsakymų transliacijos be pilietybės. Atsakymai arba jų nebuvimas leidžia įrenginiui nustatyti, koks MAC adresas susietas su IP adresu arba ar IP adresas nenaudojamas. Įrenginiai talpykloje saugo ARP atsakymus, kad atnaujintų savo ARP lenteles.

Įrenginiai taip pat gali reguliariai transliuoti neatlygintinus pranešimus, kad jų MAC adresas yra susietas su jų IP adresu. Autentifikavimo mechanizmo nebuvimas leidžia piktybiniam vartotojui transliuoti netikrus ARP paketus, kad apnuodytų ARP lenteles, ir nukreipti srautą į save, kad galėtų atlikti srauto analizę arba MitM atakas.