Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Microsoft dicht opnieuw door Google gevonden lek in eigen beveiligingssoftware

Door , 60 reacties

Microsoft heeft opnieuw een door Google-onderzoeker Tavis Ormandy gevonden lek in zijn Malware Protection Engine gedicht. Het bedrijf heeft geen security advisory uitgebracht. Dit deed het bij een eerdere kwetsbaarheid in de engine wel.

Ormandy schrijft dat Microsoft de patch vorige week heeft uitgebracht, nadat hij het lek op 12 mei had ontdekt. Hij meldt dat de engine, MsMpEng, voorzien is van een 'volledige x86-emulator, waarmee niet vertrouwde bestanden uitgevoerd kunnen worden die eruitzien als portable executables'. Die emulator draait op systeemniveau en is bovendien niet voorzien van een sandbox. Door de beschikbare api's voor de emulator te doorzoeken vond hij een manier om 'geëmuleerde code de emulator te laten overnemen'.

Udi Yavo, oprichter van beveiligingsbedrijf enSilo, laat in een interview met Threatpost weten dat het hierbij om 'een potentieel zeer ernstige kwetsbaarheid gaat, die echter moeilijker te misbruiken is dan het lek dat eerder door Microsoft is gedicht'. Daarmee doelt hij op cve-2017-0290, dat begin deze maand door Microsoft is verholpen. Daarmee was het mogelijk om op afstand code uit te voeren op een kwetsbaar systeem, net als bij de huidige kwetsbaarheid. De patch voor het nieuwe lek is uitgebracht in versie 1.1.13804.0 van MsMpEng, aldus Ormandy.

De onderzoeker van Googles Project Zero-beveiligingsteam maakte onlangs bekend hoe hij te werk gaat bij het vinden van Windows-bugs. Zo publiceerde hij onlangs een GitHub-project, waarmee hij Windows-dll's naar Linux port. Als demonstratie van de werking heeft hij Windows Defender, waarvan MsMpEng de basis vormt, overgezet naar Linux. Daarmee wil hij het makkelijker maken om fuzzing uit te voeren, zonder dat daarvoor een volledige, gevirtualiseerde omgeving nodig is. Over de engine die het hart van MsMpEng vormt, genaamd Mpengine, schrijft hij dat deze 'een enorme en complexe attack surface' heeft en dat alle code beschikbaar is voor potentiële aanvallers.

Reacties (60)

Wijzig sortering
Wel tof dat Google weer een lek vindt maar hoort Microsoft zelf dit soort dingen niet eerder te vinden?
Zowel Google als Microsoft hebben verschillende bug-hunter-programs.
Ik ben het met je eens dat MS eigenlijk dit lek eerder had moeten vinden (zij hebben immers toegang tot de broncode en de programmeurs van het packet).
Echter is gebleken dat broncode, zeker na enkele updates, nog maar weinig wordt gecontroleerd (zowel closed als open source).
Daarnaast zal broncode ook niet direct het lek laten zien. Iemand van een ander bedrijf, met een complete andere invalshoek, kan de software ineens op een heel andere manier gebruiken/benaderen waardoor dit lek gevonden wordt.

Andersom is trouwens ook al enkele keren voorgekomen, een medewerker van Microsoft die een lek bij Google software vind en meld.
Maar zo werkt het bij alles. Iemand met een frisse blik of andere kijk op de zaak ziet dingen die jij zelf normaal niet meer ziet. Kleine foutjes die erin sluipen, mogelijke code die niet helemaal zuiver is, en andere bugs. Dus prima dat het zo gaat. Het is mooi om te zien dat de grootmachten in de softwarewereld elkaar scherp houden. Win win voor iedereen wat mij betreft.
Goed geformuleerd en erg verfrissend om te lezen t.o.v. van de vaker te lezen cynische opmerkingen wat de beweegredenen zijn van Google (eigenlijk Tavis Ormandy) om achter andere bedrijven aan te gaan.

