Un exploit en Firebase Cloud Messaging envía notificaciones push de Microsoft Teams y Hangouts

Parece que no puede pasar un día sin que aparezca otro fallo de seguridad significativo en algún software o servicio. Esta semana ha sido el turno de Firebase Cloud Messaging, que se enfrenta a una vulnerabilidad fácilmente explotable.

Firebase Cloud Messaging es un servicio de Google para enviar notificaciones a través de aplicaciones en casi cualquier plataforma. Con una simple configuración en la app y servidor, puedes enviar notificaciones push generales o específicas a tus usuarios en cuestión de segundos. La mayoría de las aplicaciones de Android que envían notificaciones push probablemente utilizan Firebase Cloud Messaging (o en su versión ‘legacy’ Google Cloud Messaging). Eso incluye aplicaciones de desarrolladores aficionados individuales a aplicaciones de corporaciones gigantes como Microsoft y, por supuesto, Google.

El exploit de Firebase Cloud Messaging

Si usa aplicaciones como Microsoft Teams o Google Hangouts , es posible que hayas notado recientemente que llegan notificaciones aleatorias, como las de la siguiente captura de pantalla. 

Estos son de personas que se aprovechan de configuraciones incorrectas de Firebase Cloud Messaging.

No entraremos en detalles, pero este fallo no es realmente culpa de Google. Para enviar notificaciones push de forma segura, Google requiere que el servidor (que realmente las envía) también envíe una clave para validar que son originales y fiables. En teoría, esta clave solo debe estar en tu consola Firebase y en tu servidor.

Pero las aplicaciones afectadas, por el motivo que sea, también tienen la clave incorporada. No se usa, pero está allí, en texto plano (sin cifrar), para que cualquiera pueda verlo y utilizarla a su antojo.

Irónicamente, Google Hangouts y Google Play Music parecen ser vulnerables a este exploit, así como Microsoft Teams. Así que es una especie de culpa de Google, pero tampoco realmente.

Lo peor es que este fallo puede explotarse para propósitos bastante nefastos. Si bien parece que la mayoría de las «implementaciones» de esta vulnerabilidad solo se han utilizado para enviar texto extraño a las personas, es bastante probable que un atacante ejecute una estafa de phishing. 

¿Qué tengo que hacer como usuario?

No hay mucho que puedas hacer como usuario para detener estas notificaciones. Puedes bloquear las notificaciones de la aplicación por completo, pero no puedes filtrar las notificaciones ilegítimas, ya que, hasta ahora, Firebase las considera legítimas

Lo único que puedes hacer es «ir con pies de plomo». Si recibes una notificación que parece pedirte tus datos de inicio de sesión, o cualquier otra información personal para el caso, no la abras. En su lugar, abre la aplicación directamente. Si la notificación era real, la aplicación lo indicará. De lo contrario, probablemente haya sido un intento de phishing. Si tocas una notificación, cierra inmediatamente cualquier sitio web que se abra.

Y finalmente, si ya has introducido alguna contraseña en algún lugar a través de una notificación, cámbiala de inmediato, desautoriza todos los dispositivos conectados (si corresponde) y habilita la autenticación de dos factores si aún no lo has hecho.

¿Qué tengo que hacer como desarrollador?

Si has implementado Firebase Cloud Messaging en tus aplicaciones, verifica los archivos de configuración para asegurarte que las claves de tu servidor no están allí. Si es así, invalídalas inmediatamente, crea otras nuevas y reconfigura tu servidor.

La respuesta de Google

Un portavoz de Google declaró a The Daily Swig que el problema estaba «específicamente relacionado con los desarrolladores que incluían claves API en su código para servicios que no deberían incluirse, que luego podrían ser explotados». «En los casos en que Google puede identificar que se utiliza una clave de servidor, intentamos alertar a los desarrolladores para que puedan arreglar su aplicación».

Mario Camí

Desarrollador de aplicaciones Android. Amante de todo lo Open Source, de los videojuegos y nuevas tecnologías. En mi tiempo libre comparto todo lo aprendido y lo que aprendo en el desarrollo de Android a modo de artículo en el blog. La información nos hará libres!

También te podría gustar...