Aanvallen en verdediging

Hoe vallen ze aan?

Alhoewel voorgaande groepen van aanvallers allemaal erg specifieke redenen hebben, kunnen we toch hun aanvallen generaliseren in vijf duidelijke stappen:

  1. Verkennen: passieve reconnaissance. Voor de stropers hun aanval effectief starten zullen ze eerst hun doelwit(ten) onderzoeken. Ze zoeken zo naar de eenvoudigste, of meest verborgen, manier om in een systeem te geraken. Verkennen wordt ook wel passieve reconnaissance genoemd omdat in deze fase het doelwit bijna nooit kan detecteren dat de stroper actief is. Deze fase gaat erg breed en is niet beperkt tot enkel “tools” gebruiken. In deze fase zal de stroper ook vaak via zoekmachines, social media en dumpster diving proberen meer te weten te komen over het bedrijf, de werknemers, etc.
  2. Scannen: actieve reconnaissance. Van zodra de stroper een breed overzicht heeft van z’n doelwit zal hij overgaan op actieve scanning. Denk hierbij aan port scanners, vulnerability scanners, etc. Uiteraard is deze fase actief én bestaat er dus de kans dat de boswachters dit tijdig opmerken en zo de aanvallen in de volgende fase kunnen afslaan.
  3. Toegang verkrijgen: door het scannen weet de stroper nu welk systeem hij zal benaderen om toegang tot bijvoorbeeld het bedrijfsnetwerk te krijgen. Meestal heeft de aanvaller een systeem gedetecteerd in de vorige fase met een gekende kwetsbaarheid, of hij heeft bijvoorbeeld via spear phishing een backdoor bij een werknemer geïnstalleerd, etc. In deze fase zal de aanvaller ook trachten steeds meer rechten te krijgen zodat hij steeds meer kan gedaan krijgen op de gepwnde systemen.
  4. Toegang bestendigen: van zodra de stroper in het systeem zit, begint hij als eerste z’n toegang te bestendigen. De aanvaller kan niet voorspellen wanneer het systeem waar hij op zit wordt uitgeschakeld, verwijderd, etc. Kortom, de stroper begint nu naarstig z’n toegang te garanderen door bijvoorbeeld een (nieuwe) backdoor te installeren die ook later actief zal zijn. Voorts zal hij ook mogelijk andere systemen in de buurt aanvallen zodat hij niet beperkt is tot één systeem (en er dus ook geen “single point of failure” is voor de stroper).
  5. Sporen wissen: hoe langer de stroper uit het vizier van de boswachters kan blijven, hoe effectiever hij z’n doelen kan behalen. Een behendig stroper zal er dan ook voor zorgen dat zijn sporen ondetecteerbaar blijven door het aanpassen of wissen van logs, het verwijderen van backdoors, etc.
Tip

Om de kracht van de tools die stropers voorhanden hebben aan den lijve te ontdekken, is het aangeraden om Kali OS te installeren. Deze Linux-distributie (die je ook virtueel kunt draaien) zit tjokvol pentest-tools die zowel stropers als boswachters constant gebruiken. Dit OS laat je toe om alle stappen van de aanvaller te simuleren.

Leer zeker ook werken met Metasploit, dat ook in Kali zit. Het Metasploit project is een verzameling erg krachtige pentest tools, inclusief de nieuwste snufjes om bijvoorbeeld malware in een pdf te embedden, etc.

Opmerking

Wanneer een netwerk wordt gepentest (legaal) werkt men vaak met twee teams die tegen elkaar strijden. Het red team speelt de rol van de digitale stropers, terwijl het blue team als boswachters zal proberen de aanvallen te verijdelen.

Belangrijk

Dwell time - de stille meerderheid: cijfers uit de (ondertussen legendarische) Verizon Data Breach Investigation Reports schetsen een ontluisterend beeld. Aanvallers zijn razendsnel binnen, maar blijven vaak maandenlang onopgemerkt.

Dwell time volgens de Verizon DBIR.

Dwell time volgens de Verizon DBIR.
Overgang Sec. Min. Uren Dagen Weken Maanden Jaren
Aanval → inbraak 10% 75% 12% 2% 0% 1% 0%
Inbraak → data stelen 8% 38% 14% 25% 8% 8% 0%
Inbraak → ontdekking 0% 0% 2% 13% 29% 54% 2%
Ontdekking → herstel 0% 1% 9% 32% 38% 17% 4%

De meest hallucinante regel is de derde: in meer dan de helft van de gevallen ontdekt een organisatie pas na maanden dat er iemand in haar netwerk zit.

Kortom: je detectiecapaciteit is minstens even kritisch als je preventie. Als je aanvaller maanden ongestoord rondwandelt, heeft hij alle tijd van de wereld om fase 4 (bestendigen) en fase 5 (sporen wissen) rustig uit te voeren. Investeer dus niet alleen in dikke muren, maar ook in alerte bewakers. Bron: Verizon DBIR.

Classificatie van aanvallen

