¿Qué es la Seguridad de aplicaciones web?
La seguridad de las aplicaciones web es la práctica de proteger los sitios web, las aplicaciones y las API contra los ataques. Es una disciplina amplia, pero sus objetivos en última instancia son mantener el buen funcionamiento de las aplicaciones web y proteger a las empresas del vandalismo cibernético, el robo de datos, la competencia poco ética y otras consecuencias negativas.
La naturaleza global de Internet expone las aplicaciones web y las API a ataques desde muchas ubicaciones y de varios niveles de escala y complejidad. Como tal, la seguridad de las aplicaciones web abarca una diversidad de estrategias y cubre muchas partes de la cadena de suministro del software.
¿Cuáles son los riesgos comunes para la seguridad de las aplicaciones web?
Las aplicaciones Web pueden enfrentar varios tipos de ataque, dependiendo de los objetivos del atacante, la naturaleza del trabajo de la organización objetivo y las brechas de seguridad particulares de la aplicación. Los tipos de ataque más comunes incluyen:
- Vulnerabilidades Zero-day: son vulnerabilidades desconocidas para los creadores de una aplicación y que, por lo tanto, no tienen una solución disponible. En estos momentos vemos más de 20 000 vulnerabilidades Zero-day cada año. Los ataques buscan explotar estas vulnerabilidades rápidamente y, a menudo, intentan evadir las protecciones establecidas por los proveedores de seguridad.
- Cross-site scripting (XSS): XSS es una vulnerabilidad que permite que un atacante inyecte scripts del lado del cliente en una página web con el objetivo de acceder a información importante, hacerse pasar por el usuario o engañar al usuario para que revele información importante. Obtén más información acerca de cómo impedir ataques XSS.
- Inyección de código SQL (SQLi):SQLi es un método por el cual un atacante se aprovecha de las vulnerabilidades por el modo en el que una base de datos ejecuta consultas de búsqueda. Los atacantes utilizan SQi con el objetivo de conseguir acceso a información no autorizada, modificar o crear nuevos permisos de usuario, o manipular o destruir datos confidenciales. Consigue más información sobre cómo impedir las inyecciones de código SQL.
- Ataques de denegación de servicio (DoS) y ataques de denegación de servicio distribuido (DDoS): mediante una variedad de vectores, los atacantes pueden sobrecargar un servidor determinado o su infraestructura circundante con diferentes tipos de tráfico de ataque. Cuando un servidor ya no es capaz de procesar de manera efectiva las solicitudes entrantes, empieza a funcionar más lento y acaba por negar las solicitudes entrantes de usuarios legítimos.
- Corrupción de memoria: la corrupción de memoria se produce cuando se modifica de forma involuntaria una ubicación en la memoria, que puede acabar causando un comportamiento inesperado en el software. Los agentes maliciosos intentarán detectar y aprovecharse de la corrupción de memoria mediante inyecciones de código o ataques de desbordamiento de búfer.
- Desbordamiento de búfer: El desbordamiento de búfer es una anomalía que se produce cuando el software introduce datos en un espacio definido en la memoria que se conoce como búfer. Desbordar la capacidad del búfer provoca que las ubicaciones de memoria adyacentes se sobrescriban con datos. Se puede aprovechar este comportamiento para inyectar código malicioso en la memoria, lo que puede generar una vulnerabilidad en la máquina objetivo.
- Falsificación de solicitud en sitios cruzados (CSRF): la falsificación de solicitud en sitios cruzados implica engañar a una víctima para que realice una solicitud que utilice su autenticación o autorización. Al aprovecharse de los privilegios de la cuenta de un usuario, un atacante puede enviar una solicitud que se haga pasar por el usuario. Una vez que la cuenta de un usuario se haya visto comprometida, el atacante tiene la capacidad de filtrar, destruir o modificar datos importantes. Suelen ser un objetivo habitual las cuentas con privilegios altos, como las de administradores o ejecutivos.
- Relleno de credenciales: los atacantes pueden utilizar bots para introducir rápidamente un gran número de combinaciones robadas de nombre de usuario y contraseña en el portal de inicio de sesión de una aplicación web. Si el relleno de credenciales da al atacante acceso a una cuenta de usuario real, es posible que roben los datos del usuario o que realicen compras fraudulentas en nombre del usuario.
- Apropiación de páginas: los atacantes también pueden utilizar bots para robar contenidos de páginas web a gran escala. Pueden utilizar estos contenidos para obtener una ventaja de precios sobre un competidor, imitar al propietario de la página con fines maliciosos u otros motivos.
- Abuso de API: las APIs, o Interfaces de Programación de Aplicaciones, son programas informáticos que permiten que dos aplicaciones se comuniquen entre sí. Como cualquier otro tipo de software, pueden tener vulnerabilidades que permitan a los atacantes enviar código malicioso a una de las aplicaciones o interceptar datos confidenciales cuando pasan de una aplicación a otra. Se trata de un tipo de ataque cada vez más común a medida que aumenta el uso de las APIs. La lista Top Ten de APIs de OWASP resume sucintamente los principales riesgos para la seguridad de las APIs a los que se enfrentan las organizaciones hoy en día.
- APIs paralelas: los equipos de desarrollo trabajan rápidamente para cumplir los objetivos empresariales, construyendo y publicando con frecuencia las APIs sin informar a los equipos de seguridad. Estas APIs desconocidas pueden exponer datos confidenciales de la empresa, operando de forma "paralela", ya que los equipos de seguridad encargados de proteger las APIs desconocen su existencia.
- Abuso de código de terceros: muchas aplicaciones web modernas utilizan diversas herramientas de terceros —por ejemplo, un sitio de comercio electrónico que utiliza una herramienta de procesamiento de pagos de terceros. Si los atacantes encuentran una vulnerabilidad en una de estas herramientas, pueden ser capaces de poner en riesgo y robar los datos que procesa, impedir que funcione o utilizarla para inyectar código malicioso en otra parte de la aplicación. Los ataques Magecart, que sustraen los datos de las tarjetas de crédito de los procesadores de pagos, son un ejemplo de este tipo de ataque. Estos ataques también se consideran ataques a la cadena de suministro del navegador.
- Desconfiguraciones de la superficie de ataque: la superficie de ataque de una organización es toda su huella informática susceptible de sufrir ciberataques: servidores, dispositivos, SaaS y activos en la nube accesibles desde Internet. Esta superficie de ataque puede seguir siendo vulnerable a los ataques debido a que ciertos elementos se pasan por alto o están mal configurados.
¿Cuáles son las estrategias de seguridad importantes de las aplicaciones web?
Como ya se ha dicho, la seguridad de las aplicaciones web es una disciplina amplia y que cambia constantemente. Como tal, las mejores prácticas de la disciplina cambian conforme surgen nuevos ataques y vulnerabilidades. Sin embargo, el panorama moderno de las amenazas de Internet es lo suficientemente activo como para que ninguna organización pueda arreglárselas sin ciertos servicios de seguridad "tabla apuestas" que se adapten a las necesidades específicas de su empresa:
- Mitigación DDoS: los servicios de mitigación DDoS de se sitúan entre un servidor y la Internet pública, utilizando un filtrado especializado y una capacidad de ancho de banda extremadamente alta para impedir que las oleadas de tráfico malicioso desborden el servidor. Estos servicios son importantes porque muchos de los ataques DDoS modernos envían suficiente tráfico malicioso para abrumar incluso a los servidores más resistentes.
- Firewall de aplicaciones web (WAF): que filtran el tráfico que se sabe o sospecha que aprovecha vulnerabilidades de las aplicaciones web. Los WAF son importantes porque las nuevas vulnerabilidades surgen demasiado rápida y silenciosamente para que casi todas las organizaciones las detecten por su cuenta.
- Puerta de enlaces API: que ayudan a identificar las "API paralelas" que se pasan por alto y que bloquean el tráfico que se sabe o se sospecha que aprovecha las vulnerabilidades de las API.También ayudan a gestionar y controlar el tráfico de las API.(Más información sobre la seguridad de la API).
- DNSSEC: un protocolo que garantiza que el tráfico DNS de una aplicación web se dirige de forma segura a los servidores correctos, para que los usuarios no sean interceptados por un atacante en ruta.
- Gestión de certificados de encriptación: en la que un tercero gestiona elementos clave del proceso de encriptación SSL/TLS, como la generación de claves privadas, la renovación de certificados y la revocación de certificados por vulnerabilidades. Esto elimina el riesgo de que esos elementos pasen desapercibidos y que expongan el tráfico privado.
- Gestión de bots: el cual utiliza el aprendizaje automático y otros métodos de detección especializados para distinguir el tráfico automatizado de los usuarios humanos e impedir que los anteriores accedan a una aplicación web.
- Seguridad del lado del cliente: que comprueba las nuevas dependencias de JavaScript de terceros y los cambios de código de terceros, ayudando a las organizaciones a detectar antes las actividades maliciosas.
- Gestión de la superficie de ataques: las herramientas de gestión de la superficie de ataques procesables deben proporcionar un único lugar para mapear su superficie de ataque, identificar posibles riesgos de seguridad y mitigarlos con unos pocos clics.
¿Qué buenas prácticas de seguridad de la aplicación deben esperar las organizaciones de sus proveedores?
Los desarrolladores web pueden diseñar y construir aplicaciones de modo que impidan a los atacantes en ruta acceder a datos privados, acceder fraudulentamente a cuentas de usuario y realizar otras acciones maliciosas. La lista OWASP Top 10 captura los riesgos más comunes para la seguridad de la aplicación que los desarrolladores deben conocer. Las prácticas para prevenir estos riesgos incluyen:
- Exigir la validación de la entrada: bloquear el paso de datos mal formateados a través de los flujos de trabajo de la aplicación ayuda a evitar que entre código malicioso en la aplicación mediante un ataque de inyección.
- Utilizar una encriptación actualizada: almacenar los datos de los usuarios de forma encriptada, además de utilizar HTTPS para encriptar la transmisión del tráfico entrante y saliente, ayuda a evitar que los atacantes roben datos.
- Oferta de una autenticación y autorización fuertes: incorporar y reforzar controles para contraseñas fuertes, ofrecer opciones de autenticación multifactor que incluyan teclas rígidas, ofrecer opciones de control de acceso y otras prácticas hacen que sea más difícil para los atacantes acceder de forma fraudulenta a cuentas de usuario y moverse de forma lateral dentro de su aplicación.
- Seguimiento de las API: existen herramientas para identificar las "API paralelas" que se pasan por alto y que podrían constituir una superficie de ataque, pero la seguridad de las API es más fácil cuando estas nunca se pasan por alto, en primer lugar.
- Documentar los cambios de código: lo que ayuda a los equipos de seguridad y desarrolladores a solucionar antes las vulnerabilidades recién introducidas.
¿Cómo mantiene Cloudflare seguras las aplicaciones web?
Cloudflare ejecuta una red global de 330 ciudades que ofrece muchos de los servicios de seguridad mencionados anteriormente, incluyendo mitigación de DDoS, un firewall de aplicaciones web, protección de API, DNSSEC, SSL/TLS gestionado, gestión de bots, seguridad del lado del cliente y mucho más.
Todos estos servicios están diseñados para ejecutarse desde cualquier centro de datos de nuestra red, lo que les permite detener los ataques cerca de su origen. Están integrados con nuestros servicios de rendimiento del sitio web, por lo que añadir nuevas protecciones de seguridad nunca ralentiza el tráfico. Además, todos estos servicios funcionan con todo tipo de infraestructuras de sitios web y, a menudo, pueden ponerse en marcha en cuestión de minutos.
Obtén más información sobre las soluciones de seguridad para aplicaciones o suscríbete a un plan de Cloudflare.