arp spoofing en poisoning tegengaan

Hoe kun je ARP-spoofing en -poisoning vanuit het interne netwerk tegengaan?

Firewalls, proxyservers, demilitarized zones (DMZ) – bedrijven gebruiken steeds meer upgrades om privénetwerken te beschermen tegen gevaar vanaf het internet. Maar niet alle aanvallen komen van buiten. De zwakste schakel van de veiligheidsketen is het Local Area Network (LAN). Als de aanvaller al binnen het interne netwerk is, heeft hij meestal de vrije hand om het gegevensverkeer af te luisteren en naar wens te manipuleren. Interne daders maken misbruik van de kwetsbaarheid van het Address Resolution Protocol (ARP). Dit wordt gebruikt door ethernet-netwerken die op IPv4 gebaseerd zijn om IP-adressen in MAC-adressen om te zetten en vormt tot vandaag een veiligheidsprobleem voor beheerders.

ARP-entry’s kunnen door vervalste gegevenspakketten zonder moeite worden gemanipuleerd. In dit geval spreek je van ARP-spoofing (Engels: to spoof = misleiden, voor de gek houden), een man-in-the-middle-aanval waarmee hackers onopgemerkt tussen twee communicerende systemen kunnen schakelen. Wij laten zien hoe je de adresomzetting via ARP doelgericht kunt manipuleren en stellen tegenmaatregelen voor.


arp spoofing adresaanvraag

ARP: adresaanvraag in het LAN

Anders dan op internet communiceren apparaten binnen een LAN niet direct via IP-adressen. In plaats daarvan worden voor het adresseren binnen lokale IPv4-netwerken fysieke hardware-adressen gebruikt. Deze zogenoemde MAC-adressen (Media Access Control) zijn unieke 48-bits nummers die het mogelijk maken om ieder toestel apparaat binnen het LAN via de eigen netwerkkaart eenduidig te identificeren.

Voorbeeld van een MAC-adres: 00-80-41-ae-fd-7e

MAC-adressen worden door de fabrikant bepaald en zijn uniek. Theoretisch gezien is het daardoor mogelijk om de hardware-adressen wereldwijd te adresseren. In de praktijk is dit echter niet mogelijk, omdat IPv4-adressen te kort zijn om het MAC-adres in zijn geheel weer te geven. In netwerken op basis van IPv4 is de adresomzetting via ARP daarom onvermijdelijk.

Als computer A contact wil opnemen met computer B in hetzelfde netwerk, moet voor het IP-adres eerst het passende MAC-adres worden bepaald. Hierbij wordt gebruikgemaakt van het Address Resolution Protocol (ARP), een netwerkprotocol dat volgens het request-response-schema werkt.

Voor het bepalen van het bijbehorende MAC-adres stuurt computer A eerst een broadcastaanvraag (het zogenoemde ARP-request) naar alle apparaten in het netwerk. Deze omvat ongeveer de volgende informatie:

Een computer met het MAC-adres xx-xx-xx-xx-xx-xx en het IP-adres yyy.yyy.yyy.yyy wil contact opnemen met een computer met IP-adres zzz.zzz.zzz.zzz en heeft daarvoor het MAC-adres nodig.

Het ARP-request wordt aangenomen door alle computers in het LAN. Om te voorkomen dat je iedere keer een ARP-aanvraag moet indienen voordat je een gegevenspakket wilt versturen, houdt de computer in het netwerk een lokale tabel bij – de ARP-cache. Hierin worden alle bekende MAC-adressen inclusief bijbehorende IP tijdelijk opgeslagen.

Alle computers in het netwerk noteren op die manier de adrescombinatie van de afzender die via de broadcastaanvraag is gestuurd. Een antwoord op de broadcastaanvraag wordt echter alleen van computer B verwacht. De ARP-reply van deze computer omvat de volgende informatie:

Hier is het systeem met IP-adres zzz.zzz.zzz.zzz. Het gezochte MAC-adres is aa-aa-aa-aa-aa-aa.

