
一、什么是RASP:运行时应用自我保护
RASP(Runtime Application Self-Protection,运行时应用自我保护)是一种将防护能力直接嵌入到运行中的应用进程内部、在请求执行时实时检测并拦截攻击的安全技术。与传统 WAF 在网络边界对流量做规则匹配不同,RASP 在应用运行时挂钩关键函数调用、SQL 执行、文件 IO、反序列化等敏感操作,结合上下文(如用户身份、调用栈、输入语义)判断是否存在注入、命令执行、反序列化漏洞利用等行为,并可在不中断业务的前提下阻断攻击或告警。RASP 通常以 Java/Node/.Net Agent、Wasm/WASI 模块、Sidecar 等形态部署,是云原生时代应用层「自带免疫」的代表方案,也是 CNAPP(云原生应用保护平台)的核心能力之一。
二、原理
1. Agent 注入:在应用启动时通过字节码插桩(JVM Instrumentation)、Wasm 模块加载或 SDK 注入,把探针挂到请求处理的关键函数(SQL 执行、文件读写、反序列化、命令执行)→ 2. 上下文采集:在每次敏感调用发生时,探针捕获调用栈、参数内容、用户会话、输入语义与业务上下文 → 3. 行为判定:基于规则引擎(黑名单)+ 行为基线(白名单)+ 语义分析判断是否属于攻击(如 SQL 注入、命令注入、路径穿越)→ 4. 实时响应:根据策略阻断(抛异常、断连)、告警(日志/SIEM 上报)或热修补(Virtual Patch)→ 5. 自学习与调优:通过攻防反馈持续调整基线,降低误报并更新检测模型 → 6. 可观测联动:将事件推送至 SIEM、SOAR 与 ATT&CK 框架做关联分析
三、信息卡片
| 中文名 | 运行时应用自我保护 |
| 英文名 | Runtime Application Self-Protection |
| 缩写 | RASP |
| 别名 | 运行时应用自我保护、运行时应用自保护、应用层自我防护 |
| 提出者 | Gartner 于 2012-2014 年正式定义该品类;代表性厂商:Contrast Security、Imperva RASP、Datadog ASM、OpenRASP(中国,开源)、Cloudflare WAF+RASP |
| 提出时间 | 概念雏形 2012 年 Gartner 报告;商业产品成熟 2015-2018 年;云原生普及 2020 年以后 |
| 所属类别 | 网络安全 > 应用安全 > 运行时防护 |
| 核心技术 | 字节码插桩/Wasm 注入、调用栈上下文关联、行为规则引擎、零误报白名单、零信任最小权限 |
| 主要应用 | Web/API 应用防护、API 网关安全、零日漏洞热补丁、反序列化攻击拦截、容器与微服务应用层防御 |
四、历史时间线
2012 年:Gartner 在应用安全研究报告中首次正式定义 RASP 品类,将其与 WAF、IAST 并列为应用层防护的关键技术
- 2014-2016 年:Contrast Security、Imperva 等推出第一代商业 RASP 产品,主要面向 Java/.Net 单体应用
- 2017-2018 年:随着微服务与容器化普及,RASP 与 WAF、API 网关安全 的边界开始融合;OpenRASP(百度安全)在国内开源推广
- 2019-2021 年:RASP 与 IAST、SCA 在 CI/CD 流水线集成,形成 DevSecOps 流水线 的关键能力;服务网格 Sidecar 形态出现
- 2022-2024 年:CNAPP(云原生应用保护平台)兴起,RASP 与 CWPP、CIEM 共同构成应用层防御核心;Wasm 化 RASP 让多语言运行时统一防护成为可能
- 2024-2025 年:RASP 与 AI 行为分析结合,对抗 0-day 与业务逻辑攻击;云原生威胁检测 平台将 RASP 信号纳入统一威胁图
五、分类
按部署形态:进程内 RASP(Agent 注入,如 JVM Instrumentation)vs 边车型 RASP(Service Mesh Sidecar)vs Wasm RASP(跨语言统一运行时)
- 按检测方法:签名匹配 vs 行为基线(白名单)vs 语义分析 vs AI 异常检测
- 按语言/运行时:Java RASP、Node.js RASP、PHP RASP、Python RASP、.Net RASP、多语言 Wasm RASP
- 按响应策略:告警模式、阻断模式、热补丁(Virtual Patch)模式、仅审计模式
- 按交付形态:商业 SaaS(如 Contrast、Datadog ASM)、私有化部署、开源(OpenRASP、Janusec)
六、应用场景
Web/API 应用防护:拦截 SQL 注入、XSS、命令执行、SSRF、反序列化漏洞利用等 OWASP Top 10 攻击
- API 网关安全:与 API 网关 协同,对 REST/GraphQL/gRPC 接口做细粒度运行时校验,弥补边界 WAF 的语义盲区
- 零日漏洞热补丁:在官方补丁发布前,通过 RASP 虚拟补丁临时阻断漏洞利用,降低暴露窗口
- 微服务与云原生防护:在 Service Mesh 环境下以 Sidecar/Wasm Filter 形态提供统一的运行时安全,配合 CNAPP 形成纵深防御
- 金融与政企合规:满足等保、PCI-DSS、GDPR 等对应用层攻击防护与审计的要求,常用于银行、运营商核心系统
- DevSecOps 流水线:在 CI/CD 阶段嵌入 RASP 规则验证,上线后持续提供运行时防护与可视化
七、优缺点
- 优点:
- 上下文丰富:能拿到应用内部调用栈与业务语义,误报率显著低于传统 WAF
- 覆盖未知攻击:基于行为而非纯签名,对 0-day、变形注入、加密通道中的攻击更有效
- 部署轻量:以 Agent 或 Sidecar 形式注入,无需改造网络拓扑,适合云原生与微服务
- 可作为热补丁:在官方修复前阻断漏洞利用,显著降低暴露窗口
- 缺点:
- 性能开销:插桩和运行时校验会带来 3-15% 的 CPU/延迟损耗,对延迟敏感业务需权衡
- 语言绑定:传统 Agent 模式强耦合语言/运行时(Wasm 形态有所缓解),覆盖广度仍受限
- 误报风险:业务侧敏感操作(如定时任务、批处理)若未正确建模白名单,可能被误拦截
- 可被绕过:纯内存马、Living-off-the-Land 风格攻击若不在挂钩点,仍可能绕过 RASP
八、常见误区
RASP = WAF(错:WAF 部署在网络边界,看不到应用上下文;RASP 嵌入应用内部,检测精度与覆盖率显著不同)
- RASP 替代所有安全测试(错:RASP 是运行时防护,不是替代 SAST/DAST/SCA 的设计期检测手段)
- Agent 越重越好(错:过度插桩会显著影响性能,应按攻击面与关键函数最小化挂钩)
- RASP 对加密流量无效(错:RASP 在应用内部工作,对 TLS/加密通道中的攻击同样可见,与 WAF 不同)
九、关联概念
- 父概念:云原生应用保护平台 CNAPP、零信任 Zero Trust、DevSecOps
- 子概念:Wasm 服务网格、Wasm 边缘运行时、API 网关安全、ATT&CK 框架
- 兄弟概念:EDR 终端检测与响应、XDR 扩展检测与响应、DevSecOps 流水线、容器安全
- 对比概念:RASP vs EDR 终端检测与响应、RASP vs XDR 扩展检测与响应、RASP vs CNAPP、RASP vs 容器安全
- 应用相关:API安全、容器安全、云原生威胁检测、DevSecOps 流水线