Firmware, la pesadilla 4ª parte: El concurso de chupar pijas

Parte de la preocupación de que se quiera que el kernel maneje el secure boot a bajo nivel es porque las claves de Microsoft podrían ser usadas para hackear el sistema, y si eso pasara, temen que Microsoft desactive la clave y por ende las PCs con Linux que corran con esa clave (y nadie quiere eso).

Todo comenzó con un pedido (pull request, para quienes usen git) de David Howells que permitía que las claves binarias firmadas por Microsoft se cargaran dinámicamente al kernel corriendo en modo secure boot. El de la manta opinó que es una pelotudez y que mejor sería mejorar el parser X.509. Matthew Garrett le responde que sólo hay una autoridad firmadora y que ellos sólo firman binarios PE (portable executables). Y aquí Linus suelta la lengua filosa y dice:

Chicos, este no es un concurso de chupar pijas. Si quieren parsear binarios PE, háganlo. Si Red Hat quiere hacerle garganta profunda a Microsoft, es *su* problema. No tiene nada que ver con el kernel que mantengo. Es trivial para ustedes tener una máquina firmadora que parsee el binario PE, verifique las firmas, y firme las claves resultantes con su propia clave. Ya escribieron el código, por Dios, está en ese maldito pedido. ¿Por qué me debería importar? ¿Por que al kernel le debería importar una estupidez como “sólo firmamos binarios PE”? Soportamos X.509, que es el estandar para firmado. Háganlo del lado del usuario en una máquina confiable. No hay excusa para hacerlo en el kernel.

Matthew le contesta:

Los vendedores quieren traer claves firmadas por un tercero confiable. Ahora el único que da la talla es Microsoft, porque aparentemente lo único que los vendedores aman más que un firmware de mierda es seguir las especificaciones de Microsoft. El equivalente no es sólo Red Hat (o cualquiera) volviendo a firmar esas claves programáticamente, es volviendo a firmar esas claves con una clave confiable por el kernel de upstream. ¿Estarías dispuesto a llevar una clave confiable por defecto si a algún miembro de la sociedad confiable hosteara un servicio de refirmado? ¿O asumimos que cualquiera que quiera lanzar módulos externos es un idiota y merece ser un miserable?

Linus le responde que duda que a alguien le importe. Que ya es estúpido firmar módulos del kernel con una clave de Microsoft. Además de que Red Hat VA a firmar los módulos binarios de NVIDIA y AMD. Peter Jones dice que no, que Red Hat no firmará ningún módulo construido por otro. Garret añade que RHEL acabará confiando en las claves de NVIDIA y AMD y que es muy probable que estén basadas en el servicio de firmado de Microsoft.

Y aquí es donde hago una pausa y resumen parcial y bestial para el que no quiera entrar en detalles técnicos:

Todo el desarrollo en torno al secure boot se ha vuelto una locura, pero porque los vendedores de hardware (los más grandes al menos) siguen queriendole hacer garganta profunda a Microsoft.

Así que Linus decidió hacer las siguientes sugerencias, así se dejan de joder……:

Córtenla con el alarmismo.

Esto es lo que sugeriría, y está basado en SEGURIDAD DE VERDAD y en PONER AL USUARIO PRIMERO en vez de su enfoque del continuo “démosle el gusto a Microsoft haciendo porquerías”.

Así que en vez de darle el gusto a Microsoft, intentemos ver como podemos añadir seguridad de verdad:

– una distro debe firmar sus propios módulos Y NADA MÁS por defecto. Y tampoco debería permitir que cualquier otro módulo en absoluto se cargue por defecto, porque ¿Por qué mierda debería? ¿Y que carajo tiene que ver una firma de microsoft con cualquier otra cosa?

– antes de cargar cualquier otro módulo de terceros, asegúrense que le pidan permiso al usuario. En la consola. Sin usar claves. Nada de eso. Las claves serán comprometidas. Intenten limitar el daño, pero más importante, dejar que el usuario tenga el control.

– Animen cosas como claves aleatorias por host – con los estúpidos chequeos UEFI deshabilitados si es necesario. Ellos casi definitivamente van a estar más seguros así que dependiendo de alguna loca raíz de confianza basada en una compañía grande, con autoridades firmadoras que confían en cualquiera que tenga una tarjeta de crédito. Intenten enseñar esas cosas a la gente. Animen a la gente a hacer sus propias claves (aleatorias), y añadirlas a sus configuraciones UEFI (o no: todo lo de UEFI es más sobre control que sobre seguridad), y esfuércense en hacer cosas como un firmado de una vez con la clave privada desechada. En otras palabras, intenten animar esa clase de seguridad tipo “nos aseguramos de preguntarle al usuario explícitamente con advertencias grandes y crearle su propia clave para ese módulo en particular”. Seguridad de verdad, no seguridad “controlamos al usuario”.

Seguro, los usuarios la van a joder también. Ellos querrán cargar módulos binarios de NVIDIA y toda esa mierda. Pero que sea SU decisión, y bajo SU control, en vez de contarle al mundo como ésto debe ser bendecido por Microsoft.

Porque esto no debería ser sobre las bendiciones de MS, sino de el usuario bendiciendo los módulos del kernel.

Honestamente, ustedes son lo que a los locos anti-claves les provoca miedo. Ustedes venden el mierdaware de “control, no seguridad”. Todo el “MS es dueño de tu máquina” es justo el modo equivocado de usar claves.

A partir de entonces el hilo se fue calmándose…y no vale la pena seguirlo

