¿Cómo me impide Android instalar servicios de sistema personalizados?

3

Estoy tratando de entender el proceso de arranque seguro. Digamos que el firmware está bloqueado y solo hace la instalación firmada de una imagen del sistema operativo. Esta "imagen" es un paquete comprimido de todos los archivos binarios que necesita el sistema. Así que una vez que están instalados, se establecen en el sistema de archivos. Después de eso, ¿por qué no puedo copiar algún otro binario en el dispositivo? ¿Cómo sabrá el sistema que no es parte de la instalación original?

¿Android tiene verificación de firma en binarios individuales antes de que se carguen? Sin esto, no estoy seguro de cómo se puede hacer.

Suponiendo que no hay una verificación de firma binaria en el momento de la carga, puedo pensar en esto: el sistema de archivos raíz se montará solo para lectura y solo el servicio de SU podrá volver a montarlo en modo rw cuando realice la SU. Y, los programas 'mount' y 'su' no formarán parte de la instalación (entre otros programas). ¿Será esto suficiente para evitar que alguien instale binarios personalizados en la partición raíz?

    
pregunta user220201 06.01.2017 - 21:27
fuente

1 respuesta

2

En versiones anteriores de Android, esta protección no existía, y muchas de las vulnerabilidades de root de los dispositivos lo utilizaron para su ventaja. Las versiones más recientes de Android utilizan dm-verity en el kernel para garantizar que no se haya manipulado ninguna parte de la partición del sistema, mediante la comprobación de hashes firmados de cada bloque. También tienen una cadena de confianza que atraviesa el gestor de arranque y vuelve al SoC para evitar simplemente eliminar esta característica del kernel.

    
respondido por el Joseph Sible 23.02.2017 - 05:26
fuente

Lea otras preguntas en las etiquetas