What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Some links on this page are affiliate links: if you buy through them we may earn a commission, at no extra cost to you.

Runtime application self-protection (RASP) monitors an application from inside its runtime and can detect or block some attacks as the application processes them. DZone’s Introduction to RASP is Refcard #283, authored by Jeff Williams, cofounder and CTO of Contrast Security. It remains a useful conceptual introduction, but its examples and product landscape are historical. This guide explains the idea, its limits, how it fits with other security controls, and what to test before deployment.

What is RASP?

RASP stands for runtime application self-protection. It is a security control embedded in, linked to, or otherwise operating alongside an application while that application runs. By observing application-level execution, a RASP product may detect and interrupt operations associated with exploitation.

The key distinction is context. A web application firewall (WAF) primarily evaluates traffic at the network or edge. RASP can observe how the application parses and uses that traffic: which code path handles it, what value reaches a sensitive operation, and what backend call follows. A scanner, by contrast, seeks weaknesses; RASP primarily aims to protect a running application from attacks.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

RASP is a category, not one standard architecture. Implementations may use agents, bytecode or binary instrumentation, framework hooks, runtime rules, taint tracking, or other techniques. Their visibility and blocking capabilities therefore vary. The DZone Refcard surveys several architectural approaches rather than prescribing one universal design.

Why application context matters

The same request can be harmless in one application and dangerous in another. Network controls see bytes and protocol behavior; the application may decode, parse, transform, and combine those bytes before using them. A payload’s risk may become apparent only when it reaches a database query, file operation, command interpreter, or outbound network request.

For example, a WAF may flag a suspicious SQL-like string in an HTTP request. A runtime control may instead observe whether a value derived from that request reaches a database operation, and under what conditions. This context can help distinguish attempted attacks from benign input, but it does not guarantee fewer false positives, complete coverage, or resistance to bypass. Those outcomes depend on the product, supported runtime and frameworks, instrumentation, policies, and deployment.

How RASP works

A generic runtime-protection flow looks like this:

input → parsing and transformation → sensitive operation → policy decision → allow, log, or block

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  1. Observe input. Data may enter through an HTTP request, API payload, WebSocket, file, database, message queue, or another source.
  2. Follow processing. The application parses and transforms the data. Depending on the implementation, an agent may track the data or observe relevant runtime calls.
  3. Inspect a sensitive operation. Examples include executing a database query, opening a file, invoking a command, deserializing data, or making an outbound request.
  4. Apply policy. The product decides whether the observed behavior should be permitted, logged, or blocked.
  5. Send telemetry. Events may be delivered to a product console, SIEM, case-management system, or response workflow.

Waratek’s documentation describes one Java-oriented implementation: its agent observes method calls and arguments, applies rules, can abort disallowed operations, and records events. That is an example of a particular product approach, not a definition of all RASP. See Waratek’s documentation.

Where RASP fits among security controls

RASP complements controls that work at different stages or observe different parts of a system. It does not make them interchangeable.

Control Primary role What it does not establish by itself
WAF Filters and evaluates web traffic at an edge, proxy, or application-delivery layer. Whether the application interpreted a request in a vulnerable way.
SAST Analyzes source, bytecode, or binaries without normal application execution. Whether a weakness is reachable or exploited in a live deployment.
DAST Tests a running application externally for vulnerabilities. Complete coverage of every code path or vulnerability.
IAST Observes application behavior during testing and relates activity to code. Continuous production protection equivalent to RASP.
SCA Identifies software components, versions, licenses, and known dependency vulnerabilities. That a vulnerable component has been removed or that exploitation is prevented.
RASP Monitors application execution and may detect or block selected exploit behavior. A complete vulnerability inventory or a fix for the underlying defect.
SIEM Collects and correlates security events across systems. Application-level prevention unless paired with an enforcement control.

RASP is not IAST. IAST is primarily a testing and vulnerability-analysis approach; RASP is primarily a runtime protection approach. Some products combine related capabilities, but the evidence and outcomes are distinct. Likewise, blocking an exploit does not remediate the vulnerable code or dependency. The DZone Refcard makes this distinction and frames RASP as one part of defense in depth.

What attacks may RASP address?

