Parece que este año los investigadores están encontrando auténticos agujeros de seguridad en los puertos de conexión o buses usados de forma masiva en miles de millones de dispositivos en todo el mundo. Si este año tuvimos a BadUSB llenando titulares en los medios, durante el congreso 31C3 celebrado hace unos días en Hamburgo el investigador Trammel Hudson presentó un nuevo vector de ataque usando el puerto Thunderbolt que permite la instalación de código malicioso en la memoria ROM de arranque EFI de una MacBook.

Atacando la ROM de arranque EFI

Pero empecemos por el principio. EFI son las siglas en inglés de Extensible Firmware Interface y fue desarrollada por Intel hace años para sustituir a la conocida BIOS como puente de comunicación entre el firmware de la máquina y el sistema operativo. Su objetivo principal era superar las limitaciones con las que contaba la antigua BIOS y todos los MacBook con procesadores Intel ya la incorporan, mientras que en PC se utiliza una variación conocida como UEFI.

Tal y como sucedía con BadUSB, para explotar esta vulnerabilidad se necesita tener acceso físico al ordenador que se desee atacar y que este cuente con un puerto Thunderbolt. Una vez se ha conseguido el acceso a este puerto se puede usar un dispositivo preparado especialmente para saltarse las medidas de seguridad de comprobación de firma criptográfica incluidas en las rutinas de actualización del EFI de Apple.

En resumen, esto permitiría a un atacante sobrescribir la ROM de arranque de la máquina e instalar un nuevo firmware que incluya un bootkit para Mac. Debido a que no se realiza una revisión criptográfica del software o del firmware, una vez el atacante ha conseguido modificar la ROM tendrá el control del sistema desde el primer momento, pudiendo también usar técnicas de ocultación para evitar que su bootkit sea detectado.

Persistencia y propagación

Este investigador también modificó la clave pública RSA de Apple en la ROM, impidiendo que se vuelva a cambiar el contenido de la ROM por una legítima si no se encuentra formada por la clave privada del atacante. De nada serviría reinstalar el sistema operativo o cambiar el disco duro puesto que el bootkit no se almacena en el disco. La única solución sería un nuevo “flasheo” de la ROM.

Además, tal y como pasaba con BadUSB, se pueden utilizar los dispositivos Thunderbolt que se conecten a una máquina infectada para propagarla a otros equipos. El bootkit se copiaría en estos dispositivos extraíbles y esperaría a que se conectaran a una máquina vulnerable para volver a repetir todo el proceso de infección. Esto permitiría la infección en entornos con equipos aislados de Internet, siempre que se permitiese el intercambio de dispositivos extraíbles entre ellos.

Soluciones y limitaciones

Si bien esta vulnerabilidad se basa en otra anterior de hace dos años y que puede ser solucionada con una leve actualización de seguridad del firmware en los equipos vulnerables, el problema principal radica en la seguridad del EFI de Apple y el arranque seguro sin hardware de confianza, más difíciles de solucionar.

Actualmente, tan solo se conoce la prueba de concepto mostrada sin finalidad maliciosa en el congreso 31C3 y no se tiene constancia de que alguien haya usado o esté usando esta vulnerabilidad. De la misma forma que con BadUSB, conforme se vaya publicando más información sobre este asunto es posible que aparezcan nuevas pruebas de concepto.

Por su parte, Apple está informada acerca de este fallo de seguridad y ya se encuentra trabajando en una solución pero esta aún no ha sido probada.

Tampoco parece que contar con una contraseña en el firmware de la máquina sirva de mucho puesto que la ROM maliciosa se carga antes de comprobar esta contraseña, pudiendo además cambiarla o dejarla en blanco. Con respecto a los datos almacenados en nuestro sistema, si estos se encuentran cifrados Thuderstrike no nos permitirá acceder a ellos directamente.

No obstante, al tener el control total del sistema, un atacante puede quedarse a la espera y obtener la contraseña cuando el usuario la escriba.

Conclusión

Si con BadUSB ya avisamos de que este tipo de investigaciones se aplican en entornos muy controlados y que no se debían crear alarmismos infundados, con Thunderstrike pasa lo mismo. Es muy beneficioso para todos que un investigador haya descubierto esta vulnerabilidad, la haya reportado a Apple y la haya presentado en un congreso de seguridad, puesto que le da visibilidad y ayuda a los usuarios y responsables de los fabricantes afectados a tomar medidas preventivas.