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. Je kunt ook een cookievrije versie van de website bezoeken met minder functionaliteit. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , reacties: 41, views: 28.450 •

Bij het verwerken van asf-streams in VLC kan een bug optreden, waardoor kwaadwillenden mogelijk eigen code kunnen draaien op het systeem van een gebruiker. Een oplossing is nog niet voorhanden, maar zou zo snel mogelijk moeten verschijnen.

VideoLAN / VLC Media Player logoBeveiligingsonderzoeker Debasish Mandal ontdekte dat de asf-parser van de populaire VLC-mediaspeler een potentieel beveiligingsprobleem bevat, zo bevestigen de ontwikkelaars van het project. Asf is een bestandsformaat van Microsoft waarmee audio- en videostreams kunnen worden gestart.

Een 'speciaal geprepareerd' asf-bestand kan in de parser een buffer overflow veroorzaken. Een buffer overflow zorgt ervoor dat meer data naar het geheugen geschreven wordt dan waarvoor ruimte is gereserveerd, waardoor een aanvaller bijvoorbeeld gegevens naar uitvoerbaar geheugen kan schrijven.

Of dat in dit geval ook kan, is nog niet duidelijk. Volgens het VLC-team zou dat in 'sommige gevallen' mogelijk kunnen zijn, maar is dat niet bevestigd. Daarnaast stelt VLC dat gebruikers expliciet een asf-bestand moeten openen om kwetsbaar te zijn, maar tegelijkertijd raadt het bedrijf gebruikers aan om geen 'onvertrouwde sites' te bezoeken, niet zomaar asf-bestanden te openen en de VLC-browser-plugin uit te schakelen. Een alternatief is om de asf-plugin uit te schakelen, door deze te verwijderen uit de plugin-folder van VLC.

Reacties (41)

Scripts en buffer overflows staan compleet los van elkaar. De overeenkomst is dat ze beide voor kwaadaardige doeleinden gebruikt kunnen worden maar daar houden de overeenkomsten wel zo'n beetje mee op.

Voor zover ik na kan gaan is VLC niet in staat om de ASF scripts uit te voeren. Zie VLC behaviour on ASF script commands voor een reactie van VLC developer Jean-Baptiste Kempf over dit onderwerp.

Aangezien het hier om een bufferoverflow gaat bestaat alsnog het risico dat er misbruik van wordt gemaakt ondanks het feit dat VLC geen scripts uit kan voeren.
Dank voor de aanvulling betreffende scripts in ASF/WMV. Dat maakt het een stuk moeilijker voor een offline exploit (het bestand zelf) om succesvol te zijn.
Scripts en buffer overflows staan compleet los van elkaar. De overeenkomst is dat ze beide voor kwaadaardige doeleinden gebruikt kunnen worden maar daar houden de overeenkomsten wel zo'n beetje mee op.
Dat is niet helemaal waar. Ze kunnen los van elkaar staan, maar bij exploits wordt vaak in een (online) scriptje een stukje code, een function pointer, of een ander adres in het geheugen gezet, waarna de exploit hiervan gebruik (d.m.v. bijvoorbeeld een buffer-overflow) kan proberen maken door dit stukje uit te gaan voeren.

Nog gemakkelijker is het om een variabele te overschrijven, maar nogmaals hiervoor is wel vrij precieze controle over de overflow nodig. De kans is anders groot dat je OS ingrijpt en dat de oorspronkelijke app gewoon vastloopt.

Als je alleen het bestand hebt, kun je in offline modus wel een adres overschrijven. Je hebt echter nauwelijks controle over waarmee, omdat alles in je bestand zelf moet zitten. Als je je bestand teveel veranderd is de kans groot dat hij niet meer aan de ASF/WMV specs voldoet en gooit VLC je er sowieso uit. Dit is dus moeilijker maar niet onmogelijk.

De conclusie moet zijn dat overflows en scripts zonder elkaar inderdaad bedreigend kunnen zijn, maar in combinatie wordt het veel gemakkelijker om een succesvolle exploit te maken.

e.e.a. is precies na te lezen op WikiPedia http://en.wikipedia.org/wiki/Buffer_overflow
Dat is niet helemaal waar. Ze kunnen los van elkaar staan, maar bij exploits wordt vaak in een (online) scriptje een stukje code, een function pointer, of een ander adres in het geheugen gezet, waarna de exploit hiervan gebruik (d.m.v. bijvoorbeeld een buffer-overflow) kan proberen maken door dit stukje uit te gaan voeren.
Dat heeft alleen nut bij scripts e.d. die in een sandbox draaien. Per saldo blijft de exploit echter een buffer overflow en is het script alleen maar een manier om die te creëren, net als een corrupte mp3 bestand of een asf stream dat kunnen zijn. Scripts die niet in een sandbox draaien (denk bijvoorbeeld aan de VBA macro's van Word/Excel of VBS scripts) hebben van nature al geen beperkingen en hebben dan ook geen exploit nodig om schade aan te richten, alleen een gebruiker die zo euhm handig is om ze op te starten. Een script uitvoeren binnen een sandbox is niet inherent minder veilig dan het verwerken van bijvoorbeeld een ASF stream. Het zijn kwetsbaarheden in de player/runtime omgeving die misbruik mogelijk maken.
Nog gemakkelijker is het om een variabele te overschrijven, maar nogmaals hiervoor is wel vrij precieze controle over de overflow nodig. De kans is anders groot dat je OS ingrijpt en dat de oorspronkelijke app gewoon vastloopt.
Microsoft heeft in het verleden bij buffer overruns wel de fout gemaakt er bij te vermelden dat men van mening was dat de kans op misbruik laag was, om vervolgens een paar dagen later toe te moeten geven dat er een werkende exploit was ontdekt. Daarom wordt ook direct gewaarschuwd voor een buffer overflow als deze in VLC. In de praktijk zijn er technieken als stack smashing die het vrij goed mogelijk maken te bepalen welke code uitgevoerd wordt. Simpel gezegd overschrijf je een groot geheugen gebied met allemaal verwijzingen naar de kwaadaardige code. Op die manier ben je vrij trefzeker.

Een applicatie als VLC zou inderdaad kunnen (en moeten) detecteren dat de aangeboden data niet aan de verwachtingen voldoet maar dat is nu juist zo'n beetje de definitie van een buffer overflow: gebrek aan controle van de integriteit van de te verwerken data.

De crashes die je ziet zijn doorgaans gevallen waarin een buffer overflow optreedt zonder dat daar kwaadaardige data achter zit. In dat geval gaat het programma de fout in en grijpt het OS in. Daarnaast kan een techniek als DEP er voor zorgen dat het niet meer mogelijk is een buffer overrun te misbruiken.

Op dit item kan niet meer gereageerd worden.



Populair: Tablets Nokia Lumia 930 Nokia Lumia Smartphones Laptops Sony Apple Games Politiek en recht

© 1998 - 2014 Tweakers.net B.V. onderdeel van De Persgroep, ook uitgever van Computable.nl, Autotrack.nl en Carsom.nl Hosting door True

Beste nieuwssite en prijsvergelijker van het jaar 2013