El UEFI - Secure Boot: Que payasada

+1
+4
-1

Ríos de bytes han corrido por la Web hablando de la nueva exigencia del M$ para su próximo W$ 8.
Lo primero que hay que entender es que tenemos situaciones diferentes, con distintas problemáticas y caminos a seguir.

Entendiendo el UEFI - Secure Boot.

Cuando IBM creó la primera PC puso las primeras instrucciones que debe realizar un microprocesador en un circuito integrado, una simple ROM. Este circuito es muy importante ya que a partir de las instrucciones que se encuentran grabadas ahí, el procesador, busca y encuentra el resto de los dispositivos electrónicos que conforman la computadora. Una vez que ha realizado esta tarea, puede comenzar a cargar el sistema operativo en la memoria RAM y es entonces cuando el usuario al fin puede usar la PC.

Hay que recordar que este chip fue el único que la IBM patentó (de ahí que a la PC se le denomine como de arquitectura abierta). Así la primera PC clon (Compaq) lo único que en realidad hizo diferente fue crear su propio BIOS.

Esto es importante ya que significa que el BIOS está atado a una plataforma: la x86 de Intel.
Las PC evolucionaron con el tiempo y comenzó a resultar evidente que esta solución no serviría para siempre, de hecho fue al propio Intel a quien le habría de estorbar cuando comenzó a desarrollar microprocesadores que no eran compatibles con el código x86.

Ahí surgió EFI, que no es más que un nuevo chip (mucho mas avanzado) que se encarga de permitir la configuración de la PC y de almacenar las instrucciones de arranque para una computadora. Además EFI ya no es un ROM, generalmente se trata de un dispositivo Flash al que también se le puede escribir.

Poco después, otros fabricantes de chips y computadoras se unieron a este esfuerzo y así nació UEFI, la U viene de "unificado". Hasta aquí todo claro y razonable ¿verdad?

Entre las características de UEFI se incluyó la posibilidad de un "Arranque seguro", que en realidad no es mas que la posibilidad de incluir una clave, que debe corresponder con otra que tenga el sistema operativo que se intenta arrancar. Algo muy similar a lo que ocurre cuando se realiza un transacción monetaria por la Internet, el usuario (el sistema operativo) tiene una clave pública, que al efectuarse la transacción es enviada al proveedor (UEFI) y tras una transformación matemática (solamente conocida por el proveedor) debe corresponder a la clave privada que solamente conoce él.

De acuerdo a las especificaciones de UEFI, esta característica puede ser habilitada o apagada a voluntad del usuario, usando el familiar programa SetUp de arranque de cualquier PC moderna.

Ahora sí, examinemos la problemática.

Situación 1. PC con procesadores compatibles con Intel (32 o 64 bits) ya existentes.

Aquí no hay ningún problema (de verdad, absolutamente ninguno) ya que muchas de ellas, me atrevería a decir que la gran mayoría no cuentan con el chip UEFI y siguen usando el viejo BIOS. ¿Por qué? el culpable es el propio W$, que no era compatible con las especificaciones de UEFI (no voy a aburrirlos con los detalles técnicos).

La pregunta entonces es: ¿Se podrá instalar W$ 8 en esas PC? La respuesta es un SÍ absoluto. La nueva versión incluirá por supuesto la clave necesaria para el Secure Boot, pero no hay nada en el hardware que la use, por lo mismo no tiene la menor importancia. Esto además responde a los intereses comerciales de M$, ¿acaso alguien en sus 5 sentidos se podría imaginar que no se pudieran vender (o incluso piratear) actualizaciones de W$ 8? Un absurdo total, un segmento demasiado jugoso del mercado como para olvidarlo.

Situación 2, PC con procesadores compatibles con Intel nuevas.

