martes, 11 de febrero de 2014

Proveyendo anonimato

Antes de leer esta entrada, quizás te convenga leer la primera parte:
 if you want an english version, feel free to ask me for it

 
Las revelaciones de Snowden, que para cualquiera que esté en informática en general y en seguridad informática en especial, más que revelaciones son tan solo pruebas de algo hace rato intuido, nos dejan en muy malas condiciones para poder proveer anonimato.

Como prueba de la falta de novedad, Echelon [1] existe desde hace décadas y hace unos quince años migró sus fines militares a algo más generales, por lo cual no es ninguna sorpresa la revelación de la existencia de PRISM. Es bueno sin embargo saber gracias a Snowden cual es el estado actual de la tecnología, poder separar la realidad de la fantasía.

¿Por qué estoy mencionando todo esto, qué tiene que ver con anonimato?

Muy sencillo, para poder ser anónimo hay que poder confiar en que no se pueda rastrear a la identidad original la actividad anónima. Eso ya lo vimos en las otras entradas, tanto desde el punto de vista del que pretende anonimato como del que quiere atacarlo, falta ver como proveer anonimato.


¿Por qué querríamos proveer anonimato?


Recordemos un ejemplo en que el anonimato es indiscutiblemente legal y vital, el caso del sistema de denuncias anónimas de la policía de una ciudad de Sudáfrica, que ganó una lamentable notoriedad cuando se divulgó la base de datos[2]. La falta de destreza de los guardianes de esa información, afectó el anonimato de centenares o miles de personas, muchas de ellas víctimas.

Desarrollo de caso teórico


Veamos esta foto e intentemos implementarlo, le sumanos un canal por mail y otro web, para hacerlo más completo.




Supondré que no existe la amenaza de un ataque de denegación de servicio por medio de denuncias falsas, lo cual hace prácticamente inútil a fines prácticos todo lo que sigue, el objetivo es diseccionar el problema. Toda medida que intente utilizar para evitar esa denegación, atentará contra el anonimato.

Primero ¿cómo puedo contar con que no me rastreen al llamar? Desde que existen las centrales telefónicas digitales se acabó el problema de rastrear llamadas y si pensás que con marcar *31# alcanza, eso es sólo para llamar a lineas comunes, no hay ningún anonimato si la telefónica no quiere. La persona denunciante se ve obligada a llamar desde un teléfono público, donde no hayan cámaras.

Si fuera mail o web, nos comprometemos a no guardar ningún dato,
pero si el equipamiento que hay entre la persona que quiere anonimato y nuestro servicio está comprometido, no hay nada que podamos hacer, queda en manos del denunciante, que debe ser entonces un experto.

Supongamos entonces que nuestra llamada fué anónima y que no hay nada comprometido en el camino. La conversación queda grabada en el sistema. Como muchas veces ocurre, los datos de hoy son información de mañana, en [3] hay una explicación de la diferencia entre "datos" e "información", como para no repetir. Hoy la voz es dato, pero en el mundo pesadilla de control total de mañana, nuestra voz nos identificará. Es menester entonces que la llamada se convierta en texto y se descarte. Mientras, el denunciante debe usar un programa que modifique la voz. Una vez hecho texto, confluye con una denuncia vía mail o web.

Luego, por análisis de texto, quizás no seamos identificados 100% mañana, pero seguramente sí pasado mañana. Nosotros no podemos descartar el mensaje, así que el denunciante se ve obligado a escribir primero el mensaje, luego reescribirlo quitando las formas que lo identificarían y en caso de llamar, leerlo usando el scrambler con voz monocorde.


¿Alcanza? Depende, si uno dice "el policia XXX en tal día me detuvo e intentó plantarme evidencia", ¿qué tiene eso de anónimo? El policía XXX sabe a quien detuvo y sabe a quien avisarle quien soy por más que esté bajo la mira de la justicia, si no, pregúntenle a Julio López[4]. Y eso fué hace ocho años. La fuerzas armadas suelen tener uno códigos de lealtad muy fuertes...

