Web应用防火墙(WAF)竞品分析
http://www.freebuf.com/articles/web/115407.html
0×00、前言
WAF(Web Application Firewall)对于搞web渗透测试的甲方安全运维工程师、众测平台的白帽子、乙方web渗透工程师、搞黑产的blackhat是个并不陌生的web安全防护手段。在工作中或多或少涉及到这方面的相关知识,那么,从产品的角度上对WAF做竞品分析十分有必要,可以帮助用户更好的理解WAF产品功能,同时,也为WAF厂商指明了研发方向。以下站在安全产品经理的角度上,做的WAF竞品分析,包含:行业现状分析、产品功能分析、交互设计分析、运营及推广策略(偏重PR)。
0×01、行业现状分析
通过行业现状分析,我们可以更好的把握住市场趋势,研究WAF细分领域市场。分析的目标用户,来源于Top 24家互联网金融网站(融资规模大小),原因是,WAF是这部分企业级客户在安全方面的刚性需求。
1.1、调研问卷题目:
(1)IT架构:公有云、IDC机房、自建机房。
(2)调查WAF部署形式:透明代理硬件形式、云WAF、反向代理集群形式、基于主机Agent部署、开源系统自建。
(3)目前你使用WAF的困惑:云WAF数据隐私保护问题、安装在主机上WAF应用程序性能是否影响正常业务、开源自建WAF规则维护成本高。
如果大家有时间,可以帮忙填写一下问卷调查,http://wj.qq.com/s/753888/308e
1.2、调研技术手段:
无论从技术上,还是商业上都是很难获取到ToB产品的企业数量,所以,从技术角度上讲,通过互联网抓取我们想要的数据,自己统计分析。
WAF类型 | 重点关注厂商 |
---|---|
硬件WAF | nsfocus、imperva |
云WAF | 百度安全宝、阿里云盾 |
基于主机Agent WAF | 安全狗 |
开源WAF | modsecurity |
反向代理集群WAF | 由于这块市场目前还没有很牛逼的产品,所以暂时空白。 |
1.3、调研技术原理:
如何确认其WAF特征,我参考了 wafw00f、nmap、sqlmap有关识别WAF的脚本,编辑一个批量扫描的脚本。首先检查是否存在WAF,通过提交xss脚本,查看网站页面特征,如果返回页面异常,证明存在WAF。然后通过脚本判断对应的WAF类型,由于WAF特征也会被人为更改,所以,只能粗略评估部署率。
1.4、结果输出:
(1)WAF部署类型产品占有率
(2)WAF产品市场占有率
备注:详细的原始数据,可以联系文章作者获取。
1.5、结论:
当时看到这样的结论,我也很意外,不过可以看出以下趋势:
(1)重要的互联网金融网站一般不会开WAF阻断模式,除非购买公有云WAF产品。
(2)云WAF在互联网金融业务使用率蛮高。
(3)自建WAF也是互联网金融企业安全团队热衷去做的一件事情。
(4)商业集群WAF软件在崛起,它的直接竞争对手是自建WAF。
(5)只有有钱的主才会买硬件WAF,否则它将退出历史舞台。
(6)很少有企业在商业环境下使用类似**狗这样的免费WAF,不付费就代表着售后没有保证。
0×02、产品功能分析
2.1、产品功能对照表
由于手上资源有限,本章节只分析imperva、nsfocus WAF、天融信WAF产品功能。
imperva | nsfocus | 天融信 | |
---|---|---|---|
网络层防护 | 应用代理防火墙 网络层特征码(IPS) |
封禁IP管理 网络防护-SYN Flood 网络防护-ACK Flood 网络防护-HTTP Flood 网络防护-慢速攻击 网络防护-ADS(抗D硬件)联动 |
抗 DDoS 网络防护-SYN Flood 网络防护-ACK Flood 网络防护-HTTP Flood 网络防护-慢速攻击 网络防护-http/s CC攻击 |
WAF基本功能 | 反爬虫 Bot Mitigation Web 特征 Web 蠕虫 Web 应用程序特征码 Web 应用程序自定义 OCSP 协议验证 |
规则库管理-web服务器漏洞 规则库管理-web插件漏洞 规则库管理-爬虫防护 规则库管理-跨站脚本防护 规则库管理-SQL注入防护 规则库管理-LDAP注入防护 规则库管理-SSI指令防护 规则库管理-XPATH注入防护 规则库管理-命令注入防护 规则库管理-路径穿越防护 规则库管理-远程文件包含防护 规则库管理-内容过滤 规则库管理-webshell防护 规则库管理-敏感信息防护 规则库管理-盗链防护 规则库管理-扫描防护 |
规则库-访问控制(URL白名单) 协议合规 文件上传 规则库管理-SQL注入防护 规则库管理-XSS注入防护 规则库管理-目录遍历 规则库管理-LDAP注入防护 规则库管理-SSI指令防护 规则库管理-网页扫描防护 规则库管理-XPATH注入防护 规则库管理-info leak防护 规则库管理-命令注入防护 规则库管理-RFI防护 规则库管理-web服务器漏洞防护 规则库管理-盗链防护 规则库管理-爬虫防护 规则库管理-CSRF策略 |
WAF特有功能 | 动态特征构建 通用用户跟踪 (UUT) 关联攻击检测(Web&DB) |
自学习功能 | 自学习功能 |
威胁情报 | ADC 威胁情报联动 ThreatRadar – ATO Device IDs Black List ThreatRadar – ATO Device IDs White List ThreatRadar – Anonymous Proxies ThreatRadar – Anonymous Proxies White List ThreatRadar – Comment Spam IPs ThreatRadar – Comment Spam IPs White List ThreatRadar – Malicious IPs ThreatRadar – Malicious IPs White List ThreatRadar – Phishing URLs ThreatRadar – Phishing URLs White List ThreatRadar – Privileged User ThreatRadar – SQL Injection IPs ThreatRadar – SQL Injection IPs White List ThreatRadar – Scanner IPs ThreatRadar – Scanner IPs White List ThreatRadar – TOR IPs ThreatRadar – TOR IPs White List ThreatRadar – Trusted Bots |
无 | 无 |
外部模块联动 | 风险管理-web服务扫描 风险管理-数据库服务扫描 |
智能补丁-SAAS云扫描(云端漏洞扫描联动) 智能补丁-WVSS扫描(本地漏洞扫描联动) 应用交付-通用防篡改 |
网页防篡改 Web漏洞扫描 |
从功能上看,上述3款产品都是基于正则表达式方式对Web威胁进行防护,针对未知web威胁防护,国内产品还是主要靠升级规则库的方式,国外主要靠威胁情报方式。但是目前基于正则表达式规则库的WAF产品很容易被绕过,建议使用新技术解决其问题。当然国内外厂商也在这方面做的很多工作,比如说imperva
动态特征创建,国内厂商的自学习功能。从功能测试看,国外动态特征创建要比国内的自学习功能强,因为国内的自学习主要是规定一段时间学习url提交的参数(string&number)但是imperva是一直在自学习,然后快速建立攻击模型。
2.2、WAF产品架构分析
以上三款产品都是以硬件形式部署到用户环境当中,随着公有云平台逐渐被用户接受,本次分析主要聚焦在软件集群形式的WAF架构和硬件WAF技术分析。
软件集群形式WAF | 硬件WAF | |
---|---|---|
针对网络层防护 (1)代理防火墙模块 (2)简单抗D功能 (3)抗CC攻击 |
无 or 很少 | 必备 |
系统组成模块 (1)web console (2)检测模块 (3)代理转发模块 (4)数据分析模块 |
各个模块部署灵活,集群能力强,数据分析模块可以集成到云端,具备大数据分析能力。 | 多模块集成到一个box,依靠HA bypass等硬件集群形式,比较僵硬。高峰流量时候,容易出现检测模块过载,服务假死的情况,数据分析模块,由于大多管理口不对外无法连接云端。所以很少有厂商集成。 |
代码架构 | 前后端分离,web端使用Angular等架构,后端使用python等API方式提供给前端 | jsp/php做web console 通过web应用程序直接调用python、sh脚本执行底层代码 |
2.3、产品测评
测试项 | imperva(NSS Lab) | nsfocus | 天融信 |
---|---|---|---|
OSWAP Top 10 漏洞类型检测 | all | all | all |
准确率 | 99.82% | 由于测试脚本原因无法判断好坏 | 由于测试脚本原因无法判断好坏 |
召回率 | 0.110% | 由于测试脚本原因无法判断好坏 | 由于测试脚本原因无法判断好坏 |
CPS(connections per second) | 13,385 | 10,000以上 | 10,000以上 |
稳定性和可靠性:HA bypass | ok | ok | ok |
0×03、产品交互分析
分析To B产品方面交互,其实比较难,因为本身用户就少,体验方面,其实用惯了就好。当然,伴随着SAAS平台的日益兴起,建议在易用方面增加相应的用户体验。
imperva | nsfocus | 天融信 | |
---|---|---|---|
表现层-视觉设计-用户界面简单易用 | * | ** | *** |
架构层-界面设计 | ** | ** | *** |
架构层-导航设计 | * | *** | *** |
结构层-交互设计 | * | *** | *** |
范围层-功能规格-功能逻辑划分明确 | ** | *** | *** |
结论:可以看出产品交互设计方面国内厂商NB,因为国内用户一般都是技术小白。imperva我刚开始看的时候一头露水,要看产品文档才能理解为什么这样设计。显然,进入国内市场还需要在产品交互上多下功夫。
0×04、运营及推广策略
4.1、运营方面首先如何获得用户体验,这方面nsfocus做的比较好,采用google analytics。
4.2、推广方面
(1)百度指数
imperva 没有买百度指数…
(2)公众号
imperva(无公众号) | NSfocus-weixin | TopsecPioneer | |
---|---|---|---|
更新频率 | 无(主要靠渠道用户开会等方式) | 每天3篇 | 每隔2-4天发一次,每次3-4篇 |
最近文章阅读量最多一篇文章 | 无(主要靠渠道用户开会等方式) | 5557 | 3324 |
用户数量 | 无(主要靠渠道用户开会等方式) | 不是订阅号 无法判断 | 不是订阅号 无法判断 |
(3)微博号
imperva | NSfocus | Topsec | |
---|---|---|---|
粉丝 | 443 | 10000 | 2475 |
文章 | 239 | 1178 | 534 |