Bescherming en detectie

In het vorige blog heb ik het het Cyber Kill Chain model toegelicht. Dit model laat zien welke stappen worden doorlopen bij een ransomware aanval. Maar ook voordat de daadwerkelijke aanval, of beter gezegd, actie wordt uitgevoerd. We kunnen daarvoor maatregelen treffen die ons kunnen helpen een ransomware aanval te detecteren voordat deze schade aan kan richten. Deze maatregelen maken deel uit van de tweede en derde fase in het cybersecurity model : bescherming en detectie

De mens

De eerste beschermende maatregel is niet technisch. Het is de mens, of misschien beter: het gedrag van de mens. Aanvallers maken veelvuldig gebruik van het gedrag van de mens om te proberen voet aan de grond te krijgen. Niet voor niets begint zo’n 90% van een ransomware aanval met een e-mail. Als we een mail krijgen waarin iets van ons wordt gevraagd hebben we de neiging dat gelijk te willen doen. Zeker als er in de mail sprake is van een bepaalde urgentie. En de mail ook nog eens afkomstig lijkt te zijn van iemand die we kennen. Een collega. De directeur. Een klant of relatie. Het gezegde ‘bezint eer gij begint’ is in dit geval goed op zijn plaats. Denk eerst na en controleer alvorens een actie uit te voeren. Zoals op een link klikken of een bijlage openen. Controleer bij twijfel en kijk nog eens goed of het allemaal wel klopt. Vaak zijn er genoeg aanwijzingen die je in eerste instantie over het hoofd ziet en waarvan je achteraf denkt, waarom heb ik dat niet gezien?

Het is daarom erg belangrijk om bewustwording te creëren zodat medewerkers risico’s beter in kunnen schatten en eerst denken, dan doen. Je kunt daarvoor gebruik maken van training en informatievoorziening. Je kunt phishing simulaties uitvoeren om inzicht te krijgen in de oplettendheid van medewerkers. En aan de hand van de uitkomst gericht informatie en instructie geven. Herhaling is hierbij van belang: aanvallen en de manier waarop ze worden uitgevoerd veranderen continue. Zorg ervoor dat medewerkers op de hoogte, en vooral alert blijven.

De techniek

Er zijn veel technische oplossingen om ransomware aanvallen al in een vroeg stadium te detecteren en te voorkomen. De TTP’s waar ik in de vorige blog over had. Zo’n technische oplossing maakt gebruik van de informatie die beschikbaar is en continue wordt bijgewerkt. Daarnaast kan ook gebruik worden gemaakt van standaarden. Standaarden die door beveiligingsexperts zijn ontwikkeld om systemen en data van organisaties zo goed mogelijk te beschermen en de impact van een mogelijke aanval zoveel mogelijk te verkleinen. Een voorbeeld van zo’n standaard zijn de CIS benchmarks. Dit zijn cybersecurity standaarden ontwikkeld door een community van beveiligingsexperts. Deze standaarden kunnen worden gebruikt om systemen, platformen en diensten beter te beveiligen.

Voorkomen

Aanvallen kunnen niet worden voorkomen, dat is een feit. Met voorkomen bedoel ik in dit geval het aanvalsvlak dusdanig verkleinen dat aanvallen weinig tot geen kans van slagen hebben. Bijvoorbeeld door te zorgen dat kwetsbaarheden in onze systemen niet uitgebuit kunnen worden. Door systemen en applicaties up-to-date te houden met updates die de leverancier beschikbaar stelt. Updates die er ook op gericht zijn gaten in de beveiliging te dichten.

Het komt vaak voor dat aanvallers gebruik maken van lekken in systemen die al heel lang bestaan. En waar ook al lang een update voor beschikbaar is. Maar dat we die update op onze systemen niet hebben uitgevoerd.  

