当 WAF 遇到 RASP:不是取代,而是协同 —— 一种更聪明的应用防护新思路

本文涉及的产品
实时计算 Flink 版,1000CU*H 3个月
实时数仓Hologres,5000CU*H 100GB 3个月
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
简介: 当 WAF 遇到 RASP:不是取代,而是协同 —— 一种更聪明的应用防护新思路

当 WAF 遇到 RASP:不是取代,而是协同 —— 一种更聪明的应用防护新思路

作者:Echo_Wish

大家好,我是你们熟悉的 Echo_Wish —— 一个经常被业务狂轰、被安全审计追杀、被漏洞修复折磨,但依旧坚强地写稿的技术人。

今天咱们聊个老生常谈,但最近又越来越热门的话题:
WAF(Web Application Firewall) 和 RASP(Runtime Application Self-Protection) 到底怎么协同防御?

如果你做安全做久了,你会发现一个很现实的现象:

WAF 越来越强,但攻击也越来越花;RASP 越来越精,但覆盖不了全场景。

那是不是意味着——
WAF + RASP 应该“合体”,形成体系化联防?

我认为:
这不仅可能,而且是未来趋势。

今天我们就来聊聊这个新思路,从技术、原理、落地、实操都讲透,不堆概念、不说虚话,你看完就能做 PoC。


一、为什么 WAF 再强,也没法单挑?

WAF 是什么?一句话:

站在门口拦坏人,但看不到屋里发生什么。

它最大的优势是——
挡得快、挡得多、挡得早。

但问题也非常明显:

① WAF 只能看到 HTTP 流量,看不到代码执行路径

攻击者的 payload 即使很“疑似”,只要稍微绕一绕,WAF 就可能判断不出来。

例如:

GET /search?keyword=%27%20OR%201%3D1%20--

传统 WAF 看到后:
“这不是 SQL 注入?拦!”

攻击者改一下:

%27/**/OR/**/1/**/=/**/1--

或者搞点分块传输、多层编码:

%25%32%37%2F%2A%2A%2FOR%2F%2A%2A%2F1%3D1--

WAF:
“嗯……可能有问题,但我不太确定,我再想想……”

等它想明白,攻击已经打进去了。

② WAF 没法区分攻击是否真的成功触发后台逻辑

比如:

  • payload 写了,但 ORM 自动 escaping
  • 代码本身有正则阻断
  • 存储层没有被真正利用

WAF 完全不知道。


二、RASP 为什么也不能单挑?

大部分人对 RASP 的误解是:

“RASP = 防御内核,WAF = 防御外壳”

RASP 的核心特点是:

看得见应用的内部行为 —— SQL 执行、文件访问、反序列化、命令执行、反射调用……

但问题来了:

① RASP 太依赖运行环境,不是所有语言都覆盖

  • Java 好搞
  • .NET 还行
  • Python、Node.js、Go……不是都有成熟方案
  • Native C/C++ 就更难了

② RASP 能看到的是“行为”,但不擅长大流量规则拦截

它是“行为级防御模块”,不是“流量清洗中心”。

如果 1 秒 1 万次请求冲进来:
WAF 轻松防
RASP CPU 会烧掉


三、WAF + RASP:强强互补,而不是你死我活

你看,WAF 和 RASP 的能力互相错位:

能力点 WAF RASP
看流量
看行为
扛大流量
拦攻击路径
跨语言支持
精准度

那它们应该怎么组合?

我给你总结成一句话:

WAF 判断“有没有攻击意图”,RASP 判断“攻击是否真的发生”。

于是我们有了一个更聪明的协同模式:

流量入口 → WAF 风险评估 → 低风险通过
                      → 中高风险 → 带标签进应用
                                 → RASP 二次判断行为
                                        → 确认攻击 → 阻断
                                        → 误报 → 放行

配个示意图(可自行替换成正式版):

┌─────────┐
│   WAF   │───低风险───> 通过
└─────┬───┘
      │ 高风险流量标签
┌─────▼──────┐
│    RASP     │───行为异常→ 阻断
└─────▲──────┘
      └────────→ 正常行为→ 放行

是不是比“单点取胜”更加靠谱?


四、协同模型最关键的是:WAF 标签传递给 RASP

举一个实际例子:

WAF 对一个请求判断为“疑似 SQL 注入”,但信心只有 60%。
传统模式:
→ 直接拦
→ 拦错了就误伤用户

协同模式:
→ 给请求头加上特殊 header:

X-WAF-Flag: SQLI_SUSPECT_LEVEL_60

