De wereld van software is misschien wel de meest ingewikkelde die de mens ooit heeft ontdekt en die ontdekkingstocht is nog lang niet ten einde. Software dringt steeds meer door tot alle aspecten van de maatschappij – smartphones, auto’s, energiecentrales, winkels, enzovoorts. Als je je bedenkt dat software vaak onbekende kwetsbare plekken in zich heeft, waar misbruik van gemaakt kan worden, dan is dat een sombere gedachte, maar wel de realiteit.
Voeg aan die gedachte de dimensie toe dat het soms de hacking-gemeenschap of de gebruiker is die die plek ontdekt, en niet de softwareontwikkelaar: welkom in de wereld van zero-days-– of ‘O(h)-days’, zoals ze vaak genoemd worden. Zero-days zijn kwetsbaarheden die ontdekt – en dan misbruikt – worden, voordat de softwareontwikkelaar er ook maar weet van heeft dat ze er zijn.
Gezien de snelle ontwikkelingen in de softwarebranche anno 2016 realiseer ik me dat het vreemd lijkt dat zero-day-bedreigingen nog steeds bestaan. Waarom hebben sommige van ’s werelds populairste en meest uitgebreide softwarepakketten gebreken en kwetsbaarheden waar niemand iets van weet?
Implicaties van succesvolle aanvallen
De implicaties hebben alles te maken met context: wat is de kwetsbare plek, hoe wordt die geëxploiteerd, en hoe snel kan het opgelost worden? Voor individuen die over het internet zwerven, kan een succesvolle zero-day-aanval leiden tot identiteitsverlies of -diefstal. Dit kan op zijn beurt weer leiden tot diefstal van creditcardgegevens, een versleutelde schijf waardoor je niet meer bij je digitale familiefoto’s kunt (ransomware), of de camera van je smart tv die aangezet wordt zodat jan en alleman erop mee kan kijken.
Voor bedrijven kunnen zero-day-aanvallen van de een op de andere dag invloed hebben op het complete businessmodel. Denk aan een datacenter dat niet meer beschikbaar is, interne e-mails met gevoelige informatie die uitlekken, of concurrentiestrategieën die openbaar gemaakt worden waardoor een bedrijf zijn concurrentievoordeel kwijtraakt.
Bestaan onbekend
Hoe los je iets op waarvan je het bestaan niet weet? Deze vraag bestaat uit twee delen. Het eerste deel gaat niet over zero-days, maar over zorg en onderhoud. Het is ontstellend en vrij ontmoedigend om te horen dat binnen een steekproef van meer dan honderdduizend internetapparaten 92 procent daarvan code draaide met kwetsbaarheden waar op dat moment oplossingen voor beschikbaar waren die nog niet waren geïmplementeerd.
Geloof het of niet, maar het installeren van updates voor problemen waar we wél weet van hebben is onderdeel van de aanpak van problemen die we niet kennen. Want hierdoor scheppen we ruimte voor andere zaken – en dat brengt me bij het tweede deel.
Proactieve strategie
We moeten accepteren dat zero-days een realiteit zijn, evenals misbruik. Het gaat dus om het vermijden van aanvallen. We moeten ze waar mogelijk vroeg ontdekken en dan reageren en ervan leren.
Wanneer nieuwe versies en oplossingen beschikbaar worden, is het noodzakelijk direct te updaten. Om misbruik te voorkomen, kunnen maatregelen zoals bewustwordingstrainingen voor medewerkers en het gebruik van proactieve beveiligingsdiensten de kans verkleinen dat je omgeving succesvol misbruikt wordt.
Het ontdekken van zero-days heeft te maken met analytics, intelligentie en het detecteren van vreemd gedrag op machines, systemen en uitgaand verkeer. Je strategie moet proactief zijn en zich richten op beheersing.
Zero days mogen een bedreiging zijn, maar recent bekend gemaakte kwetsbaarheden zijn gevaarlijker juist omdat ze bekend zijn en dus door een groter aantal hackers ge-exploiteerd kunnen worden.
Verder heeft het (zoals de schrijver terecht opmerkt) uiteraard geen enkele zin om aan threat detectie te doen als het security patching process (op de gehele applicatie stack en niet slechts een enkel onderdeel ervan) niet bestaat of niet op orde is.