SOC 2 Readiness
24/7 Security Monitoring
Canadian-Based SOC
Back to Glossary
Application Security

What Is Runtime Application Self-Protection (RASP)?

Definition

Runtime Application Self-Protection (RASP) is a security technology that runs within an application to detect and prevent real-time attacks by analyzing application behavior and context from inside the running application.

People Also Ask

Common questions about Runtime Application Self-Protection (RASP) answered by our security experts.

Runtime Application Self-Protection (RASP) in Practice

RASP is not a testing technology, which distinguishes it from most of this category. SAST, DAST, IAST and SCA find problems for someone to fix. RASP runs inside the production application and blocks attacks as they happen.

That difference in purpose drives every trade-off it makes.


What running inside the application buys

A WAF sits in front of the application and sees HTTP requests. RASP sits inside it and sees what the request actually does — the query being constructed, the file being opened, the command about to execute.

CapabilityWhy the position matters
Sees the actual sinkKnows whether input reached a query, not whether it looked dangerous
Far fewer false positivesContext, not pattern matching
Works on encrypted trafficIt is inside the decryption boundary
Understands application stateWhich user, which session, which object
Can block preciselyThe specific operation, not the whole request

That context is why RASP can plausibly block where a WAF would either miss the attack or break legitimate traffic.


The costs, stated plainly

What RASP costs to runPerformance overhead and availability risk are the serious considerations; language support, agent lifecycle and blocking confidence follow.Performance overheadReal, varies by workload — measure itAvailability riskA security agent inside the app can break the appLanguage and runtime supportLimits which applications can use itDeployment and lifecycleAnother agent to install, update and monitorBlocking confidenceBlocking real traffic is worse than missing an attack
The agent shares the application’s fate, which is the whole argument for and against it.

The availability point deserves emphasis. A WAF that fails can often be bypassed to restore service. An agent inside the application process that misbehaves takes the application with it, which is why deployments typically start in monitoring mode and stay there longer than planned.


Where it genuinely fits

  • Legacy applications that cannot be fixed, where the code is unmaintainable or the vendor is gone but the application must keep running
  • Virtual patching with precision, holding a specific known flaw closed while a fix is developed
  • High-value applications where the overhead is justified by what the application holds
  • Detection depth in production, since the telemetry is richer than anything at the network edge
It does not remove the need to fix the code
RASP is a compensating control. An application protected by an agent still contains the flaw, still fails a code review, and is still vulnerable the moment the agent is disabled, bypassed or unsupported on the next runtime version.

Deciding whether it is the right control

RASP competes for budget with things that remove the flaw rather than blocking its exploitation, and in most cases the removal is the better purchase. The honest test is whether you can fix the application. If you can, fixing it is cheaper over any reasonable horizon than operating an agent in production indefinitely.

Where it earns its place is precisely where that option is closed. A vendor application you cannot modify. A system whose original developers left years ago and whose build process no longer runs. A platform that must keep operating for another two years while its replacement is delivered. In those situations a compensating control at runtime is not second best — it is the only control available.

Treat the deployment as temporary even when it is not. Record why the agent is there, which specific risks it is compensating for, and what would have to change for it to be removed. Agents installed without that reasoning tend to persist long after anyone remembers what they were protecting against.

Where to start

Measure the overhead against a representative workload before committing, and plan to run in monitoring mode for longer than the vendor suggests. The decision to block is one you should make from your own data.

See application security. GuardsArm delivers application penetration testing.

Need Help With Runtime Application Self-Protection (RASP)?

Our certified security professionals can help you implement the right runtime application self-protection (rasp) strategy for your organization. Get a free assessment today.

Book a Free Consultation