ArchiTecnologia

Aprendizaje abierto. Conocimiento libre.

ArchiTecnologia
ElectrónicaHardwareHardware libreSeguridad

Hardware Trojan: un problema de seguridad difícil de ‘parchear’ – Parte 1/2

Nueva entrada dedicada al término hardware trojan o troyano de hardware. Algo que quizás no conocías y que es crítico para la seguridad. Actualmente es una enorme preocupación para algunos departamentos de defensa que deben encargar la fabricación de sus chips a foundries extranjeras, pero podría transformarse en un serio problema para la privacidad, seguridad y anonimato del resto de usuarios y empresas.

Por eso, deberías de prestar más atención a este tipo de amenazas ocultas en el silicio, y que son difíciles de detectar y de ‘parchear’, así como las más olvidadas por los auditores de seguridad. Por eso, tal vez sean las amenazas más letales que existen…

¿Qué es un Hardware Trojan?

Silicon Trojan, Hardware trojan, troyano de hardware

Un caballo de Troya de hardware, o Hardware Trojan Horse (HTH), es una modificación malintencionada en un circuito integrado para usarlo con fines de espionaje, destruir el sistema, accesos no autorizados, o para alterar el funcionamiento de una máquina para algún otro fin, eludiendo los sistemas de seguridad o desactivando éstos.

Fisionomía de un troyano de hardware

Un HTH está constituido por:

  • Representación física: es la parte del Hardware Trojan compuesta por una serie de alteración en el circuito. Estas modificaciones pueden ser:
    • Funcional: si se han modificado algunos transistores o puertas lógicas del circuito original para implementar otro circuito diferente, o que continúe prestando el mismo servicio con algunas funciones ocultas extra. Además, el encapsulado camufla estas modificaciones, haciendo que el chip sea exactamente idéntico en aspecto. Incluso si se analiza el die shot para comparar cambios en la superficie ocupada por la lógica maliciosa, la detección es complicada, ya que en muchos casos no crece el área, sino que simplemente son cambios estructurales. Realiza ingeniería inversa, estudiar termografías, sondas lógicas, etc., tampoco es garantía de detectar el problema, ya que en algunas ocasiones se pueden camuflar usando circuitería BIST, su E/S aparentemente responde de forma normal si no se ha activado, o no se altera demasiado la potencia disipada. En ocasiones, cuando se activan, sí que se pueden apreciar cambios en el consumo eléctrico del chip. Por otro lado, la distribución del troyano puede hacerse mediante:
      • Loose distribution (distribución suelta): cuando los componentes del troyano están dispersos en varios chips de la máquina.
      • Tight  distribution (distribución ajustada): se concentra en un único circuito integrado, puesto que el área necesaria para su implementación no es demasiado grande.
    • Paramétrico: se modifica el circuito original sin alterar la lógica, solo adelgazando algunas interconexiones, debilitando transistores, etc. Para ello, se somete el CI a radiación o se usa FIB (Focused Ion-Beams).  Esto haría que el chip no sea fiable y pueda fallar, lo que podría ser nefasto si se está usando para aplicaciones críticas.
  • Sistema de activación: un Hardware Trojan también necesitará de un sistema necesario para detectar ciertas condiciones para activar la función para la que haya sido creado. Puede ser mediante sensores, cuando detecta ciertos estados lógicos internos, secuenciales o combinacionales, cuando llega a un patrón determinad de cómputo, mediante un contador o temporizador, etc. Por ejemplo, podría usarse para detectar pulsaciones de teclado como un keylogger para capturar contraseñas, que dados unos estados lógicos en un bus generar un código que produzca un malfuncionamiento del sistema, estar en sistemas de control de misiles para que el enemigo pueda desactivarlos a distancia cuando se activan estas armas, en maquinaria industrial para reportar datos para el espionaje, introducir una puerta trasera, etc.
  • Accionador: una cosa es el sistema encargado de analizar las condiciones para la activación, y otra distinta la parte que acciona y genera la función maliciosa. Esta parte es la que desencadena realmente el ataque o la función para filtrar información confidencial,  generar errores o funcionamiento anómalo, dar acceso remoto o permitir el control del atacante, etc.
  • Auxiliares: un troyano de hardware también puede disponer de ciertas partes periféricas necesarias para su funcionamiento. Estos periféricos variarán enormemente en función de los objetivos de cada troyano, e incluso se podrían usar las mismos componentes funcionales de la máquina para estos fines. Por ejemplo, la memoria principal para almacenar datos, la tarjeta de red para comunicaciones, etc.