Daarnaast zijn IT bedrijven ook erg afhankelijk van elkaar. Meer dan wij denken. Er zullen aardig wat Google systemen, personeel, producten en diensten direct te maken hebben met diensten en producten van MS, en vice versa.
Precies. Het enige waar het bedrijf achter de software wťl verantwoordelijk voor is is het daadwerkelijk fixen van de bugs zodra ze gevonden zijn, dat is iets wat bedrijven alsnog regelmatig niet doen tot het lek openbaar wordt gemaakt, of dat nou door degene die het lek heeft gevonden of door misbruik door een derde partij is.

[Reactie gewijzigd door PeterBennink op 29 mei 2017 13:03]

Je kan het natuurlijk ook omdraaien.
Is men bij Google zo zeker dat er nergens nog bugs aanwezig zijn in hun software dat men tijd over heeft om naar software van de concurrent te kijken?
Dit heeft dus een "Wij van WC-eend adviseren WC-eend" gehalte. Jij hebt liever dat Microsoft een eigen audit uitvoert op haar eigen software? Ik mag aannemen dat ze dat al doen, maar dat dit probleem er desondanks toch tussendoor geslopen is.

Aangezien elke ontwikkelaar ter wereld fouten maakt en je dus geen enkele software tegen zult komen zonder software, mag niemand dit probleem aankaarten bij Microsoft. Want ja, ze moeten eerst maar eens de fouten uit hun eigen software halen.
Bij closed source praat je vaak over intellectueel eigendom. Vandaar dat een review door de concurrent dan niet op prijs wordt gesteld. Een externe audit hoort wel tot de mogelijkheden, maar is a. prijzig b. maar de vraag of ze meer vinden.

Als je source code een groot aantal regels telt, heeft zo'n extern persoon wel een frisse blik (zoals iemand anders al verwoorde), maar het is een zeer grote, zo niet onmogelijke taak (in tijd en geld) om een complete audit te doen door een externe partij.

Een alternatief is om static code analyze te doen, echter die leveren vaak (veel) false alarms op. De kosten en tijd zijn dan echter in eigen hand te houden. De waarde van een externe audit zal voor externe klanten wellicht zwaarder wegen, zeker als ze ISO en weet-niet-wat gecertificeerd zijn. De vraag is of die waarde niet overgewaardeerd wordt. In een groter bedrijf zijn er genoeg collega's die de code (min of meer) kennen, en toch nog een frisse (=andere) blik naar de code kijken. Daarom is het een goed gebruik om je codewijzigingen door een ander uit je team te laten reviewen. Dat zal ook bij MS wel gebeuren. Hoe je het wendt of keert: Windows is niet bug-free, maar de kwaliteit is best hoog (zeker als je dat vergelijkt met Windows 2000 en eerder, maar toen hadden heel veel systemen ook geen internetaansluiting).
Je hebt gelijk hoor, maar dat neemt nog steeds mijn vraag niet weg. In het voorbeeld van Skoucall, mag iemand die rookt niet iemand met obesitas waarschuwen over zijn/haar ongezonde levensstijl.
Daar gaat het helemaal niet om. Google heeft een speciaal team opgericht om zoveel mogelijk software en online diensten te controleren, inclusief dat van hunzelf. Naar eigen zeggen om bij te dragen aan een veiliger internet, wat tot dusver op sommige punten behoorlijk goed lijkt te slagen. Project Zero heet het.
https://en.m.wikipedia.org/wiki/Project_Zero_(Google)

En ja, die checken ook Google's eigen software.

[Reactie gewijzigd door WhatsappHack op 29 mei 2017 13:04]

Dat ze hun eigen en andermans software controleren is op zichzelf niks mis mee, maar het lijkt er wel op dat ze niet 'eerlijk' communiceren over de bugs en exploits die ze vinden.

