¿Cómo puede el usuario promedio validar fácilmente la integridad del firmware de su Mac?

¿Cómo puede el usuario promedio validar fácilmente la integridad del firmware de su Mac?

Antes de rechazar esta pregunta o sermonearme sobre cómo soy paranoico y nadie debería necesitar hacer eso, lea a continuación.

En julio de 2015, CVE-2015-3692 reveló que un atacante remoto podría piratear el firmware EFI de una Mac. (Los vectores disponibles para esto están en otros CVE, pero hipotéticamente podrían ser cualquier cosa, incluidas cosas como instaladores de actualizaciones de Flash falsos maliciosos).

Esta vulnerabilidad se hizo pública al menos cuatro semanas antes de que Apple la parcheara el 30 de julio para OS X 10.8, 10.9 y 10.10 con EFI Firmware Security Update 2015-001 .

El mismo investigador de seguridad que anunció esta vulnerabilidad también afirma haber visto una demostración en una conferencia de un pirateo de firmware que no se puede eliminar ni sobrescribir.

Por lo tanto, una vez que se posee el EFI de una Mac, si el atacante lo hizo bien, entonces la única forma de actualizar el EFI con firmware válido de Apple sería conectar un flasher directamente al chip EFI en la placa lógica ( no intente esto en casa).

Los artículos de noticias que informaron sobre esta vulnerabilidad la restaron importancia, diciendo que la mayoría de los usuarios no deberían preocuparse, y que todo lo que necesita hacer para protegerse es nunca dejar que su Mac entre en modo de suspensión, y deshabilitar al usuario root o nunca autenticar nada. no confíes al 100%. Los hilos de comentarios sobre esos artículos lo resumieron así: si todas sus aplicaciones provienen de fuentes confiables como la App Store oficial, y nunca ejecuta nada que no esté firmado por un desarrollador conocido por Apple, entonces no debería tener nada de qué preocuparse.

Pero luego, en septiembre de 2015, supimos sobre el exploit XCodeGhost , que se sabe que resultó en la aparición de numerosas aplicaciones infectadas con malware en la tienda oficial de aplicaciones de iOS, pero ¿qué pasa con las aplicaciones OS X? En el artículo vinculado, Malwarebytes escribió:

Wardle señaló en marzo que Xcode era vulnerable a este tipo de cosas, pero aterradoramente, también señaló con el dedo a muchas otras aplicaciones de OS X. Cualquiera de esas aplicaciones podría ser vulnerable a ataques similares.

También escribieron, "el usuario promedio no debe entrar en pánico", el mismo mantra que a menudo veo repetido en los foros de soporte de Apple y en otros lugares cada vez que un usuario publica un hilo sobre toneladas de problemas extraños que está teniendo. "Simplemente reformatee su disco y realice una instalación limpia del sistema. El problema probablemente sea una modificación del sistema de terceros", nos dicen. Cuando eso no lo soluciona, se le dice a la gente que debe ser un problema de hardware, como un HDD defectuoso, una GPU defectuosa o una RAM defectuosa. He visto hilos en los que la gente reemplazó literalmente todos los componentes de su Mac y el problema siempre regresaba.

Ahora sabemos que es hipotéticamente posible que el firmware EFI de los usuarios haya sido pirateado, por lo que incluso si se reemplazara su placa base, cuando reinstalaran sus aplicaciones, ¡el malware podría volver a actualizar el firmware! Y si la placa base no se reemplazó, entonces se limpiarían sin importar qué.

Eso me lleva de vuelta a la pregunta principal.

¿Cómo puede el usuario promedio validar fácilmente la integridad del firmware de su Mac? Es decir, ¿cómo puede asegurarse de que el firmware de su Mac nunca se haya visto comprometido por malware? No pude encontrar ningún método compatible con El Capitan que no requiera deshabilitar SIP. Para versiones anteriores del sistema operativo, existe una herramienta de terceros complicada llamada DarwinDumper que puede volcar el contenido de su EFI en un archivo de texto, pero aún necesita tener el firmware de Apple válido para compararlo; este no es un método que el usuario promedio es capaz de hacer.

Decirle a la gente que no se preocupe por algo de lo que muy bien podría ser víctima, y ​​que no tiene forma de comprobar si lo es, es lo que permite que este tipo de exploits sean rentables para los piratas informáticos, que dependen de la complacencia y la falta de vigilancia en el parte de los usuarios.

==

