流重组解决什么问题
入侵检测不能按单个报文匹配特征:攻击载荷常被拆到多个报文里、打乱顺序发送,甚至用重叠分片来规避检测。流重组(会话还原)把同一会话的报文按序拼成完整数据流,再做协议解析与特征匹配,是 IPS/IDS/NGFW 检测准确率的基础能力,IPv4 分片重组与 TCP 流重组都在其中。
基本信息
| 适用设备 | IPS/IDS/NGFW(华为 USG6000、深信服 AF、开源 Suricata/Snort 等) |
|---|---|
| 重组对象 | IP 分片重组、TCP 流重组、应用层协议解析(HTTP/DNS/SMB 等) |
| 资源代价 | 重组缓存与表项随并发会话数增长,占用内存与 CPU |
| 常调参数 | 会话老化时间、重组缓存大小、最大分片数(名称随厂商版本不同) |
| 生效前提 | 会话双向流量都经过设备(同进同出),否则拼不出完整流 |
典型使用场景
- 出口部署时拦截分片与乱序构造的规避式攻击
- 长连接业务(视频、备份、数据库)上线前评估资源占用
- 排查漏报:判断是否因乱序或分片导致特征未命中
- 事件研判需要完整会话上下文(含载荷片段)
- 调整会话老化时间以适应长连接业务
检查与验证要点
检查与验证要点
# 1. 确认设备已开启流重组/会话检测(开关名称随厂商与版本不同)
# 2. 观察长连接场景下的会话数与内存占用,确认无降级告警
# 3. 用公开测试样本验证:分片与乱序报文能否被检出
# 4. 告警详情中应能还原会话上下文,而不只是一个孤立报文
# 5. 调整老化时间后回归验证长连接业务是否受影响参数与表现对照
| 对象 | 含义 | 异常表现 |
|---|---|---|
| TCP 流重组 | 按序拼接同一会话的 TCP 载荷 | 乱序与重传报文未拼装,特征漏检 |
| IP 分片重组 | 合并 IPv4 分片后再送检测 | 重叠分片被利用绕过检测 |
| 重组缓存 | 暂存待重组报文的内存 | 不足时丢包或降级处理 |
| 会话老化 | 会话表项保留时长 | 过短导致长连接被拆,检测中断 |
重组是拿资源换准确率:出口几十万并发的设备长期开着高强度重组却没有容量余量,峰值流量下会先丢检测再丢业务。上线前按峰值会话数评估。
IPv6 侧不依赖 IPv4 分片,但扩展头仍需解析;双栈环境不要只按 IPv4 经验估算检测覆盖率。