Cada vez que ustedapaga tu mac, aparece una ventana emergente: «¿Estás seguro de que quieres apagar tu computadora ahora?» Debajo del indicador hay otra opción que la mayoría de nosotros probablemente pasamos por alto: la opción de reabrir las aplicaciones y ventanas que tiene abiertas ahora cuando su máquina se vuelve a encender. Los investigadores ahora han encontrado una manera de explotar una vulnerabilidad en esta función de «estado guardado» y se puede usar para romper las capas clave de las protecciones de seguridad de Apple.
La vulnerabilidad, que es susceptible a un ataque de inyección de proceso para romper la seguridad de macOS, podría permitir que un atacante lea todos los archivos en una Mac o tome el control de la cámara web, dice Thijs Alkemade, investigador de seguridad de la firma de ciberseguridad con sede en los Países Bajos Computest que encontró la falla. “Es básicamente una vulnerabilidad que podría aplicarse a tres ubicaciones diferentes”, dice.
Después de implementar el ataque inicial contra la función de estado guardado, Alkemade pudo moverse a través de otras partes del ecosistema de Apple: primero escapó del entorno limitado de macOS, que está diseñado para limitar los hackeos exitosos a una aplicación, y luego omitió la Protección de integridad del sistema (SIP). ), Una defensa clave diseñada para evitar que el código autorizado acceda a archivos confidenciales en una Mac.
Alkemade, que presentará el trabajo en la conferencia Black Hat en Las Vegas esta semana, encontró la vulnerabilidad por primera vez en diciembre de 2020 e informó el problema a Apple a través de su esquema de recompensas por errores. Le pagaron una recompensa «bastante agradable» por la investigación, dice, aunque se niega a detallar cuánto. Desde entonces, Apple ha publicado dos actualizaciones para corregir la falla, primero en abril de 2021 y nuevamente en octubre de 2021.
Cuando se le preguntó sobre la falla, Apple dijo que no tenía ningún comentario antes de la presentación de Alkemade. Las dos actualizaciones públicas de la compañía sobre la vulnerabilidad no tienen detalles, pero dicen que los problemas podrían permitir que las aplicaciones maliciosas filtren información confidencial del usuario y aumenten los privilegios para que un atacante se mueva a través de un sistema.
Los cambios de Apple también se pueden ver en Xcode, el espacio de trabajo de desarrollo de la compañía para creadores de aplicaciones, dice una publicación de blog que describe el ataque de Alkemade. El investigador dice que si bien Apple solucionó el problema para las Mac que ejecutan el sistema operativo Monterey, que se lanzó en octubre de 2021, las versiones anteriores de macOS aún son vulnerables al ataque.
Hay varios pasos para lanzar con éxito el ataque, pero fundamentalmente vuelven a la vulnerabilidad de inyección del proceso inicial. Los ataques de inyección de procesos permiten a los piratas informáticos inyectar código en un dispositivo y ejecutarlo de una manera diferente a la que se pretendía originalmente.
Los ataques no son raros. “A menudo es posible encontrar la vulnerabilidad de inyección de proceso en una aplicación específica”, dice Alkemade. “Pero tener uno que sea tan universalmente aplicable es un hallazgo muy raro”, dice.
La vulnerabilidad que encontró Alkemade está en un objeto «serializado» en el sistema de estado guardado, que guarda las aplicaciones y ventanas que tiene abiertas cuando apaga una Mac. Este sistema de estado guardado también puede ejecutarse mientras se usa una Mac, en un proceso llamado App Nap.
Cuando se inicia una aplicación, dice Alkemade, lee algunos archivos e intenta cargarlos usando una versión insegura del objeto «serializado». “En todos los sistemas operativos de Apple, estos objetos serializados se utilizan en todas partes, a menudo para el intercambio de datos entre procesos”, escribe el investigador en la publicación del blog que describe el ataque. “La forma en que funciona el ataque es que puedes crear esos archivos en el lugar desde donde los cargará otra aplicación”, dice Alkemade. Esencialmente, se crea un «objeto serializado» malicioso y puede hacer que el sistema se comporte de formas que no debería.
A partir de aquí, Alkemade pudo escapar de la zona de pruebas de la aplicación Mac utilizando la vulnerabilidad; esta fue la primera falla que solucionó Apple. Al inyectar el código en otra aplicación, fue posible extender lo que podía hacer el ataque. Finalmente, Alkemade pudo eludir la Protección de integridad del sistema que se supone que debe evitar que el código no autorizado lea o cambie archivos confidenciales. “Básicamente podía leer todos los archivos en el disco y también modificar ciertos archivos del sistema”, dice.
No hay evidencia hasta la fecha de que la vulnerabilidad haya sido explotada en el mundo real. Sin embargo, la falla muestra cómo, en algunos casos, es posible que los atacantes se muevan a través de un sistema operativo completo, pudiendo acceder cada vez más a más datos. En la descripción de su charla, Alkemade dice que a medida que la seguridad local en macOS se mueve más hacia un modelo de iOS, esto destaca que es necesario volver a examinar varias partes del sistema.