Una vez que está dentro de nuestro sistema, puede haber un compromiso que
puede venir por el hardware, el sistema operativo, el framework o nuestro mismísimo proceso de desarrollo. Puede ser tanto por una vulnerabilidad como por malware o por un backdoor. Aquí empalmó lo de Snowden.

En este caso hay una ventaja para el atacante, que es que no necesita tomar el control, lo que hace que sea más difícil de detectar, basta con que registre en algún lado la información en que nosotros creemos descartada. Eventualmente la puede transmitir o simplemente pasar a buscarla.


Aún si tuvieras todo esto solucionado, queda el aspecto legal. Al menos dos empresas de mail seguro[5] [6] han cerrado sus actividades adelantándose a tener problemas, argumentando que no podían garantizar la seguridad de sus operaciones ante un requerimiento legal.


Experiencia de caso real


Yo tuve una micro experiencia, relacionada con una encuesta de tratamiento de llaves[7]. Aunque no creo que hubiera manera de que un ratero pudiera aprovechar la información, por disciplina obré como si si pudiera. Fue tomada vía email y la información que quería eran tres respuestas acotadas y una libre para un comentario. Además, no quería ni necesitaba que quedaran relacionadas las primeras con la última.

Tuve que enviar mail con copia oculta, aclarando que me respondan a mi en caso de haberlo recibido por una lista. Las respuestas tuve que eliminarlas del mail tras haberlas pasado a una planilla y asegurarme que no quedaran en la papelera.

En esa lista, sólo copié las respuestas, eliminando algunas palabras que daban indicios de la identidad del remitente.

Por supuesto que me equivoqué y tuve que tomar medidas correctivas. Normalemente publico, explico y me regodeo en mis errores, pero esta vez mejor no, le contaré en persona a quien me lo pregunte. Además, si mi cuenta de correo o mi máquina hubiesen estado comprometidas (cosa que, por cierto, no puedo negar categóricamente), todas las precauciones hubiesen sido en vano.

No fue sólo por disciplina, si no por que como bien dije "Hacer esta encuesta es muy incómodo para ambos, si alguien pierde pronto sus llaves y su casa es saqueada no va a haber manera de quitarle una desagradable sensación de desconfianza hacia mi por el resto de su vida, asi que agradezco mucho a quienes confiaron en mi.". Lo menos que puedo hacer es tomármelo en serio. Y aquí entra en juego otra vez la confianza moral vs la técnica [8]

Conclusión


El panorama que pinto no es alentador. La verdad es que sólo veo que el anonimato quizás sea factible llevado adelante por el interesado, con un gran esfuerzo y conocimiento técnico. No estoy en posición de proporcionar una solución categórica como en el caso de Camus el "hacker": no te saques fotos en pelotas.

Sí pienso que este, como cualquier problema extremo, nos sirve para comprender y lidiar con los más comunes, como por ejemplo seguridad y privacidad: no pedir ni guardar información inútil, protegerla en caso de que sea inevitable guardarla, tanto en el transporte como en el almacenamiento y el procesamiento (repitiendo la teoría, no?).

No me parece correcto razonar: "como no tengo manera de saber si mi sistema está comprometido o no, no me importa, igual cualquier cosa que haga es en vano".



¿Es sombrío el panorama? Y, si.



[1] http://www.europarl.europa.eu/sides/getDoc.do?pubRef=-//EP//NONSGML+REPORT+A5-2001-0264+0+DOC+PDF+V0//EN&language=EN No lo leí todo, sólo como evidencia de lo viejo que es el asunto
[2] http://seguridad-agile.blogspot.com.ar/2013/05/leak-mortal.html
[3] http://seguridad-agile.blogspot.com.ar/2014/01/camus-el-hacker-y-el-escenario.html
[4] http://es.wikipedia.org/wiki/Jorge_Julio_L%C3%B3pez
[5] http://lavabit.com/ o https://web.archive.org/web/20140210042748/http://lavabit.com/
[6] http://silentcircle.wordpress.com/2013/08/09/to-our-customers/
[7] http://seguridad-agile.blogspot.com.ar/2014/01/la-vida-real.html
[8] http://seguridad-agile.blogspot.com.ar/2013/09/confianzas.html

No hay comentarios:

Publicar un comentario