Je hoort van deze bughunters enkel van problemen in niet Google producten, lijkt me sterk dat ze niks vinden in hun eigen producten. Dit lijkt meer op naming and shaming van iedereen behalve jezelf.
Die publiceert Google zelf in de release notes van producten. Overigens wordt verre van alles wat project zero vindt veel aandacht aan besteed, alleen aan hele grote problemen wordt veel aandacht besteed om uit te leggen hoe t werkt en wat de vector is. Trouwens pas nŠ de responsible disclosure tijd is verstreken.

Maar zelfs als ze weinig ruchtbaarheid geven aan eigen grote security issues die ze vinden, vind ik dat best normaal - en dat doen anderen wel voor ze.
Ze hoeven immers niet objectief te zijn.

Naming and shaming is er absoluut niet bij, dit is doodnormale responsible disclosure.
Het kan toch altijd gebeuren dat een lek misschien eerder door iemand anders eerder gevonden wordt dan door de eigenaar? zolang ze het maar snel fixen.
Misschien wel, maar als ikzelf code schrijf laat ik het toch liever door iemand anders testen.
Iemand anders denkt toch weer net even wat anders dan ikzelf.... wie weet werkt het tussen groepen en bedrijven ook wel zo.
Maakt mij persoonlijk niet zo uit, zolang het lek maar snel gevonden ťn gedicht wordt. Dan maakt het toch niet veel uit? Vind ik een prima idee, dat bedrijven elkaar helpen met het vinden van lekken.
Sja. Testen kost geld. Waar ik me meer zorgen om maak is dat er dus code is om uit een gevirtualiseerde omgeving te breken in deze engine. Ik vraag me af of dit code is die microsoft in andere x86 emulaties ook gebruikt... zo ja dan kunnen er aardig wat producten kwetsbaar zijn.
Je hoort ook zelf je huis op slot te doen en je ramen dicht te doen als je weggaat, maar toch ben je blij als je buren even bellen als je het vergeten bent.

Of betere analogie: als je buren ontdekt hebben dan hun slot verouderd is en gekraakt kan worden, en ze wijzen je erop dat ook jij beter je cylinder even kunt laten vervangen.

Beide profijt: buurt wordt minder gevoelig voor inbraken en dus uiteindelijk samen minder risico.

Zoals walteij ook al zegt: een frisse blik en een andere kijk op de zaak en meer ogen, kunnen bij bijna alle zaken helpen dingen te verbeteren.
Horen ze dat te vinden? Ja klopt.

Maar in realiteit zal een externe partij bugs en exploits veel sneller vinden dan internen.
Fijn dat deze bedrijven elkaar controleren en waarschuwen!
Omdat ze er niet naar zoeken denk ik. Microsoft heeft naar mijn weten niet zo' n afdeling als Google Project Zero.
Hoog tijd voor Microsoft dat ze ook zo'n afdeling opzetten dan. Nu snap ik dat de twee bedrijven niet helemaal te vergelijken zijn, vooral qua cultuur en geschiedenis, maar toch...
Het is onmogelijk altijd alles te overzien. Met constante updates aanpassingen etc... Dan is het zelfs met het gericht zoeken naar bugs vaak moeilijk iets te vinden. Maar elk grote merk heeft dit. Of het nou Microsoft, Google of Apple is. Er zijn altijd bugs te vingen in hun software. Android heeft er ook genoeg en iOS uiteraard ook anders zouden er geen jailbreaks zijn ;) Zolang ze het maar onarmen dat bedrijven en hackers elkaar hierin helpen en er programma's en beloningen voor zijn!

[Reactie gewijzigd door Nimac91 op 30 mei 2017 11:14]

In een perfecte wereld, schrijven we code zonder lekken. In een iets minder perfecte wereld, vinden de testers van een bedrijf alle bugs in de code.

Wij leven niet in die wereld.

Testen van edge cases kost zo exponentieel veel meer tijd en moeit, dat sommige dingen alleen maar gevonden kunnen worden door User 2.14 billion. Om al die bugs er uit te testen, zouden er onredelijk veel testers moeten zijn.

