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

Door , , 34 reacties

Een ontwerpfout in de communicatie tussen de Flash-server en de client-software maakt het simpel om met speciale software een 'beveiligde' videostream op te nemen en te kopiëren, zo meldt Reuters.

Adobe FlashHet blijkt dat de Flash-videoserver niet de videostream naar de clientsoftware versleutelt. Slechts de commando's voor het starten en stoppen van een videostream worden beveiligd, volgens Reuters. Daardoor kunnen met speciale opnamesoftware, zoals de door Reuters gebruikte Replay Media Catcher, gehele films van onder meer Amazons on-demand videodienst - die gebruikmaakt van Adobe-software - worden opgenomen en gekopieerd.

Bij Amazons on-demand videodienst kunnen gebruikers de eerste twee minuten van een film of tv-serie gratis kijken. Daarna pauzeert de client en moet de gebruiker eerst betalen om de rest te kunnen zien. De Flash-videoserver gaat op de achtergrond echter gewoon door met het streamen van de videocontent naar de client-software. Op deze manier kan het kijken snel worden hervat wanneer de gebruiker eenmaal heeft betaald.

Speciale opnamesoftware, zoals de software die Reuters gebruikte, kan de niet-versleutelde videostream echter gemakkelijk opnemen en toonbaar maken voor de gebruiker, zonder dat hij eerst betaalt. Dat kost Amazon de 3,99 dollar die het bedrijf rekent voor het huren van een film, of de 14,95 dollar die voor het permanente afspeelrecht van een film moet worden betaald. Ook bij gratis on-demand videodiensten zoals Hulu, en bij de videocontentdiensten van NBC en CBS, zorgt de fout in de Flash-software voor problemen, omdat de capturesoftware de reclame-uitingen uit de videostream kan filteren. Hierdoor komt het bedrijfsmodel van deze ondernemingen op losse schroeven te staan.

Het is niet bekend wat Adobe aan dit beveiligingslek gaat doen. Bill Dettering, topman van Applian Technologies, de maker van Replay Media Catcher, verwacht dat Adobe snel de fout zal herstellen. "Ik verwacht zeker dat Adobe in de nabije toekomst met een robuustere beveiliging zal komen", aldus Dettering.

Moderatie-faq Wijzig weergave

Reacties (34)

Wellicht draaien ze een oudere versie van Flash Media Server bij Amazon, en hebben ze hun huiswerk zelf niet helemaal goed gedaan?

"In the previous versions of FMS, utilizing a Secure Socket Layer (SSL) was the only way to encrypt your data stream, resulting in a noticeably slower connection. [...] The new RTMPE protocol in Flash Media Server 3 secures the channel with 128-bit encryption between the client and the server without the performance hit found with SSL, and without the need for a certificate. Providing real-time, high-capacity encryption with RTMPE and simple access controls with SWF verification eliminates the need of a complex DRM solution." (bron)
Speciale opnamesoftware
Lees: http client
Streaming video van flash wordt 'normaal' gesproken niet via HTTP verkeer gestreamed maar via hun eigen protocol. Het kan wel via HTTP, maar dat is vaak een fallback.

Ik wil trouwens wel zeggen dat er hier twee problemen besproken worden. Een is het opnemen van de stream, wat mogelijk is omdat de stream niet encrypted is. En een hele grove fout van amazon, en dat is de stream door te laten lopen ook al is er niet betaald voor de content.

De fout van amazon is eigenlijk niet goed te praten. Ik snap dat je 'snel' door wilt kunnen streamen, maar de hele film streamen als er niet voor is betaald is gewoon een gigantisch grote fout in the architectuur.

Ook al zou je het opnemen kunnen stoppen door de stream te encrypten, dan heb je nog het probleem dat de stream doorloopt en de 'stop' dus bij de client zit. Als dit dus niet gefixed wordt dan zou je de player kunnen kraken en alsnog de film gratis kunnen bekijken.

(dat gezegt, het hele video-encrypten is een beetje nutteloos gezien de client decrypt en deze decrypt dus makkelijk in video-record software gebouwt zou kunnen worden)
De bedoeling van een encryptie in zo'n geval zou juist zijn dat je pas de key krijgt wanneer je betaald hebt. De eerste 2 / 3 minuten kunnen dan unencrypted worden verzonden.
Succes met het kraken van een redelijke encryptie. Ik denk dat ik dan liever betaal. (of gewoon ergens anders download) }:O

[Reactie gewijzigd door Joolee op 29 september 2008 09:19]

De fout hier, is dat de stream niet encrypt is, de volledige stream!

Alleen de player krijg na 2/3 minuten het commando om te stoppen met tonen.
Die stopt netjes, waardoor de gebruiker niet verder kan kijken. Wat fout gaat is dat die stream onderwater gewoon doorgaat (unencrypted). Hierdoor kan een programma die de stream oppikt gewoon doorgaan en uiteindelijk de hele film opslaan.

Als de stream pas na de 2/3 minuten encrypt wordt, dan zal de speler het daar ook moeilijk mee krijgen. Hoe kan hij een bestand gedeeltelijk met encryptie laten werken? Lijkt me vrij moeilijk. En het probleem met de hele stream encrypten is dat de key dan al bij de client bekend is.
Krijgen ze het voor elkaar om de stream gedeeltelijk te encrypten, dan nog zal het vrij makkelijk zijn, aangezien de eerste frame berekend kan worden en zo de stream herleidt kan worden.

Neemt niet weg dat het een grove fout is dat de stream doorgaat. Zullen de belgen leuk vinden als ze enkele filmpjes kijken, maar vergeten de client te stoppen. Zitten ze opeens aan hun downloadlimiet ;)
Haalt niet weg dat de key een keer naar de klant gestuurd wordt, dus is het te decrypten en dus op te nemen.
Dus simpel: de even pakketjes doorstreamen en oneven pakketjes pas streamen als er betaald is. TCP/IP is toch asynchroon, dus moet niet echt moeilijk zijn dit in de client in te bouwen.
De sleutel is niet openbaar en de sleutel is ook encrypted. waardoor je film wel mooi kan opslaan op je HDD. Maar niet kan afspelen omdat de sleutel alleen bij het aanvragen van de film wordt gebruikt. Vervolgens zou de sleutel niet meer gebruikt hoeven te worden.

Door alleen bij het begin van de film de sleutel te vragen, kan na het koieeren van de flash uitzending. niet opnieuw worden afgespeeld.
Zolang de eindgebruiker de sleutel in handen krijgt op enig moment, kan je niet garanderen dat die eindgebruiker niet de videostream zelf in handen krijgt. Zie de problemen met het beveiligen van DVD's, blu-ray, etc. Encryptie helpt uiteindelijk alleen om het derden onmogelijk te maken je videostream te onderscheppen en te decoden. Niet om het de eindgebruiker onmogelijk te maken om dat te doen.
Een is het opnemen van de stream, wat mogelijk is omdat de stream niet encrypted is
Op enig moment zal de stream gedecrypt moeten worden, anders kan de klant uberhaubt niet kijken. Dat is ook de reden dat DRM nooit echt kan werken, je moet op enig moment de sleutel prijsgeven.

Voor Firefox is er al een plugin waarmee je componenten van een Flash object kan saven. Zo kun je bijvoorbeeld makkelijk Youtube filmpjes saven. Ook voor dit soort streaming media kun je dat gebruiken.
Tenzij decrypting in de hardware gebeurt, bijvoorbeeld in een processor in de monitor.
Denk OV-chip. Dit is een wedloop en de monitor zal dus na een jaar gehackt worden. Wat is dan de vervolgstap? Brompot heeft hier aleen al mee gelijk.

Het is een psychologische uitdaging, niet een technische. Muziek en film zijn emotie en emotie verkoop je niet hetzelfde als een blik soep uit de supermarkt. Zodra er een afhankelijkheid is van het product (net zoals in het geval van geld-tekort om voedsel te kopen), is het gevoel van "recht hebben op" anders (lees: moeilijker beinvloedbaar met wetten). Een mens geeft zichzelf recht op emotie en daarom kan tussen een individu en zijn/haar emotie geen kassa geplaatst worden. De grote vraag: heeft muziek/film een "emotionele waarde" of een "emotionele waarde-toevoeging"? In het tweede geval zou DRM nameijk wel werken.

Ik heb ideeen zoals iedereen, maar zo lang de grote bedrijven de discusie binnen de muren houden, zal het nog niet snel tot een goede oplossing komen.
Ook hardware is te kraken, zie alle modchips bij consoles, en anders kun je altijd nog je HD-videocamera op je HD-scherm richten en in hele redelijke kwaliteit opnemen. Dit deel je weer met de rest van de wereld, want nu zit er geen DRM meer op.

