Ir al contenido principal

Entrevista de Edward Snowden para Der Spiegel

Leyendo darkernet.in me enteré de que Edward Snowden había hecho una entrevista anónima para Der Spiegel antes de que se destapara todo lo de PRISM, he aquí la traducción en castellano de la versión en inglés (exceptuando el de la nota al pie nº8, los enlaces no estaban incluídos en la versión original):

Poco antes de convertirse en un nombre familiar alrededor del mundo como informante, Edward Snowden respondió una exhaustiva lista de preguntas. Estas salieron de Jacob Appelbaum, de 30 años, un desarrollador de cifrados y software de seguridad. Appelbaum provee de entrenamiento sobre como usar Internet de forma anónima a grupos internacionales por los derechos humanos y periodistas.

Appelbaum se hizo ampliamente conocido por primera vez después de hablar en nombre del fundador de WikiLeaks Julian Assange en una conferencia de hackers en Nueva York en 2010. Junto con Assange y otros co-autores, Appelbaum liberó recientemente una recopilación de entrevistas en forma de libro bajo el título "Cypherpunks: Freedom and the Future of the Internet".

Appelbaum terminó en el radar de las autoridades americanas durante el transcurso de su inverstigación sobre las revelaciónes de WikiLeaks. Desde entoces estas han presentado órdenes legales a Twitter, Google y Sonic para entregar información sobre sus cuentas. Pero Appelbaum describe su relación con WikiLeaks como "ambigua", y explica aquí como fué capaz de plantear preguntas a Snowden.

"A mediados de mayo, la realizadora de documentales Laura Poitras contactó conmigo", dijo Appelbaum. "Ella me dijo que estaba en contacto con una posible fuente de la Agencia de Seguridad Nacional (NSA) que había aceptado entrevistarse con ella".

"Ella estaba en proceso de reunir preguntas y pensó que hacer algunas preguntas específicamente técnicas era una parte importante del proceso de verificación de la fuente. Uno de los objetivos era determinar si estábamos o no realmente tratando con un informante de la NSA. Estaba profundamente preocupado por una trampa del estilo de COINTELPRO. Enviamos las preguntas cifradas de forma segura a nuestra fuente. No tenía conocimente de la identidad de Edward Snowden antes de que fuera revelada al mundo en Hong Kong. El tampoco sabía quien era yo. Esperaba que cuando el anonimato fuera eliminado, encontraramos a una persona de unos sesenta años."

"Las siguientes preguntas son un extracto de una entrevista mayor que cubrió numerosos temas, varios de ellos de una naturaleza altamente técnica. Algunas de las preguntas han sido reordenadas para proveer el contexto necesario. Las preguntas se centran casi exclusivamente en las capacidades y actividades de la NSA. Es crítico entender que estas preguntas no fueron hechas en un contexto reactivo a los eventos de la última semana o incluso el último mes. Fueron hechas en un periodo relativamente calmado, cuando Snowden probablemente estaba disfrutando de sus últimos momentos en el paraiso Hawaiano -- un paraíso que abandonó para que todas las personas en el planeta pudieran entender la situación actual como el lo hace.

"En un punto posterior, también tuve contacto directo con Edward Snowden en el que revelé my propia identidad. En ese momento, el expresó su deseo de que sus sentimiento y observaciones sobre ese tema fueran publicadas cuando pensara que el momento era el adecuado."

Nota del editor: Los extractos siguientes han sido temados de la versión original en inglés de la entrevista. Las potenciales diferencias entre las versiones alemanas e inglesas pueden ser explicadas por el hecho de que hemos preservado la mayoría de los términos técnicos utilizados por Snowden en la transcipción. Las explicaciones sobre la terminología usada por Snowden, así como las notas del editor están provistas en forma de notas al pie.

Entrevistador: ¿Cual es la misión de la Agencia de Seguridad Nacional (NSA) -- y como es el trabajo que hace compatible con la aplicación de la ley?

Snowden: Ellos tienen la tarea de saber todo lo que tenga importancia que ocurra fuera de los Estados Unidos. Ese es un reto significativo. Cuando se le hace aparentar que no sabe todo sobre todo el mundo se hace una crisis existencial, entonces piensas que está bien doblar las reglas. Una vez que la gente de ódia por doblar las reglas, romperlas se convierte en una cuestión de supervivencia.

Entrevistador: ¿Están las autoridades alemanas o sus políticos involucrados con el sistema de vigilancia de la NSA?

