DEF CON: HDMI CEC Fuzzing

Ricardo Prieto
Ricardo Prieto

HDMI se implementa en casi todos los componentes electrónicos de consumo bastante avanzados. Puede encontrarlo en algunos teléfonos móviles, y una tableta Linux sin HDMI se considera paralizada. Hay algunas cosas interesantes al acecho en la especificación HDMI, y en DEF CON, [Joshua Smith] Ponga la parte de HDMI Control Consumer Electronics (CEC) en la línea y expuso algunas vulnerabilidades en este protocolo, que está en todo lo que tenga un puerto HDMI.

CEC está diseñado para controlar varios dispositivos a través de una conexión HDMI; le permite controlar su televisor desde su televisor, su reproductor de DVD desde su televisor y transmitir texto de un dispositivo a otro para el protector de pantalla. Es un bus bidireccional de 1 cable con un ancho de banda de 500 bits / segundo. Hay algunas implementaciones de código abierto como libCEC, Android HDMI-CEC e incluso implementación de Arduino. El circuito para conectar un microcontrolador con un solo pin CEC es muy simple: solo un puñado de piezas de gelatina.

[Joshua]El trabajo se basa en el habla [Andy Davis] de Blackhat 2012 (PDF), pero amplía enormemente este trabajo. Después de mirar varios dispositivos, [Joshua] podría encontrar vulnerabilidades muy interesantes en un televisor Panasonic específico y un reproductor de Blu-ray Samsung.

Algún comando CEC dirigido a Panasonic TV envió una orden para cargar un nuevo firmware desde una tarjeta SD. Esto es un poco extraño porque pensaría que el firmware se descargará automáticamente desde una tarjeta SD, al igual que miles de otros dispositivos electrónicos de consumo. Para el reproductor de Blu-Ray de Samsung, algunos comandos de CEC han accedido a algunas llamadas memcpy (), pero aún no son fáciles de explotar.

En términos de vulnerabilidades, [Joshua] tengo algunas ideas. Las consolas de juegos y los reproductores de BluRay son omnipresentes, y el santo grial: configurar una conexión de red a través de un canal HDMI Ethernet (HEC), son las claves del castillo en un dispositivo. ninguno alguna vez pensé en mirar.

El trabajo futuro incluye refactorizar el código actual y profundizar en más dispositivos. Hay millones de dispositivos compatibles con CEC en el mercado en este momento, y los pedidos de CEC en sí mismos no están estandarizados. La única forma de que HDMI CEC sea una herramienta confiable es descifrar los comandos para estos dispositivos. Funciona mucho, pero provoca un gran llamado a la acción para que más personas exploren este protocolo tan interesante y versátil.

  • richms dice:

    ¿Quizás el temor de esto es la razón por la que Microsoft ha abandonado ansiosamente CEC de sus dos consolas con capacidad HDMI?

    • Shannon dice:

      O tal vez porque quieren venderte un control remoto por £ 2 por £ 30.

      • Rhodderz dice:

        Recuerdo haber preguntado al respecto hace unos años sobre el 360, cuando tuvimos el “Día de Microsoft” y uno de los desarrolladores dijo que lidiar con un CEC es más una molestia que su valor porque no está estandarizado. Entonces podría ser ambos: P, sin embargo, para mi Xbone no uso un control remoto, solo uso un vidrio inteligente y ahora la parte de flujo (porque soy tan vago para cambiar la entrada de mi monitor)

  • timgray1 dice:

    El problema es que el 99% de todos los dispositivos estropean gravemente CEC. El comando CEC estándar para apagar TV funciona solo en una pequeña minoría de televisores. LG, por ejemplo, ignora ese comando.

    Esto se debe a que el tipo HDMI debe REQUERIR que los fabricantes de televisores admitan todos los comandos CEC comunes o no pueden decir “HDMI” o usar el conector.

    • John dice:

      LG también olvidó los comandos “atrás” o “salir”. Puedo controlar mi raspado perfectamente con el control remoto de mi televisor LG, además de volver a subir los menús.

  • drwho8 (@ drwho8) dice:

    Y la mayoría de los STB para TV por cable lo hacen mal. Se supone que es un estándar con cumplimiento y todas esas tonterías. ¿Qué sucedió?

    • Jelle dice:

      Lo bueno de los estándares es que hay muchos para elegir. Las cosas necesitan las funciones de marca que las venden en la tienda, todas las demás cosas que los “consumidores” no conocen se pueden ignorar con seguridad. Hay algo que decir para mantener sus funciones tan mínimas como sea necesario.

      • Xkcd dice:

        https://xkcd.com/927/

  • jajaja dice:

    Da miedo i2c, ¿cómo pueden hacer trampa tantas empresas?
    ¿Qué tan difícil es operar, qué se puede reducir a una lista de comandos y respuestas para cada uno?
    Mi televisor LG siempre está tratando de activar el STB, pero el STB (mierda de Samsung) ignora todos los comandos, simplemente genial.

  • @ numpad0 dice:

    Canal Ethernet HDMI (HEC): suena muy bien, especialmente cuando tiene DVR y consolas de juegos conectados al mismo televisor. Pero, de hecho, todas las consolas y computadoras alguna vez han evolucionado amablemente negándose a admitir HEC y cualquier cosa relacionada con la red en los DVR simplemente apesta. Y así es la vida.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *