Las aplicaciones Flutter inseguras de Ostorlab: un campo de pruebas para aprender y probar la seguridad móvil
Ostorlab ha publicado como código abierto dos aplicaciones Flutter diseñadas para ser intencionadamente inseguras, con fines de prueba y educativos. Las aplicaciones, una nativa de iOS y otra Java/C++/Flutter, ponen de relieve diversas vulnerabilidades comunes de las aplicaciones móviles. Disponibles bajo la licencia Apache-2.0, sirven como recursos prácticos para comprender la seguridad de Flutter.
Nos complace anunciar la publicación como código abierto de dos aplicaciones Flutter inseguras con fines de prueba y educativos.
La primera aplicación es una aplicación nativa de Flutter centrada en vulnerabilidades de iOS.
La segunda aplicación es una aplicación Java/C++/Flutter.
Ambos repositorios están alojados en GitHub y están disponibles bajo la licencia Apache-2.0.
Acerca del repositorio
Ostorlab Insecure Flutter App es una aplicación Flutter deliberadamente vulnerable, diseñada para las pruebas de seguridad y la formación. La aplicación está diseñada para mostrar diversas vulnerabilidades de seguridad que son comunes en las aplicaciones móviles. Esto la convierte en un campo de pruebas perfecto para probar y conocer distintas vulnerabilidades de seguridad de Flutter.
Vulnerabilidades que se demuestran
La aplicación demuestra una amplia variedad de vulnerabilidades, entre ellas, sin limitarse a ellas:
- Biometric None
CryptObject: muestra las vulnerabilidades asociadas a una implementación incorrecta o a la ausencia de protección criptográfica en la autenticación biométrica. - ECB Cipher Mode: ilustra las debilidades de utilizar el modo de operación ECB (Electronic CodeBook) para los cifrados criptográficos.
- Insecure Commands: demuestra las vulnerabilidades que surgen cuando se ejecutan comandos inseguros o del sistema desde la aplicación.
- Reflection API: ofrece ejemplos de uso inseguro de las API de reflexión.
- TLS Traffic: explica las posibles amenazas de seguridad al utilizar tráfico de Transport Layer Security (TLS) sin cifrar o cifrado de forma incorrecta.
- Clear Text Traffic: destaca los riesgos asociados a la transmisión de datos sensibles mediante tráfico en texto claro.
- Hardcoded Credentials in URL: demuestra el riesgo de codificar credenciales sensibles dentro de las URL.
- Insecure Random: muestra los problemas de utilizar generadores de números aleatorios inseguros en operaciones sensibles.
- Oracle Padding: ilustra los posibles peligros de las vulnerabilidades de oracle padding.
- SQLite Database Call: muestra prácticas inseguras relacionadas con las llamadas a bases de datos SQLite.
- Webview Insecure Settings: demuestra las posibles vulnerabilidades de una configuración insegura de WebView.
- Command Exec: muestra los posibles problemas al ejecutar comandos del sistema.
- Hash Call: demuestra el uso incorrecto de las funciones hash.
- Insecure Shared Preferences: muestra los riesgos relacionados con un manejo inseguro de las preferencias compartidas.
- Path Traversal: muestra los posibles peligros de las vulnerabilidades de path traversal.
- Static IV: demuestra los riesgos de seguridad asociados al uso de vectores de inicialización estáticos en el cifrado.
Cómo contribuir
Las contribuciones a Ostorlab Insecure iOS App son siempre bienvenidas y apreciadas. Puede contribuir de varias maneras:
- Informes de errores: si encuentra un error o algo que no parece correcto, cree una incidencia en el repositorio de GitHub para notificarlo.
- Sugerencias de mejora: si tiene una idea para mejorar la aplicación, no dude en crear una incidencia con los detalles de su sugerencia.
- Contribuciones de código: envíe pull requests para mejorar la aplicación. Puede ser cualquier cosa, desde corregir errores, mejorar la interfaz de usuario, añadir nuevas vulnerabilidades que demostrar o mejorar la documentación.
- Sus contribuciones no solo ayudarán a mejorar la aplicación, sino que también contribuirán a que la comunidad en general comprenda mejor la seguridad de las aplicaciones móviles.