Hemos desarrollado y probado un nuevo procesador de computadora seguro que frustra a los piratas informáticos al cambiar aleatoriamente su estructura subyacente, lo que hace que sea prácticamente imposible de piratear.
El verano pasado, 525 investigadores de seguridad pasaron tres meses intentando piratear nuestro procesador Morpheus y otros. Todos los intentos contra Morfeo fracasaron. Este estudio fue parte de un programa patrocinado por la Agencia del Programa de Investigación Avanzada de Defensa de EE. UU. Para diseñar un procesador seguro que pudiera proteger el software vulnerable. DARPA dio a conocer al público los resultados del programa por primera vez en enero de 2021.
Un procesador es la pieza de hardware de la computadora que ejecuta programas de software. Dado que un procesador es la base de todos los sistemas de software, un procesador seguro tiene el potencial de proteger de ataques cualquier software que se ejecute en él. Nuestro equipo de la Universidad de Michigan desarrolló por primera vez Morpheus, un procesador seguro que frustra los ataques al convertir la computadora en un rompecabezas, en 2019.
Un procesador tiene una arquitectura, x86 para la mayoría de las computadoras portátiles y ARM para la mayoría de los teléfonos, que es el conjunto de instrucciones que el software necesita para ejecutarse en el procesador. Los procesadores también tienen una microarquitectura, o las «tripas» que permiten la ejecución del conjunto de instrucciones, la velocidad de esta ejecución y la cantidad de energía que consume.
Los piratas informáticos deben estar íntimamente familiarizados con los detalles de la microarquitectura para injertar su código malicioso, o malware, en sistemas vulnerables. Para detener los ataques, Morpheus aleatoriza estos detalles de implementación para convertir el sistema en un rompecabezas que los piratas informáticos deben resolver antes de realizar exploits de seguridad. De una máquina Morpheus a otra, detalles como los comandos que ejecuta el procesador o el formato de los datos del programa cambian de forma aleatoria. Debido a que esto sucede a nivel de microarquitectura, el software que se ejecuta en el procesador no se ve afectado.
Un hacker experto podría realizar ingeniería inversa en una máquina Morpheus en tan solo unas pocas horas, si tuviera la oportunidad. Para contrarrestar esto, Morfeo también cambia la microarquitectura cada pocos cientos de milisegundos. Por lo tanto, los atacantes no solo tienen que aplicar ingeniería inversa a la microaquitectura, sino que deben hacerlo muy rápido. Con Morpheus, un pirata informático se enfrenta a una computadora que nunca antes se había visto y nunca se volverá a ver.
Para realizar una explotación de seguridad, los piratas informáticos utilizan vulnerabilidades en el software para ingresar a un dispositivo. Una vez dentro, injertan su malware en el dispositivo. El malware está diseñado para infectar el dispositivo host para robar datos confidenciales o espiar a los usuarios.
El enfoque típico de la seguridad informática es corregir las vulnerabilidades de software individuales para mantener alejados a los piratas informáticos. Para que estas técnicas basadas en parches tengan éxito, los programadores deben escribir un software perfecto sin errores. Pero pregúntele a cualquier programador, y la idea de crear un programa perfecto es ridícula. Los errores están en todas partes y los errores de seguridad son los más difíciles de encontrar porque no afectan el funcionamiento normal de un programa.
Morpheus adopta un enfoque distinto de la seguridad al aumentar el procesador subyacente para evitar que los atacantes injerten malware en el dispositivo. Con este enfoque, Morpheus protege cualquier software vulnerable que se ejecute en él.
Durante mucho tiempo, los diseñadores de procesadores consideraron la seguridad como un problema para los programadores de software, ya que los programadores creaban errores de software que generaban problemas de seguridad. Pero recientemente, los diseñadores de computadoras han descubierto que el hardware puede ayudar a proteger el software.
Los esfuerzos académicos, como Capability Hardware Enhanced RISC Instructions en la Universidad de Cambridge, han demostrado una fuerte protección contra errores de memoria. También han comenzado los esfuerzos comerciales, como la tecnología de aplicación de control de flujo de Intel, que pronto se lanzará.
Morpheus adopta un enfoque notablemente diferente de ignorar los errores y, en cambio, aleatoriza su implementación interna para frustrar la explotación de los errores. Afortunadamente, estas son técnicas complementarias y su combinación probablemente hará que los sistemas sean aún más difíciles de atacar.
Estamos analizando cómo se pueden aplicar los aspectos de diseño fundamentales de Morpheus para proteger los datos confidenciales en los dispositivos de las personas y en la nube. Además de aleatorizar los detalles de implementación de un sistema, ¿cómo podemos aleatorizar los datos de una manera que mantenga la privacidad sin ser una carga para los programadores de software?