Wat is een zero-day -exploitatie en hoe kunt u uzelf beschermen?
De technische pers schrijft voortdurend over nieuwe en gevaarlijke 'zero-day'-exploits. Maar wat is precies een zero-day exploit, wat maakt het zo gevaarlijk, en - het belangrijkste - hoe kun je jezelf beschermen?
Zero-day-aanvallen gebeuren wanneer de slechteriken de goeden voor zijn en ons aanvallen met kwetsbaarheden waarvan we niet eens wisten dat ze bestonden. Ze zijn wat er gebeurt als we geen tijd hebben gehad om onze verdediging voor te bereiden.
Software is kwetsbaar
Software is niet perfect. De browser waarin u dit leest, of het nu gaat om Chrome, Firefox, Internet Explorer of wat dan ook, bevat gegarandeerd fouten. Zo'n complex stukje software is geschreven door mensen en heeft problemen waar we het nog niet van weten. Veel van deze bugs zijn niet erg gevaarlijk - misschien zorgen ze ervoor dat een website niet goed functioneert of crasht uw browser. Sommige bugs zijn echter beveiligingslekken. Een aanvaller die op de hoogte is van de bug, kan een exploit maken die de bug in de software gebruikt om toegang te krijgen tot uw systeem.
Natuurlijk is sommige software kwetsbaarder dan andere. Java heeft bijvoorbeeld een oneindige stroom van kwetsbaarheden gehad waardoor websites die de Java-invoegtoepassing gebruiken, aan de Java-sandbox kunnen ontsnappen en volledige toegang tot uw machine hebben. Exploits die erin slagen om de sandboxtechnologie van Google Chrome in gevaar te brengen, zijn veel zeldzamer, hoewel Chrome zelfs zero-days heeft gehad.
Responsible Disclosure
Soms wordt een kwetsbaarheid ontdekt door de goeden. Of de ontwikkelaar ontdekt de kwetsbaarheid zelf of 'white-hat'-hackers ontdekken de kwetsbaarheid en maken deze op een verantwoorde manier bekend, bijvoorbeeld door iets als Pwn2Own of het Chrome-bugbounty-programma van Google, waarmee hackers worden beloond voor het ontdekken van kwetsbaarheden en op verantwoorde wijze openbaar maken. De ontwikkelaar repareert de bug en geeft er een patch voor vrij.
Schadelijke mensen kunnen later proberen het beveiligingslek te misbruiken nadat het is onthuld en gepatcht, maar mensen hebben tijd gehad om zich voor te bereiden.
Sommige mensen patchen hun software niet tijdig, dus deze aanvallen kunnen nog steeds gevaarlijk zijn. Als een aanval echter gericht is op een stukje software met een bekend beveiligingslek waarvoor al een patch beschikbaar is, is dat geen "zero-day" -aanval.
Zero-Day Attacks
Soms wordt een kwetsbaarheid ontdekt door de slechteriken. De mensen die de kwetsbaarheid ontdekken, kunnen het verkopen aan andere mensen en organisaties die op zoek zijn naar exploits (dit is big business - dit zijn niet alleen tieners in kelders die je proberen te pesten, dit is georganiseerde misdaad in actie) of gebruik het zelf. Het beveiligingslek is mogelijk al bekend bij de ontwikkelaar, maar de ontwikkelaar heeft dit mogelijk niet op tijd kunnen oplossen.
In dit geval hebben zowel de ontwikkelaar als mensen die de software gebruiken, vooraf geen waarschuwing dat hun software kwetsbaar is. Mensen leren alleen dat de software kwetsbaar is wanneer deze al wordt aangevallen, vaak door de aanval te onderzoeken en te leren welke bug het gebruikt.
Dit is een zero-day aanval - het betekent dat ontwikkelaars nul dagen hebben gehad om het probleem op te lossen voordat het al in het wild wordt uitgebuit. De slechteriken hebben er echter lang genoeg over geweten om een exploit te exploiteren en te beginnen met aanvallen. De software blijft kwetsbaar voor aanvallen totdat een patch wordt vrijgegeven en toegepast door gebruikers, wat enkele dagen kan duren.
Hoe jezelf te beschermen
Nul dagen zijn beangstigend omdat we er geen melding van hebben. We kunnen zero-day aanvallen niet voorkomen door onze software te laten patchen. Per definitie zijn er geen patches beschikbaar voor een zero-day-aanval.
Dus wat kunnen we doen om onszelf te beschermen tegen zero-day exploits?
- Vermijd kwetsbare software: We weten niet zeker of er in de toekomst weer een zero-day-kwetsbaarheid in Java zal zijn, maar Java's lange geschiedenis van zero-day attacks betekent dat dit waarschijnlijk zal zijn. (In feite is Java momenteel kwetsbaar voor meerdere zero-day-aanvallen die nog niet zijn gepatcht.) Verwijder Java (of schakel de plug-in uit als u Java nodig hebt) en u loopt minder risico op zero-day aanvallen . Adobe's PDF-reader en Flash Player hebben in het verleden ook behoorlijk wat zero-day-aanvallen gehad, hoewel ze recentelijk zijn verbeterd.
- Verminder je aanvalsoppervlak: Hoe minder software u kwetsbaar maakt voor zero-day aanvallen, hoe beter. Daarom is het goed om browserplug-ins die u niet gebruikt te verwijderen en te voorkomen dat onnodige serversoftware rechtstreeks wordt blootgesteld aan internet. Zelfs als de serversoftware volledig is gepatcht, kan er uiteindelijk een zero-day-aanval plaatsvinden.
- Voer een antivirus uit: Antivirussen kunnen helpen tegen zero-day aanvallen. Een aanval die probeert malware op uw computer te installeren, kan de installatie van de malware verijdeld vinden door de antivirus. De heuristieken van een antivirus (die verdacht lijkende activiteit detecteren) kunnen ook een zero-day-aanval blokkeren. Antivirussen kunnen dan eerder worden bijgewerkt voor bescherming tegen de zero-day-aanval dan er een patch beschikbaar is voor de kwetsbare software zelf. Daarom is het slim om een antivirus te gebruiken op Windows, hoe voorzichtig je ook bent.
- Houd uw software bijgewerkt: Het regelmatig bijwerken van uw software beschermt u niet tegen zero-days, maar zorgt ervoor dat u de fix zo snel mogelijk nadat deze is vrijgegeven, hebt. Dit is ook waarom het belangrijk is om je aanvalsoppervlak te verkleinen en te ontdoen van potentieel kwetsbare software die je niet gebruikt - het is minder software die je nodig hebt om zeker te zijn dat het is bijgewerkt.
We hebben uitgelegd wat een zero-day exploit is, maar wat is een permanente en niet-gepatchte beveiligingslek bekend als? Kijk of je het antwoord kunt vinden op onze Geek Trivia-sectie!