Primera parte:
MeltdownSegunda parte:
espectroUna de las preguntas más interesantes que surgieron en las discusiones sobre las vulnerabilidades de hardware de Meltdown y Spectre (ver enlaces más arriba) fue la cuestión de si Santa Claus nos dio este regalo debido al hecho de que en 2017 nos comportamos mal, o viceversa. bueno

Trataré de corroborar la tesis de que nos portamos bien, de lo contrario, Papá Noel nos hubiera dado este regalo en tres o cuatro años.
Entonces, ¿qué tenemos? Vulnerabilidad de hardware Meltdown que permite que cualquier proceso no privilegiado lea la memoria del núcleo del sistema operativo, así como cualquier proceso que se ejecute en este sistema operativo, incluidos certificados, contraseñas, billeteras de bitcoin y todo lo que se te ocurra procesar en una computadora.
La aplicación de la vulnerabilidad no deja rastros, y el código que lo implementa generalmente no es detectado por los antivirus.
La única forma de proteger es el refinamiento urgente del núcleo del sistema operativo para separar los espacios de direcciones virtuales del proceso y el sistema operativo. En Linux, el parche correspondiente se llama KPTI, deja solo una pequeña parte del kernel en el espacio de direcciones virtuales del proceso: funciones de trampolín que, cuando acceden a ellas, se refieren a las funciones del kernel correspondientes, que ahora viven en un espacio de direcciones diferente. Gracias a esto, el parche también se llamó Kernel Completamente Desasignado con Trampolines Interrumpidos, o FUCKWIT.
La fusión es significativamente susceptible a:
- Casi todos los procesadores Intel
- El número sin nombre de procesadores Apple en el núcleo ARM
- Procesadores ARM Cortex-A75
De particular interés en nuestra relación con Santa Claus es el último artículo: Cortex-A75.
Además de la creatividad de Apple, que vive exclusivamente en dispositivos controlados por Apple, otros procesadores basados en ARM pueden estar expuestos al espectro, un exploit difícil, que de hecho ahora es peligroso solo para navegadores con ejecución JS, o similar a Meltdown, pero se conoce una vulnerabilidad muy limitada de
documentos ARM llamados "Variante 3a", que no permite leer el contenido de RAM.

En el Cortex-A75, por el momento, solo se presentan dos procesadores, en los que se representan exactamente cero dispositivos:
- Qualcomm Snapdragon 845
- Samsung Exynos 9810
Sobre el fabricante 845th declara directamente el uso del Cortex-A75, no hay información confiable sobre el 9810, sin embargo, este procesador tiene una serie de características exclusivas del A75, y también contrastará directamente el Snapdragon 845 en el Galaxy S9.
Probablemente en el futuro cercano podamos esperar modelos de desarrollo similares de Mediatek y HiSilicon.
Los dispositivos en ambos procesadores se mostrarán a fines de febrero en el MWC-2018 y sus alrededores, por supuesto, el Galaxy S9, así como los modelos insignia de otros fabricantes.
¿Qué significa esto? Una cosa muy simple: durante 2018, decenas de millones de teléfonos inteligentes y tabletas con Android propensos al ataque Meltdown aparecerán en la naturaleza. Durante 2019, este número puede superar fácilmente los cien millones.
Aunque los dispositivos del segmento medio e inferior seguirán siendo invulnerables, sus procesadores son más rentables de ensamblar a partir de núcleos Cortex-A5x baratos sin agregarles el grande y costoso Cortex-A7x, el mercado de teléfonos inteligentes caros y vulnerables será de gran interés para los piratas informáticos.
Pero, parece, ¿una simple actualización del kernel de Linux? ..
Nosotros con nuestros escritorios y servidores estamos un poco mimados por la posibilidad de actualizar el kernel. Incluso para los CentOS súper conservadores, hay tres líneas de núcleos listas para usar: la base, a largo plazo y la línea principal, por no hablar de las distribuciones de escritorio. Se busca - enrollado. Primero, una copa de brandy, luego el núcleo, o viceversa, es quién tiene la valentía.
Ahora veamos las realidades del mundo de los teléfonos inteligentes:
Modelo | El núcleo |
Galaxy S6 | 3.10.61 |
Galaxy S7 | 3.18.14 |
Galaxy S8 | 4.4.13 |
Galaxy Note 8 | 4.4.13 |
Galaxy A5 2017 | 3.18.14 |
Sony XZ Premium | 4.4.78 |
Xiaomi Mi A1 | 3.18.66 |
Xiaomi Mi 6 | 4.4.21 |
Xiaomi Mi 5 | 3.18.31 |
Redmi Note 4 (Snapdragon) | 3.18.31 |
Redmi Note 4 (MTK) | 3.18.22 |
Meizu MX6 | 3.18.22 |
HTC U11 + | 4.4.78 |
Huawei Honor 9 | 4.1.18 |
Huawei P10 | 4.1.18 |
Huawei Mate 10 Pro | 4.4.23 |
Nexus 6P | 10/03/73 |
Buen zoológico, ¿verdad?
Cada teléfono inteligente vive con el núcleo que estaba listo para cuando se lanzó al mercado. A lo largo de la vida útil de un teléfono inteligente, las actualizaciones que se reciben no cambian la versión del kernel, aunque se pueden aplicar parches adicionales al mismo kernel: si observa los parámetros del software, la fecha del ensamblaje del kernel en su teléfono inteligente probablemente corresponderá a una de las últimas actualizaciones.
La versión del kernel se debe tanto al soporte del fabricante del chipset (tenga en cuenta que Meizu en MTK Helio X20 y Xiaomi Redmi Note 4 tienen un núcleo, pero Redmi Note 4 en Snapdragon 625 tiene un núcleo diferente), así como los desarrollos propios del fabricante Un teléfono inteligente.
Esto significa que la presencia de, por ejemplo, el parche KPTI en el kernel 4.4.110 no significa que los fabricantes puedan lanzar rápidamente una actualización de Android para sus teléfonos inteligentes, lo que traerá 4.4.110 a todos sus usuarios con KPTI habilitado. No, tendrán que entretenerse mediante el respaldo del parche apropiado al kernel que realmente se usa en sus modelos, con pruebas posteriores de rendimiento y estabilidad.
Los teléfonos inteligentes en esto son similares a las distribuciones de servidores de Linux como CentOS: solo para ellos tampoco hay un repositorio de terceros con kernel-lt y kernel-ml.
Por el momento, sin embargo, solo tenemos dos procesadores ARM propensos a Meltdown, sin contar los productos de Apple, que se utilizarán en un número limitado de modelos de teléfonos inteligentes durante los próximos seis meses, y el firmware de estos teléfonos inteligentes se basará en uno de los núcleos más o menos recientes de la serie 4.4, en cuál parche KPTI es al menos teóricamente.
Ahora imagine lo que sucedería si Meltdown fuera descubierto no ahora, sino después de dos o tres años. Cientos de millones de dispositivos (y no solo teléfonos inteligentes y tabletas) que usan docenas de opciones de kernel de las series 4.4 y 4.9, cada uno con su propio conjunto de parches, el desarrollo principal de Linux va alrededor de 4.20 ...
Presentado?
Gracias, abuelo Frost, por darnos Meltdown antes de que pudieran infectar a toda la industria móvil.
Prometemos comportarnos bien en 2018 también.
PD: Todo esto no significa en absoluto que los fabricantes de teléfonos inteligentes lanzarán los primeros modelos del Cortex-A75 con KPTI habilitado.