El error ‘Starbleed’ no parcheable en los chips FPGA expone dispositivos críticos a los piratas informáticos

vulnerabilidad de chip fpga

Una vulnerabilidad de hardware no parcheable recientemente descubierta en los productos de lógica programable de Xilinx podría permitir que un atacante rompa el cifrado de flujo de bits y clone la propiedad intelectual, cambie la funcionalidad e incluso implante troyanos de hardware.

Los detalles de los ataques contra Xilinx 7-Series y Virtex-6 Field Programmable Gate Arrays (FPGA) se cubrieron en un documento titulado «The Unpatchable Silicon: A Full Break of the Bitstream Encryption of Xilinx 7-Series FPGA» por un grupo de académicos del Horst Goertz Institute for IT Security y Max Planck Institute for Cyber ​​Security and Privacy.

«Aprovechamos una falla de diseño que filtra por partes el flujo de bits descifrado», dijeron los investigadores. «En el ataque, el FPGA se usa como un oráculo de descifrado, mientras que solo se necesita acceso a una interfaz de configuración. El ataque no requiere herramientas sofisticadas y, según el sistema de destino, puede lanzarse de forma remota».

Los hallazgos se presentarán en el Simposio de seguridad de USENIX a finales de este año. Los investigadores dijeron que revelaron en privado las fallas a Xilinx el 24 de septiembre de 2019. El gigante de los semiconductores, en respuesta, publicó un aviso de diseño que reconoce la vulnerabilidad.

“La complejidad de este ataque es similar a los ataques DPA bien conocidos y probados contra estos dispositivos y, por lo tanto, no debilita su postura de seguridad”, señaló la compañía en su alerta.

Explotación del modo CBC para cifrar y descifrar bloques arbitrarios

Los FPGA son circuitos integrados programables que se pueden reconfigurar en el campo para que coincidan con una aplicación o funcionalidad deseada dependiendo de dónde se implemente. Debido a sus altos niveles de flexibilidad, los FPGA se han utilizado ampliamente en el desarrollo de redes móviles 5G, electrónica de consumo, centros de datos, tecnología aeroespacial y automotriz.

Vale la pena señalar que Xilinx e Intel (a través de su adquisición de Altera) dominan el mercado de FPGA, y Xilinx solo representa casi el 50 % de la participación de mercado.

Como los diseños de FPGA están codificados en flujos de bits, una vulnerabilidad de hardware de esta escala puede tener graves consecuencias, dijeron los investigadores.

A diferencia de otros ataques de sondeo y de canal lateral conocidos contra Xilinx y Altera FPGA, el novedoso ataque de «bajo costo» tiene como objetivo recuperar y manipular el flujo de bits aprovechando la interfaz de configuración (como SelectMAP o JTAG) para leer datos del dispositivo FPGA.

Como característica, la «repetición» está destinada a ayudar a verificar que el diseño se descargó correctamente en el dispositivo. Pero en un intento por proteger el diseño, el flujo de bits se cifra (AES-256 en modo CBC) para evitar colaciones en todos los puertos externos.

El ataque ideado por los investigadores se propone manipular el flujo de bits cifrado para redirigir sus datos de configuración descifrados a un registro de dirección de inicio MultiBoot (WBSTAR o Warm Boot Start Address), que permite cambiar entre imágenes sobre la marcha para actualizaciones remotas y cargar un flujo de bits alternativo con un buen diseño conocido en el dispositivo FPGA.

Pero dado el uso de memoria flash para almacenar estos componentes, un reinicio no borra el contenido del registro. Como consecuencia, la confidencialidad del flujo de bits se puede romper de la siguiente manera:

  1. Cree un flujo de bits malicioso y un flujo de bits de lectura. El flujo de bits malicioso explota la maleabilidad del modo de cifrado CBC para alterar el comando en el flujo de bits, que escribe datos en el registro de configuración de WBSTAR.
  2. Cargue el flujo de bits malicioso en el dispositivo FPGA
  3. Se produce un restablecimiento automático de la FPGA debido a los cambios realizados en el flujo de bits en el paso (1), pero no restablece el contenido de WBSTAR, ya que se usa para la función de arranque múltiple y respaldo.
  4. Readback el contenido del registro WBSTAR utilizando el flujo de bits de lectura.
  5. Restablezca manualmente el dispositivo FPGA para repetir los pasos anteriores y recuperar todo el flujo de bits cifrado como palabras de 32 bits.

«En resumen, la FPGA, si se carga con la clave de cifrado, descifra el flujo de bits cifrado y lo escribe para el atacante en el registro de configuración legible», afirmaron los investigadores.

«Por lo tanto, el FPGA se usa como un oráculo de descifrado. El hecho de que solo se puedan descubrir palabras de 32 bits en cada iteración determina la duración del descifrado de un flujo de bits completo: en nuestros experimentos, podemos descubrir un Kintex-7 completo Flujo de bits XC7K160T en 3 horas y 42 minutos, por ejemplo».

En el segundo tipo de ataque, la FPGA se puede usar para cifrar flujos de bits arbitrarios, una vez más aprovechando el modo CBC subyacente, y crear una etiqueta de autenticación de mensaje válida (HMAC), rompiendo así la autenticidad del flujo de bits también.

Según los investigadores, los ataques surgen de la trampa de que los datos del encabezado del flujo de bits encriptado se interpretan antes de que se verifiquen, lo que permite que un flujo de bits malicioso se ejecute en el tejido lógico de la FPGA.

La falla no se puede reparar

Teniendo en cuenta que los ataques se basan en fallas en el protocolo, los investigadores señalaron que «cualquier tipo de cambio no trivial en el protocolo de seguridad no es posible sin un rediseño del hardware FPGA y actualmente no está disponible para 7-Series y Virtex». -6 dispositivos».

Además de recomendar a los desarrolladores de hardware que sometan los datos de entrada a la validación criptográfica y hagan uso de un motor de cifrado de flujo de bits que se puede parchear (ambos ya están implementados para los dispositivos Zynq-7000, UltraScale y UltraScale + de Xilinx), se han propuesto una serie de contramedidas. , como implementar esquemas de ofuscación o parchear la PCB para usar los pines de selección de revisión de FPGA para evitar la lectura del registro WBSTAR.

«Consideramos esto como un ataque severo, ya que (irónicamente) no hay oportunidad de parchear el silicio subyacente del protocolo criptográfico», concluyeron los investigadores. «Observamos que la Serie 7 tiene una participación sustancial en el mercado de FPGA, lo que hace que sea aún más difícil o imposible reemplazar estos dispositivos».

Continua leyendo

Deja una respuesta

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