Detección de los Hardware Trojan

Estos troyanos de hardware pueden permanecer latentes, pero una vez activos, pueden causar problemas muy graves, comprometiendo la funcionalidad de un sistema, filtrando información confidencial, etc. Eso unido a lo «sigilosos» que son los hace potencialmente peligrosos. Las técnicas tradicionales no son suficientes, y la cantidad de tecnología empleada en la actualidad hace complicado que se analicen todos y cada uno de los dispositivos empleados.

A pesar de eso, existen varias formas empleadas para detectar este tipo de Hardware Trojan, algunas ya las he citado anteriormente. Estas técnicas suelen ser similares a las que se emplean en la industria de los semiconductores para probar los chips:

  • Inspección física: se inspeccionan cosas desde las más transcendentales, como el número de pines, mediciones del área, hasta otras más profundas des-encapsulando el chip y empleando técnicas de termografía, análisis de consumo, microscopía óptica (MO), barrido SEM (Scanning Electron Microscopy), análisis PICA (Picosecond Imaging Circuit Analysis), inspección de imágenes VCI (Voltage Contrast Imaging), técnicas LIVA (Light-induced Voltage Alteration), FANCI (Functional Analysis for Nearly-unused Circuit Identification), y CIVA (Charge-Induced Voltage Alteration). Por ejemplo, las técnicas FANCI, que parecían muy prometedoras, mediante un análisis booleano estático para etiquetar las conexiones que pueden ser potencialmente maliciosas, ha resultado también poco efectivo, ya que se puede hacer que el diseño del troyano de hardware parezca más benigno ante este tipo de técnicas.
  • Test funcional: se usan sondas lógicas para generar una serie de estados en las entradas de un circuito y se monitorizan los estados de la salida, para detectar posibles alteraciones en los patrones.
  • BIST (Built-in self-test) y DFT (Design For Testing): en los chips se suele emplear una lógica adicional para verificar la funcionalidad de un circuito o si tiene defectos. Pero estos pueden haber sido alterados para camuflar estos cambios. Los chips originales generan una firma determinada, pero si está alterado generaría una firma desconocida con estos tests. Pero es como cuando compruebas una suma de verificación de un software… ¿y si la han alterado también?
  • Análisis del canal lateral: los circuitos integrados activos emiten señales como campos magnéticos y eléctricos concretos (como una especie de firma también, véase el ejemplo de los side-channel attacks). Esas señales son causadas por la actividad eléctrica del chip, por lo que pueden ser estudiados para obtener información, al igual que se puede emplear una termografía.

Casos reales

Este tipo de troyanos pueden afectar a multitud de circuitos muy diferentes, desde procesadores, hasta memoria, pasando por otros circuitos integrados de los sistemas de computación. Y su origen de estas «falsificaciones» pueden provenir de múltiples fuentes, desde las propias factorías donde se producen, hasta la modificación de piezas que necesitan post-procesamiento en el extranjero.

Algunos reportes gubernamentales, como uno realizado por el gobierno de EE.UU. de 2012, detectó varios casos de CIs modificados que se habían infiltrado en la cadena de suministro del sistema de defensa de este país. Y cada vez son más frecuentes.

A lo largo de la historia también se han usado varios ataques basados en un Hardware Trojan. Uno muy conocido es el que se produjo en Irak cuando Estados Unidos envió impresoras con un chip modificado en 1991. Estas impresoras incluían un sistema que les permitirían expandir un malware en los sistemas operativos Windows conectados a estas impresoras con el objetivo de apagar las instalaciones de los radares.

