Hvad er ARP (Address Resolution Protocol)?

click fraud protection

Du er måske bekendt med begrebet IP-adresser. Hver computer på et netværk har mindst én. Når der kommunikeres mellem netværk, identificerer disse IP-adresser entydigt kilden og destinationen for netværkstrafikken, så den kan leveres og reageres på pålideligt. Når der kommunikeres til en enhed på det samme netværk, bruger en computer ikke direkte IP-adressen. I stedet oversætter den denne IP-adresse til en MAC-adresse. ARP er protokollen til at styre IP til MAC-oversættelser og kommunikere dette rundt på netværket.

ARP står for Address Resolution Protocol. Det er en statsløs protokol, der har broadcast- og anmodnings-svar-komponenter. ARP bruges primært i IPv4-netværk, selvom andre netværkssystemer også bruger det. IPv6-netværk implementerer ARP-funktionalitet og noget ekstra funktionalitet med NDP. Eller Neighbour Discovery Protocol.

MAC-adresser, der er blevet identificeret, gemmes i en ARP-tabel på hver enhed. Hver post i ARP-tabellen udløber regelmæssigt. Men kan opdateres passivt, da ARP-trafik udsendes til netværket, hvilket minimerer den samlede mængde ARP-trafik, der er nødvendig.

ARP-sonde og respons

Hvis en computer skal sende en netværkspakke, ser den på destinationens IP-adresse. Den ved, at den skal sende den til routeren for enheder i et andet netværk. Dette kan så lede pakken til det rigtige netværk. Hvis pakken er beregnet til en enhed på det lokale netværk, skal computeren kende den korrekte MAC-adresse for at sende den til.

Som den første anløbshavn vil computeren tjekke sin ARP-tabel. Dette bør have en liste over alle kendte enheder på det lokale netværk. Hvis mål-IP- og MAC-adressen er der, vil den bruge ARP-tabellen til at fuldføre og sende pakken. Hvis IP-adressen ikke har en indtastning i ARP-tabellen, skal computeren finde ud af det via en ARP-sonde.

Computeren udsender en ARP-sonde til netværket og spørger "hvem har ”med erstattet den relevante IP-adresse. Hver enhed på netværket vil se denne besked, da det er en udsendelse. De fleste vil ignorere det, da det ikke er rettet mod dem. Men den enhed, der har den IP-adresse, vil svare med en anden udsendelsesmeddelelse, der siger " tilhører ” igen med og erstattet med deres respektive værdier. Den originale computer vil derefter opdatere sin ARP-tabel og sende pakken til den påtænkte modtager.

Bemærk: ARP-sondesvaret er også en udsendelse. Dette giver alle andre netværksenheder mulighed for at opdatere deres ARP-tabeller uden at kræve, at de skal lave identiske ARP-sonder. Dette er med til at minimere ARP-trafik.

ARP-sonde ved forbindelse

Når en computer opretter forbindelse til et netværk, skal den have en IP-adresse. Dette kan angives manuelt, men er typisk dynamisk allokeret af en DHCP (Dynamic Host Control Protocol) server. DHCP-serveren er generelt en funktion af netværksrouteren, men kan køres af en separat enhed. Når en ny enhed har en IP-adresse, enten gennem manuel konfiguration eller DHCP. Enheden skal hurtigt bekræfte, at ingen anden enhed allerede bruger denne IP-adresse.

For at gøre det udsender enheden en ARP-probepakke, der beder om enhver enhed, der bruger dens nyligt tildelte IP-adresse, til at svare på den. Det forventede svar er stilhed. Ingen anden enhed bør reagere, især i et DHCP-netværk. Efter korte forsinkelser vil enheden udsende den samme besked igen et par gange. Denne gentagelse hjælper i tilfælde, hvor en pakke kan være blevet tabt på vej til eller fra en enhed med en modstridende IP-adresse. Når der ikke har været svar på nogle få ARP-sonder, kan enheden begynde at bruge sin nye IP-adresse. For at gøre det skal den sende en gratis ARP.

Gratis ARP

Når en enhed har fastslået, at den IP-adresse, den vil bruge, ikke bliver brugt, sender den en gratis ARP. Dette involverer blot udsendelse til netværket " har ." Dette er typisk formateret, som om det var et svar på en standard ARP-sonde, bare uden at en ARP-sonde nogensinde anmoder om det, deraf navnet "gratuitous ARP."

Gratis ARP-anmodninger sendes også regelmæssigt til netværket, ligesom påmindelser til alle andre enheder om, at computeren stadig er tilsluttet, online og har sin IP-adresse.

ARP spoofing

ARP er en statsløs protokol, der er ingen forbindelse, og alle beskeder udsendes til netværket som helhed. Alle enheder lytter til og cacher ARP-svar i deres ARP-tabeller. Dette fører dog til en sårbarhed i systemet. Forudsat at en angriber fysisk kan oprette forbindelse til netværket, kan de køre software, der ondsindet udsender ukorrekte gratis ARP-svarpakker. Hver enhed på netværket vil se de ondsindede ARP-pakker, implicit stole på dem og opdatere deres routingtabeller. Disse nu forkerte ARP-tabeller omtales som "forgiftede".

Dette kunne bare bruges til at forårsage netværksproblemer ved at pege trafik i den forkerte retning. Der er dog et værre scenario. Hvis angriberen spoofer ARP-pakker til routerens IP-adresse og peger dem til deres egen enhed, vil de modtage og være i stand til at se al netværkstrafikken. Forudsat at enheden har en anden netværksforbindelse til at videresende trafikken, kan det tage en mand i midten (MitM) position. Dette giver angriberen mulighed for at udføre grimme angreb såsom HTTPS-stripping, hvilket potentielt giver dem mulighed for at se og ændre al netværkstrafik.

Bemærk: Der er nogle beskyttelser mod MitM-angreb. Angriberen ville ikke være i stand til at duplikere HTTPS-certifikatet for et websted. Enhver bruger, der får trafikken opsnappet, bør få browsercertifikatfejl.

Der er dog mange væsentlige og ukrypterede kommunikationer, især på et internt netværk. Dette er ikke så meget tilfældet på et hjemmenetværk. Alligevel er virksomhedsnetværk bygget på Windows særligt sårbare over for ARP-spoofing-angreb.

ARP-forgiftning muliggør MitM-angreb – Kilde: Wikipedia

Konklusion

ARP står for Address Resolution Protocol. Det bruges i IPv4-netværk til at oversætte IP-adresser til MAC-adresser, som det er nødvendigt i lokale netværk. Den består af statsløse anmodnings- og svarudsendelser. Svar, eller mangel på samme, giver en enhed mulighed for at bestemme, hvilken MAC-adresse der er knyttet til en IP-adresse, eller om en IP-adresse er ubrugt. Enheder cachelagrer ARP-svar for at opdatere deres ARP-tabeller.

Enheder kan også regelmæssigt udsende gratis meddelelser om, at deres MAC-adresse er knyttet til deres IP-adresse. Manglen på en godkendelsesmekanisme gør det muligt for en ondsindet bruger at udsende falske ARP-pakker for at forgifte ARP-tabeller og dirigere trafik til sig selv for at udføre trafikanalyse eller MitM-angreb.