应用收到后,RASP 组件:

  1. 看是否有敏感操作(如数据库查询)
  2. 是否存在动态拼接 SQL
  3. 是否命中危险行为(如 Statement.execute()
  4. 如果触发,就认为攻击成立,阻断

简单示意一下伪代码:

String wafFlag = request.getHeader("X-WAF-Flag");

if (wafFlag.contains("SQLI")) {
   
    enableStrictRASPMode();
}

query = buildSQL(req.getParam("keyword"));

// RASP hook 位置
rasp.beforeSQLExecute(query);

executeSQL(query);

RASP 在执行 SQL 前分析语句:

public void beforeSQLExecute(String sql) {
   
    if (containsPattern(sql, "1=1") || containsPattern(sql, "--") || isConcatenated(sql)) {
   
        throw new SecurityException("SQL Injection Blocked");
    }
}

这种方式有两个好处:

  • WAF 不用太保守(可大胆“怀疑”)
  • RASP 精准判断(可基于真实执行链路)

最终效果:
误报降低70%以上
漏报降低40%以上
性能开销低


五、WAF 和 RASP 并不是“层级关系”,而是“分工关系”

你可以这样理解:

🧱 WAF:城墙

挡住大部分攻击者
——快、粗、能扛量

🏰 RASP:城内护卫

识别潜伏者
——细、准、能看执行链

两者结合,体系就变了:

攻击者 → WAF → RASP →业务 →日志 →分析系统
                     ↑
           WAF标签 ←——┘

这是一种完整的闭环,而不是两个孤立的点。


六、一个真实场景:绕过 WAF 的反序列化漏洞,被 RASP 捕获

某次真实对抗中,攻击者伪造一个 JSON,利用 Jackson 的 Polymorphic Typing 机制尝试进行反序列化攻击。

payload 大概是:

{
   
  "@class": "com.sun.rowset.JdbcRowSetImpl",
  "dataSourceName": "ldap://xxx",
  "autoCommit": true
}

WAF 识别不了,因为:

  • payload 看不出明显危险
  • 没有 SQL、没有命令执行文本、没有奇怪字符

但 RASP 在 hook 到反序列化行为时发现:

反序列化类存在JDBC驱动加载行为 → 高危!

于是直接阻断。

这就是协同体系比单纯 WAF 更强的地方。


七、最后,我想说句话:安全从来不是“替代”,而是“组合拳”

技术总变化,但攻击者也在进化。
WAF 不是万能的,RASP 也不是终点。
就像我们做架构一样:

安全从来不是靠哪个产品牛,而是靠体系成熟。

WAF + RASP 的协同,带来的好处包括:

  • 安全覆盖更全面
  • 漏报减少
  • 误报减少
  • 性能更稳
  • 响应链路更明确
  • 审计更可复现
  • 风控可以做分级响应

这不是一加一,而是 1 + 1 > 3

未来的应用安全防护一定不是单工具时代,
而是 WAF × RASP × IDS × 行为分析 × 流量镜像 的全链路闭环。

目录
相关文章
|
4天前
|
云安全 人工智能 自然语言处理
|
8天前
|
人工智能 Java API
Java 正式进入 Agentic AI 时代:Spring AI Alibaba 1.1 发布背后的技术演进
Spring AI Alibaba 1.1 正式发布,提供极简方式构建企业级AI智能体。基于ReactAgent核心,支持多智能体协作、上下文工程与生产级管控,助力开发者快速打造可靠、可扩展的智能应用。
800 17
|
11天前
|
数据采集 人工智能 自然语言处理
Meta SAM3开源:让图像分割,听懂你的话
Meta发布并开源SAM 3,首个支持文本或视觉提示的统一图像视频分割模型,可精准分割“红色条纹伞”等开放词汇概念,覆盖400万独特概念,性能达人类水平75%–80%,推动视觉分割新突破。
803 59
Meta SAM3开源:让图像分割,听懂你的话
|
2天前
|
人工智能 安全 小程序
阿里云无影云电脑是什么?最新收费价格个人版、企业版和商业版无影云电脑收费价格
阿里云无影云电脑是运行在云端的虚拟电脑,分企业版和个人版。企业版适用于办公、设计等场景,4核8G配置低至199元/年;个人版适合游戏、娱乐,黄金款14元/月起。支持多端接入,灵活按需使用。
235 164
|
9天前
|
搜索推荐 编译器 Linux
一个可用于企业开发及通用跨平台的Makefile文件
一款适用于企业级开发的通用跨平台Makefile,支持C/C++混合编译、多目标输出(可执行文件、静态/动态库)、Release/Debug版本管理。配置简洁,仅需修改带`MF_CONFIGURE_`前缀的变量,支持脚本化配置与子Makefile管理,具备完善日志、错误提示和跨平台兼容性,附详细文档与示例,便于学习与集成。
335 116
|
2天前
|
机器学习/深度学习 人工智能 自然语言处理
Z-Image:冲击体验上限的下一代图像生成模型
通义实验室推出全新文生图模型Z-Image,以6B参数实现“快、稳、轻、准”突破。Turbo版本仅需8步亚秒级生成,支持16GB显存设备,中英双语理解与文字渲染尤为出色,真实感和美学表现媲美国际顶尖模型,被誉为“最值得关注的开源生图模型之一”。
364 3
|
6天前
|
弹性计算 搜索推荐 应用服务中间件
阿里云服务器租用价格:一年、1小时及一个月收费标准及优惠活动参考
阿里云服务器优惠汇总:轻量应用服务器200M带宽38元/年起,ECS云服务器2核2G 99元/年、2核4G 199元/年,4核16G 89元/月,8核32G 160元/月,香港轻量服务器25元/月起,支持按小时计费,新老用户同享,续费同价,限时秒杀低至1折。
406 166

热门文章

最新文章