Als computer A zo'n ARP-reply heeft ontvangen, beschikt hij over de benodigde informatie om gegevenspakketten naar computer B te versturen. Nu kunnen deze twee computers via het lokale netwerk met elkaar communiceren.

Maar wat gebeurt er als niet de doelcomputer reageert, maar een ander apparaat dat door een interne aanvaller met kwade opzet wordt gebruikt? Hier komt ARP-spoofing om de hoek kijken.


wat is arp spoofing

Wat is ARP-spoofing?

Het request-response-schema van het ARP-protocol is zo geprogrammeerd dat het eerste antwoord op een ARP-request wordt geaccepteerd en opgeslagen. In geval van ARP-spoofing proberen hackers daarom sneller te zijn dan de eigenlijke doelcomputer. Ze versturen een reply-pakket met verkeerde informatie voordat de doelcomputer dit doet en manipuleren op deze manier de ARP-tabel van de computer die de aanvraag heeft verstuurd. Je hebt het daarom ook wel over ARP-poisoning – een ‘vergiftiging’ van de ARP-cache. Over het algemeen omvat het gegevenspakket het MAC-adres van een netwerkapparaat dat door de aanvaller wordt gebruikt. Het vergiftigde systeem verbindt de uitgangs-IP daardoor met het verkeerde hardware-adres en stuurt vanaf dat tijdstip alle gegevenspakketten onopgemerkt naar het systeem van de hacker. Deze heeft nu de mogelijkheid om het gehele dataverkeer te bekijken of te manipuleren.

Om onopgemerkt te blijven, wordt het afgeluisterde gegevensverkeer over het algemeen doorgestuurd naar het eigenlijke doelsysteem. Een aanvaller verkrijgt zo op slinkse wijze een positie als man in the middle (tussenpersoon). Als onderschepte gegevenspakketten niet worden doorgestuurd, maar worden weggegooid, kan dat een Denial of Service (DoS) tot gevolg hebben. ARP-spoofing is mogelijk via LAN en WiFi. Zelfs het versleutelen van draadloze netwerken via WiFi Protected Access (WPA) biedt geen bescherming. Om te communiceren in lokale IPv4-netwerken, moeten alle aangesloten apparaten MAC-adressen omzetten – en dat is alleen via ARP mogelijk.

Een bekende software die doelgericht op broadcast-aanvragen wacht en ze beantwoordt met vervalste ARP-reply’s is Cain & Abel. Om de ARP-cache van netwerkapparatuur te vergiftigen, hoeft een aanvaller echter niet op een ARP-request wachten. Een andere strategie is het netwerk ononderbroken te bombarderen met vervalste ARP-reply’s. De meeste systemen negeren de antwoordpakketten weliswaar, omdat er geen bijbehorende aanvraag is, maar dit verandert zodra een computer in het LAN een ARP-request verstuurt en een antwoord verwacht. Dan geeft de timing de doorslag of het antwoord van het doelsysteem of een vervalst pakket aankomt bij de afzender. Dit soort aanvallen kunnen met programma's zoals Ettercap worden geautomatiseerd.


overzicht arp spoofing

Overzicht van ARP-softwareaanvallen

