Con la transformación digital para muchas empresas es una realidad disponer de aplicaciones web en su empresa. Por eso, es importante conocer las medidas de seguridad que se pueden implementar de cara al funcionamiento adecuado de la web y para evitar las «sorpresas». Casi toda la vulnerabilidades pueden ser aplicadas sin que importe el tamaño de la empresa.
Vulnerabilidades como concepto
El concepto de vulnerabilidad se aplica a aquellas cosas que se encuentran en condición de riesgo.
Las vulnerabilidades pueden adoptar diferentes formas, dependiendo de la naturaleza del objeto de estudio, sus causas y consecuencias. Frente a un ciberataque, por ejemplo, la pérdida de imagen corporativo podría ser la consecuencia de una de las vulnerabilidades del sistema.
Principales vulnerabilidades de la web
- Pérdida del control de acceso (Broken Access Control): un usuario pueda acceder a determinados lugares, usuarios que pueden actuar fuera de los permisos, etc. Posible impacto: un ciberdelicuente podría actuar en el sistema con permisos de usuario o administrador. Posible posterior divulgación indebida.
- Fallos criptográficos (Cryptographic Failures): Hay ciertos datos que deben estar cifrados, como credenciales de acceso, datos bancarios, información confidencial de la empresa, etc. Posible impacto: exposición de datos sensibles a un ciberdelincuente (datos personales, críticos o estratégicos para la empresa; credenciales, etc.)
- Inyección (Injection): cuando un ciberdelincuente puede enviar datos dañinos a un intérprete. Impacto: exposición y posible modificación de datos sensibles por parte de un ciberdelincuente.
- Diseño inseguro (Insecure Desing): Cuando se desarrolla una aplicación web es primordial incluir la seguridad de la aplicación desde la fase del diseño. Muchas aplicaciones cuentan con defectos en el diseño de las mismas. Impacto: exposición y posible modificación de datos por un ciberdelincuente y accesos al servidor o aplicación por parte de un ciberdelincuente con permisos de administrador o usuario.
- Configuración de seguridad defectuosa (Security Misconfiguration): versiones obsoletas con vulnerabilidades sin actualizar, directorios desprotegidos, etc. Impacto: acceso no autorizado por los ciberdelincuentes al sistema.
- Componentes vulnerables y obsoletos (Vulnerable and Outdated Components): un ciberdelincuente podrá comprometer un sistema mediante vulnerabilidades ya conocidas en componentes comunes, como por ejemplo la versión del sistema operativo o aplicaciones instaladas en el servidor, entre otras. Impacto: brechas de seguridad de diferente tamaño.
Diferentes tipos de fallos
- Fallos de identificación y autenticación (Identification and Authentication Failures): sucede cuando en las interfaces de acceso no se controla el número de intentos de autenticación. Impacto: los ciberdelincuentes tendrán acceso a cuentas administrativas en la aplicación.
- Fallos en el software y en la integridad de los datos (Software and Data Integrity Failures): hay que verificar las actualizaciones de los sitios web. Impacto: inclusión de código no deseado por un ciberdelincuente en mi aplicación.
- Fallos en el registro y la supervisión de la seguridad (Security Logging and Monitoring Failures): la falta de registros sobre eventos, los denominados logs, como inicios de sesión (tanto válidos como fallidos). Impacto: desconocimiento sobre inicios de sesión no autorizados.
- Falsificación de Solicitud del Lado del Servidor (Server-side Request Forguery o SSRF): cuando nuestra web obtiene un recurso externo y este no valida la URL, un ciberdelincuente podría modificarla con fines indebidos y realizar peticiones no autorizadas. Impacto: robo de datos de la empresa, accesos a sistemas internos.
Puedes consultar más información en el siguiente enlace de INCIBE.