image

Onveilige DLL-bestanden nieuwe achilleshiel Windows

maandag 7 april 2014, 10:08 door Redactie, 8 reacties

Onveilige DLL-bestanden vormen een nieuwe achilleshiel voor Windows, zo blijkt uit verschillende zero-dayaanvallen die de afgelopen tijd werden ontdekt, zo laat het Amerikaanse beveiligingsbedrijf FireEye tegenover Security.NL weten. Ook Microsoft waarschuwde onlangs nog hiervoor.

Windows beschikt over een beveiligingsmaatregel genaamd Address Space Layout Randomization (ASLR). Deze techniek maakt het lastiger voor een aanvaller om te voorspellen waar in het geheugen bepaalde delen van een programma worden geladen. Dit maakt het weer lastiger voor een aanvaller om een beveiligingslek in een bepaald programma te kunnen misbruiken. Niet alle programma's gebruiken echter ASLR. Recentelijk vonden er verschillende zero-dayaanvallen plaats waarbij de aanvallers ASLR in een aangevallen programma wisten te omzeilen door de DLL-bestanden van een ander programma te laden dat hier geen gebruik van maakte.

Zowel bij een recente aanval op Adobe Flash Player als Internet Explorer 8 werd deze tactiek toegepast, en ook in het verleden zijn meerdere van dit soort aanvallen waargenomen. De aanvallers zoeken in dit geval bijvoorbeeld naar een DLL-bestand van een oude Java-versie of oudere versies van Office 2007 of 2010 die niet up-to-date zijn, maar ook andere programma's kunnen worden gebruikt.

"Bij een standaard Windows-installatie met een standaard Office-suite gaan de aanvallers elk DLL-bestand langs op zoek naar bestanden die geen ASLR gebruiken. Dit lijkt de nieuwe norm te zijn", zegt Darien Kindlund, directeur Threat Research bij FireEye. "We kunnen dus ook verwachten dat toekomstige aanvallen deze techniek gebruiken, totdat er geen DLL-bestanden meer zonder ASLR-bescherming zijn." De aanvallers houden bij het kiezen van aan te vallen software rekening met het gehele systeem. "Ze weten dat een systeem waar Flash Player op is geïnstalleerd vaak ook over Java of Office beschikt. Ze proberen daar gebruik van te maken en dat is wat we ook gezien hebben."

Bij de recente zero-dayaanvallen liepen bedrijven die hun Java of Office-versies volledige up-to-date hadden dan ook geen risico, ook al zat er wel een lek in de gebruikte Adobe Flash Player. Kindlund merkt echter op dat aanvallers dan naar een ander kwetsbaar DLL-bestand op het systeem hadden kunnen zoeken. Naast de aanval op Flash Player was laatst ook Internet Explorer 10 het doelwit. Hierbij maakten de aanvallers gebruik van de aanwezigheid van Flash Player om de aanval uit te voeren, wat aangeeft dat aanvallers naar meer programma's kijken dan alleen het aangevallen programma om een aanval uit te voeren.

Microsoft EMET

De recente aanval op IE10 werkte niet als op het systeem de gratis Enhanced Mitigation Experience Toolkit (EMET) was geïnstalleerd. Deze toolkit moet aanvallen voorkomen, maar in dit geval detecteerde de aanval de aanwezigheid van EMET en stopte vervolgens met de verdere uitvoer. Waarschijnlijk was dit bedoeld om onderzoekers of securitybewuste bedrijven niet te waarschuwen dat er een aanval plaatsvond. Volgens Kindlund is EMET bij veel bedrijven nog niet geïnstalleerd en hoeven aanvallers de tool dan ook niet te omzeilen om toch succesvol met hun aanvallen te zijn.

Als EMET echter gemeengoed wordt zullen cybercriminelen waarschijnlijk wel investeren om EMET te omzeilen. Iets wat tot nu toe alleen door beveiligingsonderzoekers is gedaan. "We hebben ze die stap eerder zien maken, dat ze geld, tijd en energie investeerden om bijvoorbeeld de sandboxes van Adobe te omzeilen. Er zal waarschijnlijk ook een moment in de toekomst komen om EMET te omzeilen."

Verwijderen

Kindlund stelt dat als bedrijven systematisch software van de werkcomputers verwijderen, het aanvalsoppervlak ook vele malen kleiner wordt. "Eén van de uitdagingen is echter het systematisch verkleinen van het aanvalsoppervlak. De meeste organisaties hebben geen volledige controle over alle applicaties die op al hun endpoints zijn geïnstalleerd en zich binnen de organisatie bevinden." Dat zou echter wel moeten als bedrijven en organisaties dit soort dreigingen willen voorkomen, of in ieder geval het leven van de aanvallers een stuk lastiger willen maken. Een bedrijf kan wel Adobe Flash Player verwijderen, maar één computer waar het nog wel op staat kan voldoende zijn om aanvallers toegang tot het netwerk te geven.

De moeite die bedrijven hebben om software te verwijderen en gebruikte software up-to-date te houden is dan ook de reden dat dit soort aanvallen nog steeds succesvol zijn. Daar komt bij dat systeembeheerders eerst de bedrijfsvoering moeten ondersteunen. "Als je aanpassingen in de omgeving maakt die gevolgen voor de bedrijfsvoering hebben, is het geen oplossing die op de lange termijn gaat werken", gaat Kindlund verder. Hij wijst dan met name naar de problemen die bedrijven met upgraden hebben. "Kijk naar alle organisaties met Windows XP-computers die nog moeten upgraden, laat staan als ze componenten moeten verwijderen die invloed op de bedrijfsvoering kunnen hebben."

