Primer intento
- Un escáner básico escrito en Python revisó variables de configuración de Firebase.
- Dejó de funcionar en menos de una hora debido a problemas de consumo de memoria.
Segundo intento
- El escáner reescrito en Go no tenía fugas de memoria.
- Escanear más de 5 millones de dominios tomó más tiempo de lo esperado.
Verificación manual de todos los dominios
- Se revisó manualmente cada entrada de un archivo de texto de 550 mil líneas.
- Se confirmaron 136 sitios y 6.2 millones de registros expuestos, pero se reconoció la necesidad de un método automatizado.
Catalizador
- Se revisó una lista de sitios potencialmente afectados con un escáner auxiliar llamado Catalizador.
- Se verificó automáticamente el acceso de lectura a colecciones comunes de Firebase en los sitios o en los bundles de
.js.
- Se recopilaron muestras de 100 registros para evaluar el impacto de los datos y confirmar los tipos de información.
- Se eligió Supabase (competidor open source de Firebase) para almacenar los resultados.
Cifras
- Registros totales: 124,605,664
- Nombres: 84,221,169
- Correos electrónicos: 106,260,766
- Números de teléfono: 33,559,863
- Contraseñas: 20,185,831
- Información de pago: 27,487,924
- Ten en cuenta que estas cifras podrían ser mayores que las reales.
Lista de sitios afectados
1. Silid LMS
- Sistema de gestión de aprendizaje para estudiantes y docentes.
- La mayor exposición de registros de usuarios, con 27 millones de personas afectadas.
2. Red de apuestas en línea
- Consta de 9 sitios, todos con diseños diferentes.
- Algunos juegos estaban manipulados para tener una probabilidad de ganar de 0%.
- Cuando se intentó reportar el problema, el soporte al cliente trató de tentar al investigador.
- La mayor exposición de información de cuentas bancarias, con 8 millones.
- La mayor exposición de contraseñas en texto plano, con 10 millones.
3. Lead Carrot
- Generador de prospectos en línea para llamadas en frío.
- Uno de los 3 sitios con más información de usuarios expuesta, con 22 millones de personas afectadas.
4. MyChefTool
- App de gestión empresarial y aplicación de punto de venta para restaurantes.
- La mayor exposición de nombres y la segunda mayor de correos electrónicos, con 14 millones y 13 millones respectivamente.
Resultados
- 842 correos enviados durante 13 días.
- 85% de entrega de correos.
- 9% de rebote de correos.
- 24% de los propietarios de sitios corrigieron el error de configuración.
- 1% de los propietarios de sitios respondió.
- 0.2% (2 sitios) ofreció bug bounty.
Opinión de GN⁺
- Este estudio muestra lo fácil que es cometer errores de configuración en la seguridad de Firebase. Es un caso importante para alertar a los desarrolladores sobre la necesidad de prestar atención a la configuración de seguridad.
- También deja ver que las reacciones de los propietarios de los sitios fueron variadas cuando se descubrió el problema de seguridad. La mayoría corrigió el problema, pero algunos lo ignoraron o no ofrecieron una compensación adecuada.
- Las herramientas de automatización usadas para encontrar estas vulnerabilidades de seguridad también pueden ser útiles para otros investigadores de seguridad. Herramientas con funciones similares incluyen OWASP ZAP y Burp Suite.
- Al usar servicios en la nube como Firebase, es importante entender y aplicar correctamente la configuración de seguridad. Una mala configuración puede llevar a filtraciones masivas de datos.
- Este caso también puede ayudar a comparar funciones de seguridad y facilidad de uso al considerar otros servicios, incluida la alternativa open source Supabase. Supabase está basado en PostgreSQL y ofrece funciones similares a Firebase, pero es open source.
1 comentarios
Opiniones en Hacker News