Actualización del proyecto FreeBSD en relación a las amenazas Spectre y Meltdown (31 de Enero de 2018)

in spanish •  7 years ago  (edited)

Problemas que afectaron a la mayoría de los CPUs usados en servidores, desktops, laptops y dispositivos móviles estan en las noticias actualmente.

Estas vulnerabilidades de hardware, conocidas con los nombres código de “Meltdown” y “Spectre”, permitiendo a programas maliciosos el leer datos a los cuales no deberían tener acceso. Esto incluye potencialmente, credenciales, material criptográfico u otros secretos. Éstos fueron identificados originalmente por un investigador del proyecto Zero de Google, y fue descubierto de forma independiente por investigadores y académicos de Tecnología Cyverus, la Universidad de Tecnologá Graz, de la Universidad de Pennsylvania, la Universidad de Maryland, Rambus, la Universidad de Adelaida y Data61.

Estas vulnerabilidades afectan a muchas arquitecturas de CPU soportadas por FreeBSD, pero la familia x86 de 64 bit tanto de Intel como AMD son las más ampliamente usadas, y son de alta prioridad para cambios de software que mitiguen los efectos de Meltdown y Spectre. En particular con el problema de Meltdown afecta a los procesadores de Intel y puede ser usado para extraer datos secretos de un kernel en ejecuci{on, por lo tanto, es el problema más interesante a resolver.

La fundación FreeBSD colabora con Intel, y bajo esta relación participó en una reunión para conocer los detalles de este problema y planear la forma de mitigación a aplicar en la arquitectura x86 soportada por FreeBSD. Se hicieron arreglos por parte del oficial de seguridad de FreeBSD para realizar una reunión para discutir este asunto. Debemos agradecer a todos nuestros donantes que gracias a ellos tenemos los recursos necesarios para poder enfrentar este tipo de problemas sobre demanda cuando surgen.

El miembro del staff de la Fundación FreeBSD Konstantin (Kostik) Belousov es un experto en el sistema de Memoria Virtual (VM) de FreeBSD así como de los detalles de bajo nivel de la arquitectura x86, y esta desarrollando la mitigación del kernel x86 para FreeBSD.

La mitigación para Meltdown es conocido como Page Table Isolation - (Aislamiento de Tabla de Pagina) (PTI). Kostik creó una implementación PTI la cual fue consolidada inicialmente a mediados de Enero y esta disponible en el repositorio de desarrollo de FreeBSD-CURRENT. Esta es la misma aproximación usada en el kernel de Linux para mitigar Meltdown.

Una de las desventajas de la mitigación con PTI es que incurre en una penalización en el rendimiento. Kostik retrabajo recientemente el uso de FreeBSD de los identificadores de Contexto-de-proceso (PCID) con el fin de poder recuperar algo del rendimiento perdido que se incurrió por parte de PTI. Este cambio también esta disponible en FreeBSD-CURRENT.

El problema conocido como Spectre vienen en 2 variantes, y la variante 2 es la mas problemática y la que ejerce mñas presión. Ésta puede ser mitigada en una de dos maneras: por medio de usar una técnica llamada “retpoline” en el compilador, o por medio de usar la característica de CPU introducida en una actualización del microcódigo del procesador. Ambas opciones se encuentran bajo desarrollo activo. Los cambios deKostik de implementar una mitigación basada en el CPU se encuentra en revisión actualmente. Desafortunadamente, esto introduce una penalización significativa en el rendimiento general y se prefieren alternativas, en caso de que éstas esten disponibles.

Para la mayortía de los escenarios, la mitigación por medio del retpoline basado en el compilador es la mitigación que más se puede preferir y que será implementada. Habiendo cambiado al compilador Clang para el sistema base y para la mayoría de los ports hace algunos años, FreeBSD esta bien posicionado para desplegar mitigaciones basadas en Clang.

El desarrollador de FreeBSD Dimitry Andric esta impulsando la actualización de Clang/LLVM en FreeBSD rumbo a la versión 6.0 anticipandose a su liberación oficial; FreeBSD-CURRENT incluye ahora una instantanea provisional. Se ha estado apoyando con la importación, particularmente con respecto al enlazador lld de LLVM, y también soportará la integración de retpoline. Este soporte se espera que se fusione en FreeBSD en las próximas semanas.

Los estudiantes de apoyo de la Fundación han estado participando en la respuesta de estas vulnerabilidades. Mitchell Horne desarrolló un parche para la configuración por defecto del control de mitigación PTI, mientras que Arshan Khanifar hizo pruebas de impacto de rendimiento en lo parches de mitigación en proceso. Adicionalmente, Arshan y Mitchell cada uno desarrollo cambios a las utilerías de cadena de FreeBSD para dar soporte al juego completo de mitigaciones que serán aplicadas.

Estas mitigaciones continuarán siendo probadas, medidas en rendimiento, y refinadas en FreeBSD-CURRENT antes de fusionarlas en las ramas estables y posteriormente se harán disponibles como actualizaciones en las liberaciones de FreeBSD. Detalles de los tiempos de estas fusiones y liberaciones serán compartidas confome se vuelvan disponibles.

Se les da el reconicmiento a todos aquellos colaboradores de la comunidad de FreeBSD que han participado en el equipo de respuesta de FreeBSD contra las vulnerabilidades Meltdown y Spectre, por probar, revisar y coordinar las mitigaciones x86, por el desarrollo de mitigaciones para otras arquitecturas de procesador y por el Hipervisor Bhyve, y por trabajar en ls mitigaciones basadas en la cadena de herramientas.

Saludos a todos!

FreeBSD Rulez!

cosmicboy123 fuera!

Referencias:

https://www.freebsdfoundation.org/blog/january-2018-development-projects-update/

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!