RASP, también conocido como Runtime Application Self Protection, es una de las tecnologías más modernas para la protección de aplicaciones web. En comparación con el enfoque de protección perimetral de un WAF, un RASP protege las aplicaciones desde dentro. Esto significa que un RASP tiene una visibilidad mucho mayor del flujo de datos y de las consecuencias de cada entrada que recibe la aplicación. En el presente post, describiremos cómo funciona un RASP, las ventajas clave, cómo se compara con las defensas perimetrales (WAFs, Web Application Firewalls), y también cómo puede ser aprovechado por los equipos claves involucrados en el Ciclo de Vida de Desarrollo de Software (SDLC).
Además, los mejores RASP del mercado también ofrecen protección frente a fallos de diseño (manipulación de parámetros, abuso de flujos de trabajo, etc.) también conocidos como fallos de lógica de negocio.
Los RASP son un eficaz complemento y/o actualización de un WAF, una tecnología de protección mayoritaria que no se está adaptando bien a los nuevos enfoques de desarrollo, como los despliegues en la nube y las metodologías DevOps. Se recomiendan especialmente para los sistemas en los que la seguridad es primordial, ya que un RASP aporta seguridad en profundidad y reduce drásticamente las posibilidades de que se produzcan violaciones de la seguridad. Los sistemas RASP suelen ofrecer diferentes modos de funcionamiento: el modo «bloqueo» detiene las peticiones maliciosas a los puntos vulnerables, y el modo «monitor» registra y notifica los ataques a los puntos vulnerables pero no bloquea las peticiones.
¿Cómo funciona RASP?
La filosofía de protección de RASP tiene sus raíces en técnicas modernas de ingeniería de software como la instrumentación, enlace dinámicos y los SDK seguros. En general, funciona insertando sensores en el código de la aplicación existente para supervisar y controlar ciertos puntos de ejecución críticos, en tiempo real. Mediante estas técnicas, los RASP se convierten en parte del sistema para que sus aplicaciones permanezcan protegidas allá donde vayan. Como indica el acrónimo, un RASP permite que las aplicaciones se protejan a sí mismas.
Una de las principales ventajas de la tecnología RASP es su punto de vista privilegiado para realizar análisis de seguridad. Este punto de vista combina una visibilidad total de los detalles de la arquitectura interna de las aplicaciones y una visibilidad total del flujo de ejecución durante el tiempo de ejecución. Esto significa que un RASP puede tomar decisiones muy inteligentes sobre lo que es un ataque y lo que no.
Una consecuencia positiva de esta arquitectura es que un RASP sólo intervendrá si un payload llega a un punto realmente vulnerable de la aplicación, lo que resulta en un mejor rendimiento y sin falsos positivos.
Muchos de los riesgos graves del Top 10 de OWASP, como la deserialización insegura y la Entidad Externa XML, sólo pueden ser protegidos eficazmente por un RASP, debido a que puede tener visibilidad del análisis estático y dinámico. Para más detalles sobre los principales beneficios de RASP, consulte la siguiente sección de este documento.
¿Cuáles son las principales ventajas del RASP?
1. Reducción drástica de los falsos positivos
Los RASP evitan los falsos positivos porque toman decisiones informadas gracias a la rica información de la arquitectura de la aplicación (vista estática) y de la ejecución en tiempo de ejecución (vista dinámica). Esto significa que aciertan en la inmensa mayoría de los casos, lo que es fundamental para preservar la experiencia del usuario final. Esto se compara con el WAF, una tecnología de protección perimetral de uso general que se analiza en detalle más adelante en este documento, que experimenta falsos positivos con mucha más frecuencia. De hecho, el 3% de los encuestados por Ponemon indican que sus WAFs están en «modo de detección/alerta solamente» debido a los frecuentes falsos positivos.
2. Fuerte protección, incluyendo los días cero
Los RASP protegen de muchos tipos de riesgos de seguridad más allá de las inyecciones, incluyendo varios de los 10 principales riesgos de OWASP, como la deserialización insegura, IDOR, la aleatoriedad débil, CSRF/SSRF y la actividad de clientes no confiables. ¿Por qué es importante?
Según una encuesta realizada por Ponemon entre los usuarios de WAF, el 65% de los encuestados afirma que los ataques eluden el WAF. Y lo que es peor, solo el 9 % de los encuestados indica que sus WAF nunca han sido vulnerados.
Muchos de estos riesgos sólo pueden protegerse con un enfoque RASP.
3. Fácil de mantener
Los RASP suelen ser complementos de «configurar y olvidar». No hay reglas de tráfico que configurar, ni procesos de aprendizaje, ni listas negras. Los equipos de operaciones adoran esta fiabilidad y los CISO aprecian el ahorro de recursos. Las aplicaciones se auto-protegen y permanecen protegidas.
4. Adaptación a las nuevas normas
Los RASP se adaptan fácilmente a las arquitecturas de aplicaciones que no dependen de los estándares HTML, como JSON y SOAP. Los RASP pueden incluso proteger estándares no web como XML o RPC.
5. Soporte en la nube
Las aplicaciones auto-protegidas significan que el código está protegido dondequiera que vaya. La configuración de una herramienta RASP puede incorporarse a los scripts de compilación que generan y contenedorizan una aplicación, por lo que ésta permanecerá protegida en cualquier lugar donde se despliegue. No es necesario actualizar las reglas de la red y del cortafuegos.
La protección como código significa que las aplicaciones pueden escalar sin esfuerzo.
6. Apoyo a DevSecOps
Las mejores prácticas de la industria de la seguridad, como la de «empujar hacia la izquierda o Shift Left», que significa que la implementación de la seguridad de las aplicaciones debería producirse antes en el SDLC, son estupendas sobre el papel. En realidad, los desarrolladores carecen de asesoramiento útil sobre la seguridad de su código para adoptar plenamente las prácticas «push left». Los RASP cierran esta brecha proporcionando información de seguridad procesable (incluyendo el archivo, la línea, el tipo y la gravedad) de vuelta al desarrollador para que las vulnerabilidades puedan ser corregidas rápidamente. La mayoría de los RASP se integran de forma nativa con herramientas de seguimiento de errores (Jira, Asana), CI/CD (Jenkins), SIEMS y otras herramientas de gestión de operaciones (Syslog).
WAF VS RASP
¿Qué es un WAF?
El cortafuegos de aplicaciones web (WAF) es una tecnología de protección web de uso generalizado que ha gozado de una amplia penetración en el mercado durante la última década. El enfoque de protección WAF se basa en la definición de un perímetro controlado por un punto de estrangulamiento que supervisa y analiza todo el tráfico web entrante, buscando patrones de datos predecibles asociados a ataques conocidos. Esta técnica de protección se llama validación de entrada, y los patrones de datos, reglas de protección WAF.
Un WAF no conoce las verdaderas debilidades de la aplicación, por lo que debe validar toda la entrada antes de que llegue a la propia aplicación. Del mismo modo, un WAF no puede ver las consecuencias de una carga útil. Por ejemplo, una consecuencia muy peligrosa de una carga útil SQLi sería tener dos sentencias SQL, en lugar de una. Para sortear esta falta de contexto, algunos WAFs implementan sistemas de aprendizaje automático para detectar anomalías en el tráfico que puedan indicar ataques. Requieren un proceso de entrenamiento para poder identificar el tráfico legítimo. Todo esto introduce retrasos y aumenta las posibilidades de bloquear accidentalmente el tráfico legítimo, lo que perjudica la experiencia del usuario.
Al ser externas y agnósticas a la tecnología (es decir, el lenguaje de programación de la plataforma protegida es irrelevante), las WAF son relativamente fáciles de conectar a cualquier aplicación web. Sin embargo, estas mismas características hacen que la cobertura sea insuficiente, el rendimiento sea escaso, la gestión sea compleja y costosa, y que no sean compatibles con la nube nativa.
Tipos de riesgos para la seguridad de las aplicaciones.
Para comprender mejor las ventajas de la tecnología de protección de la seguridad de las aplicaciones en tiempo de ejecución, es importante revisar primero los diferentes tipos de riesgos. Para cada una de las cuatro familias de riesgos, la siguiente tabla describe el nivel de protección de los WAF y los enfoques RASP.

Diseño de la arquitectura
Los WAF y los RASP protegen las aplicaciones con dos enfoques muy diferentes. Las diferencias incluyen el punto de vista (externo vs interno), las técnicas de protección y la flexibilidad de despliegue. La siguiente tabla compara los WAF y los RASP desde una perspectiva arquitectónica y de diseño.

¿Cómo se utilizan normalmente los RASP?
Los diferentes equipos abordan el problema de la protección de aplicaciones con diferentes necesidades y puntos débiles. Los RASP brindan flexibilidad para adaptarse a los principales equipos involucrados en el ciclo de vida de desarrollo de software (SDLC).




Alerta Temprana de Riesgos Cibernéticos (ATRc®)
Attack Surface Management
Cyber Threat Intelligence