Dit hoofdstuk begon met een definitie, dan moeten we zeker ook eens enkele zaken classificeren. Alles (moet gedaan worden) om ietwat wetenschappelijk over te komen, niet waar. In dit geval gaan we eens kijken hoe we, algemeen gezien, de typische aanvallen kunnen classificeren die kunnen optreden in de cyber security wereld. Specifiek zullen we met drie personages werken:

  • Alice en Bob: zij zijn de goeie en willen op een veilige manier met elkaar communiceren.
  • Eve: zij is de aanvaller/hacker/crimelord/snoodaard die het leven van Alice en Bob zuur wil maken in haar voordeel. Mogelijk wil ze te weten komen wat Alice en Bob met elkaar afspreken, misschien wil ze ervoor zorgen dat de berichten van Alice niet bij Bob aankomen, etc.

Meet the crew.

Meet the crew.
Waarschuwing

Herinner je even aan de McCumber kubus: Alice en Bob zijn eender welk start- en eindpunt van onze informatie, in welke vorm dan ook. Als je bijvoorbeeld C.I.A. vereist in een computer dan is Alice bijvoorbeeld je CPU en Bob het RAM-geheugen (om maar iets te zeggen). Kortom, probeer altijd al deze informatie breed genoeg te plaatsen en niet alleen aan het klassieke “netwerkcommunicatie”-systeem te denken waarin Alice over een netwerk een boodschap naar Bob stuurt.

Eve kan op allerlei manieren aanvallen en in de eerste plaats kan dat actief of passief zijn: bij passieve aanvallen zal Eve enkel luisteren (en wachten) op de communicatie tussen Alice en Bob. Hierdoor zijn passieve aanvallen veel moeilijker om te detecteren (soms zelfs onmogelijk), maar uiteraard is Eve 100% afhankelijk van wat Bob en Alice doen, daar ze geen dwingende hand heeft in hun communicatie. Bij actieve aanvallen is dat omgekeerd: de pakkans is groter (en afhankelijk van het type aanval), maar ze kan ook mogelijk de communicatie tussen Bob en Alice sturen in de richting die zij nodig heeft om haar aanval uit te voeren.

Passieve vs actieve aanvallen.

Passieve vs actieve aanvallen.

Passieve aanvallen

Bij een sniffing aanval gebruikt Eve een sniffer (bijvoorbeeld Wireshark indien ze netwerk-traffiek wenst te meten) om alle communicatie tussen twee eindpunten te zien. Alhoewel data steeds vaker geëncrypteerd wordt, zal Eve toch vaak erg nuttige informatie uit deze moeilijk te detecteren aanval kunnen halen. Denk maar aan MAC-adressen, algemene gebruikersinfo, etc. We staan er niet altijd bij stil hoeveel netwerk-traffiek tegenwoordig constant over netwerken over en weer vliegt. Daarbij komt ook een iets recenter fenomeen: de minder veilige third-party apps van bekende merken. Applicaties gemaakt door derden volgen mogelijk niet altijd de strenge beveiligingscriteria van het bedrijf waarvoor ze een app hebben gemaakt. Hierdoor bestaat er de kans dat sommige apps zelfs flagrante fouten maken en bijvoorbeeld user credentials onbeveiligd opslaan, of erger, over het netwerk sturen. Dit soort apps maken het werk voor Eve die aan het sniffen is dan ook erg gemakkelijk.

Passieve aanval, type 1: Sniffing.

Passieve aanval, type 1: Sniffing.

Soms is geen traffiek kunnen sniffen ook nuttig voor Eve. Later behandelen we nog side-channel aanvallen, maar we bespreken nu toch al deze vaak vergeten broer van de sniffing-aanval: de trafiek analyse. Door het registreren wanneer en hoe een doel communiceert kan Eve ook erg veel informatie op een passieve manier te pakken krijgen. In de eerste plaats laat het de stroper toe om te weten wanneer een gebruiker actief is en wanneer niet. Sommige systemen laten een alarm afgaan als ze zien dat een legale gebruiker op een onverwacht moment actief is, iets waar Eve nu rekening mee kan houden. Voorts laat het Eve ook toe om te ontdekken wat voor activiteiten het slachtoffer gebruikt (zijn er veel e-mail-gerelateerde berichten? Of net veel VoIP-calls?).

Passieve aanval, type 2: Trafiek analyse.

Passieve aanval, type 2: Trafiek analyse.

Actieve aanvallen

Het domein van de actieve aanvallen is natuurlijk het domein waar Eve de meeste slaagkansen zal produceren, maar ze heeft ook een veel hogere kans op gevat te worden. Om die kans te verkleinen zal de stroper bijna altijd de aanval uitvoeren door zich als iemand anders voor te doen: masquerading. Via spoofing zal de stroper de digitale identiteit van een legitieme gebruiker overnemen (denk maar aan MAC-spoofing waarbij Eve het hardware adres van een bedrade of draadloze netwerk-kaart overneemt). Masquerading heeft een dubbel doel:

  1. Het zal de daaropvolgende aanvallen moeilijker kunnen linken aan Eve, daar ze onder een pseudoniem actief is.
  2. Het zal Eve mogelijk toegang verschaffen tot bronnen waar ze onder haar eigen identiteit niet de juiste rechten toe heeft.