Separemos en primer lugar a las que se continuarán fabricando con BIOS, para las cuales habrá que aplicar lo explicado en el párrafo anterior. ¿Seguirán fabricándose así? Con seguridad sí, y la razón es nuevamente económica, Los BIOS son una tecnología vieja, ya completamente pagada, en tanto que las UEFI implican gastos nuevos en el diseño y fabricación de las placas madre. Es prácticamente un hecho que muchos fabricantes de placas madre continúen produciendo modelos BIOS, dirigidas al mercado de PC's "armadas" (que es enorme) por mucho tiempo. De igual forma pequeños fabricantes de computadoras de "marca" continuaran adquiriendo este tipo de placas debido a su menor costo.

Mucho he leído acerca de que el cambio será mas rápido, ya que los fabricantes buscarán "con desesperación" una certificación del tipo "W$ 8 Certificated". Yo no lo creo así, y muchos de ellos se conformarán con un simple "W$ 8 Compatible" y apostarán a que el río se desborde (explicaré mas adelante el porque).

Por otro lado aparecerán las PC de nueva factura con UEFI, especialmente las de "marca", pero repito, como W$ 8 para PC no requiere forzosamente del Secure Boot, bastará con deshabilitarlo para poder tener el ansiado dual boot, o de plano deshacerse de W$ 8 e instalar nuestra distribución favorita.

La discusión se ha centrado en que los expertos estiman que el usuario común no se atreverá (o le costará mucho trabajo) a estar toqueteando el SetUp para deshabilitar el Secure Boot. FALSO, los usuarios de GNU / Linux lo venimos haciendo hace muchos años, simplemente porque para poder instalar el sistema operativo necesitamos hacerlo para alterar el orden de arranque de los dispositivos.

Situación 3 Computadoras con versiones de W$ 8 (o específicamente diseñadas para).
Aquí se da el caso en que la versión de W$ exija, requiera y necesite de UEFI con Secure Boot activado (como W$ 8 RT para tabletas ARM). Este es el segmento que realmente está dando de que hablar y que trae de cabeza a la red.

Lo primero que hay que recordar (ya que nuestra memoria es flaca) es que este tipo de situación ya se vivió. A principios de los años 90 algunos fabricantes de software usaron una protección anti copia de esa naturaleza, se llamaba Key Lock, y era en resumidas cuentas una ROM (específicamente una EPROM) que se conectaba al puerto serie, de tal suerte que al iniciarse el programa protegido, buscaba el Key Lock correspondiente y si no estaba presente, se abortaba la carga. El método se abandonó por costoso y por inútil; costoso porque cada pieza de software debía emparejarse manualmente con el correspondiente Key Lock individualizado, además debido a las muchísimas situaciones que se presentaban (daños al puerto serie, periféricos que se negaban a "pasar" por el Key Lock, pérdida del aparatito, etc.) el coste por soporte técnico se disparó a las alturas. Además resultó inútil porque casi de inmediato aparecieron "cracks" que engañaban al programa interceptando su pedido al Key Lock y respondiendo como si este existiera. También por supuesto aparecieron copias ilegales con su propio Key Lock a modo.

Ahora, técnicamente hablando el propósito del UEFI con Secure Boot no es protegerse de copias ilegales, su propósito es evitar que algún software no firmado digitalmente pueda iniciarse ANTES que el sistema operativo. Entendamos que con buena intención que se trata de impedir que algún tipo de malware se ejecute, pero como los otros sistemas operativos tampoco cuentan con LA MISMA FIRMA DIGITAL de W$ 8, el Secure Boot rechazará el proceso de carga de ese software.

Ahora, entonces el problema es de tipo LEGAL para las distribuciones Linux, ya que el código de la clave pública de W$ 8 es propiedad legal de M$, además se supone habrá de aparecer con su correspondiente clave privada, propiedad legal de cada fabricante de placas madre. El temor entonces es que los fabricantes se reúsen a poner mas claves privadas correspondientes a las claves públicas de cada distribución (asunto técnicamente posible). Por esta razón Fedora ha decidido comprarle su clave a M$.