Programma's die in verband met ARP-spoofing als aanvalssoftware worden gebruikt, worden over het algemeen als veiligheidstool gezien en zijn online gratis verkrijgbaar. Beheerders kunnen met behulp van deze programma's het eigen netwerk controleren en beveiligen tegen gebruikelijke aanvallen. De bekendste applicaties zijn ARP0c /WCI, Arpoison, Cain & Abel, Dsniff, Ettercap, FaceNiff en NetCut.

  • ARP0c WCI: volgens de provider is ARP0c WCI een tool die ARP-spoofing gebruikt om verbindingen in een privénetwerk te onderscheppen. Daarvoor gebruikt de software vervalste ARP-response-pakketten die het dataverkeer naar het systeem omleiden waarop ARP0c WCI loopt. Het doorsturen naar het eigenlijke doelsysteem gebeurt via de geïntegreerde bridging-engine. Pakketten die niet lokaal worden bezorgd, worden door ARP0c WCI doorgestuurd naar de bestemde router. Een aanval door een man in the middle blijft zo over het algemeen onopgemerkt. Het programma is voor Linux en Windows beschikbaar en kan gratis op de website van de provider worden gedownload.
  • Arpoison: de tool Arpoison wordt in de commandoregel gebruikt en creëert ARP-pakketten waarvan de gebruiker zelf het doel- en afzenderadres kan bepalen. Arpoison wordt toegepast bij netwerkanalyses, maar wordt ook gebruikt als aanvalssoftware. De tool is gratis beschikbaar en heeft een GNI-licentie.
  • Cain & Abel: het programma Cain & Abel, dat als wachtwoord-recoverytool is ontwikkeld, biedt de mogelijkheid netwerken af te luisteren en gecodeerde wachtwoorden te ontsleutelen. Sinds versie 2.5 omvat de software bovendien functies waarmee ARP-poisoning mogelijk is. Hiermee kun je het IP-verkeer onderscheppen in LAN’s met switch. Zelfs SSH- en HTTPS-verbindingen zijn geen probleem voor Cain & Abel. Voor het analyseren van netwerkverkeer via WiFi ondersteunt Cain & Abel sinds versie 4.0 de AirPcap-adapter. Daardoor is het mogelijk dataverkeer binnen WiFi passief mee te lezen. Aanvallen tegen WPA-beveiligde draadloze netwerken zijn mogelijk sinds versie 4.9.1.
  • Dsniff: Dsniff is een verzameling van programma's die verschillende tools ter beschikking stellen voor netwerkanalyse en penetratietests. Met Dsniff, Filesnarf, Mailsnarf, Msgsnarf, Urlsnarf en Webspy kun je netwerken afluisteren en bestanden, e-mails en wachtwoorden onderscheppen. Met Arpspoof, Dnsspoof en Macof is het mogelijk om gegevens op te sporen die in netwerken met switch normaal gesproken niet toegankelijk zijn. Man-in-the-middle-aanvallen tegen verbindingen die met SSH of SSL/TLS zijn beveiligd, zijn door de programma's Sshmitm en Webmitm alsnog mogelijk.
  • Ettercap: Ettercap is een gebruikersvriendelijke ARP-spoofing-tool die in eerste instantie wordt gebruikt bij man-in-the-middle-aanvallen. De software ondersteunt verschillende Linux-distributies en Mac OS X (Snow Leopard & Lion). De tool kan ook op Windows worden geïnstalleerd, maar daarvoor heb je aanvullende instellingen nodig. Naast de bediening via de console staan voor de gebruiker de ncurses-frontend en GTK2-GUI als grafische gebruikersomgeving ter beschikking. Acties zoals sniffing, ARP-aanvallen en het verzamelen van wachtwoorden kunnen worden geautomatiseerd. Ettercap kan onderschepte gegevens manipuleren en valt ook verbindingen aan die via SSH of SSL zijn beveiligd. Het programma wordt officieel als veiligheidssoftware aangeboden en wordt gebruikt bij producttests.
  • FaceNiff: met de Android-app FaceNiff kunnen gebruikers session-cookies in WiFi-netwerken meelezen en websessies kapen. Aanvallers gebruiken de tool om Facebook-, Amazon- of Twitteraccounts te hacken. Het speelt in dit geval geen rol of het draadloze netwerk vrij toegankelijk is of wordt versleuteld door WEP, WPA-PSK of WPA2-PSK. Een betrouwbare bescherming tegen FaceNiff wordt geboden door het authenticatieprotocol EAP (Extensible Authentication Protocol) en SSL. De Android-software is gebaseerd op de Firefox-extension Firesheep en wordt op smartphones in combinatie met de reeds geïnstalleerde stockbrowser gebruikt.
  • NetCut: met de netwerkmanagementsoftware NetCut kunnen beheerders hun netwerk op basis van ARP beheren. De tool zoekt het MAC-adres op van alle apparaten die met het netwerk zijn verbonden. Een eenvoudige klik op een van de genoemde adressen is genoeg om het betreffende apparaat van het netwerk los te koppelen. NetCut is daarom uitermate geschikt tegen DoS-aanvallen, als aanvaller en slachtoffer hetzelfde netwerk delen. Man-in-the-middle-aanvallen zijn met deze software niet mogelijk.