Depending on the product and supported stack, runtime controls may target behaviors associated with:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • SQL or NoSQL injection and command injection;
  • path traversal and unsafe file access;
  • untrusted deserialization, expression-language injection, or template injection;
  • XML external entity (XXE) processing;
  • server-side request forgery (SSRF);
  • cross-site scripting (XSS), cross-site request forgery (CSRF), or HTTP method tampering;
  • regular-expression denial of service and other unsafe runtime operations.

The DZone Refcard also lists OGNL injection and padding-oracle attacks among its use cases. Treat all such lists as potential coverage, not a universal product guarantee. Before relying on a control, verify the specific language, framework, library, operation or sink, and deployment mode. Ask whether protection extends to APIs, asynchronous jobs, message consumers, and backend interfaces, not just web requests.

Rank #3
Sale
The Web Application Hacker's Handbook: Finding and Exploiting Security Flaws
  • Comes with secure packaging
  • It can be a gift item
  • Easy to read text

What RASP cannot replace

RASP only protects behavior it can observe and instrument. It does not replace secure design, code fixes, dependency patching, identity and access management, secrets management, network segmentation, endpoint security, DDoS protection, TLS management, API inventory and authentication controls, database security, or incident response.

It may offer runtime evidence that an attack reached a sensitive operation, but that is not the same as finding every vulnerability. It cannot be assumed to protect unsupported code, native components outside its visibility, authorization and business-logic mistakes, credential abuse, or attacks that do not pass through the monitored process. Protection against a new or unknown vulnerability is also conditional: a product may stop an exploit if its behavior matches a protected pattern, but no general guarantee of zero-day coverage follows.

RASP can serve as a temporary compensating control while a fix is prepared, but the defect still needs remediation and regression testing. The Refcard also cautions against treating DAST plus RASP as IAST.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

RASP and WAF: complementary, not competing by definition

Question WAF RASP
Typical position Network edge, reverse proxy, cloud service, or appliance Inside or attached to the application runtime
Primary visibility Requests, responses, sessions, and protocols Execution paths, runtime values, sensitive operations, and sometimes backend calls
Typical strength Broad, centralized filtering across applications Application-specific context and runtime telemetry
Typical deployment Edge or traffic-path configuration Agent, library, instrumentation, or runtime integration
Key trade-off Can require tuning for application behavior, encoding, and traffic patterns Can introduce compatibility, overhead, policy, and process-level risks

The DZone Refcard presents WAF and RASP as controls that can coexist: a WAF can filter broad classes of traffic while RASP assesses behavior within an application. That is a defense-in-depth option, not a requirement. A managed edge control may be sufficient for a simple workload; a WAF may be the practical choice where instrumentation is impossible. Running both also means operating and tuning both, and a RASP agent may be unacceptable where runtime risk outweighs the added context.

How to deploy RASP safely

Two ownership patterns are common. In an operations-led approach, security or operations installs and manages the runtime component through existing automation such as Chef, Puppet, Ansible, or container images. In a DevSecOps approach, the component is incorporated into builds, CI/CD, images, or deployment templates so teams can validate it earlier and promote it through environments. The DZone Refcard discusses both models.

  1. Inventory the application estate. Record languages, runtime versions, frameworks, application servers, containers, cloud services, APIs, background workers, and native-code boundaries.
  2. Confirm support before rollout. Check exact versions and integrations with the vendor; do not infer support from a language name alone.
  3. Install in a representative test environment. Exercise startup, normal workloads, asynchronous paths, connection pools, and application-specific framework behavior.
  4. Begin in monitoring or log mode. Review events against realistic traffic and identify legitimate operations that could be affected.
  5. Measure performance and stability. Compare with and without the agent, including tail latency, throughput, CPU, memory, startup time, garbage collection, and behavior under attack traffic.
  6. Validate block mode outside production. Confirm which operations are interrupted, how events are recorded, and how policy changes affect application behavior.
  7. Plan rollback and emergency bypass. Document who can disable or change a policy, how to do so without an emergency rebuild, and how to restore the previous state.
  8. Roll out progressively. Separate detection-only policies from blocking policies, monitor agent health, and connect actionable events to existing ownership and response workflows.

Performance varies by implementation and workload. The Refcard recommends testing with and without RASP; its historical numerical latency range should not be treated as a current industry benchmark. Measure your own applications rather than relying on a generic claim.

