TOPICOS VULNERABILIDADES
Enviado por Rimma • 12 de Julio de 2018 • 2.722 Palabras (11 Páginas) • 305 Visitas
...
API AntiSamy de OSWAP
- Mala autenticación y gestión de sesiones: Las credenciales y tokens de sesión de una aplicación no están correctamente separadas y protegidas. Los atacantes pueden obtener contraseñas, claves o tokens de autenticación que les permitan robar la identidad a otro usuario. HTTP/S no tiene estado y necesita utilizar sesiones de usuario para “acordarse” del estado de la comunicación. El robo de sesión (Session Hijacking) puede producirse cuando el identificador de sesión se puede adivinar, deducir u obtener.
▪ Protección contra Mala autenticación y gestión de sesiones. Usar frameworks de desarrollos con función de gestión de sesiones. El ID de sesión debe ser único a cada usuario, válido únicamente para una sesión, generado por el servidor, aleatorio y complejo, no incluido en la URL, con tiempo de caducidad. Utilizar HTTPS en toda la sesión. En el cliente cookies con fecha de expiración. Gestionar adecuadamente las contraseñas para cambios periódicos, recuperación y validez. Nunca guardar contraseñas en texto plano.
- Referencia directa insegura a objetos: Está ligado a la autenticación y gestión de sesiones. Sucede cuando el desarrollador deja referencias a objetos implementados de manera interna en una URL o como un parámetro en un formulario (claves de BDD).
▪ Protección contra Referencia directa insegura a objetos. Tratar de eliminar referencias directas, validar las referencias en aspectos como: formación de parámetros, permisos y modos de lectura/escritura.
- CSRF Cross Site Request Forgery: obliga a un usuario ya autenticado a enviar una petición con sus credenciales a una aplicación web vulnerable. De esta forma el atacante puede iniciar cualquier tipo de transacción. Es vulnerable cuando la aplicación, no verifica de nuevo la autenticación antes de realizar una operación, la autenticación por defecto permite realizar operaciones, se autorizan operaciones basándose únicamente en las credenciales que se suministran automáticamente por el navegador (Cookie de sesión, token, Kerberos, autenticación clásica, certificado SSL…)
- Protección contra CSRF Cross Site Request Forgery: Uso de token secreto en todas las peticiones, aleatorios y fuertes criptográficamente. Utilizar campos ocultos y que no estén en las cabeceras de referencia. Tratar de codificar entradas y salidas.
- Configuraciones Inseguras: Los fallos de configuración pueden estar presentes en cualquier punto de una plataforma a lo largo de toda la red, no solamente afecta a los equipos de producción sino también a los equipos de desarrollo, consecuencias como revelar directorios, datos de conexión, credenciales, modificación de ficheros.
▪ Protección contra configuraciones inseguras: Si el código fuente es público tomar en cuenta las actualizaciones y parches; si es privado asegurar los sitios de almacenamiento de código. Al portar un sistema de desarrollo a producción se deberían cambiar todas las credenciales. Guías de “Hardening”. Cualquier implantación debe pasar por un análisis de vulnerabilidades.
- URL mal restringidas: Fallos en la gestión de autenticación, referencias directas inseguras a objetos y malas configuraciones de seguridad. El control de acceso en la capa de presentación no funciona y es peligroso. Un atacante podría simplemente referenciar la página no autorizada para invocar funciones o servicios privilegiados (modificar URL), para acceder a datos/cuentas de otros usuarios. La consecuencia más común es la revelación de datos sensibles que pueden ser utilizados para apoyar otros tipos de ataque. Por ejemplo: No quitar phpinfo.php
- Protección contra URL mal restringidas: Por cada URL el administrador ha de asegurar tres cosas: Acceso restringido a usuarios autorizados, Gestionar permisos basados en usuario o grupo, Bloquear todo tipo de peticiones a páginas no autorizadas como ficheros de configuración, logs, código fuente … Escaneos rutinarios con WebScarab (falsificación de peticiones autorizadas) o herramientas similares como Nikto para encontrar ficheros sensibles.
- Redirecciones y reenvíos: Muchos sitios web utilizan parámetros de redirección en sus
URL, esto se suele utilizar para redirigir a un usuario a otra página tras realizar una operación. Si el parámetro no está correctamente validado un atacante podría redirigir el navegador de una víctima a una página maliciosa bajo el pretexto de una URL válida. Esto incluye: Páginas de Phishing, Páginas de malware (Instalación de toolbars), Exploits para navegador. Ataques de ingeniería social.
- Protección contra Redirecciones y reenvíos: Evitar utilizar redirecciones y reenvíos en la medida de lo posible, Si se utilizan evitar incluir la redirección como parámetro en la URL, Si es indispensable incluir un parámetro en la URL: Validar cada parámetro y Mapear las redirecciones en el lado del servidor. Comprobar que el usuario tenga permisos para ver tanto la página original como la redirigida. Validar la URL después de que la página de destino se haya determinado para asegurar que el destino es correcto. ESAPI: SecurityWrapperResponse.sendRedirect( URL )
- Almacenamiento criptográfico inseguro: En muchas instancias las bases de datos de aplicaciones web no guardan información sensible como contraseñas o números de tarjeta de crédito cifradas. Ataque de recuperación de logs de las transacciones para capturar esta información sensible.
▪ Protección contra Almacenamiento criptográfico inseguro: Cifrar todos los datos sensibles, y establecer mecanismos para impedir el acceso a personal no autorizado. Políticas de cambio de claves. Implementación y distribución seguras.
- Protección insuficiente en la capa de transporte: No identificar correctamente todos los datos importantes. No identificar todos los sitios a los que se envían los datos importantes a través de la red, a bases de datos secundarias o de desarrollo, comunicaciones internas (email, documentos escritos, ftp entre departamentos), empresas asociadas. No proteger los datos de manera correcta en todos los puntos. Uso de sniffer por lo general para capturar las credenciales.
▪ Garantizar protección en la capa de transporte: Uso de mecanismos de comunicación segura, TLS para conexiones que transmitan información sensible. Cifrar mensajes antes de transmitirlos. Firma digital de mensajes antes de transmitirlos. Siempre verificar los certificados SSL antes de utilizarlos por validez inclusive.
Plataformas de aprendizaje: DVWA, Webgoat,
...