en Post

Si usas procesadores Intel, tienes un gran problema.

He leído una noticia en ZDNet que realmente me ha puesto los pelos de punta, básicamente todos los chips que Intel ha fabricado desde el 2008 tienen un sistema operativo con acceso a redes TCP/IP y un servidor web que permite administrar la computadora por completo en teoría desde cualquier lugar de la tierra. Así como lo escucharon el mismo procesador, lo peor de todo es que no puede ser deshabilitado ya que forma parte integral del sistema.

Si por alguna razón alguien encuentra alguna vulnerabilidad en este sistema operativo propietario de Intel, que está basado en MINIX, pues sencillamente podría llevarnos a la edad de piedra, dado que la mayoría de nuestras computadoras podrían quedar fuera de servicio.

Aquí les traduzco la noticia que realmente es muy impactante:

Quizás no seas paranoico. Sin embargo, tal vez están tratando de atraparte. Ronald Minnich, un ingeniero de software de Google, ha descubierto un sistema operativo MINIX oculto dentro de “aproximadamente mil millones de computadoras” que usan procesadores Intel, tal vez deberías considerar ser paranoico.

¿Por qué? Comencemos con qué. Matthew Garrett, el conocido desarrollador de Linux y seguridad que trabaja para Google, explicó recientemente que, “los conjuntos de chips de Intel desde hace algunos años incluyen un Management Engine [ME], un pequeño microprocesador que funciona independientemente de la CPU principal y el sistema operativo. las piezas de software se ejecutan en el ME, que van desde el código para manejar DRM de medios a una implementación de un TPM. AMT [Active Management Technology] es otra pieza de software que se ejecuta en el ME “.

En mayo, descubrimos que AMT tenía una gran falla de seguridad, que había estado ahí por nueve años.

“Reparar esto requiere una actualización del firmware del sistema para proporcionar un nuevo firmware ME (incluida una copia actualizada del código AMT)”, escribió Garrett. “Muchas de las máquinas afectadas ya no reciben actualizaciones de firmware de sus fabricantes, por lo que probablemente nunca se solucionen”, dijo. “Cualquiera que haya habilitado AMT en uno de estos dispositivos será vulnerable”.

¡Rápido! ¿Cuántos de ustedes parchearon el firmware de su PC o del chip del servidor? ¡Entonces!. Maldigo a algunos de ustedes. Eso es malo. No se trata de todos los procesadores, pero si usted o su proveedor de hardware han “habilitado AMT explícitamente”, su máquina aún es vulnerable a los ataques.

La Electronic Frontier Foundation (EFF) ha pedido a Intel que brinde a los usuarios una forma de desactivar el ME. Los investigadores rusos han encontrado una forma de desactivar ME después de que el hardware se haya inicializado y el procesador principal haya comenzado. Eso realmente no ayuda mucho. ME ya se está ejecutando para entonces.

Pero Minnich descubrió que lo que sucede dentro del chip es aún más problemático. En una presentación en Embedded Linux Conference Europe, informó que los sistemas que usan chips Intel que tienen AMT, están ejecutando MINIX.

Si aprendió sobre los sistemas operativos a finales de los 80 y principios en los 90, sabra que MINIX era el sistema operativo educativo tipo Unix de Andrew S Tanenbaum. Fue utilizado para enseñar los principios de sistemas operativos. Hoy en día, es mejor conocido como el SO que inspiró a Linus Torvalds a crear Linux.

Entonces, ¿qué está haciendo en los chips de Intel? Mucho. Estos procesadores ejecutan una variación de fuente cerrada del MINIX 3 que es un sistema operativo de fuente abierta. No sabemos exactamente qué versión o cómo se ha modificado ya que no tenemos el código fuente. Lo sabemos es que está allí:

  • Ni Linux, ni ningún otro sistema operativo tiene el control final de la plataforma x86
  • Entre el sistema operativo y el hardware hay al menos 2 kernels y medio de Sistemas Operativos (MINIX y UEFI)
  • Estos son propietarios y (quizás no sorprendentemente) amigables con los exploits.
  • Y los exploits pueden persistir, es decir, estar escritos en FLASH, y no se puede arreglar eso.

Además, gracias al trabajo de Minnich y sus colegas investigadores, sabemos que MINIX se ejecuta en tres núcleos x86 separados en chips modernos. Ahí, se está ejecutando:

  • Una pilas de red TCP / IP (versiones 4 y 6)
  • Un sistemas de archivos
  • Controladores (disco, red, USB, mouse)
  • Servidores web

