El bug no parcheable ‘Starbleed’ expone las FPGAs usadas en centros de datos, dispositivos IoT y equipos industriales

Un equipo de académicos dice que han descubierto un nuevo error de seguridad que impacta en los chips FPGA (Field Programmable Gate Arrays) de Xilinx.

Llamado Starbleed, el fallo permite a los atacantes — con acceso físico o remoto — extraer y manipular el bitstream de un FGPA (que es básicamente un archivo de configuración) para reprogramar el chip con código malicioso.

¿Qué son las FGPA?

Las FPGAs son tarjetas complementarias que pueden ser añadidas a un sistema informático, (como un ordenador de sobremesa normal, un servidor de alto rendimiento) o pueden ser utilizadas como sistemas autónomos. Son pequeñas placas de circuitos integrados diseñadas para ejecutar código muy específico que el propietario del dispositivo programa dentro de la FPGA en función de sus propias necesidades.

En el pasado se consideraba una rama amateur de la programación informática, pero en la actualidad las FPGAs representan un mercado enorme, debido al creciente uso. Además, suelen ser estudiadas por los alumnos de ingeniería electrónica en las universidades de todo el mundo por ese motivo.

Las FPGAs se utilizan para optimizar el rendimiento ejecutando ciertas operaciones en la FPGA en lugar de la CPU principal, y luego pasar los resultados de nuevo a la CPU.

En otros casos, las FPGAs también se utilizan como un system-on-chip (SoC) o sistema en chip, que puede utilizarse para alimentar dispositivos inteligentes o equipos de infraestructura crítica.

«Los chips FPGA pueden encontrarse en muchas aplicaciones de seguridad crítica hoy en día, desde centros de datos en la nube y estaciones base de telefonía móvil hasta memorias USB encriptadas y sistemas de control industrial», dijeron en un comunicado de prensa la semana pasada académicos del Instituto Horst Görtz para la Seguridad de la TI en la Ruhr-Universität Bochum y el Instituto Max Planck para la Seguridad y la Privacidad.

«Su ventaja decisiva radica en su reprogramabilidad y en comparación con los chips de hardware convencionales con sus funcionalidades fijas», dijeron los investigadores.

Esta «reprogramabilidad» se refiere al hecho de que los usuarios pueden cargar sus propias configuraciones (conjunto de operaciones) que la FPGA realizará. Esta configuración se denomina «bitstream» o flujo de bits, y normalmente se almacena y se carga de forma encriptada desde un medio externo – como la memoria no volátil SRAM o desde el firmware de un microcontrolador externo.

La vulnerabilidad Starbleed

En un artículo de investigación publicado la semana pasada, los académicos dijeron que encontraron un fallo de seguridad en los chips FPGA vendidos por la empresa estadounidense Xilinx, líder actual del mercado de FPGA.

Los FPGA Xilinx como la serie 7 (familias Spartan, Artix, Kintex y Virtex) y la serie 6 (Virtex) fueron encontrados vulnerables.

Los investigadores dicen que la vulnerabilidad de Starbleed permite a un atacante descifrar la encriptación del bitstream y manipular las operaciones almacenadas dentro, lo que permite al atacante cargar su propio código malicioso en los dispositivos vulnerables.

«En estos dispositivos, la encriptación del bitstream proporciona autenticidad mediante el uso de un HMAC basado en SHA-256 y también proporciona confidencialidad mediante el uso de CBC-AES-256 para la encriptación», dijeron los investigadores.

«Con nuestro ataque, podemos evitar la encriptación del bitstream y desencriptar un bitstream supuestamente seguro en todos los dispositivos de la Serie 7 de Xilinx de forma completa y en los dispositivos de Virtex-6 parcialmente».

Los investigadores dicen que los ataques de Starbleed requieren un acceso físico al puerto JTAG de la FPGA; sin embargo, si el bitstream de la FPGA se carga desde un microcontrolador u otra fuente en red, los ataques pueden llevarse a cabo de forma remota apuntando al lugar desde donde se carga, que en muchos casos puede estar disponible a través de una red o de Internet, a diferencia de las propias FPGAs.

Aunque robar o manipular el bitstream de una FPGA puede parecer una exageración o una pérdida de tiempo, los investigadores sostienen que la seguridad de estos dispositivos es primordial.

Parr y sus compañeros creen que no hay manera de arreglar estos problemas que encontraron, excepto reemplazar la FPGA por completo, ya que el mecanismo de encriptación y bitstream está diseñado para trabajar a nivel de hardware y requeriría un rediseño del propio chip de silicio.

El líder del mercado responde

El equipo de investigación dijo que notificaron a Xilinx de la vulnerabilidad de Starbleed el año pasado, en septiembre, y que la compañía respondió positivamente durante el proceso de información, acordando notificar a los clientes del peligro.

Pero la compañía sólo comunicó a los clientes que tomaran medidas para asegurar que los posibles atacantes no tuvieran acceso físico a los componentes de la FPGA y a sus puertos de depuración/configuración:

«La única forma probada de realizar el llamado ataque ‘Starbleed’ es tener un acceso físico cercano al sistema. También es importante reconocer que cuando un adversario tiene un acceso físico cercano al sistema, hay muchas otras amenazas de las que preocuparse. Aconsejamos a todos nuestros clientes que diseñen sus sistemas con protección contra manipulaciones de tal manera que el acceso físico cercano sea difícil de lograr».

Aunque algunos FPGAs de Xilinx podrían ser asegurados contra el acceso físico, o en escenarios donde el bitstream es accesible remotamente, no todos los dispositivos se pueden proteger.

Además, si ejecutan sistemas críticos, recomendamos sustituir el conjunto de chips por uno que utilice un esquema de cifrado más avanzado para la configuración del bitstream.

La buena noticia es que la nueva generación de placas Xilinx UltraScale no es susceptible a este ataque, según el equipo de investigación, por lo que los propietarios de los dispositivos no están sin opciones si necesitan dar este paso.

Más información:
Paper original
https://www.usenix.org/system/files/sec20fall_ender_prepub.pdf

Soporte oficial de Xilinx
https://www.xilinx.com/support/answers/73541.html

Otros artículos sobre Starbleed en la red
https://techxplore.com/news/2020-04-critical-starbleed-vulnerability-fpga-chips.html
https://www.zdnet.com/article/starbleed-bug-impacts-fpga-chips-used-in-data-centers-iot-devices-industrial-equipment/

Powered by WPeMatico

Gustavo Genez

Informático de corazón y apasionado por la tecnología. La misión de este blog es llegar a los usuarios y profesionales con información y trucos acerca de la Seguridad Informática.