
Une extension Chrome qui démontre le contournement du Widevine L3 DRM
Ce dépôt contenait auparavant du code pour contourner le DRM Widevine L3 dans Chrome sur les machines Windows.
Il ne fonctionne plus depuis le 31 mai 2021, mais vous pouvez consulter l'article de reverse engineering.
Mise à jour
Google a émis une demande de retrait DMCA contre la plupart des forks de ce dépôt. Le contenu original du dépôt à l'époque est archivé ci-dessous.
Widevine est un système DRM appartenant à Google utilisé par de nombreux services de streaming populaires (Netflix, Spotify, etc.) pour empêcher le téléchargement de contenu multimédia.
Mais le niveau de sécurité le plus faible de Widevine, L3, tel qu'utilisé dans la plupart des navigateurs et PC, est implémenté à 100% en logiciel (c'est-à-dire sans TEE matériels), ce qui le rend réversible et contournable.
Cette extension Chrome démontre comment il est possible de contourner le DRM Widevine en détournant les appels aux Encrypted Media Extensions (EME) du navigateur et en déchiffrant toutes les clés de contenu Widevine transférées - le transformant ainsi en un DRM clearkey.
Pour voir ce concept en action, chargez simplement l'extension en mode développeur et accédez à un site web qui lit du contenu protégé par Widevine, comme https://bitmovin.com/demos/drm [Mise à jour : lien cassé ?].
Les clés seront journalisées en texte clair dans la console JavaScript.
par exemple :
WidevineDecryptor: Found key: 100b6c20940f779a4589152b57d2dacb (KID=eb676abbcb345e96bbcf616630f1a3da)
Le déchiffrement du média lui-même n'est ensuite qu'une question d'utilisation d'un outil capable de déchiffrer les flux MPEG-CENC, comme ffmpeg.
par exemple :
ffmpeg -decryption_key 100b6c20940f779a4589152b57d2dacb -i encrypted_media.mp4 -codec copy decrypted_media.mp4
REMARQUE : L'extension ne prend actuellement en charge que la plateforme Windows.
Dans le contexte des navigateurs, le déchiffrement réel du média est généralement effectué dans un binaire propriétaire (widevinecdm.dll, connu sous le nom de Content Decryption Module ou CDM) uniquement après avoir reçu la licence d'un serveur de licence avec une clé chiffrée.
Ce binaire est généralement fortement obscurci et utilise des solutions tierces qui prétendent offrir une « protection » logicielle, comme Arxan ou Whitecryption.
Un travail de rétro-ingénierie sur ce binaire peut ensuite être effectué pour extraire les clés secrètes et imiter l'algorithme de déchiffrement des clés à partir de la réponse de licence.
Cette POC a été réalisée pour montrer davantage que l'obfuscation de code, les astuces anti-débogage, les algorithmes de cryptographie en boîte blanche et autres méthodes de sécurité par l'obscurité seront de toute façon vaincues et sont, d'une certaine manière, inutiles.
Ceci n'est PAS destiné à la violation du droit d'auteur ou à encourager le piratage.
Ceci est uniquement à des fins éducatives. Le téléchargement de matériel protégé par le droit d'auteur à partir de services de streaming peut violer leurs conditions d'utilisation. Utilisez-le à vos propres risques.