25 octubre 2012

Hackeos Memorables: SpotBros a WhatsApp

Hace tiempo hablamos sobre SpotBros, una aplicación de mensajería instantánea que compite en el mismo segmento que WhatsApp.

SpotBros es notáblemente mas segura en su diseño. De entrada, cuando te registras en la red, el password lo eliges tu, no es tu IMEI, no es la MAC de tu tarjeta Wifi. Personalmente opino que el mero hecho de tener que alabar algo tan básico como este punto, deja en un pésimo lugar a WhatsApp.

No solo en materia de seguridad se distancia de whatsapp, también en funcionalidad. En SpotBross existen dos cosas que a mi me parecen sumamente interesantes. los 'Shouts' y los 'Spots'.

Los Shouts son una forma de comunicarse con gente cercana a ti. Lanzas un mensaje y ese mensaje es leído por la gente que se encuentre a un radio -aproximadamente- de 1,5km a la redonda. Viene muy bien para estar al tanto de lo que se mueve por tu zona, cortes de calles, dudas sobre 'donde comprar X' etc etc.

Los Spots son grupos con un interés común, vagamente podrían ser análogas a las salas de chat, para localizarlas tienes que estar cerca de donde se creó dicho grupo.

He visto, por ejemplo, que en mi urbanización han creado un 'grupo de padel' ahí la gente se ofrece para organizar partidos entre vecinos. Cualquier vecino con SpotBros que viva por la zona verá ese grupo y se puede unir si así lo desea.

Hace poco hubo un lanzamiento masivo de SpotBros, coincidiendo con la puesta a disposición de la versión para IOS.

Y aquí viene la polémica. Junto con la instalación, se ofrecía la posibilidad de enviar a tus contactos de WhatsApp un mensaje hablando de SpotBros.

A raíz de eso hubo cierta polémica bastante artificial sobre si eso era o no SPAM. Cualquier red tipo Facebook o similares, en el proceso de darte de alta, ofrece la posibilidad de 'invitar' a tus contactos del MSN, Gtalk, etc. Por tanto, rasgarse las vestiduras y acusar a SpotBros de SPAM me resulta bastante chocante (y aun más hacerlo desde una red que hace exactamente lo mismo ...). Máxime cuando estaba la opción de no enviar dicho mensaje.

Al calor de dicha polémica, nadie se ha parado a reflexionar en el detalle técnico. Y eso, creo, es lo más 'bonito' de este asunto.

De entrada, WhatsApp no ofrece ninguna forma de enviar mensajes sin intervención del usuario. No existe API, tampoco forma oficial de hacer eso. Por tanto, ¿Cómo lo hicieron?

Los tiros -sospecho- tienen que ir hacia WhatsAPI, la implementación no oficial y tristemente coaccionada de WhatsApp.

Yo apuesto porque durante el proceso de instalación de SpotBros, éste se hacía con la información necesaria para hacer login en la red WhatsApp (IMEI en Android, MAC de la Wifi en IOS) y luego enviaba dicha información a los servidores de SpotBros, donde había un proceso que, usando WhatsAPI, enviase dichos mensajes.

Sin duda, un 'OWNED' en toda regla. Aprovechándose de las debilidades de WhatsApp y su deficiente sistema de registro, consiguen emplear la plataforma de su competidor en beneficio propio.

UPDATE: Tal y como explica Alejandro Lopez en uno de los comentarios, en realidad lo que ha hecho SpotBros es crear un minicliente WhatsApp en Java e integrarlo dentro de la aplicación. Con lo que no intervienen los servidores de SpotBros


23 comments :

@$CII dijo...

Nunca mejor dicho es todo un OWNED. Escuchando por la radio ayer a los chicos de Spotbros decidí instalarlo cuando me enteré que los textos viajan cifrados en Sha-256 y dichas conversaciones no duran mas de 30 días en sus servidores incluso para procesos judiciales... Parece una buena alternativa a whatsapp

df dijo...

se puede desactivar que te lleguen los shouts???? odio el spam...


por otro lado, OWNED en toda regla

Anónimo1 dijo...

Por favor, a ver si sacanuna versión para Blackberry!

Alejandro López dijo...

Muy buen post! Los Shout puedes desactivarlos subiendo el filtro de puntuación a 10 o simplemente silenciarlo desde la pestaña de Settings. En cuanto a los detalles del artículo, tus intuiciones son casi correctas al 100%, nos basamos en WhatsAPI para ver el protocolo pero lo hemos tenido que reprogramar integramente en JAVA (para Android), en breves publicaremos el código en Github.

Otro detalle importante es que la información necesaria para acceder a WhatsApp nunca viaja a los servidores de Spotbros, ya que es el propio usuario el que se conecta al servicio de WhatsApp y envia los mensajes, de este modo, WhatsApp no puede filtrar ni por IP (ya que cada envio se produce desde una conexión diferente) ni por contenido (ya que el mensaje a enviar se pide a Spotbros cada vez y cambia para ajustarlo al prefijo internacional del teléfono +34 mensaje en Español +44 Inglés +33 Español etc...)

