Bits y Lentejas

miércoles, 4 de mayo de 2011

Revocar el consentimiento en proveedores de identidad

Si estás un poco preocupado por la privacidad y la seguridad en general, es posible que te hayas hecho estas preguntas en algún momento:
  • ¿Qué aplicaciones o sitios web tienen acceso a mis datos personales en Facebook?
  • ¿Quién puede ver mis contactos en Gmail o Windows Live/Hotmail (y enviarles correos en mi nombre)?
  • ¿Quién puede publicar actualizaciones en Twitter, Facebook o Windows Live en mi nombre?
Si no eres un paranoico de la privacidad, lo más probable es que de primeras no sepas la respuesta. Puede que tengas una ligera idea de cómo llegar hasta esa información y modificarla, aunque no siempre es tan directo como podría parecer o como debería ser.

En este post vamos a resumir cómo gestionar y revocar el consentimiento que proporcionamos a aplicaciones de terceros en los proveedores de identidad más importantes. Si has caído en un engaño, están suplantando tu identidad y lo que te interesa es desactivar esa aplicación en Facebook o Twitter, puedes saltar directamente al apartado correspondiente (Facebook, Google, Windows Live ID, Twitter, Yahoo *actualización*). Si quieres entender un poco mejor cómo hemos llegado hasta aquí, sigue leyendo.
Leer más...

Etiquetas: , , , , , , ,

miércoles, 30 de septiembre de 2009

Vigila con qué twiteas

Con toda la fiebre de twitter y la miríada de clientes que existen, cabría esperar que todo el mundo pudiese encontrar uno ajustado a sus necesidades. No obstante, un requisito tan básico como que el cliente utilice comunicaciones cifradas mediante SSL/HTTPS reduce drásticamente las opciones.

En mi cruzada en busca del cliente ideal (para Linux), he probado varias alternativas, con resultados diversos pero bastante desalentadores. Podemos dividir los clientes en tres grupos:
  • HTTP+Autenticación básica
  • HTTP+OAuth
  • HTTPS/SSL
Los clientes que usan HTTP+autenticación básica no solo utilizan un protocolo sin cifrar para la comunicación con la API de Twitter, sino que además envían las credenciales en claro en cada petición (comprobado con un sniffer de red).
- gTwitter
- Twitbin (extensión de Firefox)
- KDETwitter Plasmoid

Hay otros clientes que, siguiendo las recomendaciones de Twitter no almacenan las credenciales ellos mismos, sino que utilizan un protocolo abierto específico de autenticación para APIs llamado OAuth, basado en tokens de seguridad. El sistema funciona más o menos así:
  1. Introduces tu nombre de usuario en el cliente Twitter
  2. El cliente abre un navegador para que te autentiques en Twitter si no tienes ya una sesión, con un token generado aleatoriamente. A la vez, hace una petición a la API para notificar la asociación entre ese token y la aplicación.
  3. Twitter te pregunta si quieres autorizar a la aplicación a acceder a tu cuenta y enviar tweets. Respondes que sí y te proporciona un PIN.
  4. Introduces el PIN en la aplicación, que ésta envía a Twitter junto con el token para comprobar que realmente el usuario es el que ha hecho la petición.
  5. Desde ese momento, las peticiones con ese token tienen autorización para modificar tu perfil.
No obstante, al enviar el token de autenticación en claro, son vulnerables a un secuestro de sesión exactamente igual que cuando se usan cookies. Dentro de este grupo de clientes sólo he encontrado/probado uno:
- qTwitter

Los que usan HTTPS/SSL (de nuevo, siguiendo las recomendaciones de Twitter) son los únicos que pueden considerarse seguros frente al robo de credenciales y secuestro de sesión, por utilizar un protocolo cifrado para las peticiones a la API.

-Qwit
- Twitux a partir de la versión 0.69, que no está aún en los repositorios de OpenSUSE oficiales.

¿Qué cliente twitter usáis? ¿Soporta y utliza SSL por defecto? Os recomiendo poner el Wireshark y esnifar un poco, puede que os llevéis una sorpresa...

Y por supuesto, si utilizáis la propia web de Twitter, aseguraos que entráis con HTTPS...

Etiquetas: , , ,