What to evaluate in a RASP product

Coverage and deployment fit

  • Supported languages, runtime versions, frameworks, libraries, and application servers.
  • Coverage for APIs, WebSockets, background jobs, message consumers, containers, serverless, and hybrid or air-gapped environments where relevant.
  • Whether installation requires source changes, build changes, runtime flags, or deployment integration.
  • How native code, third-party services, and unsupported components are treated.

Detection and blocking evidence

  • Whether the product tracks tainted data or relies on observed behavior and rules.
  • How it handles encoding, nested parsing, custom frameworks, and application-specific sinks.
  • Whether it can show the affected endpoint, code path or stack, operation, and evidence behind a decision.
  • How legitimate traffic is tested, how policies are tuned, and what happens when a rule blocks a valid operation.

Performance and operations

  • Request latency and tail latency, throughput, CPU, memory, startup time, garbage-collection behavior, and policy-update effects.
  • Central policy management, versioning, staged rollout, rollback, role-based access, audit logs, and agent health monitoring.
  • Integrations with SIEM, SOAR, ticketing, SSO, and notification systems that your team actually uses.
  • Upgrade compatibility, data retention and residency, incident ownership, and the support path for agent failures.

Developer and response workflow

Check whether findings identify the affected application and endpoint, relevant request or event details, source location or stack information, vulnerable component where known, exploitability evidence, remediation guidance, severity based on runtime exposure, and an actionable owner or ticket path. More telemetry is not automatically more useful: deduplication, prioritization, and ownership determine whether alerts can be acted on.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Threat-model the runtime agent

Because RASP operates in or alongside the application process, ask what happens if an attacker gains code execution in that same environment. A 2024 technical analysis discusses Java-specific bypass research involving instrumentation, JVMTI, JNI, repatching instrumented classes, and interference with an agent. It is a secondary technical source and does not establish that every RASP product is vulnerable to the same techniques. Read the analysis as a prompt for product-specific questions.

  • Can application code disable or detach the agent, or change its configuration?
  • How are agent configuration and policy integrity protected?
  • What is the threat model for native libraries, class loaders, debugging, and memory tampering?
  • What happens if the agent crashes or loses access to its policy service?
  • Does protection cover process integrity, or only selected application operations?

Current terminology and product categories

The DZone Refcard names products including Contrast, Immunio, Prevoty, and Waratek. Those are historical examples, not a current shortlist; do not assume the products remain independently available under the same names or retain the same capabilities.

Some vendors now position runtime protection as part of application detection and response (ADR). Contrast describes ADR as an evolution beyond traditional RASP, a vendor position rather than settled industry terminology. Its current ADR explanation and pricing and packaging page describe its offering; the pricing page states that ADR is priced by concurrent host but does not publish a simple standard dollar price.

Waratek continues to present a Java-focused RASP agent and portal in its product information and documentation. Evaluate its claims against your own workloads rather than treating vendor assertions about detection or false positives as independently established.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Mobile in-app RASP is a separate category from server-side protection for web applications and APIs. Talsec’s RASP+ offering targets mobile application protection, including Android, iOS, and Flutter. Its listed entry plans and download allowances should be checked on the vendor site for current availability and terms; they do not indicate fit for backend runtime protection.

Imperva is a caution against relying on old product lists. A Thales community notice says Imperva decided to end-of-life its RASP product and pursue migration toward Elastic WAF. Do not treat historical Imperva RASP material as a new-purchase recommendation without confirming support and migration status.

When should you consider RASP?

RASP is worth evaluating when a high-value application faces meaningful exploit risk, runtime evidence would improve response, the stack is supported, and the organization can test, operate, and roll back an agent or instrumentation layer. It may be particularly useful as a compensating control when remediation takes longer than the exposure window, provided the underlying defect is still fixed.

Do not prioritize it simply because it is called runtime protection. It is a poor fit if the main risks are DDoS, credential compromise, authorization or business-logic flaws, or attacks outside application execution; if the stack is unsupported; if instrumentation creates unacceptable operational risk; or if no team can own policy and alerts. Mobile-only requirements may call for an in-app SDK category rather than server-side RASP.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.