En este artículo, exploramos las diferencias entre RASP, WAF y los firewalls tradicionales, y discutimos las situaciones en las que cada uno puede ser más eficaz. Investigamos cómo funcionan, qué aspectos de la seguridad abordan y cómo pueden colaborar para brindar una protección completa.
PCI DSS V4.0 requerimiento 6.4
El requerimiento 6.4 de PCI DSS v4.0 se centra en la protección de las aplicaciones web contra ataques, incluyendo ataques OWASP Top 10, DDoS y bots. Si bien el estándar no especifica el uso de una herramienta en particular, menciona el WAF (Web Application Firewall) y RASP (Runtime Application Self-Protection) como posibles soluciones.
Al elegir una solución de seguridad para cumplir con el requerimiento 6.4, es crucial considerar el tipo de aplicación web, los datos procesados y el nivel de riesgo. La combinación de un WAF y un RASP puede ofrecer una protección más completa, ya que cada uno tiene enfoques únicos para proteger las aplicaciones. Sin embargo, la selección de la solución adecuada dependerá de las necesidades específicas de cada organización, por lo anterior, vale la pena revisar las ventajas particulares de cada uno.
Firewall, WAF y RASP
En la ciberseguridad existen diversas herramientas que tienen como objetivo proteger aplicaciones y sistemas. Entre ellas se encuentran el WAF, el RASP y el Firewall. Cada una de estas soluciones de seguridad tiene características y funciones específicas que les permiten detectar y bloquear diferentes tipos de amenazas, tales como ataques de inyección SQL, cross-site scripting (XSS) y tráfico malicioso. En este texto se describen brevemente estas herramientas de protección.
Firewall: Es una solución de seguridad que actúa como un muro de protección entre una red y el exterior. Controla el tráfico que entra y sale de la red, basándose en reglas y políticas establecidas por el administrador de seguridad. Puede bloquear tráfico malicioso, filtrar paquetes que no cumplan con ciertos criterios (como dirección IP o puertos TCP/UDP), y detectar y reportar intentos de intrusión.
WAF (Web Application Firewall): Es un firewall que se enfoca específicamente en proteger aplicaciones web. Intercepta y filtra el tráfico HTTP y HTTPS que llega a la aplicación, y utiliza reglas y políticas para detectar y bloquear ataques como inyecciones SQL, cross-site scripting (XSS) y ataques de fuerza bruta.
RASP (Runtime Application Self-Protection): Es una capa de seguridad que se integra con la aplicación y se ejecuta en tiempo de ejecución. Monitorea el comportamiento de la aplicación para detectar actividad maliciosa y, si es necesario, actúa para bloquearla. Utiliza técnicas como análisis de comportamiento, detección de anomalías y funcionalidades antifraude.
Característica | Firewall | WAF | RASP |
Ubicación | Red | Red | Aplicación |
Protección contra | Amenazas de red (DoS, escaneo de puertos) | Amenazas web (XSS, SQLi) | Amenazas de código (inyección de código, lógica empresarial) |
Implementación | Dispositivo o software independiente | Dispositivo o software independiente | Integración con el código de la aplicación |
Ventajas | Protección básica para cualquier dispositivo conectado a internet | Protección específica contra ataques web | Protección profunda contra ataques a la aplicación |
Desventajas | No protege contra ataques específicos a aplicaciones web | Puede tener falsos positivos | Requiere mayor complejidad de implementación |
Ejemplos | Cisco ASA, SonicWall | Cloudflare, Imperva | AppScan, Fortify |
Costo | Bajo a medio | Medio a alto | Alto |
Recomendado para | Cualquier organización que use internet | Organizaciones con sitios web públicos o con alto tráfico | Organizaciones con aplicaciones web personalizadas o complejas |
¿Por qué un Firewall no es suficiente para cubrir lo que hace un WAF y un RASP?
Un firewall no es suficiente para cubrir lo que hace un WAF y un RASP porque cada uno cumple una función específica. Mientras que un firewall se enfoca principalmente en controlar el tráfico de red y bloquear o permitir ciertos tipos de comunicaciones, un WAF se especializa en proteger las aplicaciones web contra ataques específicos dirigidos a las capas de aplicación, como inyecciones SQL o XSS.
Por otro lado, un RASP (Protección de la Aplicación en Tiempo de Ejecución) tiene la capacidad de monitorear y proteger la lógica empresarial y el código fuente de las aplicaciones web en tiempo real, detectando y respondiendo proactivamente a posibles amenazas, lo que va más allá de las capacidades de un firewall tradicional. En conjunto, un WAF y un RASP ofrecen una defensa integral para asegurar la seguridad de las aplicaciones web contra una variedad de amenazas en línea.
De acuerdo a Gemini, estas son las razones por las que un firewall no es suficiente:
- Los firewalls no pueden proteger contra ataques de código fuente: No bloquea ataques que intentan modificar el código fuente de la aplicación web.
- Los firewalls no entienden el tráfico web: Un firewall solo puede filtrar el tráfico en función de la dirección IP, el puerto y el protocolo. No puede comprender el contenido del tráfico web, lo que significa que puede permitir que pasen ataques web sin ser detectados.
- Los firewalls no pueden proteger contra ataques a la lógica empresarial. Para entender el concepto de “Lógica Epresarial”, imagina tu aplicación web como una casa:
- El firewall es como la puerta principal. Protege la casa de intrusos, pero no puede evitar que alguien que ya está adentro cause daño.
- La lógica de negocio es como el plano de la casa. Define cómo funciona la casa, dónde están las cosas valiosas y cómo se puede acceder a ellas.
- Un atacante que conoce la lógica de negocio puede encontrar vulnerabilidades y explotarlas. Por ejemplo, podría encontrar una forma de acceder a una habitación segura sin pasar por la puerta principal.
- Un firewall no puede proteger la lógica de negocio porque no la entiende. Solo puede ver el tráfico que entra y sale de la aplicación web, pero no puede comprender el significado de ese tráfico.
Lógica Empresarial (Business Logic) en ciberseguridad. El término “lógica empresarial” se refiere al conjunto de reglas que definen cómo funciona la aplicación. Como estas reglas no siempre están directamente relacionadas con un negocio, las vulnerabilidades asociadas también se conocen como “vulnerabilidades de lógica de aplicación” o simplemente “defectos de lógica”. Por ejemplo: Ataques de inyección de código SQL, Ataques de falsificación de solicitudes en sitios cruzados (CSRF), Ataques de denegación de servicio (DoS):
Para proteger la lógica de negocio, necesitas herramientas que puedan entenderla. Un WAF y un RASP pueden ayudarte a hacer esto:
Un WAF analiza el tráfico web y busca patrones que indiquen un ataque. Puede bloquear el tráfico que sea sospechoso, incluso si el firewall lo ha permitido.
Por otro lado, un RASP se integra dentro de la aplicación web y monitorea su comportamiento. Puede detectar y bloquear ataques en tiempo real, incluso si el atacante conoce la lógica de negocio.
¿Por qué se requiere un WAF?
Un WAF (Firewall de Aplicaciones Web) es fundamental en la ciberseguridad debido a la creciente complejidad de los ataques a las aplicaciones web. El WAF ayuda a prevenir la explotación de vulnerabilidades conocidas y ofrece una capa adicional de defensa para las aplicaciones web, evitando así la pérdida de datos y el tiempo de inactividad.
En resumen, se requiere un WAF por las siguientes razones:
1. Protección contra amenazas conocidas y desconocidas:
- Amenazas conocidas: Un WAF protege contra vulnerabilidades comunes como Cross-site scripting (XSS), inyección de SQL (SQLi), ataques de fuerza bruta y ataques de denegación de servicio (DoS).
- Amenazas desconocidas: Un WAF puede detectar y bloquear tráfico malicioso incluso si se trata de un ataque nuevo o desconocido.
2. Monitoreo y análisis del tráfico de aplicaciones web: Un WAF puede monitorear y analizar el tráfico de aplicaciones web para identificar patrones y comportamientos sospechosos. Esta información puede ser utilizada para identificar nuevas vulnerabilidades y mejorar las reglas de seguridad del WAF.
3. Protección en tiempo real: Un WAF puede actuar en tiempo real para bloquear el tráfico malicioso antes de que llegue a la aplicación web.
4. Reducción de la complejidad de la seguridad: Un WAF puede simplificar la gestión de la seguridad de las aplicaciones web al centralizar las reglas de seguridad en un solo lugar.
5. Cumplimiento de normas: Un WAF puede ayudar a las organizaciones a cumplir con normas de seguridad como PCI DSS, HIPAA y GDPR.
Porque se requiere un RASP
Se requiere un RASP (Protección de la Aplicación en Tiempo de Ejecución) para contar con una capa de seguridad adicional que proteja las aplicaciones web de ataques en tiempo real. A diferencia de otras soluciones de seguridad que se enfocan en la detección y bloqueo de amenazas a nivel de red o aplicación, el RASP se integra directamente en la aplicación y monitorea su comportamiento durante la ejecución.
Esto permite identificar posibles actividades maliciosas como inyecciones de código, intentos de explotación de vulnerabilidades y ataques de fuerza bruta. Al detectar una actividad sospechosa, el RASP toma medidas para bloquearla y proteger la aplicación, lo que brinda una mayor protección que las soluciones de seguridad externas. Además, tambien puede adaptarse a las particularidades de cada aplicación, lo que hace que sea altamente efectivo en la protección contra amenazas específicas.
Se requiere un RASP por las siguientes razones:
- Protección contra ataques de día cero: Un RASP puede proteger contra ataques de día cero que explotan vulnerabilidades desconocidas en la aplicación web. Esto se debe a que puede detectar y bloquear comportamientos maliciosos incluso si no hay una firma de ataque conocida.
- Protección contra ataques a la lógica empresarial: Un RASP puede proteger contra ataques que apuntan a la lógica empresarial de la aplicación web. Esto incluye ataques como la manipulación de datos y el robo de información confidencial.
- Protección contra ataques de código fuente: Un RASP puede proteger contra ataques que intentan modificar el código fuente de la aplicación web. Esto incluye ataques como la inyección de código y la manipulación de código.
- Protección en tiempo real: Un RASP puede actuar en tiempo real para bloquear ataques en el momento en que se producen.
- Complementa al WAF: Un RASP puede complementar a un WAF al proporcionar una capa adicional de seguridad para la aplicación web ya que un WAF protege el perímetro de la aplicación web, mientras que un RASP protege la aplicación web desde adentro.
¿Cuándo se usa un RASP?
El RASP (Protección de Aplicaciones en Tiempo de Ejecución) se recomienda en aplicaciones web críticas que procesan información sensible o que son esenciales para el negocio, ya que necesitan una protección adicional que un WAF (Firewall de Aplicaciones Web) no puede proporcionar.
Además, las aplicaciones web con lógica empresarial compleja son más susceptibles a ataques que apuntan a la lógica de la aplicación, por lo que el uso de un RASP puede ser beneficioso en estos casos. También se recomienda su implementación en aplicaciones web que utilizan tecnologías emergentes, como API y aplicaciones web móviles, ya que pueden ser más vulnerables a ataques que las aplicaciones web tradicionales.
Herramientas RASP en AWS y Azure
Tanto Azure App Service de Microsoft Azure como AWS AppProtect de Amazon Web Services son soluciones en la nube que ofrecen una protección avanzada para aplicaciones web mediante el uso de módulos RASP. Estos servicios brindan una capa adicional de seguridad, monitoreando y protegiendo en tiempo real la lógica empresarial y el código fuente de las aplicaciones, garantizando una experiencia segura y confiable para los usuarios.
AWS AppProtect
AWS AppProtect es un servicio de seguridad de aplicaciones web ofrecido por Amazon Web Services que está diseñado para proporcionar protección avanzada contra una variedad de amenazas en línea, incluyendo los ataques más comunes enumerados en el OWASP Top 10, ataques de denegación de servicio distribuido (DDoS) y bots maliciosos.
Una de las características destacadas de AWS AppProtect es su módulo de Protección de la Aplicación en Tiempo de Ejecución (RASP). Este módulo se integra con la infraestructura de AWS y ofrece una capa adicional de seguridad al monitorear y proteger la lógica empresarial y el código fuente de las aplicaciones web en tiempo real.
El módulo RASP de AWS AppProtect analiza el comportamiento de la aplicación en ejecución para detectar y responder proactivamente a posibles amenazas, como inyecciones de código, ataques de scripts entre sitios (XSS) y otros tipos de exploits. Esto permite una protección activa y efectiva, asegurando que las aplicaciones web alojadas en AWS estén protegidas contra posibles ataques.
Además de su capacidad RASP, AWS AppProtect también cuenta con otras funcionalidades de seguridad que ayudan a mitigar riesgos y mantener la integridad de las aplicaciones web en la nube de AWS.
Azure App Service
Azure App Service es un servicio ofrecido por Microsoft Azure que permite a los desarrolladores crear, implementar y administrar fácilmente aplicaciones web.
Una de las características de Azure App Service es su módulo RASP (Protección de la Aplicación en Tiempo de Ejecución). Este módulo es una capa de seguridad adicional que se integra directamente y proporciona una protección en tiempo real contra ataques dirigidos a la lógica empresarial y el código fuente de la aplicación web.
El módulo monitorea y analiza el comportamiento de la aplicación en tiempo de ejecución para detectar y bloquear actividades maliciosas, como inyecciones de código, intentos de explotación de vulnerabilidades y ataques de fuerza bruta. Esto asegura que la aplicación esté protegida contra amenazas emergentes y en constante evolución.
Entonces ¿Por qué el RASP no es tan popular?
A pesar de las ventajas que ofrece el RASP (Protección de Aplicaciones en Tiempo de Ejecución) en la seguridad de aplicaciones, esta tecnología aún no ha alcanzado el mismo nivel de popularidad que otras tecnologías de seguridad tales como los firewalls de aplicaciones web, y existen algunas razones que lo explican:
En primer lugar, se trata de una tecnología relativamente nueva en comparación con otros enfoques de seguridad más establecidos, lo que significa que aún se encuentra en una etapa de madurez y adopción.
En segundo lugar, implementar RASP puede ser más complejo que utilizar un WAF tradicional, ya que requiere cierta integración con el código de la aplicación, lo que puede suponer un desafío para los equipos de desarrollo.
En tercer lugar, es posible que algunos profesionales de seguridad aún no estén familiarizados con RASP y sus beneficios, lo que puede limitar su adopción, ya que las organizaciones pueden optar por soluciones de seguridad más conocidas.
Además, el costo inicial de implementación y mantenimiento de RASP puede ser un factor disuasorio para algunas organizaciones, aunque a largo plazo puede generar ahorros al reducir la necesidad de parches y actualizaciones de seguridad continuas.
Por último, algunos sistemas de RASP pueden generar un alto número de falsos positivos, lo que puede abrumar a los equipos de seguridad con alertas que no representan amenazas reales.
A pesar de estos desafíos, RASP está ganando cada vez más popularidad a medida que las organizaciones buscan soluciones de seguridad más proactivas y en tiempo real. Se espera que su adopción continúe creciendo en los próximos años a medida que se resuelvan estos desafíos.
Fuentes:
https://www.cloudflare.com/application-services/products/waf/
https://www.imperva.com/blog/waf-and-rasp-best-practice-for-defense-in-depth/
https://www.pcihispano.com/analisis-de-pci-dss-v4-0-parte-iv-requerimientos-5-y-6/)
https://www.cloudflare.com/es-es/learning/ddos/glossary/web-application-firewall-waf/
https://www.akamai.com/es/glossary/what-is-a-waf
https://es.radware.com/cyberpedia/application-security/waf-vs-rasp-comparison-and-differences/
https://www.checkpoint.com/cyber-hub/cloud-security/what-is-application-security-appsec/rasp-vs-waf/