Anuncio cerrado

La seguridad de la memoria ha sido una de las principales prioridades de Google últimamente, ya que los errores de memoria tienden a ser algunos de los más graves en el desarrollo de software. De hecho, las vulnerabilidades en esta área fueron responsables de la mayoría de las vulnerabilidades críticas. Androidu hasta el año pasado, cuando Google creó una parte importante de código nativo nuevo Androiden el lenguaje de programación Rust en lugar de C/C++. El gigante del software está trabajando para respaldar otros medios para mitigar las vulnerabilidades de la memoria en su sistema, uno de los cuales se llama marcado de memoria. En dispositivos compatibles con el sistema Android 14 puede haber una nueva configuración llamada Protección avanzada de memoria que podría alternar esta función.

La extensión de etiquetado de memoria (MTE) es una característica de hardware obligatoria de los procesadores basados ​​en la arquitectura Arm v9 que proporciona información detallada informace sobre la corrupción de la memoria y protege contra errores de seguridad de la memoria. Como explica Google: “A alto nivel, MTE etiqueta cada asignación/desasignación de memoria con metadatos adicionales. Asigna un marcador a una ubicación de memoria, que luego puede asociarse con punteros que hacen referencia a esa ubicación de memoria. En tiempo de ejecución, el procesador verifica que el puntero y las etiquetas de metadatos coincidan cada vez que se carga y guarda".

Google está trabajando para admitir MTE en todo el paquete de software Android por mucho tiempo. A Androidu 12 agregó el asignador de memoria Scudo y soporte para tres modos de operación MTE en dispositivos compatibles: modo síncrono, modo asíncrono y modo asimétrico. La empresa también hizo posible habilitar MTE para procesos del sistema a través de propiedades del sistema y/o variables de entorno. Las aplicaciones pueden agregar soporte MTE a través de un atributo android: modo memtag. Cuando MTE está habilitado para procesos en Androidu, clases enteras de errores de seguridad de la memoria como Use-After-Free y desbordamientos del búfer provocarán fallas en lugar de daños silenciosos en la memoria.

Do Androidu 13 Google agregó una interfaz binaria de aplicación de espacio de usuario (ABI) para comunicar el modo de funcionamiento MTE deseado al gestor de arranque. Esto se puede usar para habilitar MTE en dispositivos compatibles que no se envían con MTE habilitado de manera predeterminada, o se puede usar para deshabilitarlo en dispositivos compatibles que lo tienen habilitado de manera predeterminada. Establecer la propiedad del sistema ro.arm64.memtag.bootctl_supported en "true" en el sistema Android 13 le dijo al sistema que el gestor de arranque admitía ABI y también activó un botón en el menú de opciones del desarrollador que permitía al usuario habilitar MTE en el siguiente reinicio.

V Androidu 14 sin embargo, es posible que habilitar MTE en dispositivos compatibles ya requiera sumergirse en el menú de opciones de desarrollador. Si el dispositivo utiliza un procesador Arm v8.5+ con soporte MTE, la implementación del dispositivo admite ABI para comunicar el modo operativo MTE deseado al gestor de arranque, y la nueva propiedad del sistema ro.arm64.memtag.bootctl_settings_toggle se establece en "true" , luego una nueva página Protección avanzada de memoria v Configuración→Seguridad y privacidad→Configuraciones de seguridad adicionales. Esta página también se puede iniciar mediante la nueva acción ACTION_ADVANCED_MEMORY_PROTECTION_SETTINGS.

Curiosamente, el chipset Tensor G2 que alimenta la serie Google Pixel 7 utiliza núcleos de procesador Arm v8.2, lo que significa que no es compatible con MTE. Si la próxima serie Google Pixel 8 utilizará los nuevos núcleos Arm v9 como otras series insignia androidteléfonos, entonces su hardware debería ser compatible con MTE. Sin embargo, la pregunta sigue siendo si la función de "protección avanzada de memoria" llegará a la versión estable. Androiden 14

Lo más leído de hoy

.