domingo, 21 de noviembre de 2010

FireSheep: Yo..Soy Tú

¿Es fácil que yo sea tú? En el mundo online, es posible. Existen técnicas como por ejemplo el clásico robo de usuario y contraseña, o bien, la llamada “session hijacking”, entre otras. En la primera, robo tus credenciales de acceso como por ejemplo las de Facebook (tal vez usando un troyano) y entro tal cual fueras tú. En la segunda, espero que establezcas sesión con Facebook usando tus credenciales y posteriormente robo (secuestro) tu sesión ya establecida (siempre y cuando el servicio en cuestión no mantenga dicha sesión con SSL).

Para yo convertirme en ti en el mundo online, sí debo de picotear varios comandos aquí y allá, tal vez usar Linux y ponerme mis lentes de geek para “comandear”, es decir, teclear comandos en un shell. Todo esto puede sonar complicado para los usuarios “promedio”, pero eso se acabó.

La aparición de FireSheep lo cambió todo; es un complemento (addon) de FireFox. Todos los que hemos usado Firefox hemos utilizado algún addon (de hecho esa es una de las razones para usar este navegador: su amplia gama de addons) como por ejemplo: FastestFox, FireFTP, FireTorrent, YouTube Download o Webmail Notifier por mencionar sólo algunos.

¿Qué hace FireSheep? Pues bien, es un secuestrador de sesiones. Cuando uno entra a LiveMail, Twitter o FaceBook, enviamos nuestras credenciales y se verifica que sean las correctas; de ser así, el servidor manda a nuestro navegador una “cookie” la cual es usada en subsecuentes peticiones para identificar nuestra sesión previamente establecida. De esta manera el servidor de LiveMail sabe que mi navegador es quien al inicio se identificó como “Juanito Smith”.

Varios sitios sólo usan SSL (https) para que uno mande usuario/contraseña por un canal cifrado y posteriormente regresan a http (otros ni al inicio lo usan). Así pues veremos el enlace como por ejemplo: https://twitter.com/sessions. Pero no todos los servicios continúan con SSL habilitado (y ahí está el gran error). Eso hace posible el secuestro de sesión porque la manera subsecuente de identificarse con el servicio es usando la mentada “cookie”, la cual es robada por FireSheep.

Como mencioné, FireSheep es un addon para FireFox: luego de instalarlo, uno le pone “start” y automáticamente empieza a escanear una red abierta en busca de sesiones establecidas para que baste un click y poder entrar al FaceBook, LiveMail o Twitter de alguien más.

Te puede parecer que este FireSheep es “otra herramientita” más de esas que nos gusta a los geeks. Pero precisamente no es para geeks, no hay que comandear. Es poner el addon y apretar “start”. Y por cierto, esto del robo de sesiones no es nada nuevo ni mucho menos, ha existido por varios años ya; la diferencia es ahora la facilidad de uso. Ya “hasta un addon” de Firefox (de esos que son casi casi como “plug and play”) que puede ser usado por cualquiera roba sesiones de manera fácil y sin complicaciones.

FireSheep trae el secuestro de sesiones a las masas. Basta estar en una red inalámbrica abierta como algunas de Starbucks donde no se pide contraseña para unirse a la red. O estar conectado a una red alámbrica (yo hice pruebas en un hub y fueron exitosas). ¿Cómo protegernos? Ahí está la cosa rosa:

a).- Las redes deben de cambiar y usar el protocolo seguro WPA. Así se impide este tipo de ataques (y otros). Actualmente estas redes no usan cifrado (son abiertas al público para que se usen) o usan uno muy chafa llamado WEP; en ambos casos FireSheep es exitoso. Es posible cambiar a WPA y que la contraseña para unirse a dicha red sea pública (así sigue siendo abierta al público pero segura contra robo de sesiones).

b).- Los servicios que usamos deben de ya usar TLS (https) siempre, no sólo al inicio de la sesión. Antes se decía que no se usaba SSL porque requería enviar más datos por la red; ahora con las bandas anchas este argumento se desquebraja. No veo otra razón (válida y que proteja nuestra privacidad) por la cual no usar https todo el tiempo para ciertos servicios, como al usar FaceBook, por ejemplo (la propuesta no es usar https para toda la navegación online). Y sí, esto no depende de nosotros sino de quien ofrece el servicio (Twitter, LiveMail, etc.).

c).- Las dos anteriores son soluciones que no dependen de nosotros. ¿Entonces? Podemos elegir usar Force-TLS, o HTTPS Everywhere, por poner unos ejemplos. O una VPN. De hecho apareció BlackSheep (solución limitada), que es una especie de anti-FireSheep.

d).-No usar redes abiertas para entrar a los servicios que ofrece la web. Y como ven, esta propuesta no es viable ni razonable. Costo-beneficio, le dirían algunos.

Conclusión: no veo a FireSheep como otra herramientita, ojalá y sea un parte-aguas y produzca cambios en los que proveen el servicio y en nuestros hábitos de navegación. De hecho ya produjo un cambio: a raíz de FireSheep, Hotmail estará usando https en todo momento.

A continuación unos screenshots de unas pruebas que hice:

1.- Lo primero es bajar FireSheep de http://codebutler.com/firesheep

2.- El antivirus de Microsoft Essentials detecta el addon recién bajado como algo malicioso. Ok, lo apagamos.


3.- Al querer instalarlo, tal vez Windows proteste diciendo que no lo reconoce. No hay problema, seleccionamos a FireFox como el programa que debe encargarse de abrirlo y listo.

4.- Instalamos el addon, como cualquier otro addon.




5.- Si esta prueba se hace en un hub, podemos saltarnos al paso 6. Si vamos a estar en una red abierta inalámbrica, deberemos de instalar WinPCap si es que usamos Windows.



6.- En firefox, seleccionamos FireSheep del menú Ver->Panel lateral.



7.- Damos start y listo, ya encontró a una víctima.