Door Anoniem: Beste security-enthousiastelingen,
Onlangs is het bedrijf waar ik werk door een audit gegaan m.b.t. security. Een van de bevindingen is dat het mogelijk is om een ARP-adres te spoofen, waardoor het mogelijk is om een router/switch te imiteren en traffic te onderscheppen. Deze bevinding is gemaakt in de volgende context:
- Wij hebben de pentester (bewust) toegang gegeven tot het server VLAN, normaal gesproken zou een aanvaller met behulp van Network Access Control (NAC) in een specifiek guest-vlan zijn opgenomen.
- In dit (guest)-VLAN staan geen belangrijke servers en er staan enkel hosts in die niet beheerd worden door het bedrijf;
- Hierdoor kan de aanvaller dus ook geen belangrijke servers imiteren en verkeer onderscheppen, (toch?);
De auditor heeft nu aangegeven dat wij dit moeten oplossen. Ik ben het hier niet mee eens, om de volgende argumenten:
- Onze NAC-configuratie vermindert de impact van het risico;
- Deze kwetsbaarheid ligt in het ARP-protocol zelf, wij zijn hier niet verantwoordelijk voor;
- Zelfs als we het weten op te lossen is het security risico ('MITM-aanval en/of DDoS) vrijwel onveranderd. Met hetzelfde gemak installeer je een tap of run je Wireshark;
- De auditor is van mening dat iedereen nu een switch kan imiteren zonder dat wij het doorhebben. Ik ben het hier niet mee eens. Wij gebruiken 10GB switches, dat ga je nooit succesvol kunnen overnemen op je laptop zonder dat het hele netwerk plat gaat of significante performance verlies oplevert.
- Sterker nog, ik denk dat (vanwege OSPF) het meeste verkeer anders wordt gerouteerd omdat de performance van de router in een keer nihil is.
- In mijn ogen is het risico simpelweg verwaarloosbaar door bovenstaande omstandigheden. Als dit al een risico is, wat volgt hierna dan? " encryptie niet voldoende omdat er een theoretische mogelijkeheid staat het te kraken met een kwantumcomputer"?
Ik zou graag wat objectieve blikken hierop willen hebben. Hoe staan jullie hier tegenover?
Je hebt je in de typische techneuten hoek laten manoevreren, nu moet je een 'uphill battle' vechten met mensen die (vaak - auditor ) weinig technisch benul hebben maar wel veel zeggenschap. En trouwens, hier ook mogelijk een punt hebben.
(Wat was beter geweest : de pentest duidelijk scopen op wat er penetreerbaar is vanaf het guest netwerk, en de tester dus geen 'abnormale access' geven. Als de tester dat zelf wist te bereiken heb je natuurlijk ook een probleem gevonden.
_of_ accepteren dat je een test laat doen wat er bereikt kan worden _indien_ een server gecompromitteerd is, en dat mitigeren of aantonen wat je in place hebt om te zorgen dat het compromitteren van de server (of diens plek op het lan) niet mogelijk is.
Nu wil je blijkbaar achteraf de scope van de audit beperken tot wat er mogelijk was vanaf het guest lan. Dat gaat moeilijk worden. )
Inderdaad is ARP spoofing vooral een zorg als je een nogal ongecontroleerd access netwerk hebt waar allerlei untrusted devices op aangesloten kunnen worden.
Dat zijn dus bibliotheeken, studentencampus, en dergelijke (semi) publieke netwerken, of bv hosting/colocatie , of als je ethernet-stijl internet access levert .
In een goed beheerd bedrijfsnetwerk zijn untrusted apparaten in een server segment feitelijk een gevalletje "mag niet voorkomen" .
Het contra-argument is natuurlijk dat als er één server gehacked is, die server als sniffer/spoofer ingezet kan worden, en
ook daar nog een barriere voor moet staan.
*Maar* - een trusted apparaat kan dus malicious worden . Omdat het gehacked is.
Nu naar je argumenten :
NAC - het helpt niet als iemand een server in het segment weet te hacken.
Overigens : gebruik je trouwens echt NAC op 10G switches waar (ook/alleen) server segmenten aan zitten ? M.i. is NAC vooral technologie voor de access laag (werkplekken, printers , guests in de juiste segmenten plaatsen) en is het wat ongebruikelijker om het in het datacenter op core/server access devices ook te implementeren.
ARP - het protocol is wat het is, maar er zijn netwerk switch features die kunnen helpen met arp spoofing.
tap/wireshark - nee, dat is niet met hetzelfde gemak. Een server die je op afstand overneemt kan arp spoofen, maar ik kan op afstand geen fibertap plaatsen .
Je hebt wel gelijk dat *als* je een aanvaller met fysieke toegang tot de server/netwerk infra positioneert, die aanvaller veel mogelijkheden heeft waarvan ARP spoofing er maar eentje is.
Fysieke DoS is heel simpel, en ik zou ook zenuwachtig worden over management access via consoles.
Een aanvaller die alleen bij een aangesloten kabel kan maar niet bij de switch is geen normaal datacenter-scenario - maar wel een access netwerk scenario .
Je zou het merken - dat hoeft niet. Dat je een 10G switch hebt wil niet zeggen dat je ook 10G verkeer doet. Vaak is dat maar 10..20 % - Feitelijk zodra 1G boven de 70% komt wil je graag naar 10G (of een paar 1G bundels).
Het zou best kunnen dat een enkele server in het segment prima al het verkeer naar de gateway kan doorlussen zonder dat dat qua performance enorm opvalt.
Zeker als de server ook al met 10G aansloten zijn, en het niet al te druk hebben - die kan makkelijk een paar G verkeer doorlussen.
Als de beheerders niet strak monitoren op afwijkingen in verkeersstatistieken, hoeven ze dat niet te zien. En als de gebruikers weinig merken, of hooguit "voelt soms een beetje traag" , de IT afdeling die op enkele gebruikersklachten echt alles uit de kast trekt om dat te onderzoeken is zeldzaam.
Let op dat ik dus het scenario 'overgenomen server in het segment' benoem, waar jij je beperkt (waarom ?) tot een ingeplugd laptopje - (dat overigens ook wel een gig kan switchen )
OSPF - Dat gaat echt niet op. Performance is (ongeveer) nooit deel van routing protocol beslissingen. Verder gaat ARP spoofing over het weglussen van verkeer binnen een enkel ethernet segment, en daar speelt OSPF ook geen rol.
OSPF regelt de bereikbaarheid van dat hele segment met andere OSPF routers in het netwerk. Dat binnen dat segment host .43 verkeer van andere hosts naar de gateway kaapt staat er totaal buiten.
Kortom - geen argument.
Een beetje enterprise netwerk apparatuur biedt je mogelijkheden om ARP (en IP/mac) spoofing onmogelijk te maken.
Je betaalt ervoor met geld, en met een stukje beheer/configuratie overhead. Performance impact is niet echt een probleem, de packet filtering zit in hardware .
De volgende features (Cisco termen, want die ken ik nu eenmaal vrij goed, andere enterprise/service provider klasse vendors moeten de mogelijkheden ook hebben ).
port security - beperk het aantal mac adressen wat achter een switchpoort gezien mag worden. Meestal beperkt tot de eerste, of eerste <x> die geleerd worden na een port down/up . Statisch configureren kan ook maar wil je qua overhead echt niet .
private vlan - poorten zijn promiscuous, community of isolated. Een isolated poort stuurt alleen L2 verkeer naar een promiscuous port. Een community poort naar andere community poorten en een promiscuous port, en een promiscuous port stuurt verkeer naar alle poorten in het vlan .
Hiermee kun je bereiken dat ook verkeer hetzelfde vlan (= ip broadcast domein) alleen via de router poort naar andere hosts gaat .(een host zit op een isolated port, de router port is promiscuous).
Op de router port kun je packet filters (L2 of L3) implementeren waarmee je host-onderling verkeer limiteert .
dynamic arp inspection - deze feature zul je meestal icmp dhcp snooping willen gebruiken.
Maar het kan op basis van statische filters (die je zult moeten bijhouden ).
Met de combinatie van dhcp snooping, arp inspection en port security kun je een strakke koppeling afdwingen tussen mac,ip en arp gedrag van een host . Ideaal voor risicovolle access segmenten.
Op een server segment doe je alleen meestal geen dhcp - maar met private vlans, port security en L2 /L3 packet filters kun je ook heel veel problemen tegen gaan.
Overigens : als het ook/vooral ging om een pentest vanaf het access netwerk (dus een foute werkplek gebruiker, evil maid e.d.), dan kun je wel de combi dhcp snooping/dai/port security gebruiken natuurlijk.
Staar je bij een access segment niet blind op performance issues - normale KA werkplekken doen gewoon weinig verkeer - en kun je dus makkelijk doorlussen over een arp-spoofende laptop zonder dat het qua performance onbruikbaar wordt.
Alles bij elkaar :
Een deel van je tegenwerpingen zijn, in het algemeen, niet heel valide. Misschien is er meer in jouw situatie waarom maatregelen tegen ARP spoofing op bepaalde segmenten niet nodig zijn , maar dat is op je post niet te beoordelen.
Met name het uitsluiten van een gehackte host op een server segment moet echt wel goed onderbouwd worden, waarom dat terecht is.
Je mag overigens aardig trots zijn op je infra en beheer als arp spoofing het grootste resterende risico is wat gevonden is :-)
Meestal zijn er dringender problemen op te lossen.
Idem als je (netwerk)monitoring/alarmering/followup echt zo goed is dat je een verschuiving van het verkeerspatroon zou zien en onderzoeken , zonder dat je de aanname doet dat het een totale outage op dat segment geeft.