Hva er ARP (Address Resolution Protocol)?

Du er kanskje kjent med begrepet IP-adresser. Hver datamaskin i et nettverk har minst én. Når du kommuniserer mellom nettverk, identifiserer disse IP-adressene unikt kilden og destinasjonen til nettverkstrafikken, slik at den kan leveres og svares på pålitelig. Når du kommuniserer med en enhet på samme nettverk, bruker ikke en datamaskin direkte IP-adressen. I stedet oversetter den den IP-adressen til en MAC-adresse. ARP er protokollen for å administrere IP til MAC-oversettelser og kommunisere dette rundt nettverket.

ARP står for Address Resolution Protocol. Det er en statsløs protokoll som har kringkastings- og forespørsel-svar-komponenter. ARP brukes først og fremst i IPv4-nettverk, selv om andre nettverkssystemer også bruker det. IPv6-nettverk implementerer ARP-funksjonalitet og noe tilleggsfunksjonalitet med NDP. Eller Neighbour Discovery Protocol.

MAC-adresser som er identifisert lagres i en ARP-tabell på hver enhet. Hver oppføring i ARP-tabellen utløper regelmessig. Men kan oppdateres passivt ettersom ARP-trafikk kringkastes til nettverket, og minimerer den totale mengden ARP-trafikk som trengs.

ARP-sonde og respons

Hvis en datamaskin trenger å overføre en nettverkspakke, ser den på destinasjons-IP-adressen. Den vet at den må sende den til ruteren for enheter i et annet nettverk. Dette kan da sende pakken til riktig nettverk. Hvis pakken er ment for en enhet på det lokale nettverket, må datamaskinen vite riktig MAC-adresse for å sende den til.

Som den første anløpsporten vil datamaskinen sjekke ARP-tabellen. Dette skal ha en liste over alle kjente enheter på det lokale nettverket. Hvis mål-IP- og MAC-adressen er der, vil den bruke ARP-tabellen til å fullføre og sende pakken. Hvis IP-adressen ikke har en oppføring i ARP-tabellen, må datamaskinen finne ut av det via en ARP-sonde.

Datamaskinen sender en ARP-sonde til nettverket og spør "hvem som har ” med erstattet den relevante IP-adressen. Hver enhet på nettverket vil se denne meldingen ettersom det er en kringkasting. De fleste vil ignorere det siden det ikke er rettet mot dem. Men enheten som har den IP-adressen vil svare med en annen kringkastingsmelding som sier " tilhører ” igjen med og erstattet med deres respektive verdier. Den originale datamaskinen vil deretter oppdatere ARP-tabellen og sende pakken til den tiltenkte mottakeren.

Merk: ARP-sonderesponsen er også en kringkasting. Dette lar alle andre nettverksenheter oppdatere sine ARP-tabeller uten at de må lage identiske ARP-sonder. Dette bidrar til å minimere ARP-trafikk.

ARP-sonde ved tilkobling

Når en datamaskin kobles til et nettverk, må den få en IP-adresse. Dette kan spesifiseres manuelt, men er vanligvis dynamisk allokert av en DHCP (Dynamic Host Control Protocol) server. DHCP-serveren er vanligvis en funksjon av nettverksruteren, men kan kjøres av en separat enhet. Når en ny enhet har en IP-adresse, enten gjennom manuell konfigurasjon eller DHCP. Enheten må raskt bekrefte at ingen andre enheter allerede bruker den IP-adressen.

For å gjøre det, kringkaster enheten en ARP-sondepakke, og ber om enhver enhet som bruker den nylig tildelte IP-adressen til å svare på den. Den forventede responsen er stillhet. Ingen annen enhet skal reagere, spesielt i et DHCP-nettverk. Etter korte forsinkelser vil enheten kringkaste den samme meldingen igjen noen ganger. Denne repetisjonen hjelper i tilfeller der en pakke kan ha blitt droppet på vei til eller fra en enhet med en motstridende IP-adresse. Når det ikke har vært noen svar på noen få ARP-sonder, kan enheten begynne å bruke sin nye IP-adresse. For å gjøre det, må den sende en gratis ARP.

Gratis ARP

Når en enhet har bestemt at IP-adressen den ønsker å bruke ikke blir brukt, sender den en gratis ARP. Dette innebærer ganske enkelt kringkasting til nettverket " har ." Dette er vanligvis formatert som om det var et svar på en standard ARP-sonde, bare uten at en ARP-sonde noen gang ber om det, derav navnet "gratuitous ARP."

Gratis ARP-forespørsler sendes også regelmessig til nettverket, bare som en påminnelse til alle andre enheter om at datamaskinen fortsatt er tilkoblet, online og har sin IP-adresse.

ARP-spoofing

ARP er en tilstandsløs protokoll, det er ingen forbindelse, og alle meldinger blir kringkastet til nettverket for øvrig. Alle enheter lytter til og hurtigbufrer ARP-svar i sine ARP-tabeller. Dette fører imidlertid til en sårbarhet i systemet. Forutsatt at en angriper fysisk kan koble seg til nettverket, kan de kjøre programvare som ondsinnet kringkaster uriktige, gratis ARP-svarpakker. Hver enhet på nettverket vil se de ondsinnede ARP-pakkene, implisitt stole på dem og oppdatere rutetabellene deres. Disse nå ukorrekte ARP-tabellene blir referert til som "forgiftet."

Dette kan bare brukes til å forårsake nettverksproblemer ved å peke trafikk i feil retning. Det finnes imidlertid et verre scenario. Hvis angriperen forfalsker ARP-pakker for ruterens IP-adresse og peker dem til sin egen enhet, vil de motta og kunne se all nettverkstrafikken. Forutsatt at enheten har en annen nettverkstilkobling for å videresende trafikken, kan det ta en mann i midten (MitM) stilling. Dette lar angriperen utføre ekle angrep som HTTPS-stripping, noe som muligens lar dem se og endre all nettverkstrafikk.

Merk: Det er noen beskyttelse mot MitM-angrep. Angriperen ville ikke være i stand til å duplisere HTTPS-sertifikatet til et nettsted. Enhver bruker som får trafikken avlyttet bør få nettlesersertifikatfeil.

Det er imidlertid mange viktige og ukrypterte kommunikasjoner, spesielt på et internt nettverk. Dette er ikke så mye tilfelle på et hjemmenettverk. Fortsatt er bedriftsnettverk bygget på Windows spesielt sårbare for ARP-spoofing-angrep.

ARP-forgiftning muliggjør MitM-angrep – Kilde: Wikipedia

Konklusjon

ARP står for Address Resolution Protocol. Den brukes i IPv4-nettverk for å oversette IP-adresser til MAC-adresser etter behov i lokale nettverk. Den består av statsløse forespørsel- og responssendinger. Svar, eller mangel på slike, lar en enhet bestemme hvilken MAC-adresse som er knyttet til en IP-adresse eller om en IP-adresse er ubrukt. Enheter hurtigbufrer ARP-svar for å oppdatere ARP-tabellene.

Enheter kan også regelmessig kringkaste gratis kunngjøringer om at deres MAC-adresse er knyttet til deres IP-adresse. Mangelen på en autentiseringsmekanisme lar en ondsinnet bruker kringkaste falske ARP-pakker for å forgifte ARP-tabeller og dirigere trafikk til seg selv for å utføre trafikkanalyse eller MitM-angrep.