viernes, 14 de febrero de 2014

NSA, Microcódigos y Puertas Traseras


"En los tiempos de engaño universal, decir la verdad es un acto revolucionario"

George Orwell


Con todo este lío que el analista Edward Snowden ha armado sacando a la luz las prácticas ilegales de los EEUU, y antes que él Wikileaks, parece que nadie se fija en algunos pequeños detalles sin importancia que rodean a todo este turbio asunto.

Para empezar, nadie habla de la red Echelon, que fue descubierta por la UE en el año 2001, aunque ya llevaba en funcionamiento bastantes años más. ¿En qué quedó todo aquello? Quedó en nada, al igual que lo que va a ocurrir ahora: nada.

En las oficinas de Putin, Presidente de Rusia, han dejado de usar ordenadores y en su lugar emplean máquinas de escribir. Luego, ¿Qué saben ellos que nosotros no sepamos?

Quizás es que esté Intel, quiero decir la NSA dentro.


Por Steve Blank


Para aquellos de ustedes que no estén al tanto, decirles que el programa PRISM de la Agencia de Seguridad Nacional de los Estados Unidos (NSA) ha estado en el candelero. Este programa proporciona acceso completo a todos los datos de los servidores de Microsoft, Google, Facebook, etc, extrayendo de ellos audio, videoconferencias, fotografías, correos electrónicos, documentos, etc

No obstante PRISM es sólo una parte del gigantesco programa de vigilancia de la NSA, que rastrea cualquier camino posible que uno pudiera utilizar para comunicarse, ya fluyan por fibra óptica o Internet, almacenando todas las compras realizadas con la tarjeta de crédito, sus llamadas telefónicas y su posición en todo momento (cortesía de su elegante teléfono).


Steve Blank 

Todo esto salió a la luz cuando el analista Edward Snowden empezó a hacerlo público, aunque ya era un secreto a voces

Considerando mi trabajo sobre la Historia Secreta de Silicon Valley, me entrevistaron en la Radio Pública (NPR) sobre las revelaciones de que la NSA tenía la posibilidad de triplicar la cantidad de llamadas de Skype recogidas a través de PRISM. Como la mayor parte de los estadounidenses, dije: “No recuerdo que la Cuarta Enmienda de nuestra Constitución haya sido derogada”
Mientras que el entrevistador se centraba en la revelaciones sobre Skype, yo consideraba otro interesante descubrimiento, “que la Agencia de Seguridad Nacional ya tenía acceso a la etapa de precodificación del correo electrónico de Outlook”. ¿Qué me dice? ¿Pueden ver el contenido del correo incluso antes de que sea codificado? Esto supone la derrota de cualquier método de codificación, ¿Cómo pueden hacer esto?



Descubriendo las claves de codificación


Mientras que la mayor partes de los observadores creen que la NSA es capaz de descodificar los mensajes, como ahora se ha sabido por las revelaciones del programa PRISM, su misión consiste en leer todas las comunicaciones. La descodificación sería el último recurso.

La NSA tiene ya una larga historia en desarrollar diferentes formas para leer los mensajes tanto antes como después de haber sido codificados, o bien mediante la colocación de keyloggers en el teclado (registradores de las pulsaciones del teclado) o detectando las imágenes de los caracteres en una pantalla.

Aunque eso era antes, puesto que hoy en día, todo ordenador de sobremesa o portátil tiene otro camino abierto para que la NSA se meta dentro.


Intel Inside

Es inevitable que los complejos microprocesadores tengan errores de programación. Cuando se fabricaron los primeros microprocesadores, lo único que cabía esperar es que el error de programación no afectase demasiado al ordenador. El único camino del fabricante era revisar el microprocesador y, en base a los errores detectados, sacar al mercado una nueva versión. Pero los fabricantes y los usuarios todavía discutían en el caso de encontrarse con un microprocesador ya antiguo. Un error matemático de programación particularmente embarazoso en 1994 le costó a Intel 475 millones de dólares; y a partir de entonces la compañía decidió resolver el problema permitiendo que los microprocesadores cargaran una configuración automáticamente cuando el ordenador arrancaba.



