Se han detectado vulnerabilidades en los componentes del gestor de arranque de cinco de los más importantes proveedores de móviles. Estas vulnerabilidades rompen con la cadena de confianza (CoT en sus siglas en inglés) durante la secuencia de arranque. Esto provoca que los dispositivos estén abiertos a posibles ataques que puedan sufrir. Las vulnerabilidades salieron a la luz durante la investigación llevada a cabo por un equipo de nueve informáticos de la Universidad de California en Santa Bárbara.
Vulnerabilidades en el gestor de arranque
El equipo de investigación examinó el sombrío mundo de los gestores de arranque de Android, componentes que son difíciles de analizar porque son de código cerrado y tienden a carecer de metadatos típicos (como encabezados de programas o símbolos de depuración) que normalmente se encuentran en programas normales y ayudan a la ingeniería inversa y auditorías de seguridad. Quizás os pueda ser de utilidad saber en qué se diferencian IP estática y dinámica.
La mayor parte del trabajo del equipo se centró en el desarrollo de una nueva herramienta llamada BootStomp especializada en ayudar a probar y analizar cargadores de arranque.
Utilizando BootStomp para encontrar áreas problemáticas del código previamente desconocido del gestor de arranque, y luego hacer que el equipo de investigación revisara los hallazgos, los expertos dijeron que identificaron siete fallos de seguridad, seis nuevos y uno previamente conocido (CVE-2014-9798). De los seis nuevos defectos, los proveedores de gestores de arranque ya reconocieron y confirmaron cinco.
«Algunas de estas vulnerabilidades permitirían a un atacante ejecutar código arbitrario como parte del gestor de arranque (comprometiendo así toda la cadena de confianza) o realizar ataques permanentes de denegación de servicio», dijo el equipo de investigación. «Nuestra herramienta también identificó dos vulnerabilidades del gestor de arranque que pueden ser aprovechadas por un atacante con privilegios de root en el sistema operativo para desbloquear el dispositivo y romper el CoT».
Cinco gestores de arranque
Para su trabajo, los investigadores utilizaron cinco gestores de arranque diferentes de cuatro vendedores distintos.
- Huawei / HiSilicon chipset [Huawei P8 ALE-L23]
- NVIDIA Tegra chipset [Nexus 9]
- MediaTek chipset [Sony Xperia XA]
- Qualcomm’s new LK bootloader
- Qualcomm’s old LK bootloader
Los investigadores sabían que el gestor de arranque de Qualcomm LK estaba afectado por CVE-2014-9798. Cuando BootStomp re-identificó el ya sabido error de seguridad, el equipo sabía que su herramienta funcionaba correctamente. También encontraron una vulnerabilidad en el chipset NVIDIA y cinco en gestores de arranque HiSilicon.
Este grupo de investigadores ha presentado su trabajo en la conferencia USENIX en Vancouver, Canadá, a principios de este mes. Aquí han mostrado todos los detalles de la investigación. También sus propuestas para resolver estos problemas que ponen en riesgo el buen funcionamiento de los dispositivos de muchos usuarios.
El objetivo de BootStomp es identificar automáticamente las vulnerabilidades de seguridad relacionadas con el mal uso de la memoria no volátil controlada por el atacante, confiada por el código del gestor de arranque. En particular, prevemos utilizar nuestro sistema como un sistema automático que, dado un gestor de arranque como entrada, emite una serie de alertas que podrían señalar la presencia de vulnerabilidades de seguridad. Entonces, los analistas pueden analizar estas alertas y determinar rápidamente si la funcionalidad destacada constituye una amenaza a la seguridad.