Trasfondo: Una perspectiva del problema

ciberguerra

Como he comentado anteriormente, no hay que subestimar a este tipo de ataques. Menos aún en una sociedad hiperconectada y donde el anonimato y la privacidad no se están protegiendo. Es más, si estas prácticas se llegan a generalizar para recolección de datos, como ahora hacen servicios de software, el problema podría ser mucho mayor. Quizás nos estamos preocupando demasiado de las amenazas del software, de las GAFAM/BATX, y las amenazas del futuro sean más bien las «AINSAH» (Apple, Intel, NVIDIA, Samsung, AMD, HP)…

Imagina el potencial que podría tener la combinación de las compras online con este tipo de Hardware Trojan. Conociendo la identidad del cliente que realiza la compra se podría enviar un equipo con este tipo de amenazas ocultas con el objetivo de conseguir algún objetivo. Algo potencialmente peligroso para ciertas personas que ocupan cargos importantes…

Los especialistas en ciberseguridad no están poniendo la suficiente atención que merece este tipo de prácticas maliciosas. En parte por despreocupación de algunos, y en parte por la cantidad de material extremadamente caro que se necesitaría para su análisis, haciendo que no esté al alcance de casi nadie.

Además, los negocios a escala global han hecho que multitud de productos que se usan a nivel gubernamental, en el sector energético, en centros de datos,  en el mundo de las finanzas, o por parte del sector militar, sean fabricados en compañías del extranjero. Algo que facilitaría este tipo de prácticas por parte de gobiernos rivales, y haciendo que no se pueda confiar al 100% en la integridad del hardware.

El Pentágono y el DoD han estado subcontratando la fabricación de chips a TSMC. Algo que no es óptimo, pero dados los problemas de Intel para avanzar hacia nodos de fabricación más avanzados, se han visto obligados a ello. Por tanto, han dado acceso a esta foundry a sus circuitos, y cualquiera que tenga acceso a esta fabricación puede comprometer el diseño alterando las máscaras…

No hay que olvidar que la recolección de información privada, las guerras geopolíticas, y las operaciones de inteligencia están cada vez más presentes en el mundo actual. Y este tipo de prácticas son muy jugosas para quien las practica, pudiéndose implementar fácilmente en productos habituales a través de sus PCBs, procesadores, memorias, FPGA, etc.

Esto me hace pensar que en el caso de Europa es un problema aún mayor que urge corregir. Dada la dependencia tecnológica del Viejo Continente, y su atractivo para otros gobiernos hostiles (riqueza, industria avanzada,…), podría ser un objetivo bastante vulnerable.

Por eso, es necesario invertir de forma masiva en educación, tejido industrial propio, y desarrollo de tecnologías para completar la «pila» de hardware y software que completaría el puzle de un sistema completo que fuese completamente europeo y fabricado en suelo europeo. Sin necesidad de uso de tecnologías extranjeras ni subcontrataciones para la fabricación externa.

Los actuales proyectos como GAIA-X, EPI, eProcessor, etc., son pasos importantes, pero insuficientes. Se necesita mucho más que eso, además de paliar todos los intereses actuales que están tratando de controlar la narrativa política y a este poder para evitar que Europa se una y avance hacia el liderazgo digital.

Europa necesita su propia estrategia cibernética, la unión de todos los miembros, tanto para el desarrollo de software como de hadware, especialmente reforzando la industria de semiconductores, que es uno de los puntos más débiles. Solo así se podrá controlar cómo de desarrolla el software, y cómo se diseñan y producen los circuitos, sin interferencias extranjeras o riesgos…

Isaac

Apasionado de la computación y la tecnología en general. Siempre intentando desaprender para apreHender.

Deja una respuesta

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

Si continuas utilizando este sitio aceptas el uso de cookies. más información

Los ajustes de cookies de esta web están configurados para "permitir cookies" y así ofrecerte la mejor experiencia de navegación posible. Si sigues utilizando esta web sin cambiar tus ajustes de cookies o haces clic en "Aceptar" estarás dando tu consentimiento a esto.

Cerrar