Mohammad R. Fadiheh (de izquierda a derecha), El profesor Wolfgang Kunz y Dominik Stoffel han desarrollado el nuevo algoritmo en colaboración con científicos de Stanford. Crédito:Koziel / TUK
A principios de 2018, Los investigadores de ciberseguridad descubrieron dos fallas de seguridad que, según dijeron, estaban presentes en casi todos los procesadores de alta gama fabricados y utilizados por las principales empresas. Conocido ominosamente como Spectre y Meltdown, estas fallas eran preocupantes porque representaban un nuevo tipo de brecha no conocida anteriormente que podría permitir a los piratas informáticos inferir datos secretos:contraseñas, números de seguro social, registros médicos:desde la forma en que las computadoras calculan previamente ciertos datos utilizando características arquitectónicas llamadas "ejecución fuera de orden" y "ejecución especulativa" para acelerar sus procesos.
Con ese, comenzó una carrera en la comunidad de hardware cuando los diseñadores de chips se apresuraron a encontrar soluciones para Spectre y Meltdown y revelar fallas aún no descubiertas antes de que lo hicieran los piratas informáticos. En el año desde, Han surgido numerosas variantes de estos ataques, y se esperan más.
En estos "ataques de canal encubierto, "ningún dato cambia de manos entre el procesador pirateado y los atacantes que intentan robar datos. La información se infiere de la forma en que se pueden adivinar las respuestas de un crucigrama sin conocer la respuesta real a la pista. Estos trucos, por lo tanto, son casi imposibles de detectar.
A la altura de esta amenaza emergente, un equipo dirigido por científicos informáticos en TU Kaiserslautern, Alemania, en colaboración con investigadores de la Universidad de Stanford en California, ha adoptado un enfoque novedoso para exponer posibles defectos en los nuevos diseños de chips. Es un algoritmo, Comprobación de ejecución de programa única, o UPEC, para abreviar.
"UPEC es una forma de verificación de seguridad automatizada que alertará a los diseñadores sobre posibles fallas en sus microarquitecturas, mucho antes de que los chips se produzcan en masa, "dice el profesor principal Wolfgang Kunz, Cátedra de Automatización del Diseño Electrónico en TU Kaiserslautern.
Lo que es más importante es que han demostrado que tales agujeros de seguridad existen en un espectro de procesadores mucho más amplio de lo que se pensaba anteriormente. afectando no solo a los procesadores de gama alta, sino incluso a los procesadores simples que son omnipresentes en numerosas aplicaciones de la vida diaria, como en el Internet de las cosas.
En esencia, UPEC analiza los efectos secundarios de la microarquitectura de las decisiones de diseño y detecta si pueden explotarse para crear canales encubiertos. Lo que es particularmente clave es que la UPEC es exhaustiva. Tiene en cuenta todos los programas posibles que se pueden ejecutar en el procesador. Los investigadores creen que UPEC puede exponer cualquier potencial vulnerabilidad de canal encubierto en futuros diseños de chips. incluso aquellos que los diseñadores no habían anticipado.
En las pruebas del mundo real, El equipo de investigación hizo que la UPEC analizara varios diseños de chips de código abierto e identificó una serie de fallas previamente desconocidas. El equipo creó y analizó diferentes variaciones de diseño de estos procesadores y demostró que tales debilidades resultan fácilmente de los procesos de diseño normales y pueden afectar prácticamente a cualquier procesador. Procesadores particularmente simples, no solo la clase de procesadores de gama alta analizados en los ataques Spectre / Meltdown.
"El punto clave aquí es que incluso los pasos de diseño simples, como agregar o quitar un búfer, puede introducir inadvertidamente vulnerabilidades de canal encubierto en prácticamente cualquier procesador, "dice Mo Fadiheh, miembro del equipo de Kaiserslautern.
Un ataque destacado que la UPEC ha revelado es lo que el equipo ha denominado el ataque "Orc" que podría estar presente en chips que ya se utilizan como columna vertebral en muchas aplicaciones críticas de seguridad en Internet de las cosas y en sistemas autónomos. sistemas como coches y aviones autónomos.
"Teóricamente, un hacker podría usar un ataque Orco para asumir el control de un vehículo autónomo o para apoderarse de computadoras en red en Internet-of-Things, "dice el miembro del equipo Subhasish Mitra, profesor de ingeniería eléctrica e informática en la Universidad de Stanford.
Orc es el primer ataque imprevisto que se descubre automáticamente solo por software. El descubrimiento de Orc demuestra que los ataques de canal encubierto son posibles en procesadores simples. Si las vulnerabilidades de Orc están integradas en chips que ya están en el mercado, los investigadores no pueden decirlo con certeza porque carecen del código fuente propietario para realizar tales evaluaciones.
"Sugerimos que las empresas que fabrican estos procesadores más simples utilicen UPEC para asegurarse de que no tengan Orc y otras vulnerabilidades, "Kunz recomienda.
UPEC no requiere que un diseñador tenga conocimiento existente de posibles ataques y proporciona garantías de seguridad demostrables. Notablemente, para la comunidad de diseño de procesadores, UPEC no requiere cambios drásticos en los procesos de diseño estándar. Hasta aquí, UPEC trabaja para procesadores de hasta mediana complejidad. Se están realizando más investigaciones sobre procesadores de gama alta. La implementación actual de UPEC se ha construido mediante la realización de extensiones a un entorno de verificación formal existente proporcionado por Onespin Solutions.
"Orc demuestra que las decisiones de diseño aparentemente inocuas que los diseñadores de chips toman todos los días pueden producir fallas graves, "dice el profesor Mark D. Hill, un experto en arquitectura de computadoras de la Universidad de Wisconsin-Madison. "Con UPEC, los diseñadores pueden estar mucho más seguros de que encontrarán y eliminarán todos los posibles defectos de canal encubierto en sus diseños ".