Google Project Zero es un departamento de seguridad informática de Google que se encarga de buscar fallos de seguridad en sus propios productos o incluso otros fabricados por otras firmas que tengan alguna relación con ellos. Cuando se encuentra un fallo o vulnerabilidad de software, primero se se comunica a nivel privado al afectado dándole 90 días para solucionarlo. Si el plazo expira, entonces se publica. Justo lo que ha pasado en este caso con Apple.
Project Zero ha encontrado (y publicado incluso una PoC) que si una imagen de sistema de ficheros (filesystem) de macOS propiedad de un usuario es modificada, el gestor de la memoria virtual no es informado de dicho cambio, lo que significa que un atacante podría realizar algún tipo de acción sobre dicho sistema de ficheros sin que este lo notara. Resumiendo mucho, el kernel de macOS XNU, permite realizar Copy-On-Write (COW, una técnica de optimización que en principio no es peligrosa, pero recordemos el famoso caso Dirty COW). Vamos a ver un poco más a nivel técnico donde radica entonces el problema.
Figura 1. Fecha de la publicación de la vulnerabilidad (marcada en rojo) por parte de Project Zero. Fuente. |
Este comportamiento COW funciona no sólo con la memoria anónima, sino también con las asignaciones de ficheros. Es decir, después de que el proceso de destino haya comenzado a leer los datos desde el área de memoria transferida, según la carga ejercida sobre dicha memoria esta puede hacer que estas sean eliminadas de la memoria caché. Esto significa que un atacante podría "mutar" o realizar cambios sobre un fichero en el disco sin informar al gestor de la memoria virtual de dichos cambios. El kernel de Linux tiene varias interfaces que permiten la creación la copia de datos entre procesos. Por eso es importante que la memoria copiada esté protegida por el proceso origen contra modificaciones posteriores.
Apple fue informado, tal y como hemos contado antes, 90 días antes dentro del plazo que ofrecen desde Google Project Zero, es decir, en noviembre de 2018 (figura 1). Apple no realizó las modificaciones oportunas así que la vulnerabilidad fue publicada con la etiqueta de "alta severidad". Finalmente, después de hacerse pública, Apple está trabajando junto a Project Zero en un parche para remediarlo en futuras versiones de macOS.
No hay comentarios:
Publicar un comentario