六款免费WAF防护能力测试报告

发布时间 - 2023-07-18 14:31:40    点击率:1925次

最近赶上国内某重大网安活动,要给几个客户推荐一些免费好用的安全产品,WAF 是其中之一。

攻击防护是 WAF 最核心的能力,本文将介绍如何使用科学的方法测试 WAF 防护能力的有效性。

测试指标

测试结果以 4 个指标为主:

  • 检出率:用来反应 WAF 检测能力的全面性,没有检出即为 ”漏报“。
  • 误报率:用来反应对正常流量的干扰,不靠谱的结果即为 ”误报“。
  • 准确率:准确率是检出率和误报率的综合指标,避免漏报和误报顾此失彼。
  • 检测耗时:用来反应 WAF 性能,耗时越大则性能越差。

检测耗时用工具直接统计即可,其他这几个指标如何计算,可以对应到统计学中的预测分类概念:

  • TP:将 攻击样本 拦截 的数量。
  • TN:将 正常样本 放行 的数量。
  • FN:将 攻击样本 放行 的数量,即 ”漏报“ 数量。
  • FP:将 正常请求 拦截 的数量,即 ”误报“ 数量。

这样就可以给出上面 3 个指标的计算公式:

  • 检出率 = TP / (TP + FN)
  • 误报率 = FP / (TP + FP)
  • 准确率 = (TP + TN) / (TP + TN + FP + FN)

为了减小随机性带来的综合影响,以减小误差,对于 ”检测耗时“ 我将会拆为 “90% 的平均耗时” 和 “99% 的平均耗时” 两个指标。

测试样本

1. 数据来源:所有测试数据均来自于我自己的浏览器。

2.抓包方式:用 Burp 做代理,浏览器全局指向 Burp,导出 XML 文件后使用Python 脚本处理成单个请求。

根据以往的经验,在互联网上暴露的服务,通常正常流量和攻击流量的比例是 100:1 左右,我们按这个方式对样本进行配比。

1. 白样本:刷微博、刷知乎、刷B站、刷各种论坛,一共攒了 60707 个 HTTP 请求,总大小 2.7 GB(该过程浪费了我 5 个小时)。

2. 黑样本:为了让测试效果更充分,我使用四个不同的方法采集了黑样本,一共 600 个 HTTP 请求(该过程浪费了我 5 个小时)。

  • 常见的攻击流量:把 portswigger 官网提供的所有攻击 Payload 都打一遍。
  • 常见的攻击流量:把 portswigger 官网提供的所有攻击 Payload 都打一遍。
  • 针对性漏洞流量:部署 VulHub 靶机,所有的经典漏洞使用默认 poc 挨个攻击一遍。
  • 攻击对抗流量:调高 DVWA 的对抗级别,在中级和高级防护的情况下把 DVWA 再攻击一遍。

测试方法

测试指标和测试样本明确之后,现在需要三个东西:WAF、接收流量的靶机,还有测试工具。

所有 WAF 均使用初始配置,不做任何调整。

靶机用 Nginx,无论收到什么请求,均直接返回 200,配置如下:

location / {return200"hello WAF!";default_type text/plain;}

测试工具的需求如下:

  • 解析 Burp 的导出结果
  • 按 HTTP 协议重新组包
  • 考虑到后续数据要开源,要删除 Cookie Header
  • 修改 Host Header 字段,让靶机能够正常接收流量
  • 根据请求是不是返回 200 判断是否被 WAF 拦截
  • 对黑白样本混合后均匀发包
  • 自动计算上述 ”测试指标“

找了两款开源 WAF 测试工具,看起来质量都不错,基本符合要求,把两款工具综合一下,再略加其他细节就能用,地址如下:

  • gotestwaf:来自泰国的开源 WAF 测试工具
  • blazehttp:来自长亭的开源 WAF 测试工具

开始测试

雷池社区版

TP: 426 TN: 33056 FP: 38 FN: 149

总样本数量: 33669 成功: 33669 错误: 0

检出率: 74.09%

误报率: 8.19%

准确率: 99.44%

90% 平均耗时: 0.73毫秒

99% 平均耗时: 0.89毫秒

Coraza

TP: 404 TN: 27912 FP: 5182 FN: 171

总样本数量: 33669 成功: 33669 错误: 0

检出率: 70.26%

误报率: 92.77%

准确率: 84.10%

90% 平均耗时: 3.09毫秒

99% 平均耗时: 5.10毫秒

ModSecurity

TP: 400 TN: 25713 FP: 7381 FN: 175

总样本数量: 33669 成功: 33669 错误: 0

检出率: 69.57%

误报率: 94.86%

准确率: 77.56%

90% 平均耗时: 1.36毫秒

99% 平均耗时: 1.71毫秒

宝塔 WAF

TP: 224 TN: 32998 FP: 96 FN: 351

总样本数量: 33669 成功: 33669 错误: 0