Van groot belang is dat beveiliging onderdeel moet zijn van onze bedrijfsprocessen. Als nieuwe applicaties ontwikkeld worden, of een website, dan moet beveiliging vanaf het begin worden meegenomen. Als we gebruik gaan maken van een nieuwe online dienst, die via Internet benaderd wordt, moet een assessment gedaan worden. Is het wel veilig? Voldoet het aan onze beveiligingsstandaarden? Beveiliging als integraal onderdeel, niet iets dat je ‘erbij’ doet.

Beleid is hierbij onmisbaar. In het beleid wordt bepaald wat onze beveiligingsstandaarden zijn en hoe deze moeten worden toegepast.

Detecteren

Een aanval volgt, zoals eerder gezegd, vaak een specifieke methodiek. Hierbij moeten we onderscheid maken tussen de aanval zelf en de ransomware acties die daar op kunnen volgen. De aanval vindt plaats tijdens de eerste fasen van de cyber kill chain. De daadwerkelijke ransomware actie vindt daarentegen plaats in de laatste fase, nadat de aanvaller voet aan de grond heeft gekregen binnen de omgeving en acties kan gaan uitvoeren.

Detecteren moeten we dan ook op verschillende manieren doen, waarbij we gebruik maken van verschillende technieken. Detectie moet ook op verschillende plekken in een omgeving worden gedaan. Met name op de plekken waar verbinding wordt gemaakt met onze systemen. Denk hierbij aan een file- of mailserver, een website of een cloud dienst. Maar ook op de systemen die verbinding maken met onze omgeving. Zoals de computer waarop we werken, of een mobiel apparaat.

Voor detectie worden applicaties en diensten gebruikt. Applicaties die we kunnen installeren op onze systemen en die in staat zijn om afwijkingen te herkennen. Deze werken over het algemeen met de volgende 3 principes:

  • Kenmerk gebaseerd. Elke malware applicatie heeft specifieke kenmerken. Deze kenmerken kunnen we vastleggen in een database zodat we een malafide applicatie eenvoudig kunnen identificeren. Detectie maakt gebruik van een enorme database waarin de unieke kenmerken van malware zijn vastgelegd. Dit betekent wel dat die malware al bekend moet zijn en we dus eigenlijk altijd achter de feiten aanlopen. Immers, nieuwe malware moet eerst worden herkend en de unieke kenmerken moeten worden toegevoegd aan de database. Niettemin is dit vaak wel de eerste stap in detectie.
  • Gedrag. We kennen niet alle malware applicaties; er dagelijks nieuwe ontwikkeld. We kunnen wel het gedrag herkennen van malware omdat dat al vaker is gezien, of omdat het afwijkt van de norm. Dus kunnen we applicaties die iets doen, of proberen te doen, dat afwijkt van verwacht gedrag herkennen en ze tegenhouden voordat ze kwaad kunnen doen.
  • Afscherming. Om te kunnen bepalen wat het gedrag is van een applicatie moet deze vaak eerst uitgevoerd worden. Dit geldt ook voor bepaalde documenten, een document kan ook afwijkend gedrag vertonen dat niet past bij normaal gedrag. Als een PDF bestand ineens iets probeert te downloaden van internet is dat op zijn minst verdacht. Afscherming is het preventief uitvoeren van een applicatie of document in een afgeschermde omgeving. Om het gedrag vast te kunnen stellen. Wijkt het af dan wordt de applicatie of het document tegengehouden en mag niet worden uitgevoerd op onze omgeving.

Tegenwoordig wordt veel gebruik gemaakt van online diensten. Veel van deze diensten bieden ook vormen van bescherming en detectie aan. Zoals Microsoft 365 of Google Suite. Maar ook Dropbox, Citrix FileShare of Box. Diensten die we gebruiken en waar bedrijfsdata in kan worden opgeslagen. Of diensten waar netwerkverkeer doorheen loopt naar onze omgeving. Zoals websites of eigen applicaties die via internet bereikbaar zijn.

Monitoring is een belangrijk onderdeel van detectie. Het monitoren van netwerkverkeer, apparaten, gebruikers en diensten. Maar ook van logbestanden waar data in wordt vastgelegd. Met als doel mogelijke afwijkingen te constateren als deze zich voordoen. En op basis daarvan actie ondernemen.