arp spoofing en encryptie

ARP-spoofing en encryptie

Als het een dader lukt om onopgemerkt tussen twee communicatiepartners te schakelen, heeft hij bij onbeveiligde verbindingen de vrije hand. Omdat de gehele communicatie van een gehackte verbinding via het systeem van de aanvaller verloopt, kan hij deze data meelezen en manipuleren. Versleutelingstechnieken en certificaten beloven bescherming tegen gegevensspionage. Als een aanvaller versleutelde gegevens slechts onderschept, is de schade in het ergste geval beperkt tot een Denial of Service door weggegooide gegevenspakketten. Een voorwaarde voor een betrouwbare gegevensversleuteling is echter dat deze ook consequent wordt omgezet.

Een groot aantal tools die in het kader van man-in-the-middle-aanvallen worden ingezet, bieden naast functies voor ARP-poisoning ook client- en serverimplementaties voor SSL/TLS, SSH en andere encryptieprotocollen. Deze zijn daardoor in staat om certificaten te imiteren en versleutelde verbindingen tot stand te brengen. Cain & Abel simuleert bijvoorbeeld een webserver met SSL die een niet betrouwbaar SSL-certificaat doorstuurt naar het slachtoffersysteem. De deelnemers van het netwerk krijgen in dat geval weliswaar een veiligheidswaarschuwing, maar gebruikers negeren deze waarschuwing vaak of begrijpen hem niet. Cursussen over het thema ‘netwerkveiligheid’ moeten daarom ook ingaan op verantwoorde omgang met digitale certificaten.


arp spoofing poisoning maatregelen

Maatregelen tegen ARP-spoofing en -poisoning

Omdat bij ARP-spoofing misbruik wordt gemaakt van het Address Resolution Protocol, zijn in principe alle IPv4-netwerken kwetsbaar voor zulke aanvallen. Ook met IPv6 kon het basisprobleem niet worden opgelost. De nieuwe IP-standaard regelt de adresomzetting weliswaar via NDP (Neighbor Discovery Protocol) in plaats van via ARP, maar ook dit systeem is vatbaar voor spoofing-aanvallen. Je kunt de beveiligingsleemte sluiten met het protocol Secure Neighbor Discovery (SEND), maar slechts weinig desktop-besturingssystemen ondersteunen dit protocol.

Een mogelijke bescherming tegen manipulatie van ARP-caches bieden statische ARP-entry’s, die je op Windows bijvoorbeeld kunt vastleggen via het commandoregelprogramma ARP en het commando arp -s. Omdat deze entry’s handmatig moeten worden vastgelegd, wordt deze beveiligingsmaatregel vaak beperkt tot de belangrijkste systemen van het netwerk.

Een andere maatregel tegen het misbruik van ARP is het onderverdelen van het netwerk met layer-3-switches. Zonder controle kunnen broadcast-aanvragen alleen systemen bereiken die in dezelfde netwerklaag liggen. ARP-requests naar andere lagen worden door de switch gecontroleerd. Als deze in de netwerklaag (layer 3) werkt, wordt naast het MAC-adres ook het IP-adres vergeleken met eerdere entry’s. Als dan onregelmatigheden of frequente herindelingen opvallen, slaat de switch alarm. De benodigde hardware kost echter vrij veel geld. Beheerders moeten overwegen of de aanvullende beveiliging de kosten waard is. Daarentegen zijn de duidelijk goedkopere layer-2-switches, die in de beveiligingslaag functioneren, niet voldoende geschikt. Ook deze switches registreren veranderingen van MAC-adressen, maar ze kijken niet naar de gekoppelde IP-adressen.