Snowden: Sí, claro. Nosotros 1 dormimos en la misma cama que los alemanos, de la misma forma que la mayoría de los países occidentales. Por ejemplo, nosotros 2 les avisamos cuando alguien que queremos vuela a través de uno de sus aeropuertos (que por ejemplo, hemos descubierto a través del teléfono de la novia de un hacker sospechoso en un tercer país sin ninguna relación) -- y ellos nos lo mandan. Ellos 3 no piden explicaciones sobre como sabemos algo, y viceversa, para aislar sus líderes políticos del golpe de saber de lo seriamente que se viola la privacidad global.

Entrevistador: ¿Pero si los detalles de este sistema son expuestos ahora, a quién se culpará?

Snowden: ¿Frente a una corte de los EEUU? No estoy seguro de que hables en serio. Una investigación encontró la gente concreate que autorizó la escucha de millones y millones de comunicaciones, lo que debería resultar en la mayor de las sentencias en la historia del mundo, y uno de nuestros altos oficiales simplemente pidió que la investigación se detuviera. Quién "puede" ser culpado es inmaterial cuando la aplicación de la ley no se respeta. Las leyes son para vosostros, no para ellos.

Entrevistador: ¿Hace equipo la NSA con otras naciones, como Israel?

Snowden: Sí. Continuamente. La NSA tiene un enorme cuerpo responsable de esto: FAD, la junta directiva de asuntos extranjeros (Foreign Affairs Directorate).

Entrevistador: ¿Ayudó la NSA a crear Stuxnet? (Stuxnet es el gusando informático desplegado contra el programa nuclear iraní.)

Snowden: La NSA e Israel lo co-escribieron.

Entrevistador: ¿Cuáles son algunos de los grandes programas de vigilancia activos hoy en día y como ayudan los socios internacionales a la NSA?

Snowden: En algunos casos, los llamados "Socios de Cinco Ojos"4 (Five eye partners) van más allá de lo que hace la propia NSA. Por ejemplo, el Cuarter General de Comunicaciones de Reino Unido tiene un sistema llamado TEMPORA. TEMPORA es el primer buffer "full-take"" de Intenet de la comunidad de inteligencia de señales que no se preocupa del tipo de los contenidos y solo presta una atención marginal al Humans Right Act. Husmea en todo, en un buffer giratorio para permitir una investigación retroactiva sin perder un solo bit. Ahora mismo el buffer puede mantener tres días de tráfico, pero esto está siendo mejorado. Tres días puede no parecer mucho, pero recuerda que no son metadatos. "Full-take" significa que no se deja nada, e ingiere la totalidad de la capacidad de cada circuito. Si envías in solo paquete ICMP 5 y este hace su ruta a través del Reino Unido, lo tenemos. Si Descargas algo y resulta que el CDN (red de distribución de contenidos) sirve los contenidos desde el Reino Unido, lo tenemos. Si los registros médicos de tu hija enferma son procesados en un centro de llamadas en Londres … bien, ya entiendes la idea.

Entrevistador: ¿Hay alguna forma de esquivarlo?

Snowden: Como regla general, mientras tengas alguna opción, tu tráfico nunca debe pasar o comunicarse con el Reino Unido bajo ninguna circunstancia. Sus fibras son radioactivas, e incluso las "auto-fotos" (¿selfies?) de la reina al chico de la piscina son registradas.

Entrevistador: ¿Hacen la NSA y sus socios una red de recolección de datos para llamadas de teléfono, texto y datos?

Snowden: Sí, pero cuanto consiguen depende de las capacidades de los sitios de recolección individuales -- por ejemplo, algunos circuítos tienen tubos anchos pero pequeños sistemas de recolección, así que tienen que ser selectivos. Este es más un problema en la recolección de datos del otro lado del mar que domésticos 6, lo que hace la recolección de datos domésticos tan terrorífica. La NSA no está limitada por problemas de electricidad, espacio y refrigaración PSC.

Entrevistador: La NSA está construyendo un nuevo centro de datos gigantesco en Utah. ¿Cual es su propósito?

Snowden: Los repositorios masivos de datos.

Entrevistador: ¿Por cuanto tiempo se almacenan los datos recojidos?

