Hace
unos días, Jonathan Rudenberg publicaba una
vulnerabilidad en el sistema de publicación a través de SMS de Twitter que
podría permitir el envío de tweets en nombre de otra persona con solo conocer
su número de teléfono. El efecto de esta vulnerabilidad ya se conoce desde hace
varios años.
Twitter dispone de una interfaz
SMS con la que, a través de mensajes de texto, un usuario puede publicar
actualizaciones y seguir a otros usuarios, entre otras opciones. Para
activarla, es necesario enviar un nombre de usuario y contraseña a unos códigos
telefónicos que la red social dispone a tal efecto. Una vez hecho esto, el número de teléfono queda asociado a la
cuenta de Twitter.
Jonathan Rudenberg en su blog
afirma que esa asociación puede ser utilizada para publicar en la cuenta de
otra persona solo conociendo su número de teléfono. El fallo reside en que la interfaz de Twitter confía en la
legitimidad del origen del SMS sin pedir ninguna autenticación adicional.
El número de origen de un SMS puede ser fácilmente falseado.
Algunos proveedores permiten cambiar el origen del mensaje de texto, así que es
posible que un tercero envíe un mensaje con el número de teléfono de la víctima
como origen y que Twitter lo publique en su cuenta asociada.
El usuario puede entonces
ejecutar todos los comandos disponibles a través de SMS sobre la cuenta de la
víctima, entre lo que se incluye el envío de mensajes directos, respuesta a
otros usuario, o incluso desactivar la cuenta por completo si se es usuario
exclusivo a través de SMS.
Sin embargo, Moxie
Marlinspike, en un post en el blog de ingeniería de Twitter, ha dado
algunos detalles de la situación. Para utilizar el canal SMS, el usuario tiene
la opción de enviar sus comandos a dos tipos de códigos telefónicos.
El código "corto" es un número menor a cinco
cifras, disponible en algunos países y proveedores de red móvil (España, por
ejemplo, no tiene). Este es el método que utilizan muchos usuarios de Twitter
SMS. Estos códigos funcionan dentro de la misma red del operador y no permite
cambiar el origen del mensaje. Por tanto no hay posibilidad de spoofing en este
caso.
Sin embargo, el resto de países
deben enviar sus tweets a un código "largo". Este es un número
telefónico normal que sí es vulnerable a spoofing. Por ello, Twitter ofrece una autenticación a través
de PIN a los usuarios de estos códigos desde hace varios años, aunque es necesario
que el usuario lo active.
Además, si en un país existe un
código corto, no se permite al usuario publicar a través del código largo. Por
tanto, el impacto de la vulnerabilidad
es de menor magnitud, quedando reducido a solo los usuarios que solo puedan
enviar sus tweets a un código largo y además no tengan activado el PIN.
Efecto conocido
Si Twitter ofrece activación por
PIN, es porque ya fue vulnerable al falseamiento
del remitente del SMS. Ya a principios de 2007, Nitesh
Dhanjani daba detalles de este problema, lo que desemboco en la implementación
de esta doble autenticación. Posteriormente, en 2009, Lance James se hacía eco
del mismo fallo, esta vez solo afectando a usuarios de Reino Unido y Alemania.
También SecurityByDefault
aprovechó este fallo hace algunos años para realizar una divertida broma,
con la que publicó un mensaje en una cuenta tan popular como la de @edans.
Parece que los reportes de la
vulnerabilidad se han ido dando en zonas donde aún no había disponibles códigos
cortos. Por tanto, la publicación no
muestra nada nuevo, simplemente que siguen existiendo zonas donde la red
móvil hace posible el spoofing en Twitter si no se tiene activado el PIN.
Este mismo fallo se podía
encontrar en Facebook y Venmo, una plataforma social de pagos. Estos fueron
solucionados antes de la publicación de la vulnerabilidad y no han trascendido
más detalles.
Más información:
SMS Vulnerability in Twitter, Facebook and
Venmo
Twitter and SMS Spoofing
Twitter and Jott Vulnerable to SMS and Caller
ID Spoofing
Twitter Spoof (Twoof/Tweef?) You decide
Hackeos memorables: El Twitter de
Enrique Dans
Francisco López

No hay comentarios:
Publicar un comentario