Reacties (8)
07-04-2014, 11:22 door hx0r3z - Bijgewerkt: 07-04-2014, 11:28
ASLR heeft linux ook. In windows is dit echt grappig. Bijna geen enkele AV heeft system-wide ASLR enabled... Hoe slecht..

Hier kun je meer erover lezen.
http://www.pdfhost.net/index.php?Action=DownloadFile&id=733d31239a1b541242d10144f56aeccb
07-04-2014, 11:36 door Anoniem
We weten al jaaaaren dat het model van DLLs uitnodigt tot misbruik. Kennelijk is het lagerhangende fruit opgesnoept en duikt nu dus dit weer op. Na jaren ongemoeid te zijn gelaten. Terwijl we dus wisten dat het een probleem kon worden, en dus eigenlijk ook wel op de vingers konden natellen dat het een probleem ging worden.

Dit zegt hele duidelijke dingen over de fabrikant, nog eens verder geillustreerd door het gemak waarmee de opgehypede "oplossing" toch weer uitgeschakeld kan worden door de code waartegen het dient te beschermen. Iets met aanvinkvakjes enzo.
07-04-2014, 12:29 door Wim ten Brink
Tja, upgrades... Het grootste probleem voor veel bedrijven is dat het upgraden van software wordt bemoeilijkt doordat ze dan tevens ieder jaar hun licenties moeten vernieuwen. Als je als software-ontwikkelaar met 6 ontwikkelaars dus ieder jaar 6 licenties Visual Studio, 6 licenties Resharper en 6 licenties van diverse andere producten moet kopen dan is dat enigszins kostbaar. En je moet hopen dat de bedrijven waar je de software van koopt ook continu meegaan met de laatste ontwikkelingen en upgrades blijven uitvoeren. Bedrijven kunnen het vaak wel betalen maar moeten hier rekening mee houden in hun budget. En dat wordt nog wel eens vergeten.
-
Een ander probleem dat ik ben tegengekomen is dat sommige software in .NET 2.0 wordt ontwikkeld, terwijl we al enkele versies verder zijn. De reden hiervoor is omdat deze software compatibel moet zijn met Linux/Mono. Een mooi streven, maar Mono kan de nieuwste .NET ontwikkelingen gewoon niet bijbenen en is dus afhankelijk van oudere versies. Door diverse besturings-systemen te willen ondersteunen wordt upgraden vaak bemoeilijkt, omdat de upgrade voor alle systemen ondersteund moet worden. Dat is goed te doen als men zelf alles ontwikkelt, maar dat betekent vaak dat men C++ moet gebruiken in plaats van C#. Maar C++ zorgt vaak voor meer beveiligings-problemen door onwetendheid en onervarenheid van de ontwikkelaars.
-
Een derde probleem zie ik vooral bij Open-Source projecten die niet al te aktief worden onderhouden. Project A kan afhankelijk zijn van project B, en hoewel A nog wekelijks wordt bijgewerkt is B al 6 maanden onveranderd. Op zich prima als B onkwetsbaar is, maar in de praktijk is alles kwetsbaar. Trek dit lijntje verder door naar alle afhankelijkheden en kijk welke delen al een tijdje stil liggen. Die delen kunnen de grootste risico's vormen.
-
Software hoort zich continu te blijven ontwikkelen maar tegenwoordig zitten er zoveel externe componenten in de meeste software-producten dat er altijd kwetsbaarheden zullen blijven. Want niet al die componenten worden op tijd bijgewerkt als deze kwetsbaar blijken te zijn. Linux weet zich nog iets beter te redden omdat veel Linux-ontwikkelaars liever zelf het wiel uitvinden (of overkopieren en verder aanpassen) dan Windows-developers. Toch is ook hier het probleem dat er duizenden open-source componenten zijn die al geruime tijd niet meer worden onderhouden en dus risico's gaan vormen.
07-04-2014, 17:33 door Anoniem
Tja,dll bibliotheken zijn toch een ouderwetse manier van windows gebruiken.
Je hebt van een versie dll bibliotheek al verschillende versienummers.
Dat gaat toch averechts werken?.
Bij Mac Osx,daar heb je gewoon een soort serie bibliotheken,die zelf met OSX worden meegeleverd met een Patch of zo.
Linux gaat ook wat beter met bibliotheken om.
Dus ik ben blij dat ik Mac gebruiker ben,niet om de mensen die windows gebruiken te pesten.
Maar goed ik geef mijn eigen mening,en gelukkig mag je dat doen hier in NL.
Er zijn landen op de wereld die geen vrijheid van meningsuiting kennen.
Mac Osx vind ik gewoon erg fijn werken,en toen mijn pc het begaf toen ben ik overgestapt op een mac.
Nu heb ik zelfs twee mac's een Imac van laat 2012 en een Nieuwe Macbook pro van laat 2013.
Ik kan wel windows draaien op mijn mac's maar waarom zou ik?,OSx is er voor voor de Mac's gemaakt en alles wat ik voorheeen met Windows en Linux kon,kan ik prima met Mac OSX.
07-04-2014, 22:40 door [Account Verwijderd]
[Verwijderd]
07-04-2014, 22:48 door Anoniem
Er zit niet voor niets een lock op deze Java posting
https://www.security.nl/posting/382172/Java+8+is+uit+%28met+vele+security+enhancements%29

" veel beter voor Java kiezen "
Gaan we nu alweer opnieuw beginnen met Java discussies uitlokken?

Nee toch hopelijk?
09-04-2014, 18:56 door Anoniem
Aan Krakatau's posting geschiedenis is dat zijn antwoord op alles... Medewerker van Oracle misschien?
27-04-2014, 10:14 door [Account Verwijderd]
[Verwijderd]
Reageren

Deze posting is gelocked. Reageren is niet meer mogelijk.