EDITAR: Encontré el último instalador oficial de firmware de Apple en el sitio de soporte de Apple . El instalador no se ejecuta en 10.10 o 10.11, curiosamente. Usando Pacifist extraje el archivo .scap para mi Macbook Pro 9,1. Comparé el binario en HexFiend con el biosdump que saqué usando DarwinDump después de reiniciar en modo de recuperación y ejecutarlo csrutil disableen la terminal para deshabilitar rootless y habilitar la capacidad de ejecutar kexts sin firmar. Recuperé este encabezado del BIOS:

   $IBIOSI$   MBP91.88Z.00D3.B0B.1506081214Copyright (c) 2005-2015 Apple Inc.  All rights reserved.ˇˇˆ´5µ}ñÚC¥î°Îé!¢é_i@Ÿ¯¡Apple ROM Version
   BIOS ID:      MBP91
   Built by:     root@saumon
   Date:         Mon Jun  8 12:14:35 PDT 2015
   Revision:     svn 39254 (B&I)
   Buildcave ID: 6
   ROM Version:  00D3_B0B

El BIOS oficial del encabezado de Apple:

   $IBIOSI$   MBP91.88Z.00D3.B0B.1506081214Copyright (c) 2005-2015 Apple Inc.  All rights reserved.ˇˇˆ´5µ}ñÚC¥î°Îé!¢é_i@Ÿ¯¡Apple ROM Version
   BIOS ID:      MBP91
   Built by:     root@saumon
   Date:         Mon Jun  8 12:14:35 PDT 2015
   Revision:     svn 39254 (B&I)
   Buildcave ID: 6
   ROM Version:  00D3_B0B

Aparte de eso, los archivos tienen un aspecto muy diferente, pero supongo que el archivo .scap tiene algún tipo de compresión. Al menos eso me dice que tenía instalado el firmware más reciente, el que se lanzó después de que se anunciaran los ataques. Estoy prolíficamente bien. ¡Sin embargo, sería bueno poder confirmar que estoy bien a través de algún tipo de verificación de suma de control! ¡Mirándote, Apple!

¿Es esta una pregunta (bastante bien investigada) o una solicitud de función? Si es una pregunta, ¿puede simplificarlo un poco para centrarse más en lo que está buscando ("cómo puede un usuario final verificar la integridad del firmware")?
Pregunta. La parte que busco está en negrita y se repite dos veces y es el título. Confío en que los lectores instalen más RAM en sus cerebros o tomen ritalin si los detalles de apoyo son un "problema".
Sin embargo, podría mejorar las cosas convirtiendo su edición (al final de su pregunta) en una primera respuesta (probablemente con algunos detalles más sobre cómo el usuario ocasional puede realizar los pasos necesarios). Además, si desea que Apple escuche (y creo que debería), una solicitud de función es la mejor manera aún :-)
No quiero que Apple "escuche"... Quiero que sean un tipo de empresa diferente de lo que son, y eso nunca sucederá a menos que me contraten como "garantizador de asombro".

Respuestas (4)

Para verificar el firmware de un sistema Intel UEFI, como Mactel, inicie la distribución Intel LUV (Linux UEFI Validation), luv-live, ejecute Intel CHIPSEC. Verificará la mayoría de las vulnerabilidades de firmware conocidas públicamente. Debe ejecutar CHIPSEC cuando obtenga su caja por primera vez, guarde la ROM, luego, ocasionalmente, vuelva a ejecutar CHIPSEC y compare las ROM en busca de cambios. Puede usar UEFItool, CHIPSEC o UEFI-Firmware-Parser , o un puñado de otras herramientas para un examen forense de la ROM.

Para obtener más información sobre el tema y las herramientas involucradas, vea mis diapositivas de una presentación que di recientemente.

Además, hay un proyecto llamado Firmware Vault que recopila ROM de Apple, que también podría ser útil para estudiar.

El título de "cómo puede un usuario promedio" es un poco una zona de peligro, ya que no considero a nadie que use el promedio de Terminal, no emito un juicio, solo que la audiencia aquí está muy por encima del promedio para incluso saber que deben validar el firmware. . Espero no parecer demasiado pretencioso con este breve resumen de lo que creo que debe hacer el usuario promedio de Mac:

El instalador de macOS actualiza el firmware cuando instala/reinstala el sistema operativo, por lo que simplemente inicie la recuperación y reinstale la versión actual de macOS, no perderá ningún programa, configuración, datos y tendrá la oportunidad de asegurarse de que su firmware esté actualizado. Incluso si instaló el sistema operativo hace varios meses, si el firmware más nuevo está disponible cuando el instalador verifica mientras se prepara para instalar, obtendrá esa actualización como parte del ejercicio.


