Cita

"Those who are willing to pay a penny of security for a penny of usability will eventually have neither"

26 mayo 2016

Entrevista en Xataka Seguridad



Os dejo el enlace a una entrevista que me han hecho en Xataka, junto a Yago Jesús (@yjesus) y Óliver López.

Precisamente a Yago fue a una de las primeras personas a las que conocí cuando empecé a adentrarme en este mundillo y os puedo decir que es un tío superabordable y encantado de compartir conocimiento con los demás. Además, el blog en el que colabora (Security by Default) fue uno de los primeros que empecé a leer. Lo encontré en internet, ya no recuerdo ni cómo, y un comentario de un compañero de oficina ("ah, sí, ese es un blog muy bueno") me hizo volver a la plaza. Y desde entonces es un must en mi lista (al igual que otros de los que hablo en la entrevista). 

A pesar de lo que diga el título, yo no me considero una experta, ni mucho menos. Soy más bien una "padawan". Pero estuve encantada de compartir mi experiencia con los lectores y aportar mi granito de arena. Seguro que nuestros comentarios os pueden ayudar en algo si pensais iniciaros en el apasionante mundo de la seguridad informática.

Tampoco me considero hacker, solo una persona con conocimientos informáticos que quiere hacer su trabajo bien y está encantada de aprender. Pero no porque piense que un hacker es un delincuente. La RAE sigue manteniendo esa acepción y, hasta cierto punto, lo entiendo porque refleja el uso que se da de las palabras. Y no hay más que ver los comentarios en la entrevista para ver que mucha gente todavía lo entiende así. Pero los idiomas son como seres vivos que nacen, crecen, se reproducen y mueren. El significado de las palabras va evolucionando y cada vez más gente no comparte el sinónimo hacker=delincuente. Tal vez habría que añadir un "en desuso" delante de la definición y completarlo con otra acepción nueva. Para mí, la mejor definición la dio Román en una entrevista, cuando dijo: 

"un hacker es una persona con una serie de habilidades de pensamiento lateral y de capacidad de pensamiento disruptivo. Una persona que sabe cómo salir de los protocolos estándares o de normas que podrían limitarle en distintos caminos". 

Según eso, un hacker no es ni bueno ni malo per se: depende de cómo use las citadas habilidades. Pero fijaos que la definición tiene mucha miga: es como una forma de ver las cosas y de encarar las situaciones y problemas que, no sé hasta qué punto se pueden enseñar o se llevan dentro. Ahora bien, la técnica, eso sí se enseña y se aprende si eres listo. Y en eso estoy... ¿Alguien más se anima?

Quizá os animéis después de leer la entrevista. Que la disfrutéis.

http://www.xataka.com/seguridad/como-llegar-a-ser-un-hacker-varios-expertos-en-seguridad-nos-lo-cuentan

02 mayo 2016

TOR Hidden Services



Después de haber contado en otro post cómo TOR es uno de los medios disponibles para proteger nuestra privacidad y evitar la creación pasiva de la huella digital, en éste voy a explicar (muy por encima) cómo se establece la conexión entre un cliente y un servicio en la red TOR (TOR Hidden Service):

Para que un cliente se pueda conectar con un hidden service éste tiene que anunciar su existencia en la red TOR. Para ello, el servicio elige algunos nodos al azar, construye circuitos hacia ellos y les envía su clave pública para que actúen como punto de introducción. Después crea un descriptor formado por la clave pública y un resumen de cada punto de introducción, los firma con su clave privada y lo sube a una tabla hash distribuida. El nombre del descriptor se genera automáticamente a partir de la clave pública y tendrá la extensión .onion. Éste es el nombre que tiene que conocer el cliente para poder acceder al descriptor, donde verá cuáles son los puntos de introducción al hidden service y la clave pública de éste.

El cliente se puede conectar con el hidden service mediante de un proxy que soporte SOCKS 4a, como Polipo. Lo que hace la aplicación cliente es crear un circuito con un nodo elegido al azar, al que le dice un secreto de un solo uso para que dicho nodo actúe como punto de encuentro.

Una vez hecho eso, el cliente forma un mensaje de introducción con la dirección del punto de encuentro y el secreto de un solo uso, lo cifra con la clave pública del hidden service y lo envía a uno de los puntos de introducción para que éste se lo envíe al hidden service, quien descifrará el mensaje para saber cuál es el nodo que actúa como punto de encuentro. Con esa información, el hidden service crea un circuito para llegar hasta él y envía al punto de encuentro un mensaje de encuentro con el secreto de un solo uso enviado por el cliente. Entoces, el punto de encuentro notifica al cliente que la conexión se ha establecido. A partir de ese momento, la comunicación se realizará por los circuitos que el cliente y el hidden service tienen establecidos con el punto de encuentro.

 


Pasos para configurar nuestro propiot servicio TOR (en un ordenador con debian y sucedaneos):

1) Instalar TOR:
$ apt-get install tor
$ deb http://deb.torproject.org/torproject.org wheezy main
$ deb-src http://deb.torproject.org/torproject.org wheezy main
$ gpg --keyserver keys.gnupg.net --recv 886DDD89>
$ gpg --export A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 | sudo apt-key add -

(cambiar wheezy por la distro que tengamos).

2) Definir el directorio del hidden service y la dirección del servidor:
Para ello, introducir la siguientes lineas en el fichero /etc/tor/torrc:

HiddenServiceDir /var/lib/tor/hidden_service/
HiddenServicePort 80 127.0.0.1:8090

(En vez de la dirección del localhost, poner nuestra dirección externa; el localhost sirve para pruebas de laboratorio).

3) Arrancar TOR:
$ sudo /etc/init.d/tor restart>

Con eso, se han creado en /var/lib/tor/hidden_service el hostname y el private_key.

Para probarlo, accedemos con un navegador TOR a la dirección .onion que aparezca en el hostname.

Más información: