Meltdown es una de las dos vulnerabilidades de CPU de ejecución transitoria originales (la otra es Spectre ). Meltdown afecta a los microprocesadores Intel x86 , los procesadores IBM POWER , [1] y algunos microprocesadores basados en ARM . [2] [3] [4] Permite que un proceso fraudulento lea toda la memoria , incluso cuando no esté autorizado para hacerlo.
La fusión afecta a una amplia gama de sistemas. En el momento de la divulgación (2018), esto incluía todos los dispositivos que ejecutaban cualquier versión excepto la más reciente y parcheada de iOS , [5] Linux , [6] [7] macOS , [5] o Windows . En consecuencia, muchos servidores y servicios en la nube se vieron afectados [8] , así como una posible mayoría de dispositivos inteligentes y dispositivos integrados que utilizan procesadores basados en ARM (dispositivos móviles, televisores inteligentes, impresoras y otros), incluida una amplia gama de equipos de red. Se ha evaluado que una solución alternativa puramente de software para Meltdown ralentiza las computadoras entre un 5 y un 30 por ciento en ciertas cargas de trabajo especializadas, [9] aunque las empresas responsables de la corrección de software del exploit informaron un impacto mínimo de las pruebas de referencia generales. [10]
A Meltdown se le emitió un ID de exposición y vulnerabilidad común CVE - 2017-5754, también conocido como Rogue Data Cache Load (RDCL), [3] en enero de 2018. Se reveló junto con otro exploit, Spectre , con el que comparte algunos características. Los analistas de seguridad consideran que las vulnerabilidades Meltdown y Spectre son "catastróficas". [11] [12] [13] Las vulnerabilidades son tan graves que los investigadores de seguridad inicialmente creyeron que los informes eran falsos. [14]
Se han publicado varios procedimientos para ayudar a proteger las computadoras domésticas y los dispositivos relacionados de las vulnerabilidades de seguridad Meltdown y Spectre. [15] [16] [17] [18] Los parches Meltdown pueden producir una pérdida de rendimiento. [19] [20] [21] Se ha informado que los parches de Spectre reducen significativamente el rendimiento, especialmente en computadoras más antiguas; en las plataformas Core de octava generación más nuevas (2017) , se han medido caídas de rendimiento de referencia del 2 al 14 por ciento. [22] El 18 de enero de 2018, se informaron reinicios no deseados, incluso para los chips Intel más nuevos, debido a los parches Meltdown y Spectre. [23] No obstante, según Dell : "Hasta la fecha [26 de enero de 2018] no se han reportado explotaciones en el 'mundo real' de estas vulnerabilidades [es decir, Meltdown y Spectre], aunque los investigadores han producido pruebas de conceptos". [24] [25] Dell recomendó además: "adoptar rápidamente actualizaciones de software, evitar hipervínculos y sitios web no reconocidos, no descargar archivos o aplicaciones de fuentes desconocidas... seguir protocolos de contraseña segura... [usar] software de seguridad para ayudar a proteger contra el malware (software avanzado de prevención de amenazas o antivirus)." [24] [25]
El 15 de marzo de 2018, Intel informó que rediseñaría sus CPU para ayudar a proteger contra Meltdown y las vulnerabilidades relacionadas de Spectre (especialmente Meltdown y Spectre-V2, pero no Spectre-V1), y esperaba lanzar los procesadores recientemente rediseñados más adelante en 2018. [26] [27] [28] [29] El 8 de octubre de 2018, se informó que Intel agregó mitigaciones de hardware y firmware con respecto a las vulnerabilidades Spectre y Meltdown en sus últimos procesadores . [30]
Meltdown explota una condición de carrera , inherente al diseño de muchas CPU modernas . Esto ocurre entre el acceso a la memoria y la verificación de privilegios durante el procesamiento de instrucciones . Además, combinada con un ataque de canal lateral de caché , esta vulnerabilidad permite que un proceso eluda las comprobaciones de privilegios normales que aíslan el proceso de explotación del acceso a datos pertenecientes al sistema operativo y otros procesos en ejecución. La vulnerabilidad permite que un proceso no autorizado lea datos de cualquier dirección asignada al espacio de memoria del proceso actual . Dado que la canalización de instrucciones se realiza en los procesadores afectados, los datos de una dirección no autorizada casi siempre se cargarán temporalmente en la memoria caché de la CPU durante la ejecución fuera de orden , desde donde se pueden recuperar los datos. Esto puede ocurrir incluso si la instrucción de lectura original falla debido a la verificación de privilegios o si nunca produce un resultado legible. [ cita necesaria ]
Dado que muchos sistemas operativos mapean la memoria física, los procesos del kernel y otros procesos en ejecución del espacio del usuario en el espacio de direcciones de cada proceso, Meltdown efectivamente hace posible que un proceso malicioso lea cualquier memoria física, del kernel o de otros procesos mapeados, independientemente de si debería poder hacerlo. Las defensas contra Meltdown requerirían evitar el uso de mapeo de memoria de una manera vulnerable a tales exploits (es decir, una solución basada en software) o evitar la condición de carrera subyacente (es decir, una modificación del microcódigo o ruta de ejecución de las CPU). [ cita necesaria ]
La vulnerabilidad es viable en cualquier sistema operativo en el que los datos privilegiados se asignan a la memoria virtual para procesos no privilegiados, lo que incluye muchos sistemas operativos actuales. La fusión podría afectar potencialmente a una gama más amplia de computadoras de las identificadas actualmente, ya que hay poca o ninguna variación en las familias de microprocesadores utilizadas por estas computadoras. [ cita necesaria ]
Un ataque Meltdown no se puede detectar si se lleva a cabo, ya que no deja ningún rastro en los archivos de registro tradicionales. [31] [32]
El 8 de mayo de 1995, un artículo titulado "La arquitectura del procesador Intel 80x86: obstáculos para sistemas seguros" publicado en el Simposio IEEE sobre seguridad y privacidad de 1995 advirtió contra un canal de sincronización encubierto en la memoria caché de la CPU y el búfer de traducción (TLB). [33] Este análisis se realizó bajo los auspicios del Programa de Evaluación de Productos Confiables (TPEP) de la Agencia de Seguridad Nacional .
En julio de 2012, el kernel XNU de Apple (utilizado en macOS , iOS y tvOS , entre otros) adoptó la aleatorización del diseño del espacio de direcciones del kernel (KASLR) con el lanzamiento de OS X Mountain Lion 10.8. En esencia, la base del sistema, incluidas sus extensiones del kernel ( kexts ) y zonas de memoria, se reubica aleatoriamente durante el proceso de arranque en un esfuerzo por reducir la vulnerabilidad del sistema operativo a los ataques. [34]
En marzo de 2014, el kernel de Linux adoptó KASLR para mitigar las fugas de direcciones. [35]
El 8 de agosto de 2016, Anders Fogh y Daniel Gruss presentaron "Uso de un comportamiento de CPU no documentado para ver el modo kernel y romper KASLR en el proceso" en la conferencia Black Hat 2016. [36]
El 10 de agosto de 2016, Moritz Lipp et al. de TU Graz publicó "ARMagedon: Ataques de caché en dispositivos móviles" en las actas del 25º simposio de seguridad de USENIX . Aunque se centró en ARM, sentó las bases para el vector de ataque. [37]
El 27 de diciembre de 2016, en 33C3 , Clémentine Maurice y Moritz Lipp de TU Graz presentaron su charla "¿Qué podría salir mal con <insertar instrucción x86 aquí>? Los efectos secundarios incluyen ataques de canal lateral y eludir el kernel ASLR", que ya describió lo que era próximo. [38]
El 1 de febrero de 2017, se asignaron a Intel los números CVE 2017-5715, 2017-5753 y 2017-5754.
El 27 de febrero de 2017, Bosman et al. de Vrije Universiteit Amsterdam publicaron sus hallazgos sobre cómo se podría abusar de la aleatorización del diseño del espacio de direcciones (ASLR) en arquitecturas basadas en caché en el Simposio NDSS. [39]
El 27 de marzo de 2017, investigadores de la Universidad Tecnológica de Graz en Austria desarrollaron una prueba de concepto que podría obtener claves RSA de enclaves Intel SGX que se ejecutan en el mismo sistema en cinco minutos mediante el uso de ciertas instrucciones de la CPU en lugar de un temporizador detallado. para explotar los canales laterales de caché DRAM . [40]
En junio de 2017, se descubrió que KASLR tenía una gran clase de nuevas vulnerabilidades. [41] La investigación de la Universidad Tecnológica de Graz mostró cómo resolver estas vulnerabilidades impidiendo todo acceso a páginas no autorizadas. [42] Se presentó una presentación sobre la técnica KAISER resultante para el congreso Black Hat en julio de 2017, pero fue rechazada por los organizadores. [43] Sin embargo, este trabajo condujo al aislamiento de la tabla de páginas del kernel (KPTI, originalmente conocido como KAISER) en 2017, que se confirmó que elimina una gran clase de errores de seguridad, incluida cierta protección limitada contra Meltdown aún no descubierto: un hecho confirmado por los autores de Meltdown. [44]
En julio de 2017, una investigación hecha pública en el sitio web CyberWTF por el investigador de seguridad Anders Fogh describió el uso de un ataque de sincronización de caché para leer datos del espacio del kernel mediante la observación de los resultados de operaciones especulativas condicionadas a datos obtenidos con privilegios no válidos. [45]
Meltdown fue descubierto de forma independiente por Jann Horn del Proyecto Cero de Google , Werner Haas y Thomas Prescher de Cyberus Technology, y Daniel Gruss, Moritz Lipp, Stefan Mangard y Michael Schwarz de la Universidad Tecnológica de Graz . [46] Los mismos equipos de investigación que descubrieron Meltdown también descubrieron Spectre.
En octubre de 2017, se agregó soporte Kernel ASLR en amd64 a NetBSD-current, lo que convierte a NetBSD en el primer sistema BSD de código abierto totalmente compatible con la aleatorización del diseño del espacio de direcciones del kernel (KASLR). [47] Sin embargo, Apple Darwin [48] de código parcialmente abierto , que forma la base de macOS e iOS (entre otros), se basa en FreeBSD ; KASLR se agregó a su kernel XNU en 2012 como se indicó anteriormente.
El 14 de noviembre de 2017, el investigador de seguridad Alex Ionescu mencionó públicamente cambios en la nueva versión de Windows 10 que causarían cierta degradación de la velocidad sin explicar la necesidad de los cambios, solo refiriéndose a cambios similares en Linux . [49]
Después de que los proveedores de hardware y software afectados se enteraran del problema el 28 de julio de 2017, [50] las dos vulnerabilidades se hicieron públicas conjuntamente el 3 de enero de 2018, varios días antes de la fecha de lanzamiento coordinada del 9 de enero de 2018, cuando comenzaron los sitios de noticias. informar sobre confirmaciones con el kernel de Linux y correos electrónicos a su lista de correo. [9] Como resultado, los parches no estaban disponibles para algunas plataformas, como Ubuntu , [51] cuando se revelaron las vulnerabilidades.
El 28 de enero de 2018, se informó que Intel había compartido noticias sobre las vulnerabilidades de seguridad de Meltdown y Spectre con empresas de tecnología chinas antes de notificar las fallas al gobierno de EE. UU. [52]
La vulnerabilidad de seguridad se llamó Meltdown porque "la vulnerabilidad básicamente derrite los límites de seguridad que normalmente impone el hardware". [31]
El 8 de octubre de 2018, se informó que Intel había agregado mitigaciones de hardware y firmware con respecto a las vulnerabilidades Spectre y Meltdown en sus últimos procesadores. [30]
En noviembre de 2018 se revelaron dos nuevas variantes de los ataques. Los investigadores intentaron comprometer los mecanismos de protección de la CPU utilizando código para explotar las debilidades en la protección de la memoria y las BOUND
instrucciones. También intentaron, pero no lograron, explotar las operaciones de la CPU para alineación de memoria, división por cero, modos de supervisor, límites de segmentos, códigos de operación no válidos y código no ejecutable. [53]
Meltdown [44] se basa en una condición de carrera de la CPU que puede surgir entre la ejecución de instrucciones y la verificación de privilegios. En pocas palabras, la ejecución de la instrucción deja efectos secundarios que constituyen información que la verificación de privilegios no oculta al proceso. El proceso que lleva a cabo Meltdown utiliza estos efectos secundarios para inferir los valores de los datos asignados en la memoria , sin pasar por la verificación de privilegios. A continuación se proporciona una descripción general del exploit y el mapeo de memoria que es su objetivo. El ataque se describe en términos de un procesador Intel que ejecuta Microsoft Windows o Linux , los principales objetivos de prueba utilizados en el documento original, pero también afecta a otros procesadores y sistemas operativos, incluidos macOS (también conocido como OS X), iOS y Android . [44]
Los procesadores de computadora modernos utilizan una variedad de técnicas para lograr altos niveles de eficiencia. Cuatro características ampliamente utilizadas son particularmente relevantes para Meltdown:
Una computadora moderna suele ejecutar muchos procesos en paralelo. En un sistema operativo como Windows o Linux , a cada proceso se le da la impresión de que es el único que tiene uso completo de la memoria física del ordenador , y puede hacer con ella lo que quiera. En realidad, se le asignará memoria para usar desde la memoria física, que actúa como un "grupo" de memoria disponible, cuando intenta usar por primera vez una dirección de memoria determinada (al intentar leerla o escribirla). Esto permite que múltiples procesos, incluido el núcleo o el propio sistema operativo , cohabiten en el mismo sistema, pero conserven su actividad e integridad individuales sin verse afectados por otros procesos en ejecución y sin ser vulnerables a interferencias o fugas de datos no autorizadas causadas por un proceso canalla.
Como la memoria virtual permite que una computadora utilice mucha más memoria de la que jamás podrá contener físicamente, el sistema puede acelerarse enormemente "mapeando" cada proceso y su memoria en uso (de hecho, toda la memoria de todos los procesos activos) en cada memoria virtual del proceso. En algunos sistemas, toda la memoria física también está asignada para mayor velocidad y eficiencia. Esto generalmente se considera seguro, porque el sistema operativo puede confiar en controles de privilegios integrados en el propio procesador, para limitar a qué áreas de memoria se le permite acceder a un proceso determinado. Un intento de acceder a la memoria autorizada tendrá éxito inmediatamente, y un intento de acceder a la memoria no autorizada provocará una excepción y anulará la instrucción de lectura, que fallará. El proceso de llamada o el sistema operativo dirigen lo que sucederá si se intenta leer desde una memoria no autorizada; por lo general, provoca una condición de error y el proceso que intentó ejecutar la lectura finalizará. Como las lecturas no autorizadas generalmente no forman parte de la ejecución normal del programa, es mucho más rápido utilizar este enfoque que pausar el proceso cada vez que ejecuta alguna función que requiere acceso a memoria privilegiada, para permitir que esa memoria se asigne a una dirección legible. espacio.
Los procesadores modernos suelen contener numerosas unidades de ejecución independientes y un programador que decodifica instrucciones y decide, en el momento de su ejecución, la forma más eficiente de ejecutarlas. Esto podría implicar la decisión de que dos instrucciones se pueden ejecutar al mismo tiempo, o incluso fuera de orden, en diferentes unidades de ejecución (lo que se conoce como "canalización de instrucciones"). Siempre que se logre el resultado correcto, esto maximiza la eficiencia al mantener en uso todas las unidades de ejecución del procesador tanto como sea posible. Algunas instrucciones, como las ramas condicionales , conducirán a uno de dos resultados diferentes, según la condición. Por ejemplo, si un valor es 0, realizará una acción y, en caso contrario, realizará una acción diferente. En algunos casos, es posible que la CPU aún no sepa qué rama tomar. Esto puede deberse a que un valor no está almacenado en caché. En lugar de esperar a aprender la opción correcta, la CPU puede proceder inmediatamente (ejecución especulativa). Si es así, puede adivinar la opción correcta (ejecución predictiva) o incluso elegir ambas (ejecución ansiosa). Si ejecuta la opción incorrecta, la CPU intentará descartar todos los efectos de su suposición incorrecta.
Desde la perspectiva de una CPU, el acceso a la memoria física de la computadora es lento. Además, las instrucciones que ejecuta una CPU suelen ser repetitivas o acceden a la misma memoria o a una similar varias veces. Para maximizar el uso eficiente de los recursos de la CPU, las CPU modernas suelen tener una cantidad modesta de memoria en el chip muy rápida, conocida como caché de la CPU . Cuando se accede a datos o se lee una instrucción de la memoria física, al mismo tiempo se guarda rutinariamente una copia de esa información en la memoria caché de la CPU. Si más tarde la CPU vuelve a necesitar la misma instrucción o contenido de la memoria, puede obtenerla con un retraso mínimo de su propia caché en lugar de esperar a que se realice una solicitud relacionada con la memoria física.
Normalmente, los mecanismos descritos anteriormente se consideran seguros. Proporcionan la base para la mayoría de los procesadores y sistemas operativos modernos. Meltdown aprovecha la forma en que interactúan estas características para eludir los controles de privilegios fundamentales de la CPU y acceder a datos confidenciales y privilegiados del sistema operativo y otros procesos. Para comprender Meltdown, considere los datos asignados en la memoria virtual (a muchos de los cuales se supone que el proceso no puede acceder) y cómo responde la CPU cuando un proceso intenta acceder a la memoria no autorizada. El proceso se ejecuta en una versión vulnerable de Windows , Linux o macOS , en un procesador de 64 bits de un tipo vulnerable. [44] Esta es una combinación muy común en casi todas las computadoras de escritorio, portátiles, portátiles, servidores y dispositivos móviles.
Meltdown utiliza esta técnica en secuencia para leer cada dirección de interés a alta velocidad y, dependiendo de otros procesos en ejecución, el resultado puede contener contraseñas, datos de cifrado y cualquier otra información confidencial, de cualquier dirección de cualquier proceso que exista en su mapa de memoria. . En la práctica, debido a que los ataques de canal lateral de caché son lentos, es más rápido extraer datos un bit a la vez (sólo se necesitan 2 × 8 = 16 ataques de caché para leer un byte, en lugar de 256 pasos si se intentara leer los 8 bits). En seguida).
El impacto de Meltdown depende del diseño de la CPU, el diseño del sistema operativo (específicamente cómo utiliza la paginación de memoria) y la capacidad de una parte malintencionada para ejecutar cualquier código en ese sistema, así como el valor de cualquier código. datos que podría leer si pudiera ejecutarse.
El impacto específico depende de la implementación del mecanismo de traducción de direcciones en el sistema operativo y la arquitectura de hardware subyacente. El ataque puede revelar el contenido de cualquier memoria asignada a un espacio de direcciones de usuario, incluso si está protegida de otro modo. Por ejemplo, antes de que se introdujera el aislamiento de la tabla de páginas del kernel , la mayoría de las versiones de Linux asignaban toda la memoria física al espacio de direcciones de cada proceso del espacio de usuario; las direcciones asignadas están (en su mayoría) protegidas, lo que las hace ilegibles desde el espacio del usuario y accesibles solo cuando se realizan la transición al kernel. La existencia de estas asignaciones hace que la transición hacia y desde el kernel sea más rápida, pero no es segura en presencia de la vulnerabilidad Meltdown, ya que el contenido de toda la memoria física (que puede contener información confidencial como contraseñas que pertenecen a otros procesos o al kernel) puede luego puede obtenerse mediante el método anterior mediante cualquier proceso sin privilegios desde el espacio de usuario.
Según los investigadores, "todos los procesadores Intel que implementan una ejecución fuera de orden están potencialmente afectados, lo que en realidad es todos los procesadores desde 1995 (excepto Intel Itanium e Intel Atom antes de 2013)". [46] Intel respondió a las vulnerabilidades de seguridad reportadas con una declaración oficial. [57]
Se espera que la vulnerabilidad afecte a los principales proveedores de nube , como Amazon Web Services (AWS) [58] y Google Cloud Platform . Los proveedores de la nube permiten a los usuarios ejecutar programas en los mismos servidores físicos donde se pueden almacenar datos confidenciales y dependen de las protecciones proporcionadas por la CPU para evitar el acceso no autorizado a las ubicaciones de memoria privilegiadas donde se almacenan esos datos, una característica que el exploit Meltdown evita.
El artículo original informa que la paravirtualización ( Xen ) y contenedores como Docker , LXC y OpenVZ se ven afectados. [54] [44] Informan que el ataque a una máquina totalmente virtualizada permite que el espacio del usuario invitado lea desde la memoria del kernel invitado, pero no lea desde el espacio del kernel del host.
La vulnerabilidad Meltdown afecta principalmente a los microprocesadores Intel , [59] pero los microprocesadores ARM Cortex-A75 [60] y IBM's Power [1] también se ven afectados. La vulnerabilidad no afecta a los microprocesadores AMD . [20] [61] [62] [63] Cuando el efecto de Meltdown se hizo público por primera vez, Intel respondió que las fallas afectan a todos los procesadores, [64] pero AMD lo negó, diciendo "creemos que los procesadores AMD no son susceptibles debido a nuestro uso de protecciones de nivel de privilegio dentro de la arquitectura de paginación". [sesenta y cinco]
Los investigadores han indicado que la vulnerabilidad Meltdown es exclusiva de los procesadores Intel, mientras que la vulnerabilidad Spectre posiblemente pueda afectar a algunos procesadores Intel , AMD y ARM . [66] [67] [68] [69] Sin embargo, ARM anunció que algunos de sus procesadores eran vulnerables a Meltdown. [60] Google ha informado que cualquier procesador Intel desde 1995 con ejecución fuera de orden es potencialmente vulnerable a la vulnerabilidad Meltdown (esto excluye Itanium y las CPU Intel Atom anteriores a 2013 ). [70] Intel introdujo la ejecución especulativa en sus procesadores con la microarquitectura de la familia P6 de Intel con el microprocesador Pentium Pro IA-32 en 1995. [71]
ARM informó que la mayoría de sus procesadores no son vulnerables y publicó una lista de los procesadores específicos que están afectados. El núcleo ARM Cortex-A75 se ve afectado directamente por las vulnerabilidades Meltdown y Spectre, y Cortex-R7 , Cortex-R8 , Cortex-A8 , Cortex-A9 , Cortex-A15 , Cortex-A17 , Cortex-A57 , Cortex-A72 y Cortex. -Los núcleos A73 sólo se ven afectados por la vulnerabilidad Spectre. [60] Esto contradice algunas de las primeras declaraciones hechas acerca de que la vulnerabilidad Meltdown era exclusiva de Intel. [72]
Una gran parte de los teléfonos Android de gama media actuales utilizan Cortex-A53 o Cortex-A55 en una disposición de ocho núcleos y no se ven afectados por la vulnerabilidad Meltdown o Spectre, ya que no realizan ejecuciones fuera de orden. . Esto incluye dispositivos con Qualcomm Snapdragon 630, Snapdragon 626, Snapdragon 625 y todos los procesadores Snapdragon 4xx basados en núcleos A53 o A55. [73] Además, ninguna computadora Raspberry Pi es vulnerable a Meltdown o Spectre, excepto la recién lanzada Raspberry Pi 4, que utiliza la CPU ARM Cortex-A72. [74]
IBM también ha confirmado que sus CPU Power se ven afectadas por ambos ataques a la CPU. [1] Red Hat ha anunciado públicamente que los exploits también son para los sistemas IBM System Z , POWER8 y POWER9 . [75]
Oracle ha declarado que los sistemas SPARC basados en V9 (procesadores T5, M5, M6, S7, M7, M8, M10, M12) no se ven afectados por Meltdown, aunque los procesadores SPARC más antiguos que ya no son compatibles pueden verse afectados. [76]
La mitigación de la vulnerabilidad requiere cambios en el código del kernel del sistema operativo, incluido un mayor aislamiento de la memoria del kernel de los procesos en modo de usuario. [4] Los desarrolladores del kernel de Linux se han referido a esta medida como aislamiento de la tabla de páginas del kernel (KPTI). Los parches KPTI se desarrollaron para el kernel de Linux 4.15 y se lanzaron como backport en los kernels 4.14.11, 4.9.75. [77] [78] [79] [80] Red Hat lanzó actualizaciones del kernel para sus distribuciones Red Hat Enterprise Linux versión 6 [81] y versión 7. [82] CentOS también lanzó sus actualizaciones del kernel para CentOS 6 [83] y CentOS 7. [84]
Apple incluyó mitigaciones en macOS 10.13.2, iOS 11.2 y tvOS 11.2. Estos se publicaron un mes antes de que se hicieran públicas las vulnerabilidades. [85] [86] [87] [88] Apple ha declarado que watchOS y Apple Watch no se ven afectados. [89] Se incluyeron mitigaciones adicionales en una actualización de Safari, así como en una actualización complementaria para macOS 10.13 y iOS 11.2.2. [90] [91] [92] [93] [94]
Microsoft lanzó una actualización de emergencia para Windows 10 , 8.1 y 7 SP1 para abordar la vulnerabilidad el 3 de enero de 2018, [95] [96] [97] así como para Windows Server (incluidos Server 2008 R2 , Server 2012 R2 y Server 2016) . ) y Windows Embedded Industry . [98] Estos parches son incompatibles con software antivirus de terceros que utilizan llamadas al kernel no compatibles; Los sistemas que ejecutan software antivirus incompatible no recibirán esta ni ninguna actualización futura de seguridad de Windows hasta que se parchee, y el software agrega una clave de registro especial que afirma su compatibilidad. [99] [100] [101] Se descubrió que la actualización había causado problemas en sistemas que ejecutaban ciertas CPU AMD, y algunos usuarios informaron que sus instalaciones de Windows no se iniciaron en absoluto después de la instalación. El 9 de enero de 2018, Microsoft detuvo la distribución de la actualización a los sistemas con CPU afectadas mientras investigaba y solucionaba este error. [99]
Se informó que la implementación de KPTI puede conducir a una reducción en el rendimiento de la CPU, y algunos investigadores afirman que se pierde hasta un 30% de rendimiento, dependiendo del uso, aunque Intel consideró que esto era una exageración. [19] Se informó que las generaciones de procesadores Intel que admiten identificadores de contexto de proceso (PCID), una característica introducida con Westmere [102] y disponible en todos los chips desde la arquitectura Haswell en adelante, no eran tan susceptibles a pérdidas de rendimiento bajo KPTI como las anteriores. generaciones que carecen de ella. [103] [104] Esto se debe a que el vaciado selectivo del buffer de traducción (TLB) habilitado por PCID (también llamado número de espacio de direcciones o ASN en la arquitectura Alpha) permite aislar el comportamiento TLB compartido crucial para el exploit entre procesos, sin vaciar constantemente todo el caché, la razón principal del costo de la mitigación.
Una declaración de Intel decía que "cualquier impacto en el rendimiento depende de la carga de trabajo y, para el usuario promedio de computadora, no debería ser significativo y se mitigará con el tiempo". [21] [20] Phoronix comparó varios juegos de PC populares en un sistema Linux con la CPU Intel Coffee Lake Core i7-8700K y parches KPTI instalados, y descubrió que cualquier impacto en el rendimiento era pequeño o inexistente. [62] En otras pruebas, incluidas pruebas comparativas de E/S sintéticas y bases de datos como PostgreSQL y Redis , se encontró un impacto en el rendimiento, que representa incluso decenas de por ciento para algunas cargas de trabajo. [105] Más recientemente, se han informado pruebas relacionadas, que involucran las CPU FX de AMD y Sandybridge e Ivybridge de Intel . [106]
Se han publicado varios procedimientos para ayudar a proteger las computadoras domésticas y los dispositivos relacionados de las vulnerabilidades de seguridad Meltdown y Spectre. [15] [16] [17] [18] Los parches Meltdown pueden producir una pérdida de rendimiento. [19] [20] [21] El 18 de enero de 2018, se informaron reinicios no deseados, incluso para los chips Intel más nuevos, debido a los parches Meltdown y Spectre. [23] Según Dell : "Hasta la fecha [26 de enero de 2018] no se han reportado explotaciones en el 'mundo real' de estas vulnerabilidades [es decir, Meltdown y Spectre], aunque los investigadores han producido pruebas de conceptos". [24] [25] Además, las prevenciones recomendadas incluyen: "adoptar rápidamente actualizaciones de software, evitar hipervínculos y sitios web no reconocidos, no descargar archivos o aplicaciones de fuentes desconocidas... seguir protocolos de contraseña segura... [usar] software de seguridad para ayudar a proteger contra malware (software avanzado de prevención de amenazas o antivirus)". [24] [25]
El 25 de enero de 2018 se presentó el estado actual y las posibles consideraciones futuras para resolver las vulnerabilidades de Meltdown y Spectre. [107] En marzo de 2018, Intel anunció que había diseñado correcciones de hardware para procesadores futuros solo para Meltdown y Spectre-V2, pero no para Spectre-V1. Las vulnerabilidades fueron mitigadas por un nuevo sistema de partición que mejora la separación de procesos y niveles de privilegios. La compañía también anunció que había desarrollado soluciones alternativas de Intel Microcode para procesadores que se remontan a 2013, y que tenía planes de desarrollarlas para la mayoría de los procesadores que se remontan a 2007, incluido el Core 2 Duo ; [28] [29] sin embargo, un mes después, en abril de 2018, anunció que estaba dando marcha atrás en ese plan para varias familias de procesadores y que ningún procesador anterior a 2008 tendría un parche disponible. [108]
El 8 de octubre de 2018, se informó que Intel había agregado mitigaciones de hardware y firmware con respecto a las vulnerabilidades Spectre y Meltdown en sus últimos procesadores. [30]
{{cite journal}}
: Citar diario requiere |journal=
( ayuda )A menos que su producto permita ejecutar aplicaciones WEB o de terceros, creemos que el dispositivo no está expuesto a exploits.