
El sistema operativo Android Kit Kat 4.4 ha introducido muchos cambios que hacen cada vez más difícil que cualquiera pueda realizar cambios sistémicos en el sistema operativo. Iniciativas como SELinux y dm-verity kernel se están utilizando para arrancar, así como para verificar el almacenamiento de archivos.
Estos también ayudan a detectar cualquier modificación que se haya realizado dentro del dispositivo en el nivel de bloque en lugar de esperar a que aparezca en el nivel de archivo. El dm-verity básicamente ayuda en la prevención de cualquier software raíz que realice cualquier modificación del sistema de archivos del dispositivo. La detección se realiza muy temprano.
¿Cómo funciona realmente?
El hash SHA-256 vinculado a cada uno de los bloques del dispositivo entra en juego en dm-verity. El bloque es solo una dirección física para cualquier almacenamiento y no tiene más de 4KB de tamaño en la mayoría de los dispositivos flash. Del árbol de muchos hashes que se forman en las páginas, son solo los "superiores" los que se deben confiar para que el sistema de archivos total también sea confiable. Si se modifica alguno de los bloques, la secuencia de hash se romperá y conducirá a la desorientación de la cadena también.
También hay una clave pública dentro de la partición de arranque que se espera que los OEM verifiquen externamente y esto se hace a través del cargador de arranque o con la ayuda de cualquiera de las funciones de la CPU. Esta clave pública se utiliza para confirmar la validez de la firma en el sistema de archivos.
Ahora, para reducir la duración de la verificación, los bloques se verifican solo cuando se accede a ellos y el proceso de verificación se realiza en paralelo a la operación de lectura. Esto se hace para eliminar cualquier latencia durante el acceso al almacenamiento. Si hay un cambio en la verificación, como los archivos que cambian dentro de la partición del sistema, se genera un error llamado "error de lectura".
Según la aplicación que está accediendo a los datos, el sistema le permite continuar siempre que no sea algo demasiado peligroso para la salud del dispositivo. Al mismo tiempo, existe la posibilidad de que el sistema también rechace aplicaciones.
Disuasivo suficiente en su lugar ahora
Lo anterior sugiere que el enraizamiento o modificación de dispositivos que ejecutan Android Kit Kat 4.4 ya no es una tarea fácil como solía ser. Es posible que estas medidas de Google no tengan un 100% de éxito cada vez, pero que sirvan como elemento disuasorio suficiente y a los fabricantes de equipos originales les resultará difícil permitir un núcleo personalizado como antes.
Solo cuando puede provocar un cambio dentro del núcleo del dispositivo, puede omitir esta protección de seguridad. Luego, puede deshabilitar dm-verity y utilizar las claves para autenticar o realizar cambios en el sistema por su cuenta. Los usuarios que hayan comprado dispositivos de marca de operador con un gestor de arranque bloqueado harán bien en prestar atención a esta advertencia para evitar que sus dispositivos se bloqueen.