El DRM Widevine L3 usado en Android ha sido hackeado

El DRM Widevine L3 usado en Android ha sido hackeado

Widevine es un sistema de gestión de derechos digitales (DRM) creado originalmente por Widevine Technologies, que fue comprado por Google en 2010.

Se estima que actualmente existen más de 4,000~5,000 millones de dispositivos en todo el mundo que incorporan el servicio Widevine.

Widevine protege el contenido a través de tres niveles de seguridad, denominados simplemente L3, L2 y L1.

Niveles de seguridad Widevine y requisitos

Nivel L1 de seguridad: todo el procesamiento tanto la criptografía y control de contenido debe realizarse dentro del Entorno de Ejecución Confiable (TEE) del procesador del dispositivo para evitar la manipulación y copia externa del archivo multimedia. Todas las CPUs ARM Cortex-A implementan la tecnología TrustZonem

La tecnología TrustZone permite crear una separación de hardware que permite a un sistema operativo confiable (como Android) crear un TEE para DRM y otras aplicaciones.

Nivel L2 de seguridad: sólo requiere que la criptografía pero no el procesamiento de vídeo se lleve a cabo dentro del Entorno de Ejecución Confiable (TEE).

Nivel L3 de seguridad: se usa en los dispositivo no tiene un procesador que cuente con un Entorno de Ejecución Confiable (TEE) o cuando el procesamiento se realice fuera del mismo. Los fabricantes deben tomar medidas apropiadas para proteger la criptografía dentro del sistema operativo host.

Widevine L3 roto por problemas en su diseño

David Buchanan, el investigador que descubrió el fallo en Widevine, explica con algo de consternación mientras da algunos detalles técnicos sobre que lo "sorprendentemente trivial de poner en práctica" el ataque y solo tardo "unas pocas noches de trabajo" en saber como explotarlo.

Explica en un tweet que el problema se deriva de su implementación del cifrado AES-128-bit que es vulnerable a ataques bien documentados del tipo de Análisis de fallas diferenciales (DFA). En pocas palabras, es un tipo de ataque que se basa en la comparación entre el flujo cifrado y el descifrado.

Obviamente realizar este tipo de ataques es un poco más complejo, con inyección de errores; este tipo de ataque, sin embargo, esta muy bien documentado en varios sitios como Quarkslab.

Usando esta técnica, el investigador ha logrado obtener la clave de cifrado original: solo tiene que descifrar la secuencia de video ffmpeg sobre la marcha con esta clave para capturarla y usarla como le parezca . Según él, es un fallo en el diseño de esta protección "y no un error" .

La obtención de la clave podría dificularse mediante técnicas de aleatorización pero esto tendría un mayor impacto en el rendimiento y también en la duración de la batería.

El investigador ahora planea abordar la protección DRM Widevide L1 que se considera más segura para ver si es capaz también de romper está protección.

¿Cómo saber si mi móvil tiene Widevine L3?

Widevine L3 Android

Comprobar el nivel de Widevine de nuestro dispositivo es muy sencillo solo tenemos que entrar en la tienda de aplicaciones de Android y buscar la aplicación "DRM Info".

Una vez instalada la abrimos y nos muestra la información sobre la protección de DRM que incorpora nuestro dispositivo.

¿Qué significa que la protección de Widevine L3 se encuentre actualmente rota?

Debido a que la protección Widevine L3 que en princio se encuentra rota al obtener la clave de cifrado podríamos decodificar los vídeos en Streaming de Netflix, HBO entre otras plataformas y poder capturar el vídeo sin ningún tipo de protección.

Esto permitirá a la gente por un lado crear una copia privada de las series/películas pero al mismo tiempo también fomentaría la difusión de contenido pirata en internet de forma más rápida y con una mejor calidad.

Hasta el momento el investigador no ha dado más información sobre como realizar el ataque y solo nos queda esperar a ver en que queda todo este tema