martes, 11 de febrero de 2014

Why lockpicking

What is the relationship between opening a lock and infosec? Why are you paying attention to that teenager activity? It is kind of an illegal kid's game!

Original spanish entry [0]

First answer


When you open a lock you can grab a device, open it and tamper with it or get keys stored in a drawer, access an unprotected terminal, sensible printed documention, install an usb keylogger, video splitter, network sniffer, take a backup tape, or, why not, steal a production disk. Not enough, too corporate.

Second answer


A key is an authentication factor [1][2], something I have.

The lock maker is in the same position as someone who implements an authentication algorithm. The one who installs the door, an authentication system.

Copying a key is like stealing passwords by means of shoulder surfing, keylogging or phishing.

You can ask a locksmith to copy them or take a photo or cast. Shoulder surfing is watching over someone else's shoulder while he is typing the password, keylogger is a program that captures every keystroke and send it to the attacker, phishing is asking someone to type his passwords in a fake web site under an attacker control.

To move the latch without moving the lock is like taking advantage of a crytographic system or web appliation design flaw, like CSRF or session fixation.

Can shim[3] of Devian Ollam is an example of the first, you use a can to open a padlock, like a credit card to open a door. To explain CSRF is not so easy, but it's kind of using the victim's session to make a transaction in a web application. Session fixation allows the attacker to get an authenticated session without getting the password.


Impressioning is the process of trying a blank key and filing where a mark appears until the lock opens and it is like a timing attack when you can recover a password from the variation of time in invalid login attemps.

I can not find a good comparisson for lifting. You open the lock pin by pin. It has some resemblance with a timing attack, but you open the door without getting the key.

Racking is brute lifting, like trying combinations, called brute force attack.With a combination padlock it is like trying every number. Racking is like a dictionary attack as it is trying common numbers in a combination padlock.

If a password is hashed and the attacker get it and find another password with the same hash value (it is called colission) it is like having a master key.

If someone has the same passwords in different accounts, if one of the sites get compromised, the attacker can attack all the accounts. It is like having the same key for all the doors.


Bumping is bumping the lock with an special key and it is like changing the execution flow of a program with a buffer overflow.

Vulnerabilities comparisson


avoids authentication mechanismsgot a copy of the key or the password
keyloggernoyes
shoulder surfingnoyes
phishingnoyes
csrfyesno
session fixationyesno
dictionarynoyes
brute forcenoyes
collisionin some wayin some way
buffer overflowyesno
timing attacknoyes
repetitionnoimplies that the first one has been captured
key copynoyes
can shimyesno
liftingnono (*)
impressioningnoyes
rackingnono
master keyin some wayin some way
social engineeringyesprobably
bumpingnono




Responsabilities and mitigations



responsiblemitigation
keyloggeruserdo not install malware
shoulder surfinguserget smart
phishinguserget smart
csrfprovidersecret toke
session fixationproviderdiscard session
dictionaryusercheck against dictionary
brute forcedestinystronger passwords(**)
collisionproviderimprove algorithm (***)
buffer overflowproviderdo not trust 0 as a string end
timing attackproviderfixed time comparissons
repetitionuseruse different keys and passwords
key copyuserdo not give key away
can shimproviderblock latch
liftingproviderimprove design (****)
impressioningproviderrounded pines
rackingproviderimprove design (****)
master keysharedasume risk
social engineeringuserget smart
bumpingprovidersprings with different strength

(*) I guess that someone with enough experience could imagine the key and build it.
(**) Stronger passwords mean longer with numbers, symbols, upper and lowercase characters.

(***) The attacker that does not know the algorithm, can not find colissions. The theory says that the algorithm is not secrect, but defense in depth say so.

(****) Includes using special pins, different strengh springs and a more contorted profile



Not enough, too academic.

Third answer

There is another answer related to mental state, attitude. The spirit of lockpicking is the same as the hacking spirit.

The feeling of opening a lock without the key is like hacking a system in a laboratory or ethical hacking, of course.

Disposable lockpicking at http://seguridad-agile.blogspot.com/2013/04/disposable-pick-tools-for-office.html

If you do not like my english, welcome aboard, please be kind.

