Capítulo 12 - Ciberseguridad 7: Vector Software de Terceros y Seguridad Mal Configurada

Buenas tardes, en este doceavo capítulo de la serie Arquitectura de Sistemas Seguros para Aplicaciones Web en Salud Digital continuaremos presentaremos las vulnerabilidades asociadas al mal uso de software de terceros, lo que conlleva una Aplicación con una Seguridad Mal Configurada

Vulnerabilidades

  1. Mala configuración de seguridad

    Quinto lugar en OWASP Top 10 2021 consiste en no haber configurado correctamente la seguridad del software empleado, a pesar de que las librerías más usadas en la actualidad han sido diseñadas para ser adaptadas a las distintas necesidades de seguridad de sus usuarios.

    Las vulnerabilidades explicadas en los 2 últimos capítulos ocurren prácticamente siempre debido a una mala configuración de seguridad, debido a que los servidores web no tienden a poseer una configuración óptima y exponen por defecto mucha información sensible. Por ejemplo, éstos necesitan configurarse para dejar de compartir en respuesta a cada solicitud las versiones del sistema operativo y del servidor web empleadas, y habilitar la encriptación en tránsito empleando protocolos de seguridad sin vulnerabilidades conocidas.


    Las maneras más comunes en las que la seguridad no es configurada correctamente implica la exposición pública de información sensible de la configuración del sistema, y de la no habilitación de parámetros importantes asociados a la encriptación en tránsito. Obtenida desde oreilly.com

  2. Uso de componentes vulnerables y desactualizadas

    En sexto lugar de OWASP Top 10 2021 consiste en el uso de componentes y librerías vulnerables y desactualizadas en las aplicaciones web.

    Para la gran mayoría de las librerías de software más usadas se descubren mensualmente vulnerabilidades de seguridad, las que deben ser solucionadas por sus desarrolladores y es posible que estos tarden o no lleguen a entregar una solución a tiempo. Más aún es posible no estar al tanto de estas soluciones, de manera que por defecto y si no son tomadas medidas la seguridad de un sistema disminuye.

  3. Fallos en la integridad de los datos y el software

    Octavo lugar en OWASP Top 10 2021 consiste en no hacer asumciones acerca de la legitimidad de los datos obtenidos desde sus proveedores de software. En el capítulo 10 se presentó la vulnerabilidad Insecure Deserialization (lugar 8 en OWASP Top 10 2013) la que implica verificar que los datos recibidos por los servidores web sean deserializados de manera segura, sin embargo con respecto a las actualizaciones de software esto tiende a no ser considerado.

    Es importante saber que los datos recibidos de todas las fuentes, incluso los provenientes de los dueños de los software más empleados pueden ser vulnerados en distintas etapas de su entrega.


    El Typosquatting es una técnica empleada no sólo en las urls para engañar a usuarios de navegadores web, sino que también a usuarios de administradores de paquetes que pueden comenter un error al escribir el nombre de la librería que desean instalar o actualizar. Obtenidad desde devopedia.org

Recomendaciones

  1. Realizar Hardening de los servidores web antes de lanzarlos a producción. Las tareas principales consisten en el Bloqueo de puertos, Deshabilitar el envío por defecto de las versiones del sistema operativo y del servidor web, Deshabilitar el listado público por defecto de los archivos en el directorio del servidor web, Eliminar los módulos no usados, Limitar los privilegios de lectura y escritura de los archivos en el servidor, y Encriptar la comunicación con los usuarios empleando los protocolos actualizados sin vulnerabilidades

  2. Actualizar regularmente todos los componentes de software empleados, y reemplazar los que no provean de soluciones a sus vulnerabilidades de seguridad reportadas. Constantemente son descubiertas nuevas vulnerabilidades de las librerías más empleadas por los desarrolladores de aplicaciones web, y los hackers son los que están más atentos a estos descubrimientos.


    Un gran porcentaje de las organizaciones trabajan con sus sistemas operativos y sus navegadores desactualizados. Obtenida desde prnewswire.com

  3. Verificar los paquetes de software recibidos, idealmente de manera automática mediante un administrador de paquetes seguro. No todos los administradores de paquetes son seguros. Por ejemplo pip (el administrador más empleado para la instalación de paquetes en python) tiene una larga historia de instalación indeseada de malware.

    Sin embargo, administradores como npm y yarn (los administradores de paquetes más usados en javascript) se han encargado de implementar la verificación y reporte periódico sobre las vulnerabilidades de los paquetes instalados en cada aplicación desarrollada en Javascript.

Link al Capítulo anterior

Referencias

  1. Mala configuración de seguridad Avoiding Security Misconfiguration | Guardicore

  2. Web server Hardening Web server security: Web server hardening - Infosec Resources

  3. Administradores de paquetes Security Issues With Using Package Managers | by Pratyaksh Jain | Inheaden | Medium

  4. Riesgos de usar pip The security risks of pip and PyPI - Carles Garcia-Cabot

  5. Hash Criptográfico Hash Check - How, why, and when you should hash check

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