检出率: 38.96%

误报率: 30.00%

准确率: 98.67%

90% 平均耗时: 0.53毫秒

99% 平均耗时: 0.66毫秒

nginx-lua-waf

TP: 213 TN: 32619 FP: 475 FN: 362

总样本数量: 33669 成功: 33669 错误: 0

检出率: 37.04%

误报率: 69.04%

准确率: 97.51%

90% 平均耗时: 0.41毫秒

99% 平均耗时: 0.49毫秒

SuperWAF

TP: 138 TN: 33048 FP: 46 FN: 437

总样本数量: 33669 成功: 33669 错误: 0

检出率: 24.00%

误报率: 25.00%

准确率: 98.57%

90% 平均耗时: 0.34毫秒

99% 平均耗时: 0.41毫秒

对比表格

漏报数量 误报数量 准确率 平均
雷池社区版 149 条 38 条 99.44% 0.73 毫秒
Coraza 171 条 5182 条 84.10% 3.09 毫秒
ModSecurity 175 条 7381 条 77.56% 1.36 毫秒
宝塔 WAF 351 条 96 条 98.67% 0.53 毫秒
ngx-lua-waf 362 条 475 条 97.51% 0.41 毫秒
SuperWAF 437 条 46 条 98.57 0.34 毫秒

雷池社区版的综合表现最好,误报和漏报都是最少的。

Coraza 和 ModSecurity 作为国外的优秀 WAF 引擎项目,检出率很高,但对于国内的场景适配并不会,误报太高。

最后

为了保证公平公正,本文中所用到的测试工具和测试数据均已开源,可访问以下地址获取:

https://gitee.com/kxlxbb/testwaf

另外,不同的测试样本和测试方法可能会导致测试结果有比较大的差异,需要根据实际情况选择合适的测试样本和测试方法来进行测试。

本次测试的结果仅供参考,不作为评价产品、工具、算法、模型的唯一标准。

来源:CT Stack 安全社区

最新文章 第十二版《网络安全企业100强》发布 开源推荐算法为什么并不“可靠”? 虹膜写真风靡年轻人:小心泄露敏感个人信息 国内最大IT社区CSDN被挂马,CDN可能是罪魁祸首? Apache Struts文件上传漏洞 (CVE-2024-53677) 安全风险通告 工信部:关于防范新型勒索病毒Ymir的风险提示 美国报告揭示俄罗斯战略信息攻击:从攻击方法到战略效果 最危险的网络攻击:云勒索软件 个人信息保护合规审计:个人信息删除落地与审计 Forrester:Akamai创新微分段技术引领企业安全升级,实现 152%高ROI Fortinet发布《2025年网络威胁趋势预测报告》 揭秘四大威胁挑战 榜上有名!360入选2024年天津市网络安全应用场景优秀案例 只需一个暗号,即可戳穿语音克隆骗局 写在IDCC2024数字基础设施国际合作大会之前 IETF的运行方式及RFC的形成 《AI时代深度伪造和合成媒体的安全威胁与对策(2024版)》报告发布 UnitedHealth勒索软件攻击事件应吸取的六个备份教训 网络安全产品奥斯卡 2024年度赛可达优秀产品奖(SKD AWARDS) “危“”机“并存,五位网络安全大咖预警2025年安全态势 赋能智算未来,CDCE2024国际数据中心展12月5日上海璀璨开幕 俄罗斯黑客组织渗透和利用巴基斯坦黑客组织服务器案揭秘 国家安全部:警惕开源信息成为泄密源头 “清朗·网络平台算法典型问题治理”专项行动中的排名算法 游戏玩家请注意!Winos4.0木马已“潜伏” 2024 DAMS中国数据智能管理峰会即将在上海举办 WAF气数已尽? 网安巨头Palo Alto全球数千防火墙被攻陷:因开发低级错误造成零日漏洞 数字城市AI安全运营中心签约揭牌,360赋能长三角城市安全新篇章 勒索软件忙招人,2024年网络威胁五大新趋势 360发布全球首份《大模型安全漏洞报告》,曝光近40个大模型相关安全漏洞 值得关注的十二大网络安全风险评估工具及选型指南 俄黑客通过“近邻攻击”远程入侵美国企业WiFi网络 四校签约、六家授牌!360与河南高校再摘网络安全人才培育新果实 Apple多个在野高危漏洞在野利用通告 苹果官方警告:零日漏洞攻击瞄准Mac电脑用户 《密码法》颁布五周年:法治成效、实施难点与未来走向 27天!揭秘身份管理中凭证修复为何如此艰难? 微软“清理门户”,禁止杀毒软件访问Windows内核 云原生环境下的七大网络安全威胁及应对建议 ​透析恶意软件“四大家族”
在线客服
联系方式

热线电话

18556842815

上班时间

周一到周五

公司电话

027-85365976

二维码
线