Un abrazo

PJDelgado dijo...

Volvemos a lo mismo, utilizan el gps para localizar los sitio cercanos?? Con el modo te pueden tener localizado (o al menos hacerse una idea d por donde andas, pero a la vez es un servicio bastante util para obtener información sobre lo que es de tu interes y tienes a tu alrededor.



Como siempre, un post impecable.



Salu2!!

Condemor dijo...

La idea de SpotBros es buena, pero tiene el principal inconveniente que cualquier otra aplicación de este tipo: WhatsApp es el estándar de facto en mensajería y mover a millones de usuarios de una aplicación a otra es poco menos que imposible. Después de leer aquí los post sobre la poca seguridad de WhatsApp hasta yo mismo lo instalé porque es lo que usaban mis contactos... :'-(

Un saludo.

Madrikeka dijo...

Después de quejarme varias veces, lo han hecho, en esta versión han quitado lo de que si o si tengas que habilitar tu ubicación para usar la aplicación, eso me ha gustado y se agradece.
Respecto al post, que me ha gustado mucho, el problema sigue siendo la gente, que les cuentes esto a muchos de ellos les da igual, por que lo usan sus amigos y no tienen nada que esconder, no cuentan cosas interesantes.
Así que será algo difícil para Spotbros, pero esperemos que avancen, aunque cuantas menos cosas quieran saber de mí, mas lo usaré y más lo recomendaré.
Un saludo.

Nak dijo...

Hombre, si estuviesen cifrados con SHA-256 estaríamos jodidos :) Lo que usan es AES-256

nananana dijo...

Bonita publicidad de Spotbros.

nananana dijo...

Yago, no me borres los comentarios, anda.

Jose dijo...

Muy mal esta aplicación. Bien que el artículo va sobre un hackeo memorable a su competidor, pero para quien quiera probar la aplicación, ésta le pedirá: Email, nombre, apellidos, número de teléfono y fecha de nacimiento COMO MÍNIMO. Por la fecha de nacimiento no paso y por la localización en todo momento que según algún comentario si se desactiva no funciona, tampoco.

Tendré que quedarme sin whatsapp y sin esta aplicación por lo intrusivas que me parecen.

Lector enfadado dijo...

Es vergonzoso que hagáis publicidad descarada de Spotbros.



Los artículos de SBD acostumbran a ser muy buenos. En un artículo imparcial se mostrarían las ventajas y desventajas de Spotbros, en cambio este artículo es mera propaganda.



Por favor, no os vendáis.

Alejandro López dijo...

Mmmm ¿has probado a registrarte con un nombre, email, apellidos o fecha de nacimiento falsas?. Si quieres puedes hacerlo. Ahora bien, es posible que tus amigos no te reconozcan.. si pedimos eso es:

a) para facilitar tu interacción con amigos (piensa que aqui vas con solicitudes de amistad y si no te reconocen dificil que te acepten)

b) Tenemos que pedir la edad ya que legalmente tienes que tener más de 14 años para usar este tipo de servicios...

c) El email es para que puedas recuperar la contraseña si se te olvida y es tu nombre de usuario en spotbros (algo facil de recordar). Spotbros NUNCA enviará nada a ese email. Si mientes en el email o no es cosa tuya, no lo comprobamos.. ahora bien.. si se te olvida el password y quieres recuperarlo vas a tener que probar que eres tú de un modo más engorroso

El teléfono si que es imprescindible pero ahi también lo pide WhatsApp..

Por cierto, en settings puedes desactivar la ubicación, dejará de funcionar los shouts y el buscador de spots (como es lógico) pero puedes estar seguro de que Spotbros NUNCA sabrá donde estás...

Yago Jesus dijo...

Querido lector, para poder aplicar el término 'publicidad' tiene que haber un beneficio, como bien dices al final de tu correo 'no os vendáis'.

Te confirmo que SpotBros no nos ha pagado, de hecho, te confirmo que nunca NADIE ha invertido / dado / donado un solo Euro a SbD. Ni siquiera tenemos publicidad en el site.

El único caso donde hubo un patrocinio fue cuando hicimos un Wargame patrocinado por Panda y en ese caso, aparte de advertirlo, te confirmo que la donación fue INTEGRAMENTE en premios para los ganadores, no obtuvimos NI UN SOLO EURO de ese proyecto. De hecho todo el esfuerzo en diseñar pruebas, controlar el wargame, etc etc fue a coste 0, tan solo con la satisfacción de poder hacer un wargame atractivo para los lectores.

Un saludo

Jose dijo...

No me convence tener que dar datos falsos para poder registrarme en un sitio para el que whatsapp sólo pide el número de teléfono.

