Ataque Descripción Amenaza Mitigaciones Filtración de Datos Sensibles El fallo más común es no encriptar los datos sensibles o encriptarlos incorrectamente usando claves débiles, gestión de claves pobre o algoritmos débiles. Compromiso de todos los datos desprotegidos. No almacenar datos sensibles indiscriminadamente. Encriptar todos los datos sensibles almacenados y enviados. Utilizar algoritmos estándar y claves fuertes. Las contraseñas deben almacenarse utilizando algoritmos diseñados específicamente para proteger contraseñas, (bcrypt, PBKDF2, scrypt). Deshabilitar la opción caché y de autocomplete, en páginas y formularios con información sensible Falta de Protección contra Ataques Las aplicaciones y APIs son atacadas todo el tiempo, generalmente detectan los inputs inválidos pero solo los rechazan: permitiendo que los atacantes prueben una y otra vez. La mayoría de los ataques comienzan con un sondeo de vulnerabilidades. Permitir este tipo de pruebas incrementa las probabilidades de un ataque exitoso, ayuda a los atacantes. Medidas de detección y respuesta a ataques. Proceso de aplicación de parches críticos (o virtuales). CSRF: Cross Site Request Forgery Aprovechando el hecho de que los navegadores envían las cookies de sesión automáticamente, un atacante puede generar un link que solicite una acción sobre la aplicación. Los usuarios pueden ser engañados para ejecutar acciones no deseadas en la aplicación, como cambios de información, modificaciones de cuentas o compras. Utilizar tokens únicos para confirmar la validez de una acción. Como medida adicional se puede usar el flag “SameSite=strict” sobre todas las cookies. Componente con Vulnerabilidades Conocidas Ocurren cuando no hay aseguramiento de que se usen componentes y librerías actualizadas. O cuando hay dependencias desconocidas entre componentes. Puede facilitar todo tipo de ataques: de inyección, XSS, controles de acceso rotos, etc. Puede resultar en compromiso total del host y robo de datos. Inventariar continuamente las versiones de los componentes utilizados. Monitorear bases de datos de vulnerabilidades en busca de los componentes utilizados. Analizar componentes instalados y evaluar si son necesarios. Aplicar actualizaciones y parches de seguridad provistos por el fabricante del componente. API Desprotegida Muchas aplicaciones modernas se conectan a APIs en el backend, (XML, JSON, RPC o customizadas) que son susceptibles a todo tipo de ataques. Este tipo de vulnerabilidades, generalmente requiere revisiones manuales y suele permanecer sin ser detectado. Todo tipo de ataques: robo, corrupción e incluso modificación de datos. Acceso no autorizado a funciones de la aplicación. Puede resultar en compromiso total del equipo. Asegurar las comunicaciones entre cliente de la aplicación y la API. Esquema de autenticación fuerte. Parser de datos Hardenizado contra ataques. Esquemas de control de accesos. Protección contra ataques de inyección. Este capítulo se publica bajo la licencia Creative Commons Attribution-ShareAlike 4.0. Autor original: Owasp Foundation IF-2021-76718462-APN-DNCIB#JGM Página 22 de 35

Select target paragraph3

Connect to a paragraph
Connect to an entity
Disable highlights
Add to table of contents