Zero-day kwetsbaarheden zijn kwetsbaarheden in protocollen, software en toepassingen die nog niet bekend zijn bij het grote publiek of de productontwikkelaars waar de kwetsbaarheid zich voordoet. Omdat een zero-day kwetsbaarheid onbekend is bij het grote publiek of de ontwikkelaars, zijn er geen patches beschikbaar. Zero-day exploit is een opkomende cyberbeveiligingsbedreiging waarbij hackers kwetsbaarheden in het wild uitbuiten voordat deze bekend zijn bij de makers of het publiek. Voordat white hat hackers in de situatie springen om het probleem op te lossen, breken aanvallers gegevens en dringen ze systemen en netwerken binnen voor kwaadaardige doeleinden.
Volgens GPZ-onderzoek zal de helft van de 18 zero-day kwetsbaarheden die door hackers in de eerste helft van 2022 voordat er een software-update beschikbaar was gesteld, voorkomen hadden kunnen worden als softwareleveranciers grondiger hadden getest en uitgebreidere patches hadden gemaakt. Verrassend genoeg waren ten minste vier van de 'zero-day'-kwetsbaarheden van dit jaar variaties uit 2021. Bovendien groeide het aantal 'zero-day'-exploits in 2021 met meer dan 100% ten opzichte van het vorige record uit 2019, wat aangeeft dat bijna 40% van het totale aantal zero-day exploits alleen al in 2021 plaatsvond. WatchGuard's Internet Security Report voor Q4 2021 onthulde ook dat zero-day malware tweederde van alle bedreigingen in die periode uitmaakte.
Maar wat is een zero-day kwetsbaarheid precies? Dat leer je in deze gids. Maar om de definitie volledig te begrijpen, moeten we eerst een paar andere dingen definiëren.
Belangrijkste opmerkingen
- Zero-day kwetsbaarheden zijn onbekende en ongepatchte gebreken die door aanvallers worden uitgebuit voordat leveranciers ze kunnen repareren.
- Aanvallen volgen een levenscyclus, van het ontdekken van kwetsbaarheden en het ontwikkelen van exploits tot het afleveren en uitvoeren ervan.
- Detectie vereist verschillende methoden, waaronder het scannen van kwetsbaarheden, prestatiemonitoring en gebruikersrapporten.
- Doelwitten met een hoge waarde, zoals overheids-, financiële en IT-organisaties, worden vaak aangevallen, maar elke entiteit met waardevolle gegevens loopt risico.
- Preventie bestaat uit tijdige patching, robuuste beveiligingssoftware, controle op gebruikerstoegang en proactieve jacht op bedreigingen.
Wat is een Zero-day Exploit?
Een zero-day exploit is een beveiligingslek dat nog niet openbaar is gemaakt of verholpen. De term verwijst zowel naar de exploit zelf als naar het pakket code dat de exploit en gerelateerde tools bevat. Het wordt ook wel zero-day aanvallen of day-0 exploits genoemd. De term zero-day geeft de intensiteit van het probleem aan en het feit dat ontwikkelaars nul dagen hebben om de fout te herstellen voordat het een urgent probleem wordt.
Aanvallers gebruiken vaak 'zero-day'-exploits om malware op systemen en netwerken die nog niet gepatcht zijn. Verdedigers kunnen ze ook gebruiken om penetratietests uit te voeren om kwetsbaarheden in netwerken op te sporen. Malware is zo'n zero-day exploit die wordt verspreid om overheidsinstellingen, IT-bedrijven, financiële instellingen, enz. aan te vallen. Malwares en ransomwares die worden verspreid via vervalste e-mails kunnen worden beperkt met behulp van e-mailbeveiligingsprotocollen zoals DMARC.
Bij het leren over 'zero-day exploits' kun je de termen 'zero-day kwetsbaarheden', 'zero-day exploits' of 'zero-day aanvallen' horen. Deze termen hebben een cruciaal verschil:
- De manier die hackers gebruiken om software aan te vallen staat bekend als een "zero-day exploit".
- Het defect in je systeem staat bekend als een "zero-day kwetsbaarheid".
- "Zero-day aanvallen" zijn wat hackers doen als ze misbruik maken van een kwetsbaarheid om je systeem te infiltreren.
Wanneer we het hebben over "zero-day" kwetsbaarheden, is het woord "onontdekt" essentieel, want om een "zero-day" kwetsbaarheid genoemd te worden, moet een fout onbekend zijn bij de ontwerpers van het systeem. Wanneer een beveiligingslek wordt ontdekt en een oplossing beschikbaar wordt gemaakt, is het niet langer een "zero-day kwetsbaarheid".
Zero-day exploits kunnen door aanvallers op verschillende manieren worden gebruikt, waaronder:
- Ongepatchte systemen misbruiken (d.w.z. zonder beveiligingsupdates toe te passen) om malware te installeren of op afstand de controle over computers over te nemen;
- Om phishing-campagnes uit te voeren (d.w.z. e-mails verzenden om ontvangers te verleiden op koppelingen of bijlagen te klikken) met behulp van schadelijke bijlagen of koppelingen die leiden naar exploits voor websitehosting; of
- Denial-of-service-aanvallen uitvoeren (servers overspoelen met verzoeken zodat legitieme verzoeken er niet doorheen komen).
Levensduur van een Zero-Day Exploit
De gebruikelijke levensduur van een zero day exploit is verdeeld in 7 stadia. Laten we eens kijken welke dat zijn.
Fase 1: Kwetsbaarheid geïntroduceerd
Tijdens het maken en testen van software ziet de ontwikkelaar een groen teken. Dit betekent dat de software zonder het te weten een kwetsbare code heeft.
Fase 2: Exploit vrijgegeven
Een bedreigende actor ontdekt de kwetsbaarheid voordat de leverancier of ontwikkelaar ervan op de hoogte is en de kans krijgt om de kwetsbaarheid te verhelpen. De hacker schrijft en gebruikt misbruikte codes voor kwaadaardige doeleinden.
Fase 3: Kwetsbaarheid ontdekt
In dit stadium zijn leveranciers zich bewust van de zwakke plekken, maar de patch is nog niet gemaakt en uitgebracht.
Fase 4: Kwetsbaarheid onthuld
De kwetsbaarheid wordt publiekelijk erkend door de leverancier of beveiligingsonderzoekers. De gebruikers worden geïnformeerd over de potentiële risico's van de software.
Fase 5: Antivirussignatuur vrijgegeven
Een antivirushandtekening wordt vrijgegeven zodat als apparaten van gebruikers worden aangevallen om een zero-day exploit te lanceren, antivirusleveranciers de handtekening kunnen identificeren en bescherming kunnen bieden. Maar het systeem kan kwetsbaar zijn voor dergelijke risico's als kwaadwillenden andere manieren hebben om de kwetsbaarheid uit te buiten.
Fase 6: Beveiligingspatch openbaar gemaakt
Ontwikkelaars maken en verspreiden een beveiligingspatch om de kwetsbaarheid te verhelpen. De tijd die nodig is om een patch te maken hangt af van de complexiteit van de kwetsbaarheid en de prioriteit ervan in het ontwikkelingsproces.
Fase 7: Implementatie van beveiligingspatches voltooid
In de laatste fase wordt de installatie van de beveiligingspatch succesvol afgerond. Installatie is noodzakelijk omdat het uitbrengen van een beveiligingspatch zich niet gedraagt als een onmiddellijke fix omdat gebruikers tijd nodig hebben om deze te implementeren. Bedrijven en individuen die het gebruiken, worden dus op de hoogte gebracht van de bijgewerkte versie.
Voorkom zero-day kwetsbaarheden met PowerDMARC!
Welke unieke kenmerken van 'zero-day'-exploits maken ze zo gevaarlijk?
Er zijn twee categorieën zero-day kwetsbaarheden:
Niet ontdekt: De softwareleverancier is nog niet op de hoogte van de fout. Dit type is uiterst zeldzaam omdat de meeste grote bedrijven speciale teams hebben die fulltime werken om de fouten in hun software te vinden en te repareren voordat hackers of kwaadwillende gebruikers ze ontdekken.
Niet ontdekt: Het lek is gevonden en verholpen door de softwareontwikkelaar - maar niemand heeft het nog gemeld omdat ze niets verkeerds hebben gemerkt aan hun systeem. Deze kwetsbaarheid kan heel waardevol zijn als je een aanval wilt uitvoeren op het systeem van iemand anders en niet wilt dat ze weten wat er aan de hand is totdat het gebeurd is!
Zero-day exploits zijn bijzonder riskant omdat ze een grotere kans op succes hebben dan aanvallen op bekende zwakke plekken. Wanneer een kwetsbaarheid op day zero openbaar wordt gemaakt, moeten bedrijven deze nog patchen, waardoor een aanval denkbaar is. Programma's zijn gevoelig voor kwetsbaarheden en het is niet praktisch voor ontwikkelaars om alles te detecteren. Daarom maken ze patches en brengen ze die uit zodra ze van de zwakke plekken afweten. Als hackers deze echter eerder ontdekken dan de ontwikkelaars, is de kans groter dat ze deze patches gebruiken om systemen binnen te dringen. Bovendien maken hackers aanvallen vaak specifiek genoeg om een zero day exploit succesvol te lanceren. Deze aanpassingen maken het moeilijk om hun kwaadaardige acties tegen te gaan. Vaak moet het slachtoffer zelf oplossingen bedenken, omdat de kans kleiner is dat ze anders in dergelijke situaties terechtkomen. Omdat de kwetsbaarheid onbekend is, is er vaak geen verdediging of bescherming voorhanden; het aanpakken van het probleem en de gevolgen ervan begint op het moment dat je er meer over te weten komt.
Het feit dat bepaalde geraffineerde cybercriminele organisaties zero-day exploits strategisch inzetten, maakt ze veel riskanter. Deze bedrijven bewaren zero-day exploits voor hoogwaardige doelwitten. Hackers kunnen zero-day kwetsbaarheden gebruiken om systemen te misbruiken zonder dat ze daarvoor exploits hoeven te ontwikkelen, waardoor ze zonder veel waarschuwing kunnen inbreken in systemen en gegevens kunnen stelen of schade kunnen aanrichten. Dit kan leiden tot beveiligingsinbreuken, gegevensverlies, financiële verliezen en reputatieschade. Organisaties hebben veilige computeromgevingen nodig, maar als een organisatie niet op de hoogte is van een zero-day kwetsbaarheid voordat hackers er misbruik van maken, kan het zichzelf niet beschermen tegen dergelijke aanvallen.
Gebruikers moeten hun systemen blijven upgraden, zelfs nadat er een patch is gemaakt. Als ze dat niet doen, kunnen aanvallers nog steeds een zero-day exploit gebruiken totdat het systeem is gepatcht. Daarnaast volgen gebruikers vaak geen goede internethygiëne en geven ze e-mails door, downloaden ze bestanden, klikken ze op links of volgen ze aanwijzingen op zonder de echtheid van de afzender te controleren, wat kan leiden tot succesvolle exploitatie.
Veelvoorkomende doelwitten van een Zero-Day Exploit
Een zero-day exploit kan gericht zijn op elk individu of organisatie die hen winst kan opleveren. Veel voorkomende doelwitten zijn:
- Hoogwaardige doelwitten, waaronder overheidsinstellingen, financiële instellingen en zorginstellingen.
- Bedrijven met slechte cyberbeveiliging.
- Bedrijven die gegevens van gebruikers vastleggen, zoals namen, contactgegevens, financiële gegevens, adressen, burgerservicenummers, medische gegevens, enz.
- Bedrijven die vertrouwelijke gegevens verwerken.
- Bedrijven die software en hardware ontwikkelen voor klanten.
- Bedrijven die voor de defensiesector werken.
Deze strategische benadering kan de duur van de aanval verlengen en de kans verkleinen dat het slachtoffer een kwetsbaarheid vindt. Cloud Computing gigant Rackspace maakte bijvoorbeeld publiekelijk bekend dat hackers toegang hadden gekregen tot de persoonlijke gegevens van 27 klanten tijdens een ransomware-aanval die gebruikmaakte van een zero-day exploit.
Anatomie van een Zero-Day aanval
Zero-day aanvallen zijn complex en geavanceerd, maar ze volgen allemaal een vergelijkbaar patroon. Wanneer een kwetsbaarheid wordt ontdekt, kunnen aanvallers er misbruik van maken voordat iemand anders de fout heeft gevonden. Dit proces heet "uitbuiting". De onderstaande stappen helpen je te begrijpen hoe het werkt:
Identificatie van de kwetsbaarheid
Deze stap lijkt misschien voor de hand liggend, maar het is belangrijk om te weten dat niet alle kwetsbaarheden gelijk zijn. Sommige kwetsbaarheden zijn makkelijker te vinden dan andere, sommige vereisen meer vaardigheid om te misbruiken en sommige hebben een grotere impact op gebruikers wanneer ze worden misbruikt.
Ontwikkeling van de Exploit
Zodra een aanvaller een kwetsbaarheid heeft ontdekt, moet hij een exploit ontwikkelen - een programma dat er misbruik van maakt. Over het algemeen zorgen exploits ervoor dat onbevoegden toegang krijgen tot systemen of netwerken door gebruik te maken van gaten in de beveiliging of bugs in software of hardware. Deze toegang stelt aanvallers vaak in staat om gevoelige informatie te stelen of malware te installeren op de computers van slachtoffers.
Levering van de Exploit
De aanvaller moet zijn exploit afleveren op de computers van het slachtoffer om te kunnen werken. Dit kan gebeuren via phishingmails met schadelijke bijlagen of koppelingen naar websites waar malware wordt gedownload (ook bekend als drive-by downloads).
Uitvoering van de Exploit
De aanvaller gebruikt een onbekende kwetsbaarheid in het doelsoftwareproduct om de exploit te lanceren. Om deze stap succesvol uit te voeren, moet de aanvaller op de hoogte zijn van deze kwetsbaarheid, die nog niet algemeen bekend is.
Vaststelling van persistentie
Na het uitvoeren van een exploit moet de aanvaller ervoor zorgen dat ze weer toegang krijgt tot het systeem van het slachtoffer om meer aanvallen uit te voeren. Dit wordt bereikt door kwaadaardige software op het systeem van het slachtoffer te installeren, die bij het opstarten wordt uitgevoerd en niet wordt gedetecteerd door beveiligingssoftware.
Exfiltratie van gegevens
De aanvaller kan nu gecompromitteerde referenties of malware geïnstalleerd op het systeem van het slachtoffer om gegevens van hun netwerk te exfiltreren (bijv. wachtwoorden, creditcardnummers, enz.).
Schoonmaken en bedekken
Om detectie te voorkomen, ruimen aanvallers hun sporen op nadat ze klaar zijn met hun kwaadaardige activiteiten op de computer van een slachtoffer door bestanden die ze hebben gemaakt te verwijderen of registersleutels die ze tijdens hun aanval hebben gemaakt te verwijderen. Ze kunnen ook bewakingstools zoals antivirussoftware of firewalls uitschakelen.
Hoe een zero-day kwetsbaarheid identificeren en detecteren?
Het identificeren van zero-day kwetsbaarheden voordat ze worden uitgebuit is een uitdaging vanwege hun onbekende aard. Er zijn echter verschillende methoden en technieken die kunnen helpen bij het detecteren van potentiële 'zero-day'-activiteit of onontdekte zwakke plekken:
- Scannen op kwetsbaarheden: Terwijl traditionele scanners voornamelijk gebruik maken van handtekeningen voor bekende kwetsbaarheden, maken sommige geavanceerde scanners gebruik van heuristische analyse of anomaliedetectie om verdachte patronen te identificeren die kunnen duiden op een onbekend lek. Regelmatig scannen helpt om bekende kwetsbaarheden op te sporen die kunnen worden gecombineerd met zero-days.
- Reverse Engineering: Het analyseren van softwarebinaire bestanden (uitvoerbare bestanden) kan verborgen zwakke plekken blootleggen. Deze methode vereist aanzienlijke technische expertise, maar kan kwetsbaarheden onthullen die onbekend zijn bij verkopers.
- Systeem- en netwerkgedrag monitoren: Onverwacht systeemgedrag, ongebruikelijk netwerkverkeer (bijv. communicatie met onbekende servers), verhoogd resourceverbruik of onverklaarbare veranderingen in softwareprestaties kunnen duiden op een compromittering, mogelijk via een zero-day exploit. Let op afwijkende netwerksnelheid of achteruitgang van softwareprestaties.
- Gebruikersrapporten analyseren: Systeemgebruikers werken vaak vaker met software dan ontwikkelaars en kunnen de eersten zijn die afwijkingen of onverwacht gedrag opmerken. Het aanmoedigen en analyseren van gebruikersrapporten kan leiden tot vroegtijdige ontdekking.
- Monitoring van websiteprestaties: Controleer voor webapplicaties op problemen zoals aanmeldingsproblemen, visuele veranderingen, onverwachte omleidingen, omleidingen in het verkeer of browserwaarschuwingen ("Deze site is mogelijk gehackt").
- Retro Hunting: Hierbij worden historische logboeken en systeemgegevens proactief doorzocht op indicators of compromise (IoC's) die verband houden met nieuw ontdekte zero-day aanvallen. Door activiteiten uit het verleden te vergelijken met nieuwe informatie over bedreigingen, kunnen organisaties mogelijk eerder onopgemerkte overtredingen vinden. Controleer beveiligingsmeldingen van leveranciers en blijf op de hoogte van nieuws over cyberbeveiliging.
Voorbeelden van zero-day kwetsbaarheden
Enkele voorbeelden van zero-day kwetsbaarheden zijn:
Heartbleed - Deze kwetsbaarheid, ontdekt in 2014, stelde aanvallers in staat om informatie te extraheren van servers die OpenSSL encryptiebibliotheken gebruiken. De kwetsbaarheid werd geïntroduceerd in 2011, maar werd pas 2 jaar later ontdekt toen onderzoekers ontdekten dat bepaalde versies van OpenSSL gevoelig waren voor heartbeats die door aanvallers werden verzonden. Hackers konden vervolgens privésleutels verkrijgen van servers die deze versleutelingsbibliotheek gebruikten, waardoor ze gegevens konden ontsleutelen die door gebruikers werden verzonden.
Shellshock - Deze kwetsbaarheid werd ontdekt in 2014 en stelde aanvallers in staat om toegang te krijgen tot systemen met een besturingssysteem dat kwetsbaar is voor aanvallen via de Bash-shellomgeving. Shellshock treft alle Linux-distributies en Mac OS X 10.4 en eerdere versies. Hoewel er patches zijn uitgebracht voor deze besturingssystemen, zijn sommige apparaten nog niet gepatcht tegen deze exploit.
Gegevensinbreuk bij Equifax - Het datalek bij Equifax was een grote cyberaanval in 2017. De aanval werd uitgevoerd door een onbekende groep hackers die misbruik maakten van een kwetsbaarheid in het Apache Struts webapplicatieraamwerk om de website van Equifax binnen te dringen en de persoonlijke gegevens van ongeveer 145 miljoen klanten te stelen, waaronder sofinummers en geboortedata.
WannaCry-ansomware - WannaCry is een ransomware-virus dat gericht is op Microsoft Windows-besturingssystemen; het versleutelt bestanden van gebruikers en eist een losgeldbetaling via Bitcoin om ze te ontsleutelen. Het verspreidt zich via netwerken met behulp van EternalBlue. Een Windows-exploit (gebruikmakend van een SMB-kwetsbaarheid) lekte uit van de NSA in april 2017. De worm heeft wereldwijd meer dan 300.000 computers getroffen sinds de release op 12 mei 2017.
Malware-aanvallen op ziekenhuizen - Malware-aanvallen komen de laatste jaren steeds vaker voor omdat hackers zich om persoonlijke of politieke redenen richten op organisaties in de gezondheidszorg. Bij een van deze aanvallen kregen hackers toegang tot patiëntendossiers van Hollywood Presbyterian Medical Center via phishing e-mails die afkomstig waren van de administratie van het ziekenhuis. Hoewel deze aanval vaak via phishing wordt geïnitieerd, kunnen onderliggende 'zero-day exploits' diepere systeemcompromittering mogelijk maken.
Hoe Zero-Day Exploits te voorkomen
Hoewel het vanwege hun aard onmogelijk is om zero-day aanvallen volledig te voorkomen, kunnen verschillende best practices het risico en de impact aanzienlijk beperken:
- Houd software en systemen bijgewerkt: Pas patches en updates onmiddellijk toe. Hoewel dit zero-day aanvallen niet voorkomt (omdat de patch nog niet bestaat), dicht het bekende kwetsbaarheden die aanvallers kunnen koppelen aan een zero-day exploit. Bijgewerkte versies verhelpen ook kleine bugs die mogelijk kunnen worden uitgebuit.
- Gebruik uitgebreide beveiligingssoftware: Gebruik meerlaagse beveiligingsoplossingen, waaronder next-generation antivirus (NGAV), endpoint detection and response (EDR), firewalls en inbraakpreventiesystemen (IPS). Deze tools maken vaak gebruik van gedragsgebaseerde detectie en heuristiek die soms zero-day exploit-activiteiten kunnen identificeren of blokkeren, zelfs zonder een specifieke handtekening.
- Beperk gebruikerstoegang en -rechten: Implementeer het principe van de minste privileges. Het beperken van gebruikersrechten zorgt ervoor dat zelfs als een account gecompromitteerd is via een zero-day exploit, de toegang van de aanvaller en de potentiële schade beperkt zijn. Gebruik toestemmings- of blokkeringslijsten om de uitvoering van applicaties te controleren.
- Netwerk segmentatie: Verdeel uw netwerk in kleinere, geïsoleerde segmenten. Dit kan de verspreiding van malware via een zero-day exploit indammen en de reikwijdte van de aanval beperken.
- Firewalls voor webtoepassingen (WAF's): Voor webtoepassingen kunnen WAF's kwaadaardig HTTP/S-verkeer filteren, bewaken en blokkeren, waardoor webgebaseerde zero-day exploits mogelijk worden beperkt.
- Regelmatige back-ups: Zorg voor regelmatige, geteste back-ups van kritieke gegevens. Dit voorkomt een aanval niet, maar is cruciaal voor herstel, vooral van ransomware die wordt ingezet via zero-day exploits.
- Bewustzijnstraining voor beveiliging: Gebruikers informeren over phishing, social engineering en veilig browsen om de kans op een succesvolle exploit te verkleinen.
Laatste woorden
Een zero-day kwetsbaarheid is een softwarebug die is geïdentificeerd maar nog niet bekend is gemaakt aan de softwareleverancier. Het is "zero days" verwijderd van bekendheid, althans bij het publiek. Met andere woorden, het is een exploit in het wild waar niemand iets vanaf weet, behalve degene die het als eerste heeft ontdekt en gerapporteerd, of erger nog, de aanvallers die er misbruik van maken. De wereld wordt steeds gevaarlijker en deze bedreigingen zouden organisaties en individuen moeten aanmoedigen om robuuste, meerlaagse beveiligingsstrategieën te gebruiken. Hoewel 'zero-day'-kwetsbaarheden een grote uitdaging vormen, is inzicht in hun levenscyclus, potentiële impact en beperkingstechnieken cruciaal voor het verbeteren van de cyberbeveiligingshouding.