
Un'estensione Chrome che dimostra come bypassare Widevine L3 DRM
Questo repository conteneva codice per aggirare il DRM Widevine L3 in Chrome su macchine Windows.
Non funziona più dal 31 maggio 2021, ma puoi leggere il resoconto del reverse engineering.
Aggiornamento
Google ha emesso una richiesta di rimozione DMCA contro la maggior parte dei fork di questo repository. I contenuti originali del repository al momento sono archiviati di seguito.
Widevine è un sistema DRM di proprietà di Google utilizzato da molti servizi di streaming popolari (Netflix, Spotify, ecc.) per impedire il download di contenuti multimediali.
Ma il livello di sicurezza meno sicuro di Widevine, L3, come utilizzato nella maggior parte dei browser e PC, è implementato al 100% in software (cioè nessun TEE hardware), rendendolo quindi reversibile e aggirabile.
Questa estensione Chrome dimostra come sia possibile aggirare il DRM Widevine intercettando le chiamate alle Encrypted Media Extensions (EME) del browser e decrittando tutte le chiavi di contenuto Widevine trasferite - trasformandolo efficacemente in un DRM a chiave chiara.
Per vedere questo concetto in azione, basta caricare l'estensione in Modalità Sviluppatore e navigare su qualsiasi sito web che riproduce contenuti protetti da Widevine, come https://bitmovin.com/demos/drm [Aggiornamento: link rotto?].
Le chiavi verranno registrate in chiaro nella console javascript.
es.:
WidevineDecryptor: Found key: 100b6c20940f779a4589152b57d2dacb (KID=eb676abbcb345e96bbcf616630f1a3da)
Decrittare il contenuto multimediale stesso è quindi solo una questione di usare uno strumento che può decrittare flussi MPEG-CENC, come ffmpeg.
es.:
ffmpeg -decryption_key 100b6c20940f779a4589152b57d2dacb -i encrypted_media.mp4 -codec copy decrypted_media.mp4
NOTA: L'estensione attualmente supporta solo la piattaforma Windows.
Nel contesto dei browser, la decrittazione effettiva del contenuto multimediale viene solitamente eseguita all'interno di un binario proprietario (widevinecdm.dll, noto come Content Decryption Module o CDM) solo dopo aver ricevuto la licenza da un server di licenze con una chiave crittografata al suo interno.
Questo binario è solitamente fortemente offuscato e fa uso di soluzioni di terze parti che affermano di offrire "protezione" software come Arxan o Whitecryption.
Un lavoro di reverse engineering su quel binario può quindi essere fatto per estrarre le chiavi segrete e replicare l'algoritmo di decrittazione delle chiavi dalla risposta della licenza.
Questa PoC è stata realizzata per dimostrare ulteriormente che l'offuscamento del codice, i trucchi anti-debug, gli algoritmi di crittografia whitebox e altri metodi di sicurezza per oscurità saranno comunque alla fine sconfitti e, in un certo senso, sono inutili.
Questo NON è inteso per violazione del copyright o per incoraggiare la pirateria.
Questo è solo a scopo educativo. Scaricare materiali protetti da copyright dai servizi di streaming potrebbe violare i loro Termini di Servizio. Usalo a tuo rischio.