Continuando con nuestra cobertura de ekoparty, que tuvo lugar la semana pasada en Argentina, durante el último día de conferencias los investigadores Rich Smith y Pepijn Bruienne de Duo Labs tuvieron la oportunidad de compartir sus hallazgos con su charla titulada "The Apple of your EFI: An analysis of the state of Apple’s EFI Security Support".

En ella demostraron cómo es posible que fallas en el soporte de actualizaciones de seguridad de Apple estuviesen poniendo en riesgo la seguridad de sus usuarios. Dada la relevancia que puede tener para usuarios de la plataforma, dedicaremos este artículo a compartir más detalles de esta interesante ponencia.

El objeto de estudio

A lo largo de más de tres años, los investigadores recopilaron información relacionada con actualizaciones del SO y de seguridad para macOS 10.10, 10.11 y 10.12, buscando anomalías en los procesos de actualización del firmware.

Para construir sus bases de datos, lo expertos no solo consideraron la forma en que teóricamente estas actualizaciones debían ser desplegadas, sino que además analizaron 73.383 equipos en producción, 54.744 de ellos corriendo alguna de las versiones del sistema operativo antes mencionadas.

Sobre estos equipos analizados, extrajeron el EFI buscando crear un modelo para predecir qué versión de firmware debiese correr un determinado modelo de Mac. Luego, navegaron la base de datos para encontrar anomalías en la distribución de actualizaciones: falta de actualización del EFI, discrepancias en las versiones instaladas, modelos no actualizados, diferencias en los paquetes desplegados según el modelo de SO, diferencias entre países, entre otros factores.

Rich Smith y Pepijn Bruienne centraron su investigación en Apple particularmente porque, dado que esta empresa tiene un mayor control sobre la distribución de su software, resultaba más sencillo obtener información para recolectar los datos a analizar.

Además, según la opinión de los expositores, Apple posee uno de los equipos de seguridad más reconocidos del mundo, por lo que buscaron poner a prueba si tal reconocimiento se traducía un sistema de soporte infalible.

¿Qué es el EFI y por qué es un blanco tan deseado?

La Interfaz de Firmware Extensible o EFI, del inglés Extensible Firmware Interface, es el componente encargado de hacer de intermediario entre el sistema operativo y el firmware del equipo, reemplazando a la antigua interfaz BIOS. Retomando la analogía presentada por Pepijn durante la conferencia, si nuestras Macs fuesen un auto, EFI sería el motor, encargado de direccionar el sistema desde el encendido al boot loader. Apple EFI existe desde 2006, aunque el protocolo universal sobre el cual se basa (UEFI, Unified EFI) existe desde la década de los noventa.

Las actualizaciones EFI se despliegan como parte de las actualizaciones de seguridad a través de una herramienta dedicada. El script invoca efiupdate, proceso encargado de instalar la nueva versión. La instalación es invisible al usuario del terminal, por lo que, de ocurrir algún error en la instalación, esta situación no será notificada al usuario. De hecho, el sistema parecerá haberse actualizado de manera correcta.

Aún peor resulta el hecho de que no existen segundas oportunidades para la actualización del EFI: si la instalación falla, el sistema permanecerá desactualizado hasta que se despliegue la próxima actualización de seguridad.

Por estas razones, la ventaja de comprometer el EFI de un sistema operativo reside en la invisibilidad del ataque, la capacidad de lograr persistencia y, dado que se trata de un componente que corre a muy bajo nivel, es posible leer y escribir de manera arbitraria sectores del disco y memoria, al mismo tiempo que se pueden esquivar medidas de protección implementadas por capas superiores en la arquitectura, como ser el SO y las aplicaciones que sobre él corren.

Es por ello que, en el contexto de la cada vez mayor politización del ciberespacio, comprometer el EFI de los equipos podría servir como táctica de ciberguerra o espionaje industrial.

¿Qué tan vulnerable es este componente?

A lo largo de la presentación, los investigadores explicaron brevemente algunos ataques que anteriormente habían dejado al descubierto la posibilidad de comprometer el firmware del equipo.

Por ejemplo, a través de la fuga de documentos en WikiLeaks de la colección de datos conocida como “Vault 7”, pertenecientes a archivos de la CIA, se conoció la existencia de una herramienta denominada "Sonic Screwdriver", creada en 2012 presuntamente luego de que ese mismo año se presentase en Black Hat una investigación sobre rootkits para el firmware de Macs. Este módulo permitía inyectar el código malicioso directamente dentro del EFI del equipo.

En 2014 y 2015, Thunderstrike 1 y 2 respectivamente revivieron el temor de infecciones de firmware entre usuarios de Apple. En 2016, se presentó en DEF CON el ataque PCI DMA. Ahora, los investigadores de Duo Labs se propusieron determinar cómo un problema en la distribución de actualizaciones podría poner en jaque la seguridad de los usuarios.

Resultados arrojados

Dentro de las conclusiones arrojadas por la investigación, los expositores pudieron determinar que los sistemas macOS del mundo real se encuentran en muchos casos desactualizados, por contrario a lo que puede indicar el sistema o el soporte de Apple.

Además, descubrieron que las actualizaciones de seguridad gradualmente van abandonando el soporte al modelo EFI. Por sobre todo, encontraron que las fallas en la instalación de actualizaciones son abrumadoras y que la falta de visibilidad de los errores impide remediar la situación de forma temprana.

“Actualizaciones exitosas no significan actualizaciones de firmware” fue uno de los preceptos que escuchamos una y otra vez durante la presentación. De hecho, los resultados arrojaron que un 4,2% de los equipos analizados se encontraba corriendo la versión incorrecta de EFI, siendo macOS Sierra 10.12 la versión con mayor desviación.

Un problema que se desprende de actualizaciones defectuosas es la imposibilidad de proteger a los usuarios frente a vulnerabilidades conocidas. En este sentido, a pesar de que el equipo de seguridad de Apple sostiene que ya ha corregido vulnerabilidades como Thunderstrike, la investigación demostró que un gran subconjunto de modelos de Apple no poseía los parches de seguridad necesarios y por lo tanto continuaban vulnerables.

Aún más, los expositores descubrieron problemas de regresión de versiones con OS X 10.10 y 10.11, donde las actualizaciones desplegadas a los equipos eran más viejas que las que ya se encontraban instaladas en estos. Afortunadamente esto no implicaba que el sistema realizase un downgrade a la vieja versión que estaba siendo distribuida nuevamente.

¿Qué pueden hacer los usuarios de Apple ante esto?

Una de las recomendaciones brindadas por los expertos fue recolectar los logs y reportes del sistema de manera particular. Es posible a través de herramientas de reporte para endpoints como osquery, Puppet, Chef o scripts.

Otro consejo para usuarios de Apple fue realizar las actualizaciones fuera de banda: no esperar a la actualización automática del sistema, sino reaplicar las actualizaciones utilizando instaladores independientes.

Finalmente, cabe mencionar que Apple está trabajando en la mejora de su sistema de actualización de EFI. De hecho, macOS 10.13 High Sierra contiene nuevas herramientas como eficheck.

Para ayudar a usuarios de Apple, los investigadores realizaron una tool llamada EFIgy que será liberada prontamente. A través de ella, los usuarios podrán chequear qué versión de EFI corre en sus sistemas y, además, constatar si esta es la versión que debiese estar corriendo dado el modelo de Mac y versión del SO.

Créditos imagen: Denys Prykhodov/Shutterstock.com