Puesto que muchas personas piensan que el software de código abierto es más seguro que el de marca, notamos ahora intentos de aplicar una teoría similar al desarrollo de hardware. Sin embargo, el mes pasado, en la conferencia sobre hackers durante la edición 36.° Chaos Communication Congress (36C3), los expertos Andrew “bunnie” Huang, Sean “xobs” Cross y Tom Marble plantearon dudas acerca de si era suficiente el empleo de desarrollo de código abierto para resolver los problemas de fiabilidad del hardware. Huang habló largo y tendido sobre el tema.
Diferencias entre hardware y software en términos de fiabilidad
La seguridad del software de código abierto no solo reside en su carácter abierto, sino también en las herramientas de uso difundido que ayudan a garantizar que el programa que ejecutes en un endpoint sea fiel al código fuente publicado. Por ejemplo, los programadores firman su software con un certificado digital y el sistema comprueba el certificado antes de ejecutar el software en la computadora del usuario.
Con el hardware, el asunto es distinto. Puesto que no existen equivalentes para la creación de hash o firmas digitales, los usuarios no cuentan con herramientas para comprobar la autenticidad del hardware al compararla con información publicada al respecto. La última vez que se verifica un dispositivo o un chip es en la fábrica. Y cuanto más largo es el lapso entre la revisión de fábrica y el uso del dispositivo, mayor es el riesgo de que un ataque MITM sea exitoso.
¿Qué puede salir mal?
En términos generales, cualquiera cosa puede suceder con los chips o dispositivos completos desde que abandonan la fábrica y se usan por primera vez. Por principio de cuenta, el firmware del hardware puede verse sustituido (de acuerdo, el firmware es de hecho un problema de software, por lo que puede comprobarse, pero aun así dependerás del uso del hardware durante la verificación). De ahí que Huang se haya centrado en problemas estrictamente relacionados con el hardware, como la sustitución de componentes, las modificaciones y los implantes.
Añadir componentes
Actualmente, un módulo no autorizado puede insertarse en el puerto USB del cable de carga. Por supuesto, es todavía más fácil alterar un equipo multicomponente más sofisticado que deje más espacio para los implantes. La buena noticia es que es relativamente sencillo identificar un chip añadido.
Sustitución de componentes
El truco más simple de sustitución es la falsificación del logotipo de marca. Un ejemplo real de falsificación de hardware: tras la inspección visual de un microcontrolador que funcionaba mal, éste presentaba el logotipo de marca correcto (de STMicroelectronics) sobre un chip completamente diferente. En esa ocasión, la trampa de falsificación de hardware consistía en un componente caro sustituido con uno barato, pero el reemplazo pudo haber sido casi cualquier cosa.
Modificación del chip
La gente suele pensar que los chips no se pueden modificar una vez que salen de fábrica, pero esto no es así. En muchos casos, lo que consideramos solamente como un chip son en realidad diversos microcircuitos distintos en un mismo paquete. Un cibercriminal experimentado puede utilizar la misma tecnología para insertar un pedacito de silicio en el mismo paquete y conectar este implante con otros contactos existentes.
De hecho, el equipo para aprovechar esta vulnerabilidad de hardware es relativamente barato y accesible (según el conferencista, una máquina de wirebonding de segunda mano en China cuesta cerca de $7,000 dólares), aunque los resultados falsificados se pueden detectar con radiografías.
Es más caro modificar los paquetes CSP a nivel de oblea (WL-CSP, por sus siglas en inglés) y las radiografías no revelarán la manipulación.
Modificación del circuito integrado (CI)
Normalmente, las empresas diseñan chips para las tareas específicas de su sector; sin embargo, subcontratan a los fabricantes de estos, pues muy pocas empresas del ramo pueden permitirse producir sus propios chips. En esta clase de acuerdo, existe muchas formas de modificar el producto final de modo que todavía cumplan con las normas de uso y seguridad de los dispositivos hardware. Por otra parte, después de una chip o dispositivo se aparta del control del diseñador, es raro que alguien se tome la molestia de comparar el producto final con las especificaciones originales.
¿En qué momento se puede alterar el hardware?
El presentador mencionó diversos escenarios de alteración de hardware, desde los muy tramposos (interceptar un cargamento en marcha es un caso extremo) hasta los relativamente sencillos. A grandes rasgos, cualquiera que compre un producto puede alterarlo y devolverlo al vendedor, quien lo venderá de nuevo. Y, oficialmente, en las diversas etapas del suministro, el equipo de transporte del fabricante, los oficiales de aduanas y muchas otras partes involucradas tiene acceso al equipo, y cualquiera puede alterar el hardware si así lo desean. Para todos los efectos, el uso de hardware de código abierto no mejorará mucho la seguridad.
Conclusiones sobre la seguridad de hardware
Hacia el final de su presentación, Huang especuló sobre qué cambios en la producción del hardware podrían permitir a los usuarios finales verificar la seguridad de los chips y los dispositivos. Quienes estén interesados en la filosofía del movimiento, así como en los detalles técnicos de la modificación de chips, deberían ver el vídeo de la presentación.
No todas las formas que existen para modificar el hardware de modo que sea malicioso son caras o laboriosas. Y lo más importante es que no existen una correlación entre la complejidad del ataque contra hardware y cuán difícil es de detectar. Y para los usuarios empresariales: sean conscientes de la amenaza y no dependan solamente de los productos y soluciones de seguridad de endpoints; los sistemas de protección de infraestructura protegen frente a amenazas y ataques dirigidos.