Amigos de DesdeLinux. Hoy cumplo mi primer aniversario como redactor en un blog de linux, a pesar de no haber debutado como tal aquí sino en el blog de frannoe que por entonces se llamaba Ubuntu Cosillas y que hoy es LMDE Cosillas. Y fue allí un 2 de marzo cuando escribí el primer capítulo de esta saga del firmware que luego continué aquí. Quisiera agradecer a todos los que me leen y me leyeron, sobretodo a Frannoe y todo el staff de Desdelinux por hacerme un lugar. Si no fuese por haber hecho aquel curso de Programación Funcional Avanzada, y un compañero que me sugirió usar un linux para trabajar con ghc, seguro que me seguiría importando 3 pepinos todo lo de linux.

Voy a terminar con esta frase: “Si no gritas tu ignorancia, nadie saldrá a corregirte y por ende tendrás razón estando equivocado”

Posts relevantes de la lista de mails del kernel:

https://lkml.org/lkml/2013/2/21/196

https://lkml.org/lkml/2013/2/21/228

https://lkml.org/lkml/2013/2/21/275

https://lkml.org/lkml/2013/2/25/487


11 comentarios

  1.   Juan Carlos dijo

    El tema es que si los fabricantes de Notebooks y demás se encolumnan definitivamente detrás del UEFI de Wintel (no hay que olvidar que UEFI es idea de Intel), y, en el peor de los casos, todos decidan no incluir la opción de desactivarlo, las distros Linux se las van a ver negras si no tienen la firma, y creo que es algo que avizoró la gente de RedHat. Quiero ver qué es lo que van a hacer de acá a un par de años cuando no se pueda instalar Linux en ningún equipo nuevo por no tener la firma.

    1.    Ankh dijo

      En el peor escenario, las distribuciones van firmar el kernel con las claves firmadas por Microsoft. De hecho es lo que varias están haciendo ya.
      Lo que dice Torvalds es que esto debe resolverse en cada distribución, porque el kernel no lo va a hacer. Y esto es lo mas sensato, no tiene vuelta.

  2.   Pavloco dijo

    Linus es mi personalidad favorita del mundo real. Es como si lo hubieran sacado de una pelicula de Quentin Tarantino y lo hubieran puesto a dirigir una comunidad. Tiene mucha razón en lo que dice.

  3.   Alf dijo

    ¿Y los equipos de LinuxMint, vienen con UEFI/Secure boot? Insisto en que cuando necesite uno, voy a comprar uno de esos.

    Mi lap tiene un año, para cuando necesite otro creo que eso del UEFI/Secure boot ya va a estar bien resuelto, o debidamente implantado, o debidamente eliminado, ja.

    1.    merlin el debianita dijo

      Realmente lo dudo, es imposible ya que porque si bien el mintbox esta diseñádo para ser usado con linuxmint, fedora, ubuntu y debian, tal como dice en sus especificaciones por lo que sería tonto ponerle secure boot a algo que seguramente va a tener dualboot, o este diseñado para software libre o medianamente libre en el caso de ubuntu XD.

  4.   nano dijo

    Pues es un tema que siempre ha generado controversias desde que salió. Es interesante ver como avanza y como Alf, yo creo que de aquí a un plazo medio las cosas van a ir mejorando. Hay fabricantes que permitirán siempre la desactivación de secure boot y otros que ya traen preinstalado Linux como ThinkPenguin o System76, espero que con el tiempo vayan naciendo mas y mas como para tener de donde elegir… siempre voy a preferir comprar algo que es 100% compatible con linux garantizado que jugarmelas con cualquier otra maquina.

  5.   elav dijo

    Yo todavía no entiendo muy bien los chanchullos estos de UEFI y demás.. Mierda.. por cierto diazepan: Felicidades!! Para nosotros es un placer tenerte por acá.

  6.   Daniel dijo

    Al final vamos a terminar comprando puros equipos de servidor, eso si no transportan esta tarugada allá.
    Deberia ser un perso grande el que la mayoria de los servidores grandes y criticos funcionan con linux y muchos de ellos ( depende de su manejo ) son en extremo seguros, como para presumir que esa jalada de seguridad va a acabar con todo aquel software malintencionado.

  7.   Charlie-Brown dijo

    Como siempre, estoy MUY de acuerdo con lo que plantea Linus, como él bien dice, este tema del UEFI se trata más acerca del “control” que de la “seguridad”. Yo por mi parte, no confío en lo absoluto en este supuesto mecanismo de seguridad y de caerme en las manos un equipo con UEFI lo primero que haré será desactivarlo y seguir como hasta el momento. Por otra parte, no creo que los fabricantes de equipos impidan la desactivación del UEFI pues se ariesgarían a perder cuota de mercado; de que habrá alguno que se arriesgue o al menos lo haga en algunos modelos específicos, no lo dudo, pero pienso que siempre existirán soluciones, recuerden que esto no es más que un BIOS con esteroides y la posibilidad de upgradearlo con versiones “abiertas” siempre estará latente.

  8.   alejandro dijo

    hasta donde se el eufi solo sirve para win8 si quiere un sistema dual boot ya que dle bios lo puedes desactivar, en si asi que no importanto si tiene solo linux y desactiva del bios esa opcion y ya no hay que ser tanto alboroto por la cuestión.

  9.   Fabri dijo

    este tema a mi me queda un poco grande, pero por deduccion personal lo que veo es que los fantoches de microsoft se las empezaron a ver negras al ver lo maduro que esta linux…. y como monopolizan a los grandes fabricantes desde el inicio de los tiempos para mi esta claro porque tanto lio con ese maldito secure boot…… igual alguna empresa grande o mediana supongo que sacara otras opciones sin contar con ms y alli estare comprando yo mi proxima maquina… eso de seguro 😉

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.