3 ene. 2018

Vulnerabilidad en los procesadores Intel... arreglo, a costa de perder rendimiento

Según informa The Register, existe una grave vulnerabilidad en los procesadores Intel que afecta a la gestión de la memoria del procesador, algo que en Linux ya cuenta con varias soluciones, pero que afectan de manera importante al rendimiento del procesador.

Según los reportes, la falla reside en el firmware de los procesadores utilizado en la última década. El error en el núcleo del chip permitiría a un atacante tomar el control del equipo en esta instancia, sin importar el sistema operativo que se utilice en el dispositivo.

Concretamente se especula sobre una potencial vulnerabilidad en los procesadores y, el problema principal, además del propio agujero de seguridad, está en que solucionar el error requiere una importante revisión de los sistemas operativos, algo que afectaría al rendimiento de los sistemas. Este problema parece ser exclusivo de Intel, ya que los procesadores de AMD no se ven afectados por este importante fallo de seguridad afecta a todos los microprocesadores.

Ante este panorama, el planteo de Intel fue implementar un parche que afectaría la performance del procesador entre un 5 y un 30 por ciento. Esta actualización no sólo afectaría a las computadoras hogareñas, y alcanzaría a los equipos de procesamiento y almacenamiento en la nube de gigantes como Amazon, Google y Microsoft, entre otros.

Los desarrolladores del kernel de Linux han realizado cambios significativos en el subsistema de memoria virtual del kernel en las últimas semanas. Los ambos no son triviales, ya que esta parte es fundamental en el kernel de Linux y los cambios que se realizan en este punto se suelen debatir durante meses o años. Parece ser que ya se han distribuido varios parches para solventar el problema, uno de los cuales estará en la versión 4.15 del kernel de Linux, mientras que también se ha transferido a lo núcleos 4.9 y 4.14, los cuales ya han sido publicados y que están catalogados como ‘estables’. Los observadores son conscientes de que debe haber una razón válida para este ajetreo en unas fechas tan señaladas.

Según informes recientes, los parches evitan la explotación de una vulnerabilidad de seguridad masiva en todos los procesadores de Intel. Aparentemente, un proceso puede hacer que una CPU de Intel explote por error de hardware, la carga de áreas de almacenamiento y luego permite el acceso sin más pruebas, sin que el proceso tenga los derechos necesarios. Esto permite que un proceso sin privilegios acceda a la memoria del núcleo, que puede contender datos confidenciales. Esto es especialmente precario para los proveedores de servicios en la nube, como Amazon y Google, que desean evitar el corte de las máquinas virtuales. Además, la técnica de seguridad utilizada como ‘Defense in Depth’ (defensa en profundidad o defensa profunda), podría ser de tipo Address Space Layout Randomization en el kernel de Linux.

Los desarrolladores de Linux han desarrollado una solución para este problema, denominada (KPTI -formalmente KAISER-, que asegura el área de memoria del kernel, que ya no está asignada a la zona de almacenamiento de procesos. Con KPTI, un proceso solo ve su propia área de almacenamiento. El espacio de memoria del kernel es simplemente invisible para él, por lo que una verificación de acceso aparentemente fácil de manejar ya no juega ningún papel.

El trabajo del núcleo, es ver los espacios libres de memoria y comparar estas direcciones virtuales en tiempo de ejecución de un proceso para traducir direcciones físicas. Por lo tanto, varios procesos de ejecución se pueden ejecutar al mismo tiempo sin entrar en el bloque sin leer o escribir las áreas de memoria de otro bloque. Para verificar que esta abstracción no afecta al rendimiento negativamente, cada CPU tiene su propia caché especial, denominada Translation Lookside Buffer (TLB), que acelera la traducción de una dirección lógica a una dirección física.

Pese a que KPTI suena como una solución simple, tiene un problema ye es que si la memoria del núcleo no está asignada al espacio de dirección del proceso, cada llamada requiere una función proporcionada por el núcleo o llamada al sistema y vaciar el buffer, algo que impacta en el rendimiento. El lavar el TLB, solo se hace durante el cambio de proceso, es decir, cuando el kernel pausa un proceso cada pocos milisegundos y continua ejecutando el siguiente proceso. Además, con KPTI, el TLB se debe vaciar antes y después de cada syscall. La degradación del rendimiento, por tanto, depende de la frecuencia con que un proceso utilice las llamadas al sistema. Los desarrolladores de Linux esperan que KPTI afecte en torno a un 5% en el rendimiento, pero en algunos casos se puede ir casi al 50%.

Debemos sumar a esto otro problema y es que la implementación de KPTI en un sistema AMD, que no cuenta con esta brecha de seguridad, es un elemento superfluo y que solo influye en reducir el rendimiento de estos procesadores. Lógicamente, se espera que el impacto sea menor que en los procesadores Intel, pero también se podrían dar casos de perdida de rendimiento en puntos de referencia menos específicos, por lo que las perdidas, de darse, serán menos significativas o apenas mesurables en los procesadores de AMD.

Independientemente del sistema operativo, el error está ahí porque es debido a los procesadores de Intel y por lo tanto son los sistemas operativos Linux, Windows y macOS, entre otros sistemas operativos, los que deben corregir el problema. En Linux ya hay soluciones, gracias a que es de código abierto, pero para Windows no, aunque en Microsoft están trabajando duramente para implementar algo similar a lo implementado en Linux, para esta vulnerabilidad que se detectó a mediados de noviembre.

Actualización: no solo Intel

El reporte parecía estar limitado a los chips de Intel pero ahora se ha confirmado que alcanza al resto de los fabricantes y diseñadores de procesadores como su competidor AMD y ARM, la firma bajo el mando de Softbank responsable de los diseños utilizados por casi todos los smartphones, tabletas y dispositivos móviles del mercado.

Según Intel, esta vulnerabilidad no es exclusiva en su línea de procesadores y también afecta a diversos fabricantes y diseñadores de procesadores, como AMD y ARM. A su vez, anunció el trabajo en conjunto con la industria tecnológica para desarrollar las actualizaciones correspondientes para reparar la falla, de acuerdo a un comunicado publicado por el sitio Axios.

El fallo alcanza a los procesadores Cortex-A, que quedarían expuestos ante un potencial ataque con malware que podría tener acceso a datos personales, aunque esta vulnerabilidad no alcanza a los modelos Cortex-M utilizados en Internet de las Cosas, según ARM en declaraciones al sitio Axios.
Ya se han desarrollado posibles ataques, conocidos con el nombre de MeltdownAttack [PDF] (CVE-2017-5754) y Spectre [PDF] (CVE-2017-5753 y CVE-2017-5715). Más información en el post de Google.

Fuente: Hardware Esfera

0 comentarios:

Publicar un comentario

Gracias por dejar un comentario en Segu-Info
Si vas a dejar una consulta, procura tener habilitado tu perfil en Blogger o deja una forma de contacto.

Gracias por comentar!