Cuando se trata de amenazas informáticas, en el equipo de investigación de ESET Latinoamérica vemos a menudo ransomware (especialmente en mi país, Brasil), botnets o gusanos. En consecuencia, otros tipos de malware igual de peligroso pero más discreto obtienen menos atención; tal es el caso del malware para firmware, es decir, los bootkits.
Los bootkits se ejecutan antes de que el sistema operativo cargue y apuntan a sus componentes para modificar o subvertir su comportamiento. El hecho de que los bootkits se ejecutan al arranque del sistema les da la habilidad de permanecer ocultos y persistir, sobreviviendo al formateo del disco duro o la reinstalación del sistema operativo.
Este tipo de amenaza apunta al firmware de BIOS y UEFI en muchas formas diferentes, como flasheo del firmware, actualizaciones o explotación de vulnerabilidades, por nombrar algunas.
Actualmente, las capacidades avanzadas que hacen a UEFI una plataforma tan atractiva también abren la puerta a nuevas vulnerabilidades que no existían en la época del más rígido BIOS. Por ejemplo, la capacidad de ejecutar módulos personalizados permite crear malware que sería ejecutado por UEFI antes de que cualquier solución antimalware, o el propio sistema operativo, puedan inicializarse.
Estas características hacen a un bootkit un componente valioso para las amenazas avanzadas. Aunque han estado presentes al menos desde 1986, los avances en el desarrollo de amenazas cibernéticas implican nuevos desafíos y preocupaciones para los usuarios.
¿Por qué preocuparse por los bootkits?
Al pensar en seguridad generalmente consideramos el riesgo, que se compone de la probabilidad y el impacto potencial. En este caso, si bien el impacto de un bootkit es indudablemente fuerte, ¿qué podemos decir sobre la probabilidad de encontrarnos con una amenaza de este tipo?
Para responder esta pregunta tenemos que pensar en dos temas: primero, tenemos que identificar posibles actores y las situaciones en que podrían salir beneficiados por el accionar de un bootkit, y considerar si serán más o menos comunes en el futuro; segundo, debemos evaluar nuestra capacidad de detectar estas amenazas, porque de lo contrario la probabilidad no irá más allá de una corazonada.
Para lo primero, echemos un vistazo al pasado para ver los casos más notables. Mirando a la línea de tiempo, está claro que la amenaza se ha vuelto cada vez más frecuente:
Mebromi, conocido como el primer bookit in the wild, comprende un rootkit para BIOS, un rootkit para el registro de arranque principal o MBR, un rootkit en modo kernel, un componente que infecta archivos PE y un trojan downloader, ejecutado de manera tal que el sistema comprometido solicita contenido externo (que podría ser virtualmente cualquier malware) cada vez que el sistema arranca. Para lograr el ataque, Mebromi escala privilegios cargando su código en modo kernel, para así obtener acceso al BIOS.
Lo que es interesante, a partir de 2014, otros bootkits detectados in the wild se han relacionado con el hacking gubernamental (directa o indirectamente).
En las revelaciones del catálogo NSA ANT de 2014, se reveló la existencia de DEITYBOUNCE, una aplicación de software que proveía "persistencia en servidores Dell PowerEdge explotando el BIOS de la placa base y utilizando el Modo de Gerencia del Sistema (System Management Mode o SMM) para lograr una ejecución periódica mientras se carga el sistema operativo". El uso fue similar al de Mebromi, lo que nuevamente significa descarga de payload y su ejecución en el sistema durante el proceso de arranque.
un bootkit es un componente valioso para las amenazas avanzadas
En 2015 llegó el turno de “HT rkloader”, expuesto tras la filtración de Hacking Team. A diferencia de la NSA, Hacking Team no es una agencia gubernamental; de todas formas, vende programas con capacidades de intrusión ofensiva y espionaje a distintos gobiernos. “HT rkloader” fue el primer rootkit para UEFI descubierto in the wild.
Como era de esperar, la filtración de las herramientas de Equation Group (asociado a la NSA) por parte de Shadow Brokers reveló la existencia de más bootkits. El catálogo de herramientas filtradas contenía algunos "implantes", a saber, BANANABALLOT, "un módulo de BIOS asociado con un implante (probablemente BANANAGLEE)", y JETPLOW, "un implante para persistencia en firmware para dispositivos Cisco ASA y PIX que hace persistir a BANANAGLEE".
Finalmente, este mismo año, las revelaciones Vault7 de la CIA revelaron que las herramientas gubernamentales también apuntaban al firmware. El ataque explotó una vulnerabilidad en S3BootScript (parcheada en 2015) para instalar componentes UEFI en sistemas Apple.
Estos son solo ejemplos de bootkits capturados in the wild que conocemos, principalmente debido a incidentes de fugas grandes (y raras). Sin embargo, muestra el apetito que despiertan los ataques avanzados dirigidos al firmware.
Aún así, puede que te preguntes cómo pueden interferir en nuestras "vidas normales". Aquí tenemos que echar un vistazo al pasado nuevamente y darnos cuenta de que estamos en terreno traicionero. La pandemia de WannaCryptor (también conocido como WannaCry) es un ejemplo de lo que puede salir mal cuando las herramientas avanzadas de cibercrimen caen en las manos equivocadas.
Además, hemos visto muchos casos de ataques dirigidos a los elementos menos seguros de la cadena de suministro, llamados supply chain attacks, que buscan que los dispositivos puedan infectarse incluso antes de que sean utilizados por sus eventuales propietarios. Un ataque dirigido a la cadena de suministro de firmware podría afectar a muchos usuarios, mientras se mantiene fuera del radar durante un largo período.
Por lo tanto, es muy importante tener la capacidad de detectar infecciones sigilosas, lo que nos lleva a la segunda parte de esta publicación.
Nuestras capacidades para defendernos
Nada es peor o más peligroso que una falsa sensación de seguridad. Las revelaciones de Snowden y los casos mencionados anteriormente son llamados de atención a la industria de seguridad en general sobre el malware para firmware.
VirusTotal, en un artículo titulado “Putting the spotlight on firmware malware”, anunció su nueva capacidad de “caracterizar en detalle imágenes de firmware, legítimas o maliciosas”.
Desde el 27 de enero de 2016, la fecha en que se anunció la nueva funcionalidad de VirusTotal, es posible extraer y cargar archivos PE para UEFI para analizarlos, ya que contienen "código ejecutable que podría ser una fuente de comportamiento malicioso", según observó el autor del artículo.
Esta es una gran contribución a la seguridad del ciberespacio, dado que también se puso a disponibilidad una interfaz simple y conocida para análisis de malware para firmware. Sin embargo, su mayor desventaja es el procedimiento para capturar las imágenes de firmware antes de cargarlas para su análisis.
VirusTotal sugiere algunas herramientas útiles para esta tarea, pero están más bien destinadas a los expertos y no al común de los usuarios. Además, fueron desarrolladas explícitamente para entornos de prueba, por motivos que van desde la ampliación de la superficie de ataque hasta errores fortuitos que pueden obstaculizar el sistema operativo:
Otra opción es contar con una solución de seguridad que te permita escanear el firmware basado en UEFI sin recurrir a herramientas adicionales y sea capaz de detectar malware sigiloso.
Los hallazgos acerca de las amenazas altamente avanzadas que apuntan al firmware son ciertamente preocupantes, especialmente porque se ejecutan en el sistema ocultas. Además, la detección de este tipo de malware (in the wild) es difícil y ardua (y era apenas posible no hace mucho tiempo), lo que posiblemente inculcó una falsa sensación de seguridad en muchas de sus víctimas.
Pero no hay mal que por bien no venga. Este juego interminable del gato y ratón permite una vez más que podamos protegernos mejor.