To stream, or not to stream? Meeting #Hackerzvoice 2 avril 2011
Plan (1/3) Streaming & catch-up TV Streaming illégal Catch-Up TV Ce qu'en dit la loi française Technologies employées Rich Internet Applications Flash Silverlight RTMP, RTMPE, RTMPTE 2
Plan (2/3) Techniques de capture Capture vidéo d'écran Interception de stream Enregistrement de stream Protections mises en place Anti-reverse flash Chiffrement Détections diverses 3
Plan (3/3) M6Replay Présentation Protection du catalogue Récupération du flux TF1 Vision Protection par token Récupération du flux Bonus: le piège à couillon :) Conclusion Avenir du streaming, et de la copie privée 4
Plan (1/3) Streaming & catch-up TV Streaming illégal Catch-Up TV Ce qu'en dit la loi française Technologies employées Rich Internet Applications Flash Silverlight RTMP, RTMPE, RTMPTE 5
Streaming & Catch-up TV Définition Diffusion à la demande ou en direct de contenu audiovisuel Catch-up TV Littéralement, «TV de rattrapage», TVR Streaming légal Très en vogue Permet aux chaînes d'assurer une visibilité sur le net 6
Catch-up TV Motivations des chaînes Reconquérir les internautes, grands consommateurs de vidéos Jeunes (génération Internet) Fans de youtube & dailymotion La publicité, moteur des chaînes, est omniprésente Vitrine de la chaîne sur Internet, et promotion des programmes Trailers de séries et d'émissions Bonus divers 7
Sreaming «illégal» Droit d'auteur, copie et diffusion Pour diffuser, il faut en avoir le droit Une diffusion sans ces droits est illégale Pas mal de sites de streaming «illégaux» Justin.tv Gogo-films Côté audio radioblog.club 8
Catch-up: Ce qu'en dit la loi française Doit à la copie privée La copie est permise à des fins d'utilisation privée et dans le cadre familial Elle est autorisée pour les supports de stockage, mais aussi les diffusions numériques en ligne (DADVSI) La copie doit être réalisée par l'internaute lui-même, pas par un tiers Magnétoscope numérique en ligne: illégal Outil de téléchargement diffusé; légal 9
Plan (1/3) Streaming & catch-up TV Streaming illégal Catch-Up TV Ce qu'en dit la loi française Technologies employées Rich Internet Applications Flash Silverlight RTMP, RTMPE, RTMPTE 10
Technologies employées Rich Internet Application Création de lecteurs intégrés aux navigateurs Technologies permettant cela Java (Applet) Flash (Adobe) Silverlight (MS) Avantages Pas d'application à installer Visionnage en ligne et multi-plateforme (ou presque) 11
Technologies employées Lecture de fichiers vidéo/audio Récupération via un serveur de stockage de contenu Emploi de tokens pour la lecture Clef secrète de génération de tokens dans le Flash Facilement contourné (ex: jiwa, Deezer) Technologies adaptées Protocoles RTMP, RTMPE, et RTMPTE Adobe Flash Media Server + Flash Player 12
Technologies employées RTMP,RTMPE,RTMPTE Real Time Messaging Protocol Encrypted Real Time Messaging Protocol Conçu par Adobe Employé pour diffuser des contenus multimédia pour lecture seule Protection par signature de player URL doit être connue pour lire le flux 13
Plan (2/3) Techniques de capture Capture vidéo d'écran Interception de stream Enregistrement de stream Protections mises en place Anti-reverse flash Chiffrement Détections diverses 14
Techniques de capture La grande question est Comment sauvegarder ces vidéos en application de la copie privée? Plusieurs solutions Capture d'écran vidéo Interception du flux joué (RTMP,RTMPE) Rtmpdump Enregistrement de stream Rtmpdump 15
Capture d'écran vidéo Avantages Pas cher à réaliser Fonctionne avec tous les players Flash Silverlight Inconvénients Pas pratique du tout :( Mauvaise résolution Etc... 16
Interception de stream Avantages Permet de capturer le flux audio/vidéo Sauvegarde sur disque Fonctionne avec tous les lecteurs et protocoles Inconvénients Lecture obligatoire avec le lecteur dédié pour capturer le flux Logiciel dédié interceptant les paquets Proxy 17
Enregistrement de stream Avantages Permet de sauvegarder le flux Pas besoin de lire le flux avec un lecteur dédié Fonctionne avec tous les protocoles, du moment que le comportement du lecteur peut être reproduit Inconvénients Certains paramètres sont à connaître Noms de l'application (RTMP/E) Mot de passe, port, URI du fichier, etc. 18
Plan (2/3) Techniques de capture Capture vidéo d'écran Interception de stream Enregistrement de stream Protections mises en place Anti-reverse flash Chiffrement Détections diverses 19
Protections mises en place Les chaînes proposant de la catch-up tv Ne veulent pas que les internautes récupèrent les vidéos Manque à gagner? Fidélisation C'est illégal! «les éditeurs et les distributeurs de services de télévision ne peuvent recourir à des mesures techniques qui auraient pour effet de priver le public du bénéfice de l'exception pour copie privée, y compris sur un support et dans un format numérique, dans les conditions mentionnées au 2 de l'article L122-5 et au 2 de l'article L211-3» article L331-9 (loi Hadopi n 2009-669) 20
Anti-reverse Flash La plupart des lecteurs sont basés sur la technologie Flash Les éditeurs de solutions de streaming cherchent à ralentir l'analyse Des techniques existent pour cacher des données en Flash Chiffrement Stockage avec ByteArrayAsset Obfuscation 21
Chiffrement Autre technique: chiffrement de contenu Emploi d'algorithmes divers AES TDES La clef est forcément dans le lecteur Si le lecteur peut le déchiffrer, alors on peut le déchiffrer 22
Détections diverses Utilisation d'un service annexe Serveur assurant la génération de token basé sur IP Détection par IP Authentification via l'application de streaming Vérification de token Vérification de l'ip Vérification par en-têtes HTTP User-Agent,... 23
Ce qu'il faut retenir... Si le lecteur arrive à lire la vidéo, alors la sauvegarde est possible! 24
Plan (3/3) M6Replay Présentation Protection du catalogue Récupération du flux TF1 Vision Protection par token Récupération du flux Bonus: le piège à couillon :) Conclusion Avenir du streaming, et de la copie privée 25
M6Replay Présentation Basé sur la technologie Flash + RTMPE Beaucoup ont essayé de télécharger les vidéos MediaCUB (Zoug) MchicheReplay Beaucoup se sont heurtés aux mesures techniques de protection Faut avouer que les gars de M6 ne veulent VRAIMENT pas que l'on télécharge... 26
M6Replay Chiffrement du catalogue Il existe un catalogue au format XML, téléchargé par le player Flash Celui-ci est chiffré en DES Clef stockée via la technique du ByteArrayAsset Chiffrement en mode ECB Il contient toutes les infos intéressantes! Catégories de vidéos Nom, titre et description URI de la vidéo :) 27
M6Replay Un fichier de configuration XML Contient les informations relatives à l'application Ainsi qu'au serveur Flash Media Déjà présent dans les anciennes versions de M6Replay Contient Les infos sur les serveurs utilisés Les URLs du player et du «translator» Le «translator» est un Flash déchiffré puis chargé 28
M6Replay Pour résumer Utilisation et abus du chiffrement! Les développeurs veulent vraiment empêcher des gens de récupérer la clef de chiffrement du catalogue Mais bon, on y arrive quand même merci rtmpdump ;) 29
Plan (3/3) M6Replay Présentation Protection du catalogue Récupération du flux TF1 Vision Protection par token Récupération du flux Bonus: le piège à couillon :) Conclusion Avenir du streaming, et de la copie privée 30
TF1 Vision Présentation A la différence de M6Replay, pas Full flash Basé sur Flash + RTMPE (lecteur) La récupération de l'uri utilisée par le protocole RTMPE n'est pas immédiate Mais bon, là encore la tâche n'est pas simple Utilisation d'un système de token (basé sur md5) Vérification des adresses IPs sources (géoloc) 31
TF1 Vision Méthode de récupération de vidéo Retrouver le «videoid» à partir de l'url de la vidéo Génération du token avec une partie secrète Une clef est intégrée dans le lecteur flash 9b673b13fa4682ed14c3cfa5af5310274b514c4133e9b3a 81e6e3aba00912564 Récupération de l'uri du fichier rtmpe://server:port/mp4:... Téléchargement à l'aide d'un outil dédié Rtmpdump pawa! 32
TF1 Vision Pour résumer Utilisation d'un système de token Clef secrète intégrée dans le lecteur Flash Utilisation de restriction par géolocalisation Identification par IP Encore une fois, streaming via RTMPE et technologie Flash Encore une fois, téléchargeable avec des clients RTMP/RTMPE 33
TF1 Vision Petit bonus Le «piège à couillon» de TF1 était stocké dans le code du player Il s'agissait d'une blague de développeur Je m'en suis aperçu lorsque je réalisais l'analyse du code du lecteur Dingue de voir ce qu'en font les médias :( 34
Plan (3/3) M6Replay Présentation Protection du catalogue Récupération du flux TF1 Vision Protection par token Récupération du flux Bonus: le piège à couillon :) Conclusion Avenir du streaming, et de la copie privée 35
Conclusion Si le lecteur Flash peut lire la vidéo, nous pouvons l'enregistrer Les pratiques des chaînes offrant de la TVR sont illégales Je ne diffuserai pas les PoCs présenté dans ce talk Inutile, ils changeraient le mode opératoire Soyez curieux, vous avez les outils Décompilateur flash (Sothing SWF Decompiler, ) SWFTools (Linux) Paros, Webscarab,... 36
Références MediaCUB http://www.mediacub.com/ MchicheReplay http://www.gabin-romualdinho13.com/ Légifrance http://www.legifrance.gouv.fr/ 37