Descubren una «vulnerabilidad» que permite eludir el cifrado de disco en Linux
Un nuevo informe de seguridad ha sacado a la luz una grave vulnerabilidad que afecta a varias distribuciones Linux y que permite acceder al sistema eludiendo la protección del cifrado de disco y que, si bien no se trata de un fallo en el software como tal, sí pone de manifiesto una carencia preocupante en las medidas de «endurecimiento» de algunos sistemas.
La investigación ha sido llevada a cabo por el equipo de seguridad de ERNW y demuestra que es posible obtener acceso a una shell de depuración (debug shell) desde el entorno de arranque (initramfs), simplemente introduciendo varias veces una contraseña de cifrado incorrecta. Tan sencillo como eso. A partir de ahí, el atacante puede modificar el sistema sin necesidad de autenticarse ni de romper el cifrado.
El vector de ataque identificado se basa en el uso del initramfs, un entorno mínimo que se ejecuta al arrancar el sistema para preparar la carga del núcleo principal y que, en los casos en los que la raíz está cifrada, gestiona la introducción de la contraseña de descifrado. Un procedimiento común a la mayoría de distribuciones Linux que se puede utilizar para realizar diferentes operaciones relacionadas con el arranque del sistema.
Al parecer, tras varios intentos fallidos de autenticación algunas distribuciones permiten acceder a una shell de depuración pensada precisamente para facilitar la recuperación del sistema, pero que también puede utilizarse como una puerta de entrada maliciosa. Para conseguirlo bastaría con utilizar una memoria USB con herramientas preparadas para montar el sistema y alterar el initramfs sin necesidad de autenticación.
Con más detalle, los investigadores muestran en su reporte cómo es posible inyectar un script malicioso que se ejecuta automáticamente en el siguiente arranque del dispositivo, una vez introducida la contraseña correcta. Ese script puede realizar cualquier acción con privilegios elevados: desde instalar un keylogger hasta abrir una puerta trasera remota o robar datos.
Lo curioso del problema es que no se trata en un error de software, sino de una omisión de las guías de seguridad más extendidas, las cuales contemplan recomendaciones de endurecimiento del sistema como Secure Boot, cifrado completo del disco y contraseñas en el cargador de arranque, pero olvidan el riesgo que supone dejar accesible la shell del initramfs, que en la mayoría de casos no está firmada ni protegida contra modificaciones, señalan los expertos.
De hecho, desde ERNW advierten de que ni los benchmarks de seguridad del CIS ni los perfiles STIG del NIST mencionan este vector de ataque, así como tampoco lo detectan algunas herramientas de auditoría especializadas.
Con todo, mitigar esta vulnerabilidad es relativamente sencillo: basta con ajustar los parámetros del kernel para desactivar el acceso a la shell de emergencia, por ejemplo, añadiendo panic=0
en sistemas Ubuntu o rd.shell=0 rd.emergency=halt
en distribuciones basadas en Red Hat. También se puede reforzar la seguridad cifrando la partición de arranque o recurriendo a imágenes monolíticas con initramfs firmado, como los Unified Kernel Images (UKI) (en la publicación original se dan detalles más precisos).
Dicho lo cual, que no cunda el pánico. Este es, como la mayoría, uno de esos problemas que requiere de acceso físico al dispositivo para ser explotado, por lo que sí, es una amenaza real, pero no está dirigida ni puede tener una incidencia reseñable para el común de los usuarios. Porque si hay acceso físico… Ahora bien, el riesgo existe y es responsabilidad de las distribuciones darle solución.
La entrada Descubren una «vulnerabilidad» que permite eludir el cifrado de disco en Linux es original de MuyLinux