Gratis bescherming tegen zero-days exploits We zien de laatste jaren een duidelijke toename van geavanceerde dreigingen op onze computersystemen. In plaats van het sturen van alleen e-mails met geïnfecteerde bijlagen of links naar web pagina’s met besmette content, zien we dat onze systemen op meerdere plekken worden aangevallen, waarbij kwetsbaarheden in verschillende applicaties worden misbruikt om toegang te krijgen tot onze computersystemen en data. Om beter weerstand te kunnen bieden tegen deze aanvallen, moeten we ervoor zorgen dat we zo immuun mogelijk zijn tegen deze kwetsbaarheden. Dit artikel beschrijft hoe traditionele security technologieën tekort schieten bij bescherming tegen onbekende malware (‘zero-day exploits’) en hoe met gebruik van de gratis beschikbare software Microsoft EMET het risico op misbruik van kwetsbaarheden door bekende en onbekende malware verkleind kan worden. De meeste organisaties vertrouwen nog steeds op bescherming van firewall, antivirus software en het af en toe patchen van systemen met security updates om malware buiten de deur te houden. Hoewel antivirus producten weliswaar zijn geëvolueerd in de loop der jaren, zijn ze nog steeds grotendeels gebaseerd op detectie en tegenhouden van bekende kwaadaardige software. Het updaten van systemen dicht weliswaar kwetsbaarheden structureel, maar kan beschikbaarheidsproblemen met zich mee brengen, waardoor systemen in de praktijk meestal niet onmiddellijk worden geüpdatet wanneer deze updates beschikbaar zijn. Een beperkt aantal organisaties maakt gebruik van Intrusion Detectie systemen (IDS), waarmee het risico op misbruik van kwetsbaarheden nog wat verder kan worden teruggedrongen. Net als traditionele antivirus software, werken traditionele IDS systemen meestal ook met signatures, waarmee netwerkverkeer wordt gescand op bekende methodes van misbruik van kwetsbaarheden. Laten we de problematiek van bescherming tegen malware door traditionele beveiligingsproducten (antivirus software, updates en IDS) in een sterk vereenvoudigde analyse eens verhelderen met een voorbeeld. In dit voorbeeld gaan we uit van een buffer overflow kwetsbaarheid in een webservice. De kwetsbaarheid kan worden uitgebuit door het opvragen van een specifiek gevormde URL, waarmee content kan worden geüpload naar de webserver. Hiermee kan de aanvaller willekeurige comando’s kan uitvoeren op de webserver. In dit voorbeeld wordt ervan uitgegaan dat misbruik onmiddellijk gedetecteerd wordt. In de praktijk is dit meestal niet zo en kan er geruime tijd overheen gaan tussen het moment van eerste misbruik en eerste detectie van misbruik, zoals de OpenSSL ‘Heart Bleed bug’ onlangs nog heeft aangetoond.
De kwetsbaarheid in de loop van de tijd per traditionele beschermingslaag (antivirus, IDS en updates) is weergegeven in onderstaande figuur.
Window of vulnerability (Interval van kwetsbaarheid) 1e malware
2e malware
3e malware
Alleen anti-virus software bescherming Bekendstelling kwetsbaarheid
AV update geïmple menteerd
AV update geïmple menteerd
AV update geïmple menteerd
Alleen host based IDPS bescherming Bekendstelling kwetsbaarheid
IDS rule geïmple menteerd
IDS rule geïmple menteerd
Alleen software update bescherming Bekendstelling kwetsbaarheid
software update geïmple menteerd
Niet beschermd tegen specifieke malware en kwetsbaarheid
Bescherming tegen specifieke malware
Tijdelijke bescherming tegen specifieke malware en kwetsbaarheid
Volledige Bescherming tegen specifieke malware en kwetsbaarheid
Op het moment dat de kwetsbaarheid bekend wordt, zullen hackers proberen hiervan misbruik te maken. De kwetsbaarheid (‘Window of vulnerability’) is aangegeven in rood en begint op het moment dat de eerste malware (lijn 1e malware) dat misbruik maakt van deze kwetsbaarheid, beschikbaar komt. 1. Antivirus software: Antivirus leveranciers hebben tijd nodig om een update van hun signature database op te leveren waarmee de specifieke malware, die (in dit voorbeeld) misbruik maakt van de kwetsbaarheid van de webservice, kan worden geblokkeerd. Na update van antivirus software op de webserver, kan een hacker de specifieke malware niet meer uploaden naar de kwetsbare webserver. Een hacker kan echter wel nieuwe malware maken (met een andere signature, aangegeven met de lijn 2e malware). Een ongepachte webserver blijft kwetsbaar voor deze nieuwe malware totdat een nieuwe antivirus signature database hiertegen beschermd, enzovoort. Conclusie: antivirus software detecteert de toepassing van misbruik van een (al dan niet gepachte) kwetsbaarheid en voorkomt misbruik daarvan. 2. IDS software: Ook leveranciers van IDS systemen hebben tijd nodig om een update van hun signature databae op te leveren. Tot het moment van updaten van de IDS signature database, blijft de kwetsbaarheid van misbruik van buffer overflow via de specifieke URL aanwezig. Na update van de IDS signature database, wordt een webservice verzoek met de specifiek
gevormde URL geblokkeerd zodat daarmee geen content meer kan worden geüpload. Een hacker kan echter wel op zoek gaan naar een ander specifiek gevormde URL om op die manier misbruik te maken van een bufferflow kwetsbaarheid van de webserver (aangegeven met de lijn 3e malware) totdat een nieuwe IDS signature database hiertegen beschermd, enzovoort. Conclusie: (signature based) IDS software detecteert (en eventueel blokkeert) de methode van misbruik van een (al dan niet gepachte) kwetsbaarheid en voorkomt (de meeste) toepassingen van misbruik daarvan. 3. Software update: Eveneens geldt voor de leverancier of ontwikkelaar van de webservice dat deze (meestal langere) tijd nodig heeft om zijn webservice te patchen tegen deze vorm van buffer overflow. Tot het moment van installatie van de patch blijft het systeem kwetsbaar voor misbruik. Anders dan de andere twee beschermingslagen biedt het patchen van de webservice een structurele oplossing. Deze specifieke kwetsbaarheid is en blijft daarmee verholpen. Conclusie: software updates voorkomen de mogelijkheid van misbruik van een kwetsbaarheid door ervoor te zorgen dat de kwetsbaarheid niet meer aanwezig is. Voor alle drie oplossingen geldt dat, zelfs als ze gecombineerd worden toegepast, een ‘Window of vulnerability’ blijft bestaan vanaf het moment dat malware wordt toegepast tot het moment dat de infrastructuur er (al dan niet tijdelijk) tegen beschermd is. Een in theorie ideale oplossing is om software te gebruiken dat het gedrag van content analyseert en deze blokkeert indien het gedrag als ongewenst wordt beschouwd. Doordat deze software niet gebaseerd is op signatures, kent ze het ‘Window of vulnerability’ probleem niet en kan ze bekende en onbekende malware tegenhouden; m.a.w. ze voorkomt de mogelijkheid van misbruik van een willekeurige kwetsbaarheid. Deze software is in het algemeen erg prijzig en heeft doorgaans grote impact op bestaande applicaties en infrastructuur, waardoor de software erg veel beheerinspanning vraagt. Niet kwaadaardige content is doorgaans niet getest voor gebruik met deze software waardoor deze content (onbedoeld) vaak gedragskenmerken vertoont die door de beveiligingssoftware als ongewenst wordt beschouwd. Het eindresultaat is dat niet-kwaadaardige content veelvuldig wordt geblokkeerd en de beveiligingssoftware (ten onrechte!) wordt beschuldigd van het genereren van teveel valse alarmen. Een goede tussenoplossing kan de toepassing van Microsoft EMET zijn. EMET kan de ‘Window of Vulnerability’ van veel kwaadaardige software sluiten, door te anticiperen op de meest gebruikte aanvalstechnieken die hackers gebruiken om kwetsbaarheden in systemen uit te buiten, zoals buffer overflows. Hierdoor kan EMET bescherming bieden tegen de meeste nog onbekende en ongedetecteerde malware. EMET moet echter niet worden gezien als een vervanging van bestaande beveiligingsproducten, maar als aanvulling op bestaande security architectuur (‘defense in depth’). EMET staat voor Enhanced Mitigation Experience Toolkit en mitigation is precies wat EMET feitelijk doet; het beperkt het risico van (bekende en onbekende) malware.
Het biedt echter geen bescherming tegen overige aanvalstechnieken. Ook is de bescherming van de ondersteunde aanvalstechnieken (nog) niet perfect gebleken (zie http://labs.bromium.com/2014/02/24/bypassing-emet-4-1/). Als de behoefte om in te breken voor een aanvaller maar groot genoeg is, dan zal hijwaarschijnlijk in staat zijn om door de EMET beschermingslaag heen te dringen of hij zal aanvalstechnieken gebruiken die niet beschermd worden door EMET. Daardoor blijven andere security maatregelen zoals antivirus en toepassen van updates noodzakelijk. EMET biedt echter toegevoegde waarde in de bescherming tegen veel voorkomende zero-day exploits in veel gebruikte kwetsbare producten als Internet Explorer, Java, Acrobat Reader en Flash en wordt in de maandelijkse Security Bulletins van Microsoft steeds vaker genoemd als beschermingsfactor van nieuw ontdekte kwetsbaarheden. Toepassing van EMET kan impact hebben op bestaande applicaties. EMET is echter eenvoudig en flexibel in gebruik: per applicatie (zelfs per proces) kan bescherming tegen specifieke aanvalstechnieken geactiveerd of gedeactiveerd worden.
Alle applicaties in de infrastructuur zullen dus op toepassing van EMET getest moeten worden. Ook voor ontwikkelaars is het aan te raden om ontwikkelde software te testen bij gebruik van EMET. Microsoft biedt standaard de mogelijkheid en ondersteuning om EMET bescherming voor diverse Microsoft applicaties te activeren. Voor overige applicaties kan (op eigen risico) bescherming per aanvalstechniek worden geactiveerd.
Steeds meer informatiebeveiligingsspecialisten bevelen EMET aan waardoor steeds meer applicaties zichzelf EMET compatibel zullen gaan verklaren. Het is goed voor te stellen dat EMET technologie op enig moment in een volgende versie van Windows geïntegreerd zal gaan worden. Versie 5.0 van EMET is zojuist (31 juli 2014) uitgebracht en is gratis beschikbaar voor zowel consumenten als bedrijven (http://www.microsoft.com/en-us/download/details.aspx?id=43714). Het is een endpoint security product dat op een werkstation (vanaf Windows Vista) of server (vanaf Windows 2003) met .NET Framework geïnstalleerd kan worden.