Op het moment dat je released, krijg je in een keer onredelijk veel testers in de vorm van je gebruikers. Niet leuk, maar wel nuttig. Google is ťťn van die users, maar eigenlijk is Google miljoenen van die users, en nog behoorlijk geavanceerde users ook.

Ja, Microsoft hoort die dingen zelf te vinden, maar om een 100% bug catch rate te verwachten is onredelijk.
[quote]
In een perfecte wereld, schrijven we code zonder lekken. In een iets minder perfecte wereld, vinden de testers van een bedrijf alle bugs in de code.
[quote]

Niet als je C++ met STL / GC gebruikt. Of een taal zoals Java / C#. Er kunnen fouten inzitten maar dan gaat het je nog niet lukken om willekeurige code uit te voeren om die machine.
ergens is het misschien niet onverstandig;

google checked microsoft
microsoft checked google

maar het proeft mij meer als 'pesten' kijk eens hoeveel bugs wij vinden bij jouw besturingsysteem
Google heeft weldegelijk zelf ook een belang hierin, het is niet simpel pesten. Google verdient meer geld, als mensen meer tijd achter hun pc doorbrengen (en daardoor (in)direct meer gebruik maken van diensten van Google/reclame kijken). Het vertrouwen dat mensen in de veiligheid van hun pc/ het internet hebben, draagt daar aan bij.
Het is geen pesten, maar bijv. ook een kwestie van trainen / oefenen: nieuwe inzichten creŽren.

Een goede beveiliger zal kijken naar de zwakheden (en sterke kanten) in andere systemen, om er zelf van te leren. En dat geldt voor iedereen in elk werk eigenlijk, dat doe jij vast ook.
Over de engine die het hart van MsMpEng vormt, genaamd Mpengine, schrijft hij dat deze 'een enorme en complexe†attack surface' heeft en dat alle code beschikbaar is voor potentiŽle aanvallers.
Is deze code inderdaad standaard publiek beschikbaar (wat me op zijn minst zou verbazen) of zorgt de truc die deze onderzoeker (Tavis Ormandy) toepast met het porten naar Linux er voor dat de code inzichtelijk wordt?
Dat viel mij ook op. Ik denk dat er bedoeld wordt dat alle code aanroepbaar / te benaderen is, niet zozeer "beschikbaar" als in leesbare open-source broncode.
De MsMpEng binaries bevatten uiteraard alle code welke nodig is voor potentiele aanvallers. Als de code er niet in zou zitten, valt er ook niets aan te vallen.

Wat Travis met Windows DLL bestanden doet, is eigenlijk hetzelfde als wat java runtime met bytecode doet. Travis heeft een PELoader geschreven waarmee hij windows executables via linux kan draaien. De PELoader krijgt alle instructies van de MsMpEng applicatie door. PELoader 'faket' vervolgens de instructies. Doordat alle instructies via de PELoader lopen, heeft de onderzoeker veel beter inzicht wat een applicatie aanroept, dan dezelfde code 'native' onder Windows te laten draaien. PELoader is eigenlijk gewoon een wrapper.

Door vervolgens random (fuzz) data naar het process te sturen zijn dus onder andere buffer overflows. Mijn kennis is (helaas) beperkt tot de basis beginselen van het hacken.

Ik ben een programmeur, geen security expert. Echter om mijn werk goed te kunnen doen, is het wel belangrijk om een beetje security kennis te hebben. De laatste jaren is mijn security kennis meer verschoven naar online (website) security.. Troy Hunt heeft een aantal zeer interessante security courses op onder andere PluralSight..
De versie van de Engine waarin dit probleem is opgelost is: 1.1.13804.0
(Bron)
Microsoft mag wel wat meer investeren in hun security zeg
Misschien mis ik iets... maar waarom moet een malware engine "niet vertrouwde" bestanden kunnen uitvoeren ? Ik begrijp helemaal niet dat hier dus een volledige x86 emulator moet inzitten.
om te kijken of het bestand veilig is of niet. Als je het bestand uitvoert op een locatie waar het niets kwaad kan, en het probeer kwaad te doen(denk system32 of iets anders belangrijks verwijderen voor een relatief simpel virus) dan kan de engine dat merken, en aangeven dat het een onveilig bestand is.
Ik vraag me hetzelfde af als r2504. Ik vind die bug ook niet het belangrijkste/opmerkelijkste aan dit verhaal, bugs zitten nu eenmaal in software. Ik vind het veel belangwekkender dat MS een schijnbaar zwakke ontwerpbeslissing heeft genomen waarbij het middel mogelijk erger is dan de kwaal.