MINIX también tiene acceso a tus contraseñas. También puede sobreescribir el firmware de tu computadora incluso si está apagada. Déjame repetir eso. Si tu computadora está “apagada” pero todavía está conectada, MINIX aún puede potencialmente cambiar la configuración fundamental de tu computadora.

Y, para mayor diversión, “puede implementar código de auto modificación que puede persistir en los ciclos de reinicio”. Entonces, si un exploit ocurre a este nivel, incluso si desenchufa tu servidor en un último intento desesperado por salvarlo, el ataque seguirá allí esperando por vuelvaa a enchufar tu server para continuar.

¿Cómo? MINIX puede hacer todo esto porque se ejecuta en un nivel fundamentalmente inferior.

Las computadoras basadas en x86 ejecutan su software en diferentes niveles de privilegios o “anillos”. Tus programas se ejecutan en el tercer anillo y tienen el menor acceso al hardware. Cuanto menor sea el número al que se ejecuta tu programa, más acceso tendrán al hardware. Los anillos dos y uno no tienden a ser utilizados. Los sistemas operativos se ejecutan en el anillo cero. Los hipervisores de bare-metal, como Xen, se ejecutan en el anillo -1. La interfaz de firmware extensible unificada (UEFI) se ejecuta en el anillo -2. ¿Y MINIX? Se ejecuta en el anillo -3.

No puedes verlo No puedes controlarlo Simplemente está zumbando allí, ejecutandose en tu computadora. El resultado, según Minnich, es que “hay grandes agujeros gigantes a los que las personas pueden lazar exploits”. Continuó, “¿Ya te dió miedo? Si aún no tienes miedo, quizás no lo explique muy bien, porque yo estoy muy asustado”.

¿Cual es la solución? Bueno, no es “Cambiar a chips AMD”. Una vez, los chips AMD no tenían oculto este tipo de código misterioso, pero incluso los últimos procesadores Ryzen no están totalmente abiertos. Incluyen el proceso de seguridad de la plataforma AMD y también es esta es una caja negra.

Lo que a Minnich le gustaría que suceda es que Intel haga público su código MINIX y use un firmware de código abierto basado en Linux. Esto sería mucho más seguro. El software actual solo está protegido por “seguridad por oscuridad”.

Cambiar a Linux también permitiría a los servidores arrancar mucho más rápido. Según Minnich, arrancar un servidor Open Compute Project (OCP) lleva ocho minutos gracias a los controladores primitivos de MINIX. Con Linux tardaría menos de 17 segundos en acceder a un intérprete de comandos de shell. Esa es una aceleración de 32 veces.

No hay razón para no hacer esta mejora. Minnich señaló: “Probablemente haya más de 30 millones de Chromebooks disponibles y cuando su Chromebook obtenga un nuevo BIOS, una nueva imagen de Linux se actualizará al firmware y no he oído hablar de ningún problema”.

Específicamente, qué propone Minnich a Intel y AMD en relación a este asunto:

  • Hacer que el firmware sea capaz de hacer menos daño.
  • Haz que sus acciones sean más visibles.
  • Eliminar tantos componentes de tiempo de ejecución como sea posible.
  • En particular, quitar su servidor web y pila de IP.
  • Eliminar la pila IP del UEFI y otros controladores.
  • Eliminar la capacidad de sobre-escritura del ME/UEFI entre sí.
  • Dejar que Linux administre las actualizaciones de flash.

Sobre esto, el nuevo firmware de Linux tendría un espacio de usuario escrito en Go. Los usuarios trabajarían con este shell de Linux usando comandos familiares. Esto les daría una visión clara de lo que estaba sucediendo con la CPU y otros componentes del sistema.

Al mismo tiempo, dado que UEFI es tan fácil de hackear, quiere que la “ROM de UEFI se reduzca a sus partes más básicas”.

¿Funcionaría esto? Todavía es pronto para saberlo, advirtió Minnich y puede convertir “su computadora portátil en un ladrillo”. Pero tanto para la seguridad como para el rendimiento, es necesario hacerlo.

Está claro que un Unix oscuro como MINIX, gracias a que Intel lo pone en múltiples núcleos en sus chips, puede ser el sistema operativo más utilizado en el mundo. Pero no es forma de ejecutar servidores y mucho menos PC modernos.