10 Principales Vulnerabilidades de Seguridad en Aplicaciones Web

Inyeccion:

PROB: aplicación envía información no confiable a un intérprete. VULNE: Verificar que en uso de intérpretes separa la información no confiable del comando o consulta PREV: usar una API segura para evitar el uso de intérpretes por completo.

Perdida de autenticación y Gestión de Sesiones:

PROB: hay vulnerabilidades en el cierre de sesión, gestión de contraseñas, tiempo de desconexión. VULNE: Credenciales de los usuarios desprotegidas usando un hash. Se pueden sobrescribir a través de funciones débiles de gestión de la sesión. ID de sesión son expuestos en la URL, son vulerables a ataques de fijación de la sesión, no expiran y no son rotados luego de una autenticación exitosa. PREV: Único conjunto de controles de autenticación y gestión de sesiones fuerte.

Secuencia de Comandos en Sitios Cruzados (XSS):

PROB: cuando una aplicación, en una página enviada a un navegador incluye datos suministrados por un usuario sin ser validados. VULNE: Si no asegura entradas de datos ingresadas por los usuarios son codificadas adecuadamente; si no se verifica en el momento de ingreso que los datos sean seguros antes de ser incluidos en la página de salida. PREV: codificar datos no confiables basados en el contexto HTML donde serán ubicados.

Referencia Directa Insegura a Objetos:

PROB: desarrollador expone una referencia a un objeto de implementación interno (fichero, directorio, base de datos). Sin control de acceso, los atacantes pueden manipularlas para acceder a datos no autorizados. VULNE: Para referencias directas, aplicación verifica si el usuario está autorizado a acceder al recurso. Si es indirecta, debe ser limitada a valores autorizados. PREV: Utilizar referencias indirectas evitaría que los atacantes accedieren a recursos no autorizados.

Configuración de Seguridad Incorrecta:

PROB: requiere tener una configuración segura para la aplicación y la base de datos. Estas deben ser definidas y mantenidas ya que no son seguras. Incluye mantener todo el software y las librerías actualizados. VULNE: Sin un proceso repetible de configuración de seguridad, los sistemas están en riesgo. PREV: Proceso para mantener las nuevas actualizaciones y parches de software para cada entorno. Ejecutar escaneos periódicamente para ayudar a detectar fallos.

Exposición de datos sensibles:

PROB: Atacantes pueden robar/modificar datos para llevar a cabo fraudes, robos de identidad. Estos datos requieren cifrado. VULNE: Se debe evaluar si se almacenan en texto claro a largo plazo, de manera interna o externa; si se utiliza algún algoritmo criptográfico débil/antiguo; si se generan claves criptográficas débiles, si se utilizan cabezales y directivas de seguridad del navegador. PREV: Asegúrarse de cifrar los datos sensibles, de aplicar algoritmos de cifrado fuertes que protejan a las claves, que se deshabilite el autocompletar en los formularios.

Ausencia de Control de Acceso a Funciones:

PROB: Permiten el acceso no autorizado de los atacantes. VULNE: Verificar que la interfaz muestra la navegación hacia funcionalidades no autorizadas, existe autenticación del servidor, los controles del lado del servidor se basan en información proporcionada por el atacante. PREV: El proceso de gestión de accesos debería ser actualizable fácilmente. No lo implemente directamente en el código sin usar parametros.

Falsificación de Peticiones en Sitios Cruzados (CSRF):

PROB: Los atacantes pueden crear páginas maliciosas y falsas, que son indistinguibles de las legítimas. VULNE: Verifique la ausencia de un token en cada enlace y formulario. PREV: incluir el token único en un campo oculto, hace que el valor de dicho campo se envíe en el cuerpo de la solicitud HTTP, evitando su inclusión en la URL, sujeta a mayor exposición. Requiera que el usuario vuelva a autenticarse, o pruebas que se trata de un usuario legitimo (CAPTCHA).

Utilización de componentes con vulnerabilidades conocidas:

PROB: Si se ataca un componente (ej librería) vulnerable puede facilitar la intrusión en el servidor. Las app que utilicen componentes con vulnerabilidades conocidas debilitan sus defensas y permiten ampliar el rango de ataques. VULNE: Necesita buscar en estas bases de datos, así como también mantenerse al tanto de la lista de correos del proyecto y anuncios de cualquier cosa que pueda ser una vulnerabilidad. PREV: Establecer politicas de seguridad que regulen el uso de componentes, como pasar test de seguridad.

Redirecciones y reenvíos no validados:

PROB: Las app web redirigen hacia otras páginas y utilizan datos no confiables para determinar la página de destino. Sin una validación apropiada, los atacantes pueden redirigir a las victimas hacia sitios de phishing o malware. VULNE: Hay que revisar el código para detectar el uso de redirecciones, recorrer la app para observar si genera una redirección y si no se encuentra disponible, se deben analizar los parámetros para ver si forman parte de una redirección de una URL y probar lo que hacen. PREV: Evitar el uso de redirecciones. no involucrar parámetros manipulables por el usuario para definir el destino, si no es posible evitarlos, asegúrese que sea válido y autorizado.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.