Het idee om security software potentiŽle malware in een niet gesandboxte emulator uit te laten voeren is toch op zijn minst opmerkelijk. Dat is niet de voor de hand liggende keuze. Het houd misschien simplistische virussen tegen maar bied de meer gesofisticeerde malware een groter attack-surface.
Indien dat de theorie erachter is dan lijkt een sandbox met hoogst noodzakelijk... en die blijkt eveneens te ontbreken.
Ik had Windows Defender al bij de vorige bug die ze vonden uitgeschakeld. Het is me een te groot risico.
Alhoewel zelf licht allergisch voor de producten van MS, moet ik je tegenspreken.
MS Defender is waarschijnlijk niet onveiliger dan beveiligingsproducten van derden; de meeste gebreken zitten in de regel in overvloedige GUI's die vooral verkoop van abonnementen beogen en in dat opzicht is MS Defender geruststellend sober.

Los daarvan zijn gebreken in de programmatuur van Microsoft wat moeilijk te verteren als men zich bedenkt dat dit bedrijf met winstmarges van boven de 80 % werkt.
MS Defender is waarschijnlijk niet onveiliger dan beveiligingsproducten van derden
Ik herinner me dat Microsoft zelf dit heeft tegengesproken en verklaard heeft dat Defender alleen bare-bones bescherming is.
Speculalatief, maar geworteld in enig begrip van het MS Windows eco-systeem:

Microsoft is met de computerproducenten en de producenten van virus-scanners het volgende tri-partites overeengekomen:
- De leveranciers van virus-scanners betalen (!) de computerproducenten voor het meeleveren van de "gratis" versies van de virus-scanners met hun computers.
- Microsoft heeft in MS Windows ingebouwd dat (delen van) MS Defender automatisch worden uitgeschakeld wanneer een virus-scanner van een derde aanwezig is (ongeacht of de licentie daarvan is verlopen).
- De computerproducenten hebben zich verbonden hun systemen (vrijwel) uitsluitend met daarop MS Windows te verkopen (zijn die producenten tevens bijkans verzekerd van snelle "veroudering").
(Dit speculatieve scenario is een win/win deal voor de betrokkenen, behalve dan voor de kopers/gebruikers. Maar goed: die moeten dan maar kritischer en niet zo volgzaam zijn.)

MS Defender is niet zozeer bare-bones, want belangrijke delen ervan zijn actief ongeacht of een ander beveiligingsproduct actief is. Het onderwerp van dit artikel betreft zulk een onderdeel.

[Reactie gewijzigd door Joep Lunaar op 31 mei 2017 14:47]

MS Defender is zeker wel barebones. door MS is het benoemd als de baseline.

Wat ik even niet opmaak uit het artikel is de werking van MS Defender zoals jij deze beschrijft. En waarom deze functie dan nooit uitgeschakeld zal worden als een andere producent hier een beter alternatief voor schrijft en in bvb Avast doet.
Het is deels "what's in a name".
MS Defender is meerdere zaken, waaronder iets dat vergelijkbaar is met de scanners van derden als Avast McAfee Panda enz.

De door jou aangehaalde uitspraak lijkt mij eerder een die past in het eerbiedigen van elkaars marktpositie, dan dat die stoelt op technische feiten.