Beschermen

Beschermen doe je feitelijk al door te voorkomen en te detecteren. Toch zijn er nog wel dingen te zeggen over bescherming. Want hoe bescherm je je data? Of hoe zorg je ervoor dat een aanvaller niet zomaar je hele omgeving kan overnemen? Wat kun je doen om de toegang tot je omgeving beter te controleren? Hieronder een aantal zaken om over na te denken.

Backup

Backups zijn onmisbaar in het geval van een ransomware aanval. Met een goede backup kun je je bedrijfsdata weer herstellen tot het punt vóór de aanval. Afhankelijk van hoe vaak de backup wordt gemaakt zul je waarschijnlijk wel wat data verliezen, maar dat is over het algemeen wel te overzien.

Een ransomware aanvaller wil niet dat je je backup eenvoudig kunt terugzetten. Immers, dat maakt de kans op betaling van het losgeld zeer klein. De aanvaller zal dus proberen om je backups onbenaderbaar te maken. Door ze te verwijderen of te versleutelen. Dit betekent dus dat we ervoor moeten zorgen dat onze backup ergens staat waar een aanvaller er niet bij kan komen. Vroeger stonden de backups vaak op fysieke media die je in een kluis kon leggen. Daar kan een aanvaller niet zomaar bij komen. Dat is tegenwoordig veel minder het geval. Maar wat we willen is wel vergelijkbaar.

In de volgende blog zal ik nader ingaan op backups omdat dat onderdeel is van de herstelfase in het geval van een ransomware aanval.

Zero trust

Vertrouw nooit, controleer altijd. Daar komt zero trust wel zo’n beetje op neer. Ofwel, ons uitgangspunt is dat niets en niemand te vertrouwen is. Zowel binnen als buiten de organisatie. Als iets of iemand verbinding probeert te maken met onze omgeving dan controleren we altijd of dat wel klopt. Ofwel: toon maar eens aan dat je bent wie je zegt dat je bent. En als je hebt aangetoond dat je verbinding mag maken dan krijg je nooit meer rechten dan strikt noodzakelijk om taken uit te kunnen voeren. Taken die bijvoorbeeld zijn vastgelegd in een functieomschrijving of rol.

Er wordt bij zero trust veelvuldig gebruik gemaakt van voorwaardelijke toegang. Er moet eerst aan bepaalde voorwaarden worden voldaan alvorens toegang tot de omgeving, of de data daarin, wordt verleend. Voorbeelden hiervan zijn onder andere:

  • Bij het inloggen moet nog extra informatie worden gegeven in de vorm van een code die op je mobiele telefoon wordt getoond. Een code die elke 30 seconden veranderd.
  • Je mag alleen verbinding maken vanaf een bepaalde locatie en binnen een bepaald tijdsvenster.
  • Je mag alleen verbinding maken vanaf een apparaat dat door de organisatie word beheerd.
  • De computer waarmee je verbinding maakt moet up-to-date zijn, voorzien zijn van een versleutelde opslag en een up-to-date anti-malware applicatie geïnstalleerd hebben.
  • Als je mail wilt lezen op je mobiele telefoon kan dit alleen met een specifieke applicatie
  • Onveilige, niet versleutelde verbindingen worden niet geaccepteerd.
  • Om bepaalde taken uit te voeren moet je specifiek toestemming vragen. Bij akkoord krijg je beperkt de tijd om die taken uit te voeren, daarna wordt de toestemming ingetrokken.
  • Voor het uitvoeren van specifieke taken moet met een apart account worden ingelogd.

Er zijn nog veel meer voorbeelden te noemen. Het principe blijft hetzelfde: vertrouw nooit, controleer altijd. En geef nooit meer toegangsrechten dan strikt noodzakelijk.

Zero trust gaat niet alleen over mensen. Het gaat ook over applicaties, systemen en diensten die onderling willen communiceren. En waarvan ook moet worden vastgesteld of dat wel mag.

