¿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.
- Secuencias de comandos en sitios cruzados (XSS): XSS es una vulnerabilidad que permite a un atacante inyectar scripts del lado del cliente en una página web para acceder a información importante de forma directa, suplantar al 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 usan SQi para obtener acceso a información no autorizada, modificar o crear nuevos permisos de usuario, o para 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 de denegación de servicio distribuido (DDoS): a través de una variedad de vectores, los atacantes pueden sobrecargar un servidor de destino o su infraestructura circundante con diferentes tipos de tráfico de ataque. Cuando un servidor ya no puede procesar efectivamente las solicitudes entrantes, comienza a comportarse de manera lenta y, en última instancia, niega el servicio a las solicitudes entrantes de usuarios legítimos.
- Daño de la memoria: el daño de la memoria se produce cuando una ubicación en la memoria se modifica involuntariamente, lo que puede provocar un comportamiento inesperado en el software. Los actores maliciosos intentarán detectar y explotar el daño de la memoria a través de explotaciones como 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 ocurre cuando el software escribe datos en un espacio definido en la memoria conocido como búfer. El desbordamiento de la capacidad del búfer da lugar a que se sobrescriban las ubicaciones de memoria adyacentes con datos. Este comportamiento puede ser explotado para inyectar código malicioso en la memoria, al crear potencialmente una vulnerabilidad en la máquina objetivo.
- Falsificación de solicitud entre sitios (CSRF): la falsificación de solicitud entre sitios implica engañar a una víctima para que haga una solicitud que utilice su autenticación o autorización. Cuando un atacante aprovecha los privilegios de la cuenta de un usuario, puede enviar una solicitud que se hace pasar por el usuario. Una vez que la cuenta de un usuario se ha visto comprometida, el atacante puede filtrar, destruir o modificar la información importante. Las cuentas con altos privilegios, como administradores o ejecutivos, suelen ser blanco de ataque.
- 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 API, 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 API. La lista OWASP API Top Ten resume sucintamente los principales riesgos para la seguridad de las API a los que se enfrentan las organizaciones hoy en día.
- API paralelas: los equipos de desarrollo trabajan rápidamente para cumplir los objetivos empresariales, construyendo y publicando con frecuencia las API sin informar a los equipos de seguridad. Estas API desconocidas pueden exponer datos confidenciales de la empresa, operando de forma "paralela", ya que los equipos de seguridad encargados de proteger las API 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.