Desde 1996 con el Intel P6 (Pentium Pro) y los chips P7 de hoy en día (Core i7), estos procesadores contienen instrucciones que son programables, es lo que se llama “el microcódigo”. Si hay errores de programación, Intel los puede resolver con un nuevo microcódigo, un parche al estilo Windows. Este parche, una actualización del microcódigo, se puede cargar en un microprocesador utilizando las instrucciones de la CPU que han sido reservadas para este fin. Estas actualizaciones no son permanentes, lo que significa que cada vez que enciende su ordenador, el microprocesador carga el microcódigo incorporado, y la actualización se tiene que realizar otra vez (a través de la BIOS del ordenador). 

Desde el año 2000, Intel ha publicado 29 actualizaciones del microcódigo de sus procesadores. El microcódigo es distribuido por: 

  1. Intel
  2. Por Microsoft, integrado en la BIOS 
  3. Como parte de una actualización de Windows. 

Lamentablemente, el formato de actualización del microcódigo no es público y está codificado. Esto permite a Intel evitar que otros proveedores del microcódigo realicen cambios no autorizados. Pero también significa que nadie puede mirar dentro para descifrar el microcódigo, lo que hace imposible saber si contiene puertas traseras.



El perro que nunca ladró


La NSA ha sido muy cuidadosa en disponer sus dispositivos de control de las comunicaciones. Si todavía no ha aparecido el nombre de una compañía en la red de vigilancia, esa es Intel. Quizás sean los únicos tipos buenos de este "lío orwelliano"

O quizás la NSA trabaje con Intel y/o Microsoft y halla ha puesto a sabiendas unas puertas traseras en las actualizaciones del microcódigo. Una puerta trasera es un modo de tener el control remoto e ilegal del ordenador, actuando por fuera de los controles de seguridad normales que posee un ordenador. Alguien que tratase de instalar un software malicioso en un ordenador lo haría por medio de un rootkit (software que trata de ocultar el código malicioso). Un rootkit trata de esconderse y también su código, pero los sitios que disponen de mayores niveles de seguridad pueden descubrir un rootkit por medio de instrumentos que examinan el código y descubren los cambios.


Pero ¿y si pudiera usar la configuración y el estado del hardware del microprocesador a fin de ocultarse? Sería invisible para todas las técnicas de rastreo de rootkit. ¿O si pudiera generar un número arbitrario el microprocesador (la base de codificación), no tan arbitrario para una máquina en particular? (El golpe más grande de la NSA fue el de insertar puertas traseras a los equipos de criptografía

Más bien que arriesgarse modificando las actualizaciones de todo el mundo, mi apuesta es que la NSA ha realizado cambios en las actualizaciones del microcódigo, lo que da a la NSA la capacidad de apuntar selectivamente a ordenadores específicos (su sistema operativo asegura las actualizaciones comprobando los paquetes de actualización mediante la comprobación de una clave). La NSA puede entonces envíar por medio de las puertas traseras las actualizaciones de seguridad de Windows. (Resulta irónico, pero es posible). 

Esto significa que no necesita puertas traseras preparadas en el hadware, no necesita comprar un procesador Intel, ni necesita rootkits, se puede apuntar a sistemas específicos sin afectar a la libertad de la persona.



Un juego de dos


Hace unos meses este tipo de discusiones habrían sido pura teoría, una paranoia. Pero las revelaciones del programa PRISM demuestran por otra parte que la NSA necesita tener la capacidad de capturar todas las comunicaciones de todas las formas posibles. Por lo tanto, la intrusión en un ordenador y el debilitamiento de su codificación o tener acceso al texto de las comunicaciones cifradas parece probable. Considerando lo sofisticado de sus técnicas de su red de vigilancia, la sorpresa sería que no hubiesen puesto puertas traseras en el microcódigo. 

La desventaja es que: 

  1. Las puertas traseras pueden ser robadas por otros con intenciones aún peores. Si la NSA tiene puertas traseras en el microcódigo, ¿quién más las puede usar? 
  2. ¿Qué otras piezas de nuestra infraestructura (gestores de tráfico, satélites, smartphones, equipos militares, etc) usan procesadores con un microcódigo actualizable? 


Y esta puede ser la razón por la cual el Presidente ruso utilice ahora la máquina de escribir en lugar de un ordenador personal.