La autoprotección de aplicaciones en tiempo de ejecución (RASP) es un software de seguridad que se integra con una aplicación o su entorno de ejecución durante la ejecución e intercepta constantemente las llamadas a la aplicación para comprobar su seguridad, permitiendo las consideradas seguras y bloqueando las que puedan indicar un ataque. RASP puede proteger contra ataques de aplicaciones como la inyección SQL porque puede dar sentido a los comandos involucrados y distinguir las secuencias normales de las instrucciones o solicitudes sospechosas.
La seguridad de las aplicaciones a menudo se descuida durante el desarrollo de software y la mayoría de las aplicaciones carecen de la capacidad para detectar y bloquear ataques. RASP agrega seguridad a las aplicaciones que de otro modo podrían ser vulnerables. Debido a que tiene información sobre lo que sucede dentro de la aplicación, RASP puede analizar el comportamiento de la aplicación y el contexto en el que ocurre, a diferencia de la protección basada en el perímetro, como los firewalls de aplicaciones web (WAF). Esa capacidad hace posible que el software responda a los ataques en tiempo real.
RASP tiene dos modos operativos. En el modo de diagnóstico, el software monitorea las llamadas a la aplicación y hace sonar una alarma si se realiza una llamada sospechosa. En el modo de autoprotección, RASP puede evitar la ejecución de instrucciones sospechosas o terminar la sesión de un usuario.
La tecnología RASP está diseñada para los dos servidores de aplicaciones más populares, la máquina virtual Java (JVM) y .NET Common Language Runtime. Se esperan implementaciones adicionales. Los proveedores de productos RAST incluyen Contrast, HP, Immunio, Promon, Veracode, Waratek y WhiteHat Security.
Joseph Feiman defendió por primera vez el concepto detrás de RASP en su informe de investigación de 2014, "Deje de proteger sus aplicaciones; es hora de que las aplicaciones se protejan".
Jeff Williams ofrece un tutorial introductorio sobre RASP: