行业新闻

WAF介绍及误报漏报挖掘姿势

WAF介绍及误报漏报挖掘姿势

WAF产品的全称是web应用防火墙,英文名称是Web Application Firewall。根据使用场景不同,云上的WAF可以分为两类,即云WAF和VPC WAF。云WAF由于部署简单,维护成本低,被越来越多的用户所采用。在不考虑网络延迟等情况下,网络可达的服务器都可以接入云WAF进行防护。 

VPCWAF的特点

VPC WAF的全称是应用安全网关,是对网站或APP服务进行可视化安全分析和应用层威胁防护的产品。通过提供WAF、用户访问审计、业务安全可视和合规性检查等功能,保障业务稳定可持续运行,提升用户体验,为网络服务提供者解决HTTP/HTTPS业务因攻击导致的异常或合规性问题。VPC WAF由于使用场景的特殊性,具有一些特有的优点:

1. 灵活: 部署在VPC网络边界或内部,资源独享,动态扩容;

2. 安全: 证书保存在自己的VPC网络内部,证书自我管理,证书更安全;

3. 可靠: 回源流量HTTP属于内网流量,外网无法监听和窃取;

4. 低开销: 和云环境一起部署,延迟小于1ms;无额外带宽消耗,使用源站的带宽即可。

WAF检测原理

WAF是对网站或APP服务进行安全和合规性保护的应用安全防护产品;通过恶意特征提取和大数据行为分析识别恶意流量并处理,提高Web站点的安全性和可靠性,保护网站核心业务和数据安全。随着技术的发展,在传统的规则特征匹配基础上,WAF逐渐引入机器学习,模型分析,行为分析等技术,对产品检测能力进行加强。

WAF的使用场景

云WAF和VPC WAF的使用场景如图1,图2所示。

图1 云WAF使用场景

图2 VPC WAF使用场景

后端运维思考

WAF检测一般都在漏报和误报之间寻求一个平衡点,达到两者都可接受的目标。当然这里的平衡点可能是多个,比如对规则或者阈值按检测场景、准确度或者业务需求等因素划分不同级别,用户在使用WAF进行资产保护时可以根据具体需求进行配置或者适时调整。

误报挖掘

由于现网流量千变万化,存在一些不可预知的奇奇怪怪的流量,所以在WAF接入后难免偶尔会产生个别误报。对于厂商来说,主动对检测结果进行监控,挖掘出其中的误报是一件非常有价值的工作。一般来说,具体的监控思路或者方法可以从下面几个方面入手,综合使用效果更佳,但是也要注意服用剂量:

1. 富文本框

一些业务会提供富文本框供用户自由编辑。由于富文本框提交的内容实质上就是代码,在检测时可能会产生误报。

2. 编码不规范

一些项目在开发过程中缺少安全方面的考虑,代码不规范,导致误报。常见的是直接在url或者post负载里提交sql查询语句,被识别为SQL注入攻击。

3. 文件上传

 文件上传时,文件内容有时候比较复杂,存在误报的可能性。

4. 规则可信度

这里规则可信度特指规则或者模型引入误报的概率。由于不同漏洞的检测方法不同,导致不同漏洞的规则可信度可能不同。同时针对同一个漏洞可能编写了多条检测规则,这些规则之间的可信度也可能不同。在采用模型进行检测的场景下,不同模型或者不同阈值也会对检测结果的可信度产生影响。

5. 攻击源或者攻击面的不同

攻击流量和正常业务流量命中规则或者模型后,在攻击源或者攻击面上的展现可能会存在差异。

6. 语义分析

WAF在进行匹配时,由于规则编写或者模型训练的研究员水平和经验的差异,在对非程序语言或者非汉语进行检测时容易产生误报,尤其是英语。这类防护产品在国内使用良好的情况下,接入国际业务后可能会在一段时间内持续出现一些这类误报。比如这句普通的英文有可能会被误识别为sql注入攻击"select Age spirituality to drawwhite-clad visitors from China."。由于select from的sql语法综合来说比较复杂,针对这种误报可以考虑引入语义分析进行过滤,基本可以达到较好的效果。 

漏报补齐

对于WAF这类安全产品来说,误报和漏报是一对长期存在的矛盾体,对厂商来说,除了挖掘误报,也要持续的解决漏报,提升产品检测能力。一般来说漏报产生的根源主要是3个因素:引擎检测能力不够健壮(如解码能力,协议实现缺陷等),规则编写考虑不全面(或者出于某些原因有一定的取舍),模型对场景覆盖不全面。至于WAF的绕过,也可以从这三个方面着手,本文不具体展开讨论,以免被打。


关闭