Dat het ene product bij tests er de ene keer beter en de andere keer slechter uitkomt zegt erg weinig. Die tests dienen meer de verkoop dan betere beveiliging; scanners als clamav (open source) worden in die tests zelden meegenomen, terwijl dat wel een van de meest gebruikte scanners is (op servers). Bedenk trouwens dat de vreemde data die via mail op onze systemen arriveert bij een beetje behoorlijke ISP al op de mailserver is gescand; de toegevoegde waarde van een lokale scanner is denkelijk lager dan men vaak aanneemt.

Menig expert in IT-beveiliging stelt dat de commerciŽle scanners eerder kwaad dan goed doen omdat deze programmatuur veelal zelf (aantoonbaar) kwetsbaar is omdat die niet volgens de regels der (beveiligings) kunst geschreven zijn; kort gezegd: troep is.

De zogenaamde extra functionaliteit (boven de "baseline") als mail-shield, web-shield, zoek-shield en god-weet-ik-wat-shields zijn vaak objectief een verslechtering (man-in-the-middle inbreuk op TLS/SSL/HTTPS) en leveren de leverancier meer op dan de gebruiker; het shield levert de leverancier commercieel interessante gegevens op - lees de typische gebruikers-licenties maar eens door en huiver, huiver voor de onbeschaamde greep in mensen hun privťleven.

Hoe dan ook: iemand die waarde hecht aan veilige apparatuur gebruikt eerder Debian en geen MS Windows.

[Reactie gewijzigd door Joep Lunaar op 1 juni 2017 00:00]

Wat mij direct opvalt aan ClamAV is dat ze nergens aangeven ook real-time protection te kunnen bieden. Als ze daar een andere, technische term voor gebruiken, is dat al niet erg duidelijk voor mensen. Als het uberhaupt niet bestaat, is het gewoon geen competitief project op de consumentenmarkt. Wat me ook opvalt is dat ze nog niet eens op versie 1.0 zitten... sinds 2004. en maar .02 versies omhoog zijn gegaan sinds 2011. Misschien dat ze in server land een reputatie kunnen opbouwen, maar consumenten land vallen ze toch in het Open-source bootje wat voor de standaard gebruiker vaak te onhandig is om te gebruiken, voor zover op de website te lezen valt.
Het versienummer van de clamav scanner is niets dan een nummer, net als 1.0 of wat dan ook. Houdt het erop dat de scanner behoorlijk stabiel en uitontwikkeld is !
De definities voor de scanner worden meermaals per dag bijgewerkt.

Voor realtime bescherming zijn er producten van derden die de clamav scanner gebruiken. Zie bijv. http://www.immunet.com/
Nou, dan moet je misschien andere antimalware applicaties ook maar uitschakelen want de meeste hebben ook problemen met beveiliging etc (gehad).. Het is dus niet alsof anderen wel veel veiliger zijn.
Bovendien horen andere AV's Windows Defender Antivirus uit te schakelen. Als ze beiden realtime actief waren, kan ik me die vertraging wel voorstellen.
Op de meeste PC's was Defender ook uitgeschakeld. Van trage PC's met beide actief nooit last gehad met Windows 10.
Goed verhaal, maar heeft niks te maken met dit lek.. Dat ligt aan de kundigheid van jezelf (of de IT man).
Kunt beter trend micro uitzetten, heb meer problemen daarmee dan met defender, en dat is niet op een windows 10 PC (windows 7)..
2 virus scanners op een PC gebruiken is sinds mijn kindertijd en daarvoor al een probleem...
En die traagheid heb je weten te herleiden tot deze bug? :?
Dus je klaagt een beetje over een probleem dat je zelf gemaakt hebt aangezien het nooit goed is om twee anti viruspakketten tegelijk te laten draaien

Op dit item kan niet meer gereageerd worden.


Nintendo Switch Google Pixel XL 2 LG W7 Samsung Galaxy S8 Google Pixel 2 Sony Bravia A1 OLED Microsoft Xbox One X Apple iPhone 8

© 1998 - 2017 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Hardware.Info de Persgroep Online Services B.V. Hosting door True

*