Verschillende softwarefabrikanten bieden bovendien monitoringprogramma's aan waarmee je netwerken kunt bewaken en opvallende ARP-processen kunt ontdekken. Bekende tools zijn de opensourcesoftware Arpwatch, ARP-GuardGUARD en XArp. Bovendien kun je intrusion-detection-systemen, zoals Snort, gebruiken om de adresomzetting via ARP te controleren.

  • Arpwatch: als de platformoverkoepelende opensource-tool Arpwatch in een lokaal IPv4-netwerk wordt geïntegreerd, noteert het hulpmiddel continu alle ARP-activiteiten binnen het LAN. Het programma registreert van alle inkomende ARP-pakketten de meegeleverde adresgegevens en slaat deze in een centrale databank op. Als er oudere aantekeningen zijn die niet overeenstemmen met de data die op dat moment zijn doorgegeven, stuurt het programma via e-mail een waarschuwing naar de beheerder. Deze procedure is effectief, maar alleen geschikt voor netwerken met statische IP-adressen. Als LAN-IP's dynamisch via een DHCP-server worden verdeeld, zorgt iedere verandering van de IP/MAC-indeling voor een vals alarm.
  • ARP-GUARD: ook de software ARP-GUARD van het bedrijf ISL controleert het interne netwerk en gebruikt daarvoor twee sensoren. De LAN-sensor lijkt qua werkwijze op Arpwatch, analyseert inkomende gegevenspakketten en slaat bij onregelmatigheden alarm. Bovendien beschikt de sensor-managementarchitectuur van de software over een SNMP-sensor die via het Simple Network Management Protocol (SNMP) toegang heeft tot de toestellen die met het LAN zijn verbonden. Op deze manier kan het systeem de ARP-tabellen van deze apparaten lezen. Daardoor is er meer mogelijk dan het lokaliseren en afweren van ARP-aanvallen. Met het geïntegreerde adresbeheer is het bovendien mogelijk om ongewenste apparaten te vinden en hun verbinding met het netwerk af te breken.
  • XArp: de software XArp gebruikt actieve en passieve modules om het netwerk te beschermen tegen ARP-spoofing. De passieve modules analyseren ARP-pakketten die in het netwerk worden verstuurd en vergelijken de meegeleverde adresindelingen met oudere aantekeningen. Als onregelmatigheden worden vastgesteld, slaat het programma alarm. Het controlemechanisme baseert zich op statische analyses en controleert het netwerktraffic aan de hand van verschillende patronen die volgens de ontwikkelaar kenmerkend zijn voor ARP-aanvallen. Je kunt aanpassen hoe gevoelig de trafficfilter is. De actieve modules van de software sturen eigen pakketten naar het netwerk om de ARP-tabellen van bereikbare apparaten te valideren en met geldige entry’s te vullen.

Ook het intrusion-detection-systeem (IDS) Snort beschikt over een geïntegreerde Arpspoof-preprocessor, waarmee het mogelijk is om het gegevensverkeer in een netwerk te monitoren en handmatig vergelijkingslijsten aan te leggen. Dit kost echter vrij veel moeite.

Bovendien worden IDS’en meestal alleen bij de overgang naar vreemde netwerken gebruikt. Of het rendabel is om de software binnen een LAN te gebruiken, moet voor ieder geval afzonderlijk worden bepaald. Onder andere de ondernemingsraad kan zich tegen deze maatregel uitspreken. Een beheerder die via IDS toezicht houdt op het netwerk heeft toegang tot het gehele netwerkverkeer en daardoor ook tot alle activiteiten van de medewerkers van een bedrijf – de controlefunctie die daardoor mogelijk is, is over het algemeen ongewenst.