Las explicaciones están muy bien, pero no cambian los hechos. Los amigos te reconocen por el número de teléfono: agenda-nombre y no tendría porqué pasar por vuestro servidor.

La fecha de nacimiento no es necesaria, sólo que se marque una casilla diciendo que eres mayor de edad, cualquier menor te mentiría en la fecha de nacimiento y siendo mayor de edad ni te tengo que mentir ni tiene que aparecerle la fecha a ningún contacto (desconfío de cara al futuro, cosas tipo facebook me han enseñado a ello).

Para recuperar la contraseña basta con un SMS al número o con otro método más engorroso como tú dices, pero de entrada el email es un campo obligatorio, cosa que no debería.

En resumen: es posible hacer las cosas de otro modo.

Oscar dijo...

No, utilizan triangulación de datos y encima es opcional. Yo la uso y nunca tengo el gps activado.

Alejandro López dijo...

José en Spotbros el número de teléfono no es un dato público, nadie (ni tus amigos) tienen acceso a tu numero de telefono ni tampoco a tu email, de ahí la necesidad del nombre y el SBCode.

De todos modos son detalles, diferentes maneras de hacer las cosas, ¿pudimos haber puesto un nick en vez de nombre?.. sí pero cuando lo diseñamos pensamos que era mejor fomentar identidades reales y lo sigo pensando. ¿pudimos hacer la recuperación por SMS? Sí, pero siendo una startup intentas reducir costes y usar el envio de SMS para casos excepcionales...

Lo único que quiero decir es que cuando montas un tema de estos, juntas un equipo de 10 personas y le dedicas literalmente años en los que no piensas en otra cosa, acabas por tomar muchas decisiones de diseño.. algunas acertadas otras quizás no, pero creeme que la mayor parte han sido objeto de discusión en el equipo. Afortunadamente lo verdaderamente sano es que existan alternativas en el mercado y haya competencia real para que los usuarios puedan escojer la solución que más les guste.

Gracias por probar la app, los comentarios constructivos son siempre bienvenidos ;D

mcklaw dijo...

Os siguo practicamente desde el inicio y nunca he visto ningun indicio de "venderse"; por eso os sigo :-)

Y respecto al post, a mi para nada me ha parecido patrocinado, sino un buen análisis de una situación que ha pasado. Just the facts! :)

mcklaw dijo...

Alejandro, estamos ansiosos de ver publicado ese port del api de whatsapp! A ver si no os intentan coaccionar también :-(

df dijo...

Interesante aplicación.

Tenéis que sacar la versión blackberry!!!

Jose dijo...

Lo de reducir costes por los SMS es tan simple como un número de tarificación especial para enviar solicitud de pérdida de clave.

En cuanto a las identidades reales, acabarán con la poca privacidad que nos queda, sobre todo en casos como mensajes a un teléfono móvil desde una aplicación android, donde yo también sigo pensando que lo único necesario es el número de móvil y que la otra persona te tenga en tu agenda.

Un pena dijo...

En cuanto a lo de la información de los servidores y que solo duran 30 dias blablabla....deciros que por ley en España deben albergar los datos almenos 24 meses, Spotbros, los ISP..etc. Por no hablar de cosas como que al estar los servidores en España, la vulnerabilidad de esos datos es algo mas tangible que los que están en un Servidor de EEUU (whatsapp p.ej.), que estan sujetos a otra legislación (esto que cada uno lo entienda como quiera). Por otro lado dicen que spotbros mejora la seguridad de whatsapp y resulta que no comprueban que el número de teléfono con el que te registras sea tuyo. Es decir, cualquiera podría poner tu teléfono al registrarse (si ese numero nunca ha sido registrado), y de ese modo al hacer alguien una búsqueda por numero de teléfono aparecería un perfil que no se correspondería con el autentico propietario de ese numero de teléfono (comprobado por mi). Por no hablar del tema darse de baja, muchas trabas y deberia ser un click automatizado como en otras apps del mismo ambito.

Una pena dijo...

En cuanto a lo de la información de los servidores y que solo duran 30 dias blablabla....deciros que por ley en España deben albergar los datos almenos 24 meses, Spotbros, los ISP..etc. Por no hablar de cosas como que al estar los servidores en España, la vulnerabilidad de esos datos es algo mas tangible que los que están en un Servidor de EEUU (whatsapp p.ej.), que estan sujetos a otra legislación (esto que cada uno lo entienda como quiera). Por otro lado dicen que spotbros mejora la seguridad de whatsapp y resulta que no comprueban que el número de teléfono con el que te registras sea tuyo. Es decir, cualquiera podría poner tu teléfono al registrarse (si ese numero nunca ha sido registrado), y de ese modo al hacer alguien una búsqueda por numero de teléfono aparecería un perfil que no se correspondería con el autentico propietario de ese numero de teléfono (comprobado por mi). Por no hablar del tema darse de baja, muchas trabas y deberia ser un click automatizado como en otras apps del mismo ambito