Actieve aanval, type 1: Masquerading.

Actieve aanval, type 1: Masquerading.

Het tweede type actieve aanvallen zijn replay-attacks. Hierbij zal de stroper eerder bewaarde, legitieme, communicatie heruitzenden in de hoop dat de ontvanger er zich geen vragen bijstelt. Beeld je in dat Eve een login-pakket heeft gesnift van een erg zwak beveiligd systeem: als Eve de volgende dag wil inloggen onder de naam van haar slachtoffer dan hoeft ze enkel dat bewaarde pakket opnieuw te versturen.

Actieve aanval, type 2: Replay attack.

Actieve aanval, type 2: Replay attack.

Type 3 is vanuit het standpunt van de aanvaller de interessantste: de man-in-the-middle of MitM-aanval. Hierbij zal Eve zich tussenin de communicatie van Bob en Alice nestelen met als doel op een onzichtbare manier hun communicatie te lezen, aanpassen of blokkeren. Het laat Eve toe als een soort puppetmaster de volledige communicatie te bepalen en beïnvloeden. Deze aanval is erg krachtig, maar vereist ook vaak een stevige technische opbouw door Eve daar ze nu twee eindpunten heeft die ze met behulp van onder andere masquerading moet aanvallen.

Actieve aanval, type 3: Man-in-the-middle aanval.

Actieve aanval, type 3: Man-in-the-middle aanval.

Als laatste de meest voorkomende aanval: de Denial-of-Service (DoS). Deze aanval heeft als doel om een systeem of gebruiker lam te leggen zodat deze niet meer voor andere gebruikers of systemen bereikbaar is. De reden om een DoS uit te voeren zijn velerlei en de manier waarop deze uitgevoerd kan worden is ook quasi eindeloos: de stekker uittrekken, gigantische hoeveelheden communicatie versturen, of het signaal verstoren met een microgolf-oven. Alles is mogelijk en het hangt vooral van de creativiteit van de aanvaller af hoe effectief de aanval is.

Actieve aanval, type 4: Denial-of-Service aanval.

Actieve aanval, type 4: Denial-of-Service aanval.

Hoe verdedigen

Wat en wie je wilt verdedigen in de cyberwereld kan erg gevarieerd zijn. Toch kunnen we alles herleiden tot 4 + 1 fundamentele principes die je best hanteert indien je een systeem van welke vorm ook wenst te beschermen tegen cyberstropers. Deze zijn:

  • Layering: bouw je beveiliging zoals de lagen van een ui rondom je te beschermen data, gebruikers en services. Hoe meer lagen hoe beter, op voorwaarde dat ze natuurlijk verschillend zijn. Het voordeel van met meerdere lagen werken is evident: indien één laag om welke reden dan ook gecompromitteerd raakt, zijn er nog steeds de andere lagen die als verdediging werken.
  • Limiting: beperk steeds maximaal wat iedereen binnen je systeem kan. Zorg ervoor dat gebruikers en services enkel die zaken kunnen doen waartoe ze recht hebben volgens hun rol. Geef dus niet iedereen admin-rechten, zet je firewall niet op allow all, etc.
  • Diversity: zorg ervoor dat je een verscheidenheid aan beveiligingen hebt. Op die manier voorkomen we, net als bij layering, dat het falen van één systeem je hele verdediging neerhaalt.
  • Simplicity: KISS, oftewel keep it simple, stupid. Al het voorgaande lijkt te doen uitschijnen dat je complexe systemen moet bouwen die als het ware een doolhof voor de aanvallers maken. Op zich is daar iets van aan, maar zorg er wel voor dat je niet zelf in je doolhof verdwaalt en daardoor fouten introduceert zonder het te beseffen. Soms is less more en dat geldt ook bij beveiliging.

Layering en diversity: verschillende lagen rond wat je beschermt.

Layering en diversity: verschillende lagen rond wat je beschermt.
Opgelet

Het vijfde fundamentele principe krijgt een eigen kadertje omdat deze voor discussie vatbaar is én geregeld voor de nodige controverse kan zorgen. Als je dus, om welke reden dan ook, niet genoeg tijd of budget hebt om alle principes toe te passen, probeer dan de volgende als laatste “oplossing” te gebruiken:

  • Obscurity: ga niet aan de grote klok hangen hoe jouw verdediging is opgebouwd. Echter, let op met deze leuze. Obscurity wil niet zeggen dat je zelf een of ander vaag crypto-algoritme zelf gaat ontwikkelen en angstvallig gaat geheim houden. Gebruik standaarden en vertrouwde producten in je beveiliging. Eén van de eerste regels in security is “ga niet zelf het wiel heruitvinden”!
Tip

Soms zal je digitale stropers horen spreken over “Ik heb dat systeem gepwnd”, uitgesproken als ge-powned. De term “to pwn” is hacker-slang voor “to own” om aan te geven dat je in een systeem bent binnen geraakt en nu controle over het systeem hebt. Volgens de urbandictionary.com is de enige reden dat de o een p werd het gevolg van een typfout, daar beide letters vlak naast elkaar staan op een toetsenbord.