Segmentatie

Veel bedrijven maken nog gebruik van een ‘klassieke’ infrastructuur. Die is gebaseerd op een bedrijfsnetwerk waarin diensten zijn opgenomen en systemen onderling met elkaar communiceren. Segmentatie houdt in dat systemen op netwerkniveau van elkaar worden gescheiden en niet zomaar met elkaar mogen communiceren. En als ze met elkaar moeten communiceren dat alleen via bepaalde protocollen mag worden gedaan. Dit principe zorgt ervoor dat een aanvaller zich niet vrij binnen een netwerk kan bewegen en vrij van het ene naar het andere systeem kan bewegen.

Eigenlijk stoppen we systemen in hun eigen zandbakje. Systemen mogen niet zomaar in andere zandbakjes spelen en ze mogen hun eigen zandbakje ook niet zomaar uit. Dat wordt allemaal gecontroleerd en alleen onder strenge voorwaarden toegestaan. Verbindingen vanuit de zandbak naar Internet, de grootste zandbak van allemaal? Dat staan we niet toe. Dat is vaak ook niet nodig. En als het wel nodig is dan gebruiken we daar een speciale zandbak voor met een verkeersregelaar erin die als doorgeefluik dient en de verkeersstromen goed in de gaten houdt.

We kunnen zandbakjes ook in een grotere zandbak zetten. Dan mogen de systemen in die zandbakjes onderling wat meer met elkaar spelen, maar ze moeten wel binnen de grotere zandbak blijven. Daar mogen ze niet uit.

Al die zandbakjes moeten natuurlijk ook worden schoongehouden, net als de systemen die erin zitten. Er is onderhoud nodig en we willen graag weten of alles nog wel goed gaat in de zandbakjes. Daar zijn speciale systemen voor ingericht, in hun eigen zandbakjes. Dit zijn beheersystemen. Die mogen praten met systemen in de andere zandbakjes, al mogen die alleen maar luisteren en antwoord geven. Zelf een gesprek starten is er niet bij. Proberen ze toch een gesprek te starten dan blijkt het beheersysteem Oost-Indisch doof te zijn.

Automatische detectie en respons (ook isolatie)

In het geval van een aanval of gedrag dat wijst op een aanval wil je zo dat er zo snel mogelijk ingegrepen wordt. En dat de aanval geen voet aan de grond kan krijgen. Isolatie speelt een belangrijke rol daarbij. De computer waarop afwijkend gedrag wordt geconstateerd wordt geïsoleerd van de rest van de omgeving.

Om dit te bewerkstelligen wordt gebruik gemaakt van een EDR applicatie. EDR staat voor Endpoint Detection & Response. Wat eigenlijk inhoudt dat de applicatie afwijkingen, zoals ransomware, detecteert en daar vervolgens zelfstandig op reageert. Bijvoorbeeld door het systeem te isoleren of actieve applicaties of processen te stoppen en in quarantaine te plaatsen. En daarop volgend een onderzoek te starten naar de oorzaak. Hierbij wordt alle relevante informatie bij elkaar gesprokkeld en inzichtelijk gemaakt voor de specialisten die het incident verder gaan onderzoeken.

Tot slot

In deze blog heb ik bescherming en detectie besproken met betrekking tot aanvallen op onze omgeving. Wat kunnen we doen. Welke middelen hebben we tot onze beschikking. Het geeft een goed beeld maar het is zeker niet volledig.

In de volgende blog zal ik ingaan op de maatregelen die we kunnen nemen om de impact van een ransomware incident zoveel mogelijk te beperken. En op de handelingen die benodigd zijn om zo goed mogelijk te herstellen van een ransomware incident.

Bronvermelding

https://cisecurity.org/cis-benchmarks

https://www.ncsc.nl/actueel/weblog/weblog/2020/what-about-zero-trust

https://www.noraonline.nl/wiki/Beschouwingsmodel_zonering