Si no puede o no desea simplemente ejecutar una instalación, se vuelve mucho más complicado informar / validar que realmente está actualizado. Supongo que depende de por qué cree que no recibió las actualizaciones como parte del proceso normal de actualización/actualización. Dado que no existe una verificación general de todo el firmware, yo diría que el usuario promedio no puede validar el firmware e incluso los usuarios excepcionales tienen dificultades para realizar el nivel de análisis requerido. Los usuarios promedio luchan con la diferencia entre autenticación y autorización . A los usuarios expertos les resulta tedioso verificar las sumas de verificación y las cadenas criptográficas de confianza y la naturaleza humana es que no hacemos bien esas actividades, incluso en entornos bien diseñados, bien motivados y bien respaldados.

Abriría un ticket de soporte con Apple para cada instancia en la que quisiera verificar el firmware y participar en la lista de correo oficial de notificaciones de seguridad de Apple para que esté al tanto cuando las cosas cambien.

Lo siento si esta no es la respuesta que quería, pero también sentí que esta era mi pequeña entrada en una respuesta para todos los que ven su pregunta y se preguntan cómo comenzar a aprender. A medida que más usuarios soliciten soporte a Apple, eventualmente se escribirán artículos de la base de conocimiento. En algún punto de inflexión, se agregarían fondos y el problema se diseñaría para que coincida con los niveles de educación del usuario. Solo estamos en los primeros días desde donde veo las cosas.

Solo como una actualización, macOS 10.13 High Sierra verificará automáticamente la integridad del firmware de una Mac una vez por semana. Si se encuentra un problema con el firmware, su Mac ofrecerá enviar un informe a Apple. Una publicación de The Eclectic Light Company dice esto sobre los informes;

Si está ejecutando una Mac real, en lugar de un 'Hackintosh', Kovah le pide que acepte enviar el informe. Esto permitirá que eficheck envíe los datos binarios desde el firmware de EFI, preservando su privacidad al excluir los datos almacenados en la NVRAM. Apple podrá entonces analizar los datos para determinar si han sido alterados por malware o cualquier otra cosa.

AppleInsider también dice esto;

El informe enviado a Apple excluye los datos almacenados en NVRAM. Apple luego mirará los datos transmitidos para evaluar si ha habido un ataque de malware.

Consulte aquí para obtener más información sobre esta nueva característica: macOS High Sierra realiza automáticamente una verificación de seguridad en el firmware EFI cada semana

Solo una actualización de esta pregunta ya que hay un nuevo programa disponible.

Se llama eficheck. Está en el directorio /usr/libexec/firmwarecheckers/eficheck , también conocido como probablemente no en su ruta, por lo que es un poco más complejo que otros, pero hay una página de manual que documenta su uso.

Es importante tener en cuenta que cualquier cosa lo suficientemente sofisticada como para ingresar a su EFI probablemente podrá evadir la detección hasta cierto punto. Esa es gran parte de la razón por la que las comprobaciones de antivirus son inútiles, aunque las personas que regurgitan "las comprobaciones de antivirus son basura" no tienen idea de por qué y están repitiendo la conclusión que extrajo alguien más inteligente que ellos, que es que las compañías de antivirus tienden a no saber que tienen la capacidad. para analizar adecuadamente el malware específico de Mac para que no agreguen el valor hash único de un archivo a su base de datos para que su computadora pueda calcular los hash de sus propios archivos y luego los de una base de datos de hash de malware conocido. Casi todos los análisis de virus no hacen nada más y no buscan comportamientos maliciosos.

Al final del día, el EFI de Apple es el UEFI de Intel, por lo que confía en que Apple hará algo correctamente que es realmente complejo y técnico. Apple ni siquiera puede descifrar su propia PKI y ¿alguna vez ha visto el manual para desarrolladores de un procesador Intel? Son miles de páginas de griego antiguo. Quiero decir, vamos, no pensaste que Apple era bonita e inteligente, ¿verdad?

La lista de correo de seguridad es una simple notificación cuando se publican actualizaciones y nada más. Estaría al tanto de los nuevos parches para los problemas identificados con CVE identificados durante mucho tiempo y fácilmente explotados que afectan al sistema operativo más reciente y a los más antiguos, también conocidos como los que están en uso. No hay nada que evite futuros exploits en las actualizaciones... al menos eso lo mencionarán alguna vez debido a su política de no hablar de tales cosas. Los únicos elementos de seguridad abordados serán decir que la actualización solucionó un problema muy específico.

Si identificaron un "ataque de malware" (¿no se mantuvo después?), violaría su propia política si lo confirmaran e informaran al usuario, además de ser una mala decisión comercial, ya que muchos de sus clientes aún no creen en el malware. Tenga en cuenta que no dice nada sobre ponerse en contacto con el usuario o solucionar el problema. Podría ver los titulares ahora... Toda la mala prensa últimamente ha estado lastimando su ego y parece que se está acercando a un punto de inflexión.