Investigadores De Seguridad Descubren Como Mitigar Las Restricciones Impuestas Tras Los Ataques De Spectre En Linux
Tenemos un nuevo capítulo de Spectre, la famosa vulnerabilidad de los procesadores que se basa en engañar al sistema de predicción de saltos, para que en una estructura condicional tipo ‘if’ salte a la rama equivocada y la ejecución especulativa deje huellas en la caché, o dicho de otra forma, permiten que el código malintencionado lea la memoria para la que normalmente no tendría permiso, como ya hemos hablado desde unaaldia de esta vulnerabilidad que apareció en 2018 y en más de una ocasión de sus pocs y exploits más modernos. Los ataques también podrían iniciarse de forma remota a través de sitios web fraudulentos que ejecutan código JavaScript malicioso.
Tras la aparición de Spectre en 2018, se han ideado contramedidas de aislamiento y los proveedores de navegadores han incorporado defensas para ofrecer protección contra los ataques de sincronización al reducir la precisión de las funciones de medición del tiempo, las mitigaciones se han producido a nivel de sistema operativo, ya que a nivel de hardware es imposible la solución. Las nuevas vulnerabilidades descubiertas por Symantec tienen como objetivo sortear estas mitigaciones en Linux aprovechando el soporte del kernel para los filtros de paquetes Berkeley extendidos, para extraer el contenido de la memoria del kernel. Específicamente, se descubrió que el kernel («kernel / bpf / verifier.c») realiza especulaciones indeseables fuera de los límites en aritmética de punteros, derribando así las correcciones para Spectre y abriendo la puerta a ataques de canal lateral.
«Los programas BPF sin privilegios que se ejecutan en los sistemas afectados podrían evitar las mitigaciones de Spectre y ejecutar cargas especulativas fuera de los límites sin restricciones. Esto luego podría abusarse para revelar el contenido de la memoria a través de canales laterales».
«Los errores también podrían potencialmente ser explotados si un actor malintencionado pudiera obtener acceso a una máquina explotable a través de un paso previo, como descargar malware en la máquina para lograr el acceso remoto, esto podría permitirles aprovechar estas vulnerabilidades para obtener acceso a todos los perfiles de usuario de la máquina incluyendo root «
Publica Symantec
Los nuevos fallos han sido descubiertas por Piotr Krysiuk miemblo del equipo Threat Hunter de Symantec, los fallos afectan a todas las versiones del kernel de Linux anteriores a 5.11.8. La vulnerabilidad CVE-2020-27170 puede ser utilizada para revelar contenido desde cualquier ubicación dentro de la memoria del kernel, mientras que CVE-2020-27171 se puede usar para recuperar datos de un rango de 4GB de memoria del kernel. En un escenario del mundo real, los usuarios sin privilegios podrían aprovechar estas debilidades para obtener acceso a secretos de otros usuarios que comparten la misma máquina vulnerable.
La noticia de estas vulnerabilidades se produce tan solo unas semanas después de que Google publicara una prueba de concepto escrita en JavaScript para explotar Spectre en un navegador web y filtrar datos a una velocidad de 1 kilobyte por segundo, cuando se ejecuta en ‘Chrome. 88’ en una CPU Intel Skylake. Quedando latente que pese a las mitigaciones, que no correcciones, Spectre sigue siendo un vector de ataque plausible.
Mitigación
Los parches para estas vulnerabilidades se publicaron por primera vez el 17 de marzo de 2021 y se incluyen en las siguientes versiones del kernel de Linux.
- Estable 5.11.8 (lanzado el 20 de marzo de 2021)
- Largo plazo 5.10.25 (publicado el 20 de marzo de 2021)
- Largo plazo 5.4.107 (publicado el 20 de marzo de 2021)
- Largo plazo 4.19.182 (publicado el 20 de marzo de 2021)
- Longterm 4.14.227 (publicado el 24 de marzo de 2021)
Más información:
Newly-Discovered Vulnerabilities Could Allow for Bypass of Spectre Mitigations in Linux https://symantec-enterprise-blogs.security.com/blogs/threat-intelligence/spectre-bypass-linux-vulnerabilities
Spectre Attacks: Exploiting Speculative Execution https://spectreattack.com/spectre.pdf
Meltdown y Spectre: Graves vulnerabilidades en los procesadores de los principales fabricantes https://unaaldia.hispasec.com/2018/01/meltdown-y-spectre-graves-vulnerabilidades-en-los-procesadores-de-los-principales-fabricantes.html
USN-4887-1: Linux kernel vulnerabilities https://ubuntu.com/security/notices/USN-4887-1
Spectre mitigations bypass in Linux kernel https://www.cybersecurity-help.cz/vdb/SB2021032922
bpf: Prohibit alu ops for pointer types not defining ptr_limit (CVE-2020-27170) https://salsa.debian.org/kernel-team/linux/-/commit/6f9d6c3b36aa0eaebcc6a4d9867002fbe7f3385f
A Spectre proof-of-concept for a Spectre-proof web https://security.googleblog.com/2021/03/a-spectre-proof-of-concept-for-spectre.html
Via: unaaldia.hispasec.com