Snowden: Ahora mismo, la recolección de datos completos envejece rápidamente (unos pocos días) debido a su tamaño a menos que un analista 7 haya encargado un objetivo o comunicación, en ese momento la comunicación encargada es almacenada "por siempre jamás", sin tener en cuenta la política, por que siempre puedes conseguir una renuncia. Los metadatos 8 también envejecen, aunque más lentamente. La NSA quiere llegar a un punto donde al menos todos los metadatos son almacenados permanentemente. En la mayoría de los casos, el contenido no vale tanto como los metadatos por que siempre puedes recuperar el contenido basandote en sus metadatos o, sino, simplemente encargar la recojida permanente de todas las comunicaciones de interes futuras dado que los metadatos te dicen lo que necesitas de sus propios datos.

Entrevistador: ¿Ayudan empresas privadas a la NSA?

Snowden: Sí. La prueba definitiva de esto es lo más dificil por que la NSA considera la identidad de los colaboradores de telecomunicaciones como joyas en su corona de omnisciencia. Como regla general, las multinacionales basadas en el Reino Unido no son fiables hasta que hayan probado lo contrario. Esto es triste, por que tendrían la capacidad de proveer los mejores y más fiables servicios en el mundo si de verdad quisieran hacerlo. Para facilitar esto, las organicaciones por los derechos civiles deberían usar esta publicación para animarlos a actualizar sus contratos para incluir cláusulas que se puedan hacer cumplir indicando que no son espiadas, y que daben implementar cambios técnicos. Si ellos consiguien que al menos una que una compañía entre en su juego, puede cambiar la seguridad de las comunicaciones globales para siempre. Si no, considera comenzar esa compañía.

Entrevistador: ¿Hay compañías que rechazan cooperar con la NSA?

Snowden: También si, pero no soy consciente de ninguna lista. Esta categoría será mucho mayor si los colaboradores son castigados por los consumidores en el mercado, lo que debería ser considerada la mayor priodidad para alguien que cree en la libertad del pensamiento.

Entrevistador: ¿Que páginas web debería evitar una persona si no quiere ser un objetivo de la NSA?

Snowden: Normalmente serías elegido como objetivo basándose en, por ejemplo, el contenido de tu Facebook o tu webmail. Lo único que sé personalmente que te puede dar sin estar en el objetivo son foros jihadistas.

Entrevistador: ¿Que pasa cuando un usuario se convierte en el objetivo de la NSA?

Snowden: Que son owneados. Un analista tendrá un informe diario (o programado basandose en un resumen de filtraciones anteriores) sobre que cambió en el sistema, PCAPs9 de restos de datos que no fueron comprendidos por analizadores automáticos, y demás. Depende del analista hacer lo que quieran en ese momento -- la máquina del objetivo no le pertenece ya, pertenece al gobierno de los Estados Unidos.

Notas al pie:

[1] "Nosotros" se refiera a la NSA.

[2] "Nosotros" se refiere a la maquinaria del servicio de inteligencia delos EEUU.

[3] "Ellos" se refiere a otras autoridades.

[4] Los "Socios de Cinco Ojos" (Five Eye Partners) es una referencia a los servicios de inteligencia de los Estados Unidos, Gran Bretaña, Australia, Nueva Zelanda y Canada.

[5] "ICMP" se refiere a Protocolo de Mensajes de Control de Internet (Internet Control Message Protocol). La respuesta privosta aquí por Snowden era áltamente técnica, pero claramente se refería a todos los paquetes de datos enviados a o desde Gran Bretaña.

[6] "Doméstico" se refiere a los Estados Unidos.

[7] En este contexto, "encargado" se refiere a la completa recolección y almacenamiento de metadatos y contenido para cualquier de los identificadores coincidentes por la NSA o sus socios.

[8] "Metadatos" puede incluir números de teléfono, direcciones IP y tiempos de conexión entre otras cosas. La revista Wired ofrece una sólida introducción a los metadatos.

[9] "PCAPS" es una abreviación del término "packet capture".

Entrevista conducida por Jacob Appelbaum y Laura Poitras

PS: también hay una copia de los artículos en cryptome.org

Trabajando en un repo de Debian

Actualización: Parece ser que ya lo han subido al repo oficial ^_^ , así que no tiene sentido mantener este.

Tras pasar las últimas horas dando palos de ciego he podido montar un repo de Debian, empaquetar M.A.R.S. y subirlo, la idea es hacer una recopilación de juegos libres que no estén en los repos oficiales (intentaría mandarlos ahí pero carezco de la constancia para mantenerlos y no es plan).