[0] http://seguridad-agile.blogspot.com.ar/2013/09/por-que-lockpicking.html
[1] http://en.wikipedia.org/wiki/Multi-factor_authentication
[2] http://seguridad-agile.blogspot.com/2013/11/por-que-no-biometria.html
[3] http://deviating.net/lockpicking/media/can_shim.avi

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

lunes, 10 de febrero de 2014

Medidas contra el 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

 

 ¿Cómo se combate la anonimización?

Verlo como el contrincante es útil, si esta vez nos ha tocado anonimizarnos, veamos que nos harían:
 

Análisis de tráfico

Durante la segunda guerra mundial la criptografía tenía una cierta madurez, pero el criptoanálisis estaba en pañales, por ello cobró un cierto relieve el análisis de tráfico [1]. También he oido por ahí la capacidad de las empresas de comunicaciónes de correlacionar lineas de teléfono a una misma persona por su patrón de actividad. Esto se traduce en que si tirás tu chip y tu teléfono y los reemplazás por unos sin relación con tu identidad, tras unos pocos días de uso generás un patrón de comunicaciones que te relaciona con el equipamiento anterior. También sabemos de los sistemas de los banco que hacen análisis de operaciones para detectar fraude y sabemos que en EEUU se admite al menos que se hace ese análisis "sin ver el contenido", jeje.


Análisis del texto.


El estilo, la selección de palabras, frases y las estructuras utilizadas tienen un cierto aire a huella digital, que permite que es pueda reconocer al escritor aunque este no se identifique. Es algo parecido a lo que ocurría con los operadores de morse, que su modo de transmitir los hacía únicos. Como anécdota, cuando un operador era tomado prisionero por el enemigo y este tenía el propósito de contaminar al sistema de inteligencia ajeno, era de primordial importancia que siguiera operando pues no si no los otros operadores se daban cuenta.


Logs.

Las aplicaciones pueden ir dejando escrito en algún lado "cuando", "quien", hizo "que". Las aplicaciones incluyen desde servidores web al equipamiento de los ISP. La correlación entre los logs de distintas aplicaciones pueden dar un panorama bastante completo de que ocurre, reduciendo el anonimato.

Por ejemplo, ayer (cuando) le quitaste a otra persona (quien) en tu trabajo las credenciales del proxy para poder bajarte porno (que)... pero lo hiciste desde tu estación de trabajo, pillín, mirando la dirección ip "quien" sos vos.


Resumiendo, si estás en algun log, perdiste.

Malware.


La inyección de programas en los sistemas de las personas u organizaciones bajo vigilancia, facilita enormemente la labor del atacante, ya que no importa que medidas se tomen, el ejercer el control sobre el equipamiento hace que aunque ante Internet las acciones sean anónimas, estas queden registradas de todos modos.

Hay un interesante artículo donde se vé el malware aplicado en distintos componentes de una red, pasando de aplicaciones a firmware, gentileza de NSA




http://www.spiegel.de/international/world/a-941262.html

 


Infiltración


Esto ya cae fuera del alcance de esta entrada, pero es obvio que si una organización cuenta con un miembro infiltrado en otra, aunque puedan no haber pruebas, la primera sabe cuales son las acciones anónimas de la segunda.

Cookies

Este es un aspecto técnico, es como una mezcla entre malware e infiltración. Una vez que nuestro navegador tiene un cookie, dependiendo de las reglas lo enviará a diversos sitios a los que nos conectemos. Hace muy mal al anonimato que al publicar una noticia el servidor reciba un cookie con un secretito tomado en nuestra navegación previa.

Honey pots


Si estás ansioso por navegar anónimamente, cuando te enteres que hay vpns y proxys anonimizadores estarás muy feliz, hasta que te preguntes, ¿quién puso ese proxy?



Ejemplo de análisis de logs



Esta noticia nos cuenta de que manifestantes en Kiev recibieron un mensaje SMS por haber estado en una manifestación. ¿Cómo los descubrieron? Muy sencillo, los celulares están conectándose permanentemente con las antenas más cercanas, lo cual permite calcular con bastante precisión donde están en cada momento.




http://www.theguardian.com/world/2014/jan/21/ukraine-unrest-text-messages-protesters-mass-riot

Si te interesa ver otro ángulo de este tema, seguiré con

[1] http://www.governmentattic.org/8docs/NSA-WasntAllMagic_2002.pdf página 53 del documento, 69 del pdf