martes, 10 de septiembre de 2013

"NSA y software libre: la cadena de la custodia"




Han pasado dos noticias bastante interesantes en estos días, la primera, unas declaraciones de Kevin Mitnick, asegurando que la NSA había “Infiltrado” el código del PGP (Pretty-Good-Privacy), en la otra, que la NSA había “infiltrado” las decisiones para que el dispositivo generador de números aleatorios (/dev/random) del sistema Linux, dependiera del hardware, en este caso, de extensiones de hardware de CPUs Intel y AMD, comprometiendo la seguridad del núcleo …
¿Afectan estas noticias la credibilidad del software libre?, ¡al contrario!, veamos por qué.

Del PGP al GNU PG
PGP es un software “comercial” (y es “a ese software” al que hace referencia Mitnick), actualmente las patentes alrededor tanto de PGP como de los algoritmos de cifrado, están a cargo de Symantec, incluyendo el cifrado IDEA que hace uso PGP; en su lugar y gracias al uso de algoritmos libres (tanto de patentes, como limpios en sus especificaciones, como RSA-AES) se desarrolló GNU PG (GNU Privacy Guard) como una implementación de openPGP y que es la versión de PGP que utilizan TODAS las distribuciones de software libre a nivel mundial.
Hay que recordar de GNU PG dos historias claves, el caso del famoso bug detectado por la gente de Entrust de 2004, que causó la re-escritura de uno de los métodos de cifrado simétrico, el otro caso, en 2006, que fue detectado por la gente de seguridad de Gentoo Linux, y que (a diferencia de otros “bugs” de 10 años de duración en Windows), tardó en corregirse sólo 6 días.


Random Number Generator 

“/dev/random” es un pseudo-dispositivo de software, que existe en el núcleo Linux con el único propósito de proveer de una máquina generadora de números aleatorios, “/dev/random” hace uso de extensiones de hardware en los CPUs (Intel, AMD, Texas Instruments-ARM, etc) para poder generar números “pseudo-aleatorios” (se dice “pseudo”, porque al ser un computador un sistema determinista, hay una probabilidad remota de que los números no sean realmente aleatorios).
Al igual que con PGP, en Linux existe además “/dev/urandom”, la diferencia entre ellos es clave, el primero, basado en “entropía de hardware”, puede llegar a quedarse “exhausto” de bytes, por ende, esperará a llenar el pool de entropía para entregarte “más números aleatorios”, esto hace que “/dev/random” sea en consecuencia, más lento que “/dev/urandom”, que simplemente reutiliza la fuente de entropía una y otra vez para obtener más números aleatorios por software (es por esta razón que lleva la “U” adelante, de “unblock”, es decir, no se bloquea como /dev/random).
Entonces, ¿la decisión de Torvalds compromete la seguridad de algo?, ciertamente de las distribuciones de GNU/Linux en las que “/dev/random” utilice exclusivamente la entropía del CPU (que al sol de hoy y luego de los trabajos de Gutterman y Reinman en 2006, creo que ninguna); hay parches en Debian GNU/Linux (no aprobados en la LKML -Linux Kernel Mailing List-) que modifican /dev/random para hacer uso de más entropía como ioctl (movimiento del mouse, ruido del flujo de video, ruido del tráfico de la red, etc), dichos parches se aplican desde el 2006 por requerimiento de aplicaciones “precisamente” como GNU PG y GNU TLS.
Creo que incluso, después de “descubierto” el compromiso de las extensiones de CPU Intel por parte de la NSA, un simple “parche” será cosa de algunos días.
¿no creen?

Coneheads y la NSA llegó a mi casa…

Una vez alguien me escribió que iba a “desactivar SELINUX porque era un producto maléfico de la NSA”, además del hecho de existir varios miles de ojos dentro del código de SELinux (admitir que hay código malicioso dentro del núcleo Linux es contradecir expresamente lo que se defiende acerca de las 4 libertades que la FSF defiende a ultranza), es más que claro con el hecho de arriba (/dev/random no está comprometido, sino una de sus tantas fuentes de aleatoriedad, como lo son los CPU de Intel/AMD) que el software libre ha probado, una vez más, que se deben comprometer cosas “más oscuras” que el código, para empañar la seguridad del núcleo Linux (o de freeBSD, por ejemplo).
De Intel se cree todo, por allá por la guerra del golfo, se distribuyó por la “conspironoosfera”, una *noticia* que indicó que todos los CPU Intel “chiflaron y se quemaron” dejando inútiles miles de computadoras en Bagdad, minutos antes de iniciar la invasión a Irak ¿posible?, 100%, ¿creible?, muy creíble … de la NSA espero todo.
Pero como indicara alguien en las listas de Fedora (precisamente a la respuesta de SELINUX y su relación con la NSA), cualquier relación con “desactivar SELinux porque lo hizo la NSA y fabricar conos de papel aluminio para “librarse de lectores mentales”, es pura coincidencia … “Los conos de papel aluminio se deben hacer de 2 caras, una cara reflectante hacia afuera, para evitar que “entren” cosas enviadas con rayos mentales por la NSA, pero también con papel reflectante “hacia adentro”, para evitar que la NSA use rayos mentales para leernos la mente, ah!, hay que evitar que haya un “corto-circuito” entre ámbas capas, para no quedar comprometido”.
Es decir, si el CPU (harware) es comprometido por alguna “instrucción maléfica”, no importa el sistema operativo que tengas encima, ¿no creen? …
Claro, ahí si caemos en la retórica de la “eterna conspiración”, podríamos indicar “ahh!, pero Selinux podría *restaurar* sus *troyanos* a través del compilador”, entonces les recuerdas al compilador libre GCC (GNU C), “Ahh!, pero segurito GCC usa extensiones de CPU y si te comprometen el CPU?”, bueno, ármate tu propia máquina! (empezando por el CPU) ¿para eso hay movimientos de hardware libre?, ¿no?; de llegar a pensar así (en esa eterna cadena conspiranóica), tendrías que ponerte como algunos conspiranóicos que hablan de IPv8 (¿no sale más fácil esto si quieres privacidad?) tendremos que vivir en cuevas, con nuestro propio hardware de computadora, nuestras propias redes, fabricando hasta nuestro propio cable (inmune a las ondas electromagnéticas que USA lanza regularmente antes de cualquier invasión), rodeando nuestras cabezas con conos de papel aluminio (bien diseñados, ¡por favor!) y evitando cualquier contacto con otro ser humano “sospechoso”.
Vivimos esta realidad, hay que enfrentarla … no tratar de volver a las cuevas y el oscurantismo…

Fuente: http://phenobarbital.wordpress.com/2013/09/07/la-cadena-de-custodia-nsa-y-software-libre/

No hay comentarios:

Publicar un comentario