Teneis el repo en codigoparallevar.com/debian/ y la clave pública usada para firmar es la de siempre 0x453125AC

Y ya va siendo hora de parar por hoy...

ps: Por ahora solo soporta amd64 y no tiene permitido el listado de entradas de directorio, ya lo puliré. La configuración sería esta:

1
2
deb http://codigoparallevar.com/debian/ unstable/$(ARCH)/
deb-src http://codigoparallevar.com/debian/ unstable/source/

Editando archivos en uso

Leyendo el manual de rsync(1), en la documentación de la opción --inplace avisa de que:

In-use binaries cannot be updated (either the OS will prevent this from happening, or binaries that attempt to swap-in their data will misbehave or crash).

Resulta que hace un tiempo había intentado hacer un programa que modificara su propio binario para guardar datos (sin ningún motivo concreto), pero resultaba en errores al modificar el propio archivo mientras aún estaba en uso, además es posible (en sistemas POSIX) eliminar archivos en uso. La lectura de la opción de antes encendió una bombilla, he aquí ese programa que modifica su binario para guardar un número, lo hace cargando su propio archivo en memoria, eliminando el archivo y creando uno nuevo... probablemente la localización del punto en memoria se podía hacer de una forma más sofisticada, pero es solo un programilla de prueba.

Pueden dar warning al compilar, memmem parece que no se porta muy bien con los volatile, pero hace falta que esa estructura lo sea para asegurarse de que no queda modificada en las optimizaciones.

selfedit-unlink.c

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
$ gcc selfedit-unlink.c -o selfedit
selfedit-unlink.c: In function ‘locate_value’:
selfedit-unlink.c:58:5: warning: passing argument 3 of ‘memmem’ discards ‘volatile’ qualifier from pointer target type [enabled by default]
/usr/include/string.h:382:14: note: expected ‘const void *’ but argument is of type ‘volatile char *’
$ ./selfedit 
Stored: 0
$ ./selfedit 7
Stored: 0
$ ./selfedit 
Stored: 7
$ ./selfedit 11
Stored: 7
$ ./selfedit 13
Stored: 11
$ ./selfedit 
Stored: 13
$

Ahora... lo complicado va a ser encontrarle un uso útil :P

Detectando errores al vuelo con emacs

Los editores “clásicos” como Emacs y VIM pueden parecer cosa del pasado cuando hoy en día IDEs como NetBeans o Eclipse detectan errores en el código sin necesidad esperar a compilarlo para encontrarlo (aunque esto se de sobre todo con Java, por algún extraño motivo...), sin embargo la extensionalidad de estos editores permite replicar esto sin grandes problemas.

Emacs incluye por defecto un “minor-mode” llamado flymake que permite hacerlo, aunque haya que hacer unas pequeñas configuraciones dependiendo del lenguaje, la Wiki de Emacs describe como hacerlo para unos cuantos lenguajes.

Pero, y si el lenguaje no está soportado, como Flex o ensamblador? La solución es sencilla, solo habrá que crear un Makefile con una entrada check-syntax que lance el comando adecuado sobre los archivos $(CHK_SOURCES), por ejemplo:

1
2
3
4
AS=nasm -g

check-syntax:
    $(AS) $(CHK_SOURCES) -o /dev/null

Puede que al activar el flymake-mode, este se desactive automáticamente por que interpreta la extensión como no válida para esto, se puede añadir a la lista de permitidas con

1
2
3
(push '("\\.<extensión>$" flymake-simple-make-init) flymake-allowed-file-name-masks)
;;; Por ejemplo, para ensamblador
(push '("\\.asm$" flymake-simple-make-init) flymake-allowed-file-name-masks)

Y ya podemos programar en ensamblador con los avisos en tiempo real de cualquier IDE. Flymake sobre un archivo en ensamblador

Montando un tracker de torrent con twisted

Hace unas semanas supe de Twisted, una librería asíncrona de programación en red para python... lo que viene siendo node.js para python.

Entre otros muchos protocolos (incluyendo SSH, cliente y servidor) que soporta está por supuesto HTTP, lo que nos permite montar un servidor web dinámico sin necesidad de pararse a configurar apache, nginx o algo por el estilo, simplemente haciendo

1
pip install twisted

Y que aplicación web se puede montar rápidamente en un servidor web? un tracker de Bittorrent!

Leer más…