
Widevine L3 DRM 우회를 시연하는 Chrome 확장 프로그램
이 저장소는 한때 Windows 머신의 Chrome에서 Widevine L3 DRM을 우회하는 코드를 포함하고 있었습니다.
2021년 5월 31일부터 더 이상 작동하지 않지만, 리버싱 글을 읽을 수 있습니다.
업데이트
Google은 이 저장소의 대부분의 포크에 대해 DMCA 삭제 요청을 발행했습니다. 당시 저장소의 원본 내용은 아래에 보관되어 있습니다.
Widevine은 Google 소유의 DRM 시스템으로, Netflix, Spotify 등 많은 인기 스트리밍 서비스에서 미디어 콘텐츠 다운로드를 방지하기 위해 사용됩니다.
하지만 대부분의 브라우저와 PC에서 사용되는 Widevine의 가장 낮은 보안 수준인 L3는 100% 소프트웨어로 구현되어(즉, 하드웨어 TEE 없음) 리버싱과 우회가 가능합니다.
이 Chrome 확장 프로그램은 브라우저의 Encrypted Media Extensions (EME) 호출을 가로채서 전송되는 모든 Widevine 콘텐츠 키를 복호화하여, 사실상 clearkey DRM으로 전환함으로써 Widevine DRM을 우회할 수 있는 방법을 보여줍니다.
이 개념을 실제로 확인하려면 확장 프로그램을 개발자 모드로 로드하고 https://bitmovin.com/demos/drm [업데이트: 링크가 깨졌나요?] 와 같이 Widevine으로 보호된 콘텐츠를 재생하는 웹사이트로 이동하세요.
키가 자바스크립트 콘솔에 평문으로 기록됩니다.
예:
WidevineDecryptor: Found key: 100b6c20940f779a4589152b57d2dacb (KID=eb676abbcb345e96bbcf616630f1a3da)
미디어 자체를 복호화하는 것은 ffmpeg와 같이 MPEG-CENC 스트림을 복호화할 수 있는 도구를 사용하는 문제일 뿐입니다.
예:
ffmpeg -decryption_key 100b6c20940f779a4589152b57d2dacb -i encrypted_media.mp4 -codec copy decrypted_media.mp4
참고: 현재 확장 프로그램은 Windows 플랫폼만 지원합니다.
브라우저 환경에서 미디어의 실제 복호화는 일반적으로 암호화된 키가 포함된 라이선스를 라이선스 서버로부터 받은 후에만 독점 바이너리(widevinecdm.dll, Content Decryption Module 또는 CDM으로 알려짐) 내부에서 수행됩니다.
이 바이너리는 일반적으로 심하게 난독화되어 있으며, Arxan 또는 Whitecryption과 같은 소프트웨어 '보호'를 제공한다고 주장하는 타사 솔루션을 사용합니다.
그런 다음 해당 바이너리에 대한 리버싱 작업을 수행하여 비밀 키를 추출하고 라이선스 응답에서 키 복호화 알고리즘을 모방할 수 있습니다.
이 PoC는 코드 난독화, 안티 디버깅 기술, 화이트박스 암호화 알고리즘 및 기타 모호성을 통한 보안 방법이 결국에는 무력화되며, 어떤 의미에서는 무의미하다는 것을 더 보여주기 위해 수행되었습니다.
이는 저작권 침해나 불법 복제를 조장하기 위한 것이 아닙니다.
이는 교육 목적으로만 제공됩니다. 스트리밍 서비스에서 저작권이 있는 자료를 다운로드하면 서비스 이용약관을 위반할 수 있습니다. 사용에 따른 책임은 본인에게 있습니다.