Ahora sí, debo explicar porque esto solamente es una payasada y aclarar porque el río se va a desbordar. El juego de las claves públicas y privadas solamente funciona cuando se cumple una premisa esencial: La clave privada está segura y solamente es conocida por su propietario.
Esta situación es cierta en mucho mayor medida cuando no hay acceso físico a ella, por ejemplo en las transacciones por Internet, donde un atacante dispone de apenas una fracción de segundo para intentar decodificar que sucede durante la transacción, suponiendo que en los millones de transacciones que esté monitoreando pueda detectar adecuadamente alguna "interesante". De ahí la necesidad de que previamente la computadora comprometida sea infectada con algún tipo de malware.

Pero en el caso de una computadora, UN ARTICULO DE CONSUMO MASIVO nada mas sencillo que tener una o varias a la mano para "destriparle todos sus secretos", no es ninguna ciencia. Ya me puedo frotar las manos viendo como los gobiernos de todos los colores y sabores lo hacen con fines de defensa y espionaje; no, si los gobiernos nacionales nunca espían a sus vecinos, amigos o no, niño malo que ideas perversas las tuyas.

De la misma forma, grupos disidentes o de plano terroristas lo van a hacer y de ahí va a surgir una nueva clase de malware. ¿Ladrones y malvivientes en general? claro que lo van a hacer. ¿Jóvenes curiosos y Hackers profesionales? también lo van a hacer solamente para probar que lo pueden hacer. La mafia internacional de la piratería informática, en primerísimo término.

¿Qué va a suceder? ¡Lo que ya pasó! El coste del soporte técnico se va a elevar mas arriba de la estratósfera, M$, los fabricantes de computadoras y los de placas madre, así como los de muchos otros dispositivos (ya que muchos de ellos deben ir firmados) van a ver como no pueden con ese problemita llamado coste del soporte técnico que tanto han tratado de minimizar en los últimos 10 años.

Además hay otro jugador en el campo: Google que no se muestra para nada interesado en que Android (que es gratuito) se vea inmiscuido en esos problemas.

Solamente les recuerdo que la clave privada está escrita en un dispositivo flash (seguramente hay una copia en alguna ROM para reestablecer las condiciones de fábrica) así que una vez que se sepa como acceder, para dejar inútil una computadora (al menos temporalmente) solo se necesitará reescribir esa clave privada y voila. ¡El caos total!

Comentarios

Imagen de miguel-1500

Estupendo comentario el tuyo. Ahora entiendo bastante mejor lo del UEFI. Vamos a esperar la llegada de este dispositivo para saber lo que ocurre.

Imagen de omnismart

Gracias por el dato amigo, has complementado lo que vagamente tenía sobre le asunto, he probado ésta última versión de win2, con el temor inicial que me causara algunos cambios en alguna parte del BIOS o por algún otro lado que me dejara inservible mi flamante lap (actualmente) una toshiba satellite A100, que ahora comprendo que nada que ver, por cierto, tampoco en este funciona el driver de video para esta lap. No vi dónde deshabilitar la opción touch, ni algunas otras cosas. Me hizo recordar cuando probé KDE (ir a la esquina para ver un menú) o hacia algún lado para ver otro, a conky cuando probé unos cuadros personalizables a colores, etc.

Perdonen el desvío, es interesante el dato sobre UEFI, a esperar los resultados que como bien mencionas, siempre hay alternativas.

Usar Linux se quedaba en sólo intención, no sabía ni cual distro usar y siendo algo completamente extraño para mí, me quedaba en lo Mi$mo.
Ya estoy en Ubuntu

Imagen de sshd

La clave privada no se guarda en ningún sitio de tu ordenador, únicamente la guarda de forma secreta el vendedor del sistema operativo (Microsoft o ¿Canonical?). La parte de la Platform Key (PK) que se guarda en la flash es la pública, que sirve para validar las firmas de los cargadores de arranque firmados con la clave privada tras su compilación.
Recomiendo leer este artículo donde se explica cómo funciona detalladamente (en inglés): http://lwn.net/Articles/447381/
Por lo demás, genial!