Microsoft acaba de completar un estudio de una arquitectura experimental. Esta arquitectura habría mitigado aproximadamente dos tercios de las vulnerabilidades de seguridad.
Como Microsoft ha descrito anteriormente, el 70% de todos los errores de seguridad de la última década han sido errores de seguridad de memoria. Esto sucede cuando el software accede a la memoria del sistema más allá de su tamaño asignado y a las direcciones de memoria.
CHERI, una alternativa de futuro
La abundancia de errores de seguridad de memoria es una de las razones por las que Microsoft está explorando el lenguaje de programación Rust. Este sería un posible reemplazo para algunos componentes de Windows escritos en C++. Como Microsoft explicó recientemente, está explorando Rust y otras vías porque está alcanzando los límites de lo que puede hacer para evitar problemas de memoria.
«Tenemos que mirar hacia fuera a la industria para ver cuál es la mejor alternativa a C++. Y resulta que el lenguaje es un lenguaje llamado Rust», dijo ryan Levick, experto en Microsoft Rust, a principios de este año en una charla sobre programación de sistemas.
Reescribir código antiguo en otro idioma como Rust es una opción. Otra opción en la «búsqueda para mitigar las vulnerabilidades de corrupción de memoria» de Microsoft es CHERI o Capability Hardware Enhanced RISC (equipo de conjunto de instrucciones reducido) Instrucciones.
El trabajo en las arquitecturas de conjuntos de instrucciones (ISA) de CHERI está en marcha en la Universidad de Cambridge en asociación con el diseñador de chips RISC Arm y Microsoft. CHERI tiene objetivos similares a Project Verona. Un desarrollo experimental de lenguaje inspirado en Rust de Microsoft para la programación de infraestructura segura.
Adiós a los fallos de memoria
CHERI «proporciona características de protección de memoria contra muchas vulnerabilidades explotadas. En otras palabras, es una solución arquitectónica que rompe los exploits», dijo Nicolas Joly, Saif ElSherei, Saar Amar del Centro de Respuesta de Seguridad de Microsoft (MSRC).
El grupo evaluó el «impacto teórico» de CHERI en todas las vulnerabilidades de seguridad de la memoria de 2019. La concusión es que habría «mitigado determinísticamente» al menos dos tercios de todos esos problemas.
La Universidad de Cambridge explica que «CHERI amplía el hardware convencional Instruction-Set Architectures (ISA) con nuevas características arquitectónicas. Esto permite una protección de memoria detallada y una compartimentación de software altamente escalable».
Sus características de protección de memoria permiten adaptar los lenguajes de programación históricamente inseguros para la memoria. Lenguajes como C y C++, para protegerse contra vulnerabilidades ampliamente explotadas.
Reduciendo los parches
CHERI ISA tiene el potencial de ahorrar mucho tiempo y dinero a Microsoft. Reduciendo la entrega de parches de seguridad en la actualización del martes de parches de cada mes, que regularmente superan los 100 parches al mes.
Microsoft está abierto a la posibilidad de que incluso cuando se habilitan las protecciones más estrictas de CHERI, podría ser más barato hacer que el código existente sea compatible con CHERI que reescribir código existente en un lenguaje seguro para la memoria, como Rust o la variante inspirada en Rust de Project Verona.
El equipo de Microsoft revisó la séptima versión de CHERI ISA, la última versión de CHERI. Los investigadores también utilizaron CheriBSD, basado en el sistema operativo FreeBSD con protección de memoria y características de compartimentación de software compatibles con el CHERI ISA.
«Evaluamos conservadoramente el porcentaje de vulnerabilidades notificadas al Centro de respuesta de seguridad de Microsoft en 2019 y descubrimos que aproximadamente el 31% ya no representaría un riesgo para los clientes y, por lo tanto, no requeriría abordar a través de una actualización de seguridad en un sistema CHERI basado en la configuración predeterminada del sistema operativo CheriBSD», escribieron los investigadores de Microsoft en el documento de investigación.
Con las mitigaciones adicionales recomendadas en su documento de investigación, Microsoft también estima que las protecciones de CHERI podrían haber mitigado determinísticamente casi la mitad de las vulnerabilidades que el MSRC abordó a través de una actualización de seguridad en 2019.