Los riesgos más críticos para aplicaciones web
La organización internacional sin fines de lucro dedicada a la seguridad de las aplicaciones web OWASP ha revelado los 10 principales riesgos de seguridad de la capa de aplicaciones web. Veamos algunos de los ataques más comunes contra las aplicaciones web.
Inyección SQL
Este tipo de fallo permite a un atacante manipular las consultas a la base de datos de una aplicación inyectando código. En la mayoría de los ataques, los hackers pueden recuperar datos pertenecientes a otros usuarios o relacionados con la propia aplicación, como contraseñas, datos de tarjetas de crédito y cookies.
Cuando un ataque de inyección SQL sale mal, el atacante puede intentar un ataque de denegación de servicio o comprometer el servidor subyacente u otra infraestructura de back-end.
Secuencia de comandos en sitios cruzados (XSS)
Se trata de una técnica muy utilizada para ejecutar código, normalmente JavaScript, en el sitio web o la aplicación objetivo. Una secuencia de comandos en sitios cruzados exitosa otorga a los atacantes acceso a toda la aplicación.
Un ejemplo de ataque XSS es cuando un hacker explota la vulnerabilidad de un campo de entrada y lo utiliza para inyectar código malicioso en otro sitio web.
Los hackers tienen un control total sobre lo que ocurre una vez que sus objetivos hacen clic en el enlace infectado. La razón principal por la que el XSS se considera un fallo de seguridad de alto riesgo es que permite al atacante ver los datos almacenados en LocalStorage, SessionStorage o cookies en el sistema de destino. Por lo tanto, no se debe almacenar ningún dato personal en estos sistemas.
Falsificación de peticiones en sitios cruzados (CSRF)
Un ataque CSRF emplea técnicas de ingeniería social para convencer a un usuario de que modifique los datos de la aplicación, como el nombre de usuario o la contraseña. Un ataque CSRF requiere una aplicación que utilice cookies de sesión únicamente para identificar al usuario que realiza una solicitud. Estas cookies se utilizan entonces para rastrear o validar las solicitudes del usuario.
Dependiendo de la acción que el usuario es forzado a completar, el atacante puede robar dinero, cuentas o realizar otros ataques a la aplicación web.
Relleno de credenciales
Los hackers utilizan nombres de usuario, correos electrónicos y contraseñas de volcados de datos disponibles públicamente en la dark web para hacerse con las cuentas de los usuarios. Los datos ilegales pueden contener millones de combinaciones de nombres de usuario y contraseñas debido a años de violaciones de datos en numerosos sitios. Esto demuestra que incluso los datos antiguos pueden ser valiosos para los atacantes.
El robo de credenciales es muy peligroso, sobre todo en las finanzas. El relleno de credenciales financieras proporciona a los piratas informáticos un acceso claro a toda la información de tu cuenta bancaria y de tus transacciones, lo que les permite solicitar préstamos, utilizar tus tarjetas de crédito o realizar transferencias bancarias.
Creación de cuentas falsas
Normalmente, muchas empresas promueven la creación de cuentas para seguir el comportamiento de sus clientes y compartir las últimas ofertas. Esto hace que el registro rápido y sencillo sea un elemento importante, pero la seguridad puede pasarse por alto. Por lo tanto, puede ser tan fácil para los delincuentes crear cuentas falsas como cualquier otro cliente legítimo.
Los hackers pueden crear un número importante de cuentas de usuario que no están vinculadas a una persona real o que se hacen utilizando información personal robada. Estas cuentas falsas pueden utilizarse para encubrir prácticas de relleno de credenciales, aprovechar ofertas de clientes o autenticar tarjetas de crédito robadas.
Los ataques de creación de cuentas falsas son cada vez más difíciles de detectar y prevenir, ya que los hackers buscan constantemente nuevas formas de falsificar o robar identidades.
Desconfiguración de la seguridad
Otra vulnerabilidad de alto riesgo de las aplicaciones web es la desconfiguración de la seguridad, que permite a los atacantes tomar fácilmente el control de los sitios web. Los atacantes malintencionados pueden aprovecharse de una amplia gama de debilidades y errores de configuración, incluyendo páginas no utilizadas, vulnerabilidades no parcheadas, archivos y directorios no seguros y configuraciones por defecto.
Elementos como los servidores web y de aplicaciones, las bases de datos o los servicios de red pueden dejarte expuesto a violaciones de datos. Los hackers pueden manipular cualquier información privada y tomar el control de las cuentas de usuario y de administrador.
Fallo de autorización
Los visitantes de un sitio web o de una aplicación sólo pueden acceder a ciertas partes del mismo si tienen los permisos adecuados: esto se debe a los controles de acceso. Si, por ejemplo, gestionas un sitio web que permite a diferentes vendedores publicar sus productos, tienes que darles acceso para añadir nuevos productos y gestionar sus ventas.
Así, hay ciertas limitaciones para los clientes que no son vendedores que los hackers pueden explotar. Pueden encontrar formas de comprometer el control de acceso y liberar datos no autorizados como resultado de la modificación de los permisos de acceso de los usuarios y los archivos.
Registro de logs y monitoreo insuficientes
El registro y monitoreo insuficientes, junto con una mala integración de respuesta a incidentes, permite a los atacantes atacar aún más los sistemas, mantener la persistencia, girar a más sistemas y manipular, extraer o destruir datos. La mayoría de los estudios de infracciones muestran que el tiempo para detectar una infracción es de más de 200 días, típicamente detectado por partes externas en lugar de procesos internos o monitoreo.
Inclusión de archivos locales (LFI)
LFI es una vulnerabilidad frecuentemente descubierta en aplicaciones web mal construidas. Permite a un atacante incluir o exponer archivos en un servidor.
Si la aplicación web ejecuta el archivo, puede exponer datos sensibles o incluso ejecutar código malicioso.