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. 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.608 •

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)

Dit is wel degelijk een serieus beveiligingsprobleem. Asf/wmv kan nmlk scripts bevatten en op deze manier kun je een adresje (pointer) waar je teveel naar toeschrijft (overflow) vanuit je script (proberen te) benaderen (en uit te voeren).

Ook al gebruiken de meeste mensen VLC voor het afspelen van lokale films/audio, toch is er wel een risico. Internet staat nmlk vol met wmv/asf bestanden met populaire titels die bij uitvoeren niets op het scherm tonen. Vaak klopt de grootte van de bestanden niet (eerste indicatie). Deze bestanden zitten vaak vol met scriptjes die kwetsbaarheden (proberen te) gebruiken. Dit is er dus 1 van.
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.
Dit is gemeld bij VLC op 11 Jan 2013 en zou gefixed moeten zijn in Versie 2.0.6 welke nog zou moeten uitkomen.
Workarounds

The user should refrain from opening files from untrusted third parties or accessing untrusted remote sites (or disable the VLC browser plugins), until the patch is applied.

Alternatively, the ASF demuxer (libasf_plugin.*) can be removed manually from the VLC plugin installation directory. This will prevent ASF movie playback.
Link: http://www.videolan.org/security/sa1302.html
Geldt deze beveiligingsprobleem nou enkel voor .asf-bestanden of voor het container-formaat 'Advanced Systems Format'?
Het verschil van impact is groot namelijk. .asf-bestanden kom je amper nog tegen, maar .wma en .wmv-bestanden die ook de Advanced Systems Format-container hebben, vaker.

Eigenlijk was Advanced Systems Format al defective-by-design omdat je uitvoerbare script commando's in kan stoppen.
Nou, je moet niet alleen voorzichtig zijn met ASF in dit geval, maar met elke extentie.

Als ik een bestand hernoem van extentie ASF naar bijvoorbeeld MP4, dan speelt VLC 'm gewoon af als ASF, omdat dat in de headers van het bestand staat.

Op dit item kan niet meer gereageerd worden.



Populair:Apple iPhone 6Samsung Galaxy Note 4Apple iPad Air 2FIFA 15Motorola Nexus 6Call of Duty: Advanced WarfareApple WatchWorld of Warcraft: Warlords of Draenor, PC (Windows)Microsoft Xbox One 500GBTablets

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

Beste nieuwssite en prijsvergelijker van het jaar 2013