DRM is uiteindelijk zinloos. Ze kunnen nu nog gebruikmaken van beperkte technologische kennis en middelen van mensen, maar voor iedereen die dat wil bestaat DRM niet.
DRM is alleen zinloos voor situatie 2 (zie mijn comment iets naar beneden). Voor situatie 1 werkt het heel redelijk en als je dat combineert met het hard aanpakken van illegale verspreiding dan heb je samen een redelijke oplossing.

Uiteindelijk zou al die DRM niet nodig zijn als mensen gewoon netjes zouden betalen voor wat ze gebruiken...
Dat is nou juist een probleem..

ten eerste in somige landen is het niet iligaal om muziek te /uploaden/downloaden.
ten tweede, hoe ga je bepalen dat het iligaale content is? Het kan zo maar zijn dat het legaal is. Ja tuurlijk als je muziek gaat delen van de BeeGees, dat zijn internationale artiesten dan mag je redelijke wijs wel weten dat dit beschermde content is. Maar een Anouk is niet overal bekend. ik kan ook muziek maken en vrij versprijden.

Het is net als iemand insluiten voor een missdaad, indien mensen genoeg tijd hebben om iets te bedenken dan lukt het ze vaak wel. al duurt het erg lang.

er zijn niet voor niets elk half jaar weer discussies om muziek beter te beveiligen!!
modchips is een uitermate slecht voorbeeld wat je geeft. console modchips decrypten vrijwel niets .. 9 van de 10 keer omzeilen zij beveiligingen.

voorbeeld: Xbox360 firmware voert op verzoek van het OS een controle op de schijf uit en rapporteerd de uitkomst hiervan. In plaats van die analyze uitmekaar te peuteren is vele malen gemakkelijker om gewoon simpelweg "Ja is goed" tegen het OS te zeggen.

Zo werken ook 98 van de 100 cracks van software.
Ik zeg ook, het encrypten is een beetje nutteloos. Maar het wordt wel als 'rede' opgegeven.

Maar als je custom encryptie per stream / bedrijf op zou kunnen zetten dan wordt het al gauw een issue om dit te decrypten in de record software. Dit omdat de encryptie methode dan makkelijk zou kunnen wijzigen, wat dus zou betekenen dat de record software telkens aangepast zou moeten worden.

Ik denk alleen dat dat laatste een beetje te hoog gegrepen is voor flash en er dus een DRM achtige oplossing in de flash player gebouwd zou moeten worden. Maar persoonlijk denk ik dat dit gedoomd is vanaf de start en dat de record software hier uiteindelijk gewoon mee over weg kan.
Ik denk dat je hier onderscheid moet maken tussen twee situaties: De ene is dat degene die het filmpje opvraagt deze zelf pas kan bekijken nadat hij betaald heeft. Dit kun je oplossen met encryptie want je stuurd de key pas op nadat hij betaald heeft. De tweede mogelijkheid is dat degene die het filmpje ophaalt er netjes voor betaald en daarna de decrypted stream opneemt. Dan kan hij zovaak kijken als hij wil (boeien) en ook het decrypted filmpje gaan verspreiden (dat boeit natuurlijk wel).

Nu is het echter zo dat je het filmpje al kan bekijken zonder eerst betaald te hoeven hebben en direct van Amazon. Dus amazon betaalt het verkeer terwijl je gratis kijkt. Dat is natuurlijk wel erg, maar op te lossen door de stream te encrypten. Daarmee los je situatie twee niet op maar dat is theoretisch gezien ook onmogelijk, zoals Brompot terecht opmerkt.
Misschien is het niet eens echt een ontwerpfout maar juist zo besloten. Servers kunnen eenvoudig dezelfde data onversleuteld aan honderderen clients serven maar als deze ook nog per client deze data on-the-fly moet versleutelen dan gaat dat never nooit lukken! Je zult dan dus flink wat extra hardware neer moeten zetten om dit mogelijk te maken.

Daarnaast zorgt DRM (net als SSL) er alleen voor dat de 'men in the middle' de video niet kan zien. Als er wat slimme sofware op de client zit kan de binnenkomende data altijd worden decrypt (hetzij soms even duurt tot een goede hacker er zin in heeft het te onderzoeken) tenzij alles op één chip zit. Een chip is namelijk erg lastig te reverse-engineren.
Het is niet eens gewoon een bug, maar een ontwerpfout - wat suggereert dat het meer werk zal zijn om dit probleem op te lossen.

Ik begrijp trouwens niet dat Adobe zo'n domme fout maakt, hebben ze dan helemaal niet nagedacht over beveiliging?
Het is niet eens een fout van Adobe, maar van de maker van de Amazon video player. Adobe biedt wel degelijk DRM mogelijkheden, maar Amazon maakt daar dus geen gebruik van.

Een quick fix is het streamen stop zetten na de eerste minuten.

[Reactie gewijzigd door TheBorg op 29 september 2008 09:48]

Ja ik vind het ook een domme fout van Amazon, er zijn volgens mij verschillende manieren om je stream te beveleigen:

Een SWF maken die 2 flv's (of nog meer) bevat:
- intro
- hele film
de laatste flv zou je dan een php script van kunnen maken met een _get en een ip-adres check voordat jij mag streamen.
En dan kan je als aankoper misschien de FLV jatten, maar je kan dan niet bij het bekijken van de trailer al de hele film grabben. En dan nog bestaat er wel iets van encryptie voor FMS.

En volgens mij is er een nieuwe versie uit van FMS die ook encrypted 128bit verbindingen ondersteund.

Een quickfix en de stream stop zetten gaat niet lukken, want dan ben je toch al bezig de hele film aan het inladen. Ik ben niet bekend met de videodienst van Amazon, maar heb het idee dat de swf gewoon ergens seekt naar een deel van de film en dan 2min afspeeld.


Ik vind het overigens maar een vreemde zaak, bij Beatport kan je toch ook niet alle mp3's uit hun site rippen?

[Reactie gewijzigd door poepkop op 29 september 2008 10:44]

Dan kan je het nog onderscheppen
Het moet ooit naar je video en geluidskaart gestuurd worden
Je moet twee dingen van elkaar onderscheiden. Natuurlijk kan je de stream opnemen en dan verder verspreiden. Maar dan betaal jij het netwerk verkeer voor het uploaden / downloaden van die content en niet Amazon.
Door deze fout kun je rechtstreeks van Amazon gratis downloaden. Dus niet alleen krijgen ze niet betaald voor de download, maar ze hebben er ook nog netwerkverkeer door en dus kosten.
Het is niet een ontwerpfout, maar een denkfout. Als je mensen de film op hun eigen machine kunt laten weergeven, kunnen ze hem ook opnemen, primitief, door gewoon een camara voor het scherm te zetten, maar meestal veel beter en makelijker door ergens de data-stroom te onderscheppen.

Bijna alle vormen van DRM maken deze fundamentele denkfout. Ze zijn strijdig met de basisprincipes van crypotgrafie. Je geeft de tegenpartij namelijk noodzakelijkerwijze het bericht EN de sleutel, en hoopt dan dat je de sleutel goed genoeg verstopt hebt....

Niet iets om je erg druk om te maken dus.
Wordt die data sowieso niet lokaal gecached, waardoor je de stream kan 'rippen'?
Dat is dus precies wat er gebeurt maar wat jij bedoelt is waarschijnlijk dat het in je temporary internet files ofzo terecht komt.
Dat is met Flash-files inderdaad zo, maar in dit geval alleen de player. De stream blijft alleen in het geheugen.
Maar er zijn ook zat programma's die zo de stream rippen hoor, die "filmt" gewoon het stukje van het beeld waar het af speelt.
Dat is waar, maar het probleem in dit geval is dat speciale software ook filmpjes kan opnemen die zich niet op jouw beeldscherm afspelen.
Maar er zijn ook zat programma's die zo de stream rippen hoor, die "filmt" gewoon het stukje van het beeld waar het af speelt.
Opnemen? Replay Media Catcher gebruik ik al tijden en vele anderen ook (bijv Flash Player Pro), deze programma's doen niets anders dan o.a. de swf downloaden. Met een aardige downloadmanager zou het zelfs lukken.
Wordt die data sowieso niet lokaal gecached
Niet noodzakelijk. Waarschijnlijk komt de stream via RTSP of een vergelijkbaar protocol. Ook HTTP objecten die te groot zijn worden niet gecached.
Is het wel zeker dat er een streaming server word gebruikt? Het lijkt er op dat er helemaal niet gestreamed word namelijk maar dat het gewoon progressive downloads zijn. Dan word automatisch de hele hups gedownload namelijk. Het engste wat ze heen en weer sturen dan is de data voor het loggen van de betalings-data en voortgang.
Ik heb het even geprobeerd (via een USA-proxy) met 'House', maar de stream stopt gewoon na twee minuten, zonder doorgaande datastroom.

Replay Media Catcher doet ook helemaal niets - ook niet tijdens die twee minuten. Misschien omdat het een 'useless' demo-versie is.
Grote kans dat ze het uitgezet hebben na het bekend worden van deze fout lijkt me..

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True