ARM ahora está distribuyendo la primera versión de un nuevo microprocesador seguro y compartimentado llamado Morello, el primer fruto del proyecto Digital Security by Design del gobierno del Reino Unido.
Morello es la primera implementación de alto rendimiento de las extensiones CHERI. que proporciona seguridad de memoria espacial detallada a nivel de hardware. Es una parte clave de una agenda de investigación que tiene el potencial de cambiar fundamentalmente la forma en que se desarrollan y programan los procesadores en el futuro para mejorar la seguridad integrada.
Cuando ARM recibió £ 36 millones para este proyecto en octubre de 2019, Richard Grisenthwaite, arquitecto jefe de ARM, dijo:
«Nuestro primer paso es crear un prototipo de hardware, la placa Morello, como una plataforma de prueba del mundo real para la arquitectura prototipo desarrollada por ARM que utiliza el modelo de protección CHERI de la Universidad de Cambridge. Esto permitirá a los socios académicos e industriales evaluar la seguridad beneficios de las nuevas tecnologías clave en las que estamos haciendo importantes inversiones”.
El hito más importante que se acaba de alcanzar es la disponibilidad de prototipos de SoC (sistemas en un chip) que ahora se están entregando a los principales especialistas en seguridad, empresas de software, desarrolladores de herramientas e instituciones académicas para probar, codificar y brindar de manera colaborativa una retroalimentación crítica durante dos años y medio. período de medio año para identificar si Morello es una arquitectura de seguridad viable para el futuro.
La placa Morello de Arm se basa en un procesador Armv8.2-A adaptado del chip ARM Neoverse N1 e implementa una arquitectura llamada CHERI (Capability Hardware Enhanced RISC Instructions) desarrollada en la última década por investigadores de la Universidad de Cambridge con el objetivo de mitigar vulnerabilidades de seguridad de la memoria a nivel de hardware.
La tecnología de capacidad de hardware utilizada en CHERI y la arquitectura del prototipo ARM combina referencias a ubicaciones de memoria. Estos actúan como punteros, con límites sobre cómo se pueden usar las referencias. Estos límites se refieren a los rangos de direcciones y la funcionalidad a la que se pueden usar las referencias para acceder, lo que da como resultado una «compartimentación» que aísla diferentes piezas de código crítico en áreas individuales «amuralladas»:
El Proyecto Portmerion de Microsoft, que también incluye el Proyecto Verona, cuyo objetivo es crear un lenguaje seguro con soporte de primera clase para la compartimentación, ¿ve Microsoft planea reemplazar a Rust? es uno de los destinatarios del Consejo de Morello.
Escribiendo en el blog del Centro de respuestas de seguridad de Microsoft, Saar Amar explica cómo CHERI fortalece la seguridad:
Cada instrucción de carga o depósito y cada instrucción de extracción debe ser autorizada por una capacidad arquitectónica. Las instrucciones de carga y almacenamiento toman como base una capacidad en lugar de una dirección entera. La función identifica una dirección y otorga acceso a un rango de memoria (incluidos permisos, como lectura, escritura o ejecución). La ISA prevé operaciones para limitar los derechos sobre una capacidad (por ejemplo, reducir límites o quitar permisos) pero no existe ningún mecanismo para aumentar los derechos sin partir de una capacidad más potente (monotonicidad de la capacidad). Esto incluye almacenar capacidades en la memoria, donde están protegidas por un bit de etiqueta (no direccionable), y cualquier intento de sobrescribir parte o la totalidad de una capacidad en la memoria borra el bit de etiqueta e invalida la capacidad.
La publicación de Amar profundiza mucho en cómo se puede usar CHERI, sus limitaciones y la necesidad continua de lenguajes seguros y ahora el tablón de anuncios de Morello está disponible escribe:
Esperamos crear un prototipo del aislamiento de Verona en Morello, así como explorar una seguridad de tiempo más rápida, el rendimiento general para el código seguro para la memoria, el aislamiento en sistemas TCB mínimos y mucho más. Si el programa Morello puede demostrar que CHERI cumple con los objetivos de rendimiento para el uso en el mundo real, entonces cambiará las reglas del juego de seguridad al prevenir de manera determinista las vulnerabilidades de seguridad espacial y (con soporte de software) los errores. explotable para cualquier otra cosa que no sea denegación de servicio.
Tendemos a pensar que la seguridad es un problema de software: somos responsables de un código deficiente. Esto es cierto hasta cierto punto, pero vulnerabilidades recientes como Spectre, Meltdown y Rowhammer muestran que también necesitamos hardware que no filtre información entre procesos. Hasta hace poco, el diseño del procesador se basaba principalmente en mejorar el rendimiento. Quizás ahora los diseñadores de hardware comiencen a abordar el problema de la seguridad sin afectar el rendimiento.
Más información
Arm estrena la placa Morello experimental habilitada para CHERI
Armar programa Morello
Un puñado de CHERI
Artículos relacionados
¿Microsoft planea reemplazar el óxido?
Cómo funciona la fusión
Cómo funciona el espectro
Para estar informado sobre nuevos artículos sobre TecnoPasion, suscríbase a nuestro boletín semanal, suscríbase a la fuente RSS y síganos Gorjeo, Facebook o Linkedin.