Capítulo 11 - Ciberseguridad 6: Vector Aplicación y Ataques de Inyección, Parte 2

Buenas tardes, en este onceavo capítulo de la serie Arquitectura de Sistemas Seguros para Aplicaciones Web en Salud Digital continuaremos con las principales amenazas y recomendaciones del Vector Aplicación

En esta segunda parte veremos las principales vulnerabilidades que pueden surgir debido a un desarrollo no seguro de la aplicación

Vulnerabilidades

  1. Autenticación rota

    Segundo lugar en OWASP Top 10 consiste en la posibilidad de que un atacante sea identificado erróneamente como un usuario válido con credenciales distintas a las que éste posee en la plataforma. Esto puede ocurrir si el atacante tiene la capacidad de obtener la contraseña de otro usuario interactuando directamente con la plataforma o puede ser autenticado como aquél usuario sin siquiera poseer la contraseña.


    Como se explicó en el capítulo 2, si la encriptación en tránsito no está correctamente configurada, un atacante podría leer sin problemas los datos comunicados entre el usuario y el servidor. En particular puede leer las cookies de un usuario, y si no se ha implementado las medidas de seguridad contra CSRF explicadas en el capítulo anterior, existirá también una vulnerabilidad contra Session Hijacking (secuestro de sesión). Obtenida desde thesslstore.com

  2. Exposición de información sensible

    En tercer lugar de OWASP Top 10 consiste en exponer información sensible sin verificar previamente los privilegios requeridos asociados a ésta. La posibilidad de acceder a un elemento cualquiera de la base de datos sin los debidos privilegios, simplemente ingresando el nombre del elemento deseado en una solicitud particular es llamada Insecure Direct Object Reference (IDOR), la que puede ser empleada por atacantes para obtener fácilmente acceso a información sensible.

  3. Control de acceso roto

    Quinto lugar en OWASP Top 10 consiste en que los privilegios asociados a recursos e información sensible no son adecuadamente implementados, de manera que estos pueden ser exitosamente ignorados o simulados por un atacante.


    En este ejemplo de Control de acceso roto muestra una página en la que un atacante puede modificar la solicitud enviada al servidor web de manera que éste entregue privilegios sobre la tarjeta de crédito de un usuario distinto. Obtenida desde medium.com.

  4. Registro y monitoreo de actividad insuficiente

    Décimo lugar en OWASP Top 10 consiste en

    • No registrar las actividades de autenticación, alertas, errores u operaciones de elevada importancia

    • Hacerlo de manera poco informativa

    • Almacenar los registros sólo en el mismo servidor web

    • No definir umbrales máximos o mínimos para las operaciones realizadas, ni generar alertas cuando estos son superados

    • Las alertas poco efectivas o no inician un procedimiento de escalamiento del suceso adecuadamente

  5. Exposición de archivos sensibles en servidor web

    En caso de que una aplicación web distribuya sus distintas páginas mediante archivos que deben ser referenciados mediante sus nombre, explícitamente en sus respectivas direcciones URL es posible disponibilizar todos los archivos archivos del servidor. Esto posibilita la obtención de archivos con información sensible como /etc/passwd, los que permitirían acceder al servidor web con privilegios ilimitados.

    Un ataque que se basa en esta vulnerabilidad es el Local File Inclusion (LFI), el que emplea Path Traversal para incluir archivos sensibles como respuesta a las solicitudes realizadas.


    La vulnerabilidad LFI puede permitir a los atacantes ver archivos sensibles del sistema operativo, como el archivo /etc/passwd a través de cualquier navegador de internet. Obtenida desde secnhack.in.

Recomendaciones

  1. Configurar correctamente la encriptación en tránsito desde sus usuarios hacia sus servidores web. El capítulo 3 de esta serie trata detalladamente la importancia de este requerimiento y un modo de implementar HTTPS.

  2. Proveer información teniendo en cuenta la privacidad y las normas legales acerca de a quién puede ser entregada. Para esto se recomienda definir roles con distintos privilegios para visualizar y manejar información, de manera que quienes posean aquellos roles tengan las facultades técnicas como legales para realizar tales operaciones.


    Los casos filtración masiva de datos en salud ha aumentado los últimos años. Obtenida desde hipaajournal.com

  3. Tal como se mencionó en la recomendación 5 del capítulo anterior, deben emplearse tokens de autenticación en cada solicitud realizada por un usuario de manera que las acciones realizadas sean verificadas con respecto a los privilegios que estos poseen. Además, los tokens deben poseen una validez de corta duración (máx. 60 días).

  4. Deben registrarse y almacenarse en servidores distintos a los empleados para realizar las siguientes operaciones

    1. Todas las operaciones que requieran autenticación. Adicionalmente las operaciones altamente sensibles deben ser registradas de manera que sean fácilmente identificables y analizables

    2. Todos los errores que ocurran en los servidores web. Los errores pueden ser generados por atacantes que estén buscando vulnerabilidades en la aplicación

    Idealmente también deben implementarse alarmas para comportamientos anómalos evidenciados por estos registros


    El NIST Cyber Security Framework especifica como tercer paso el monitoreo de de las distintas fuentes de información, de manera que se pueda posteriormente responder, recuperarse y prepararse mejor para futuras amenazas. Obtenida desde ignite.com.au

  5. En caso de servir explícitamente archivos almacenados en el servidor web (PHP), emplear un listado de los tipos de nombres aceptados para ser solicitados y sólo entregar los archivos que cumplan con el listado. Seguir guía de OWASP para verificar presencia de la vulnerabilidad LFI en sus servidores web.

Link al Capítulo anterior
Link al Capítulo siguiente

Referencias

  1. Autenticación rota Everything You Need to Know About Broken Authentication - Hashed Out by The SSL Store™

  2. Exposición sensible de datos 2019 Healthcare Data Breach Report

  3. Control de Acceso Roto Bug Bounty for Beginners (part 2) broken access control | by Sayin0 | Medium

  4. NIST Cyber Security Framework Cyber Security Framework

  5. Vulnerabilidad LFI Local File Inclusion (LFI) Vulnerability- Types, Mitigation and Exploit - Secnhack

  6. OWASP Top 10 OWASP Top Ten Web Application Security Risks | OWASP

  7. Guía de OWASP para testear LFI WSTG - v4.1 | OWASP

2 Me gusta