Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >如何做一款好的waf产品(2)

如何做一款好的waf产品(2)

原创
作者头像
stan1ey
修改于 2021-08-11 06:45:55
修改于 2021-08-11 06:45:55
7990
举报
文章被收录于专栏:安全开发记录安全开发记录

Web系统通常和其他相关系统一同使用(如数据库系统等)。这就使得攻击者将攻击行为伪装成一种看上去无害的形式(譬如通过编码变换)提交进来以攻击后台的其他系统。由于后台系统的种类繁多,WAF必须识别出针对这些系统的攻击,这为WAF的开发带来了很大的难处,为了使WAF的规则可以有效的抵御这些攻击,WAF必须发现出这些攻击并将变换的输入数据还原成正常的数据。

WAF支持以下的数据还原方法

1. URL解码 (如%XX)

2. 以空字节结尾的字符串(Null byte string termination),如C风格字符串。

3. 路径中的本级目录引用 (如使用 /./ 或与之等价的编码字 符串)。

4. 路径中的上级目录引用(如使用 /../ 或与之等价的编码字 符串)。

5. 大小写混合使用(Mixed case),如SeLeCt )。

6. 大量使用空格字符。

7. 注释移除(如将DELETE/**/FROM 改为 DELETE FROM)。

8. 将"\"(Windows下 的)改为"/"

9. 对IIS制定的Unicode编码进 行转换 (%uXXYY)。

10. 对HTML中的一些特殊定 义的字符进行转换,比如c,这个其实就是HTML代码里用ASCII代码表示字符的方式c代表的就是字符为99的ASCII字符,即“c”,&quot;(引号), &#xAA;(十六进制表示的字符),关于html中特殊字符请见一篇文章<html中特殊字符>:地址:http://sailinglee.javaeye.com/blog/446898)

11. 转义字符(Escaped characters) (如\t, \001, \xAA, \uAABB)。

黑名单机制

WAF的黑名单定义采用了下述的机制:

1. 基于签名(Signature-based), 签名的方法通常采用关键字或是正则表达式对流量内容进行检查。(适应于业务单一场景,不采用)。

2. 采用基于规则(Rule-based),同签名方法很相似,但是规则可以在逻辑上更复杂(如支持AND 、OR),同时也可定义对内容的某一特定部分进行检查。

白名单机制

1.主动模式下除了那些被相关规则判别出是有效和安全的流量可以通过外,其他 所有的流量都默认禁止通过。

2.这种方法在处理效率上比较高(因为允许通过的流量的特征比较少,所以对流量进行检查时使用的检查规则较少,同时也更安全,

但其缺点在于需要对受保护的系统有较深入的了解以决定哪些流量是允许的。这种主动模式在Web应用经常变化的情况下维护起来比较困难。

3. 主动模式下其配置可以自动修改 (如采用学习模式),自动配置需要如何来维护 (自动+手工,还是完全自动两种模式。

4. 升级时WAF平滑升级。

5.主动模式可以采用严格的内容检查规则方法、统计分析方法或是基于异常检测的神经网络方法。

waf规则

1. 产品在出厂时具有对已知攻击所定义的策略库。

2. 该规则库默认支持owasp十大漏洞基础防护策略。

3. 策略库的升级、变更生效时间无延迟。

4. 策略灵活可选择,否则如果所有的规则都进行检查,对性能影响太大。

API 接口

是否支持API接口允许自开发插件?

保护技术Protection Techniques

这一部分列出了使用普通的保护机制无法达到的一些特定的安全需求,这篇文 章无法描述出所有的Web安全问题,

这些内容可以从我们的另外的一个有关各种威胁分类的项目中找到http://www.webappsec.org/projects/threat/.

限制暴力破解攻击

1. 可以检测到HTTP访问控制中的暴力破解攻击(HTTP status code 401).

2. 可以检测到应用中任一部分的暴力破解攻击(对同一资源的大量访问)。

3. 可以为不返回401错误的应用定制防暴力破解攻击规则 (probably with a regular expression applied to a response part).

4. 可以采用限制或阻止攻击者的手段。

5. 可以检测到Session管理机 制中的暴力破解攻击(从单一IP或某个IP段发出的Session太多)。

6. 可以检测到自动客户端(Session请求 的频率过高)。

Cookie保护方法Cookie Protections Measures

1. 对cookie进行签名, 防止在客户端对之进行修改。

2. 对cookie进行加密以隐藏其中的内容。

3. 对cookie进行完全隐藏(cookie机制虚拟化:发送到客户端的每一个cookie都是用唯一ID)。

4. 是否可以为每一个应用定制保护规则?一个WAF可能保护了多个Web应用,每个Web应用都有自己的特点,针对每个应用制定不同的cookie保护方法。

限制会话攻击

1. 为了完全接管应用中的session处理机 制,需要支持下面的机制:

a. Cookies

b. Form parameters

c. URI 重写

2. session IDs机制,session IDs可以结合到身份验证机制。

3. 是否可以为每一个应用定制保护规则。

保护表单中的隐藏域

防止表单中隐藏域的值被篡改。

URL加密和参数保护

URL和参数的加密以防止它们被任意的访问(如强制访问、session劫持等),cryptographic URL Encryption :这种方法很好,有两个层面,一个是URL的加密,要同Session等一次性的机制结合起来,使

得每次访问的目标都要通过Web应用的一个统一解密入口才能到达真正的URL,还有一个是参数的加密,可以有效的 防止暴力猜测。

严格的请求顺序控制

是指WAF严格的监视请求的顺序,只有那些可能的后续请求才能被允许。(譬如说某个站点有ABC三个网页,A中有一个链接到B,但是没有到C的直接链接,那么在 访问A之后马上访问C就是一种异常的访问,有可能是一种攻击),例如阿里云waf,防止黄牛刷票。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
如何做一款好的waf产品(4)
对于网络设备来说管理是一个重要的部分,尤其对于安全设备来说,因为业务 需要的不停变化需要对设备不停的进行设置。
stan1ey
2021/08/11
5730
如何做一款好的waf产品(4)
如何做一款好的waf产品(1)
5. 阻断应用层的用户,当在HTTP应用层进行阻断时,该WAF给用户发出一个友好的信息。
stan1ey
2021/08/11
7420
如何做一款好的waf产品(1)
Nginx - 集成ModSecurity实现WAF功能
ModSecurity是一款开源的Web应用防火墙(WAF),它能够保护Web应用免受各种类型的攻击。作为一个嵌入式模块,ModSecurity可以集成到常见的Web服务器(如Apache、Nginx)中,以拦截和阻止恶意的HTTP请求。其设计目标是提供一个灵活、可配置的安全解决方案,能够保护Web应用免受SQL注入、跨站脚本(XSS)、请求伪造、路径遍历等各种常见的Web攻击。
小小工匠
2024/05/26
1.7K0
如何做一款好的waf产品(5)
WAF是 否提供了后台控制的API使得后台受保护的程序可以利用其操纵WAF进行某些操作(如:终止用户会话, 阻断某个IP或限制登录尝试等)。
stan1ey
2021/08/11
5850
如何做一款好的waf产品(5)
如何做一款好的waf产品(3)
为每一个HTTP事务(一个事务定义为一个请求和其相应的响应)分配一个唯一的ID并在包括在日志信息里面。
stan1ey
2021/08/11
5820
如何做一款好的waf产品(3)
安全设备篇——WAF
WAF(Web应用层防火墙),顾名思义,既然带着个防火墙,就是阻断型的安全设备了。Waf也是常见的安全设备之一,用于暴露面web的防护,刚好前段时间很多博主也在狂吹雷池,这篇文章刚好借着雷池就探讨一下WAF这类安全设备的应用。
用户11055813
2024/05/17
4440
安全设备篇——WAF
BrowserWAF:免费、开源的前端WAF
BrowserWAF,一款由ShareWAF推出的免费、开源的前端WAF,也可称为浏览器WAF。
FB客服
2020/06/29
2K0
BrowserWAF:免费、开源的前端WAF
Https攻击怎么防御
随着互联网技术的发展,网站所遭受的网络攻击频率也在不断上升。某种程度上,我们可以说互联网上的每个网站都容易遭受安全攻击。因为网络攻击者最主要的动机是求财。无论你运营的是电子商务项目还是简单的小型商业网站,潜在攻击的风险就在那里。
用户10621382
2023/11/22
2900
HTTP劫持是什么?如何防止网站被劫持呢?
HTTP劫持(HTTP hijacking)是一种网络攻击技术,攻击者通过各种手段截取用户的HTTP请求或响应,篡改其内容或重定向到恶意服务器,从而实施恶意活动。这种攻击可能导致用户信息泄露、身份盗窃、篡改网页内容或植入恶意代码等安全问题。
海拥
2023/06/10
1.6K0
Jtti:WAF对API滥用的防护效果如何?
Web应用防火墙(WAF)对API滥用的防护效果是显著的,能够有效减少恶意调用和攻击风险。以下是WAF在防止API滥用方面的主要功能和效果:
jtti
2025/02/13
990
安全设备篇——WAF
Web应用防火墙(WAF)是网络安全的关键防线,专注于保护Web应用程序免受攻击。它具备应用层防护能力,能智能分析并防御恶意请求,支持灵活部署,并具备事前预防、事中响应和事后审计功能,是确保Web应用安全的重要工具。
德迅云安全--陈琦琦
2024/07/04
6400
RASP技术进阶系列(一):与WAF的“相爱相杀”
猜想大部分安全从业者都会回答:“WAF(Web Application Firewall, 应用程序防火墙)。”不过RASP(Runtime Application Self-Protection,应用运行时自我保护)横空出世,似乎有取而代之的意味。
云鲨RASP
2023/04/19
8060
WAF和RASP技术,RASP与WAF的“相爱相杀”
WAF全称叫Web Application Firewall,也就是web应用防火墙,和传统防火墙的区别是,它是工作在应用层的防火墙,主要针对web请求和响应进行检测和防护。
德迅云安全--陈琦琦
2024/04/09
7940
waf(web安全防火墙)主要功能点
SQL注入防护:阻止恶意SQL代码在网站服务器上执行。 命令注入防护:阻止攻击者利用网站漏洞直接执行系统命令。 XPATH注入防护:阻止攻击者构造恶意输入数据,形成XML文件实施注入。 LDAP注入防护:阻止攻击者将网站输入的参数引入LDAP查询实施注入。 SSI注入防护:阻止攻击者将SSI命令在服务端执行,主要发生在.shtml,.shtm,.stm文件。 缓冲区溢出防护:阻止请求中填入超过缓冲区容量的数据,防止恶意代码被执行。 HPP攻击防护:阻止攻击者利用HPP漏洞来发起注入攻击。
全栈程序员站长
2022/08/22
1.7K0
WEB安全基础(下)
本文主要介绍WEB客户端一些漏洞类型,漏洞产生的原因、有哪些危害、可能产生漏洞的场景,如何防范。后面会有对应的文章对应具体漏洞类型展开详细说明,提供靶场实战演练,主要用于理解挖掘漏洞的思路。
用户10781703
2024/09/03
1560
WEB安全基础(下)
Cookie篡改与命令注入
cookie 篡改 (cookie poisoning) 是一项主要以获取模拟和隐私权泄密著称的技术,通过维护客户(或终端用户)身份的会话信息操纵来实现的。通过打造这些 cookie ,攻击者可以模拟一个有效的客户,因此获取详细信息并执行代表病毒的行为。这种打造的能力,像会话 cookie (或者更通俗地说,会话标识)源自于这些标识不是以安全的方式产生的事实。
FB客服
2018/11/08
1.8K0
细说WAF
Web应用程序防火墙(Web Application Firewall,简称WAF)是一种专为保障Web应用程序安全而设计的防护系统。它主要针对通过Web浏览器或其他Web客户端访问的应用程序提供保护,旨在防御黑客攻击、网络侵袭及数据泄露等多样化的安全威胁。
ICT系统集成阿祥
2024/12/03
7200
细说WAF
干货 | 渗透测试全流程归纳总结
  从旁观者的角度了解整个WEB应用乃至整个目标的全貌,但是资产是收集不完的,可以边收集,边进行一定程度的测试。信息收集最小的粒度应是目录。
HACK学习
2021/03/03
4.4K0
WAF产品经理眼中比较理想的WAF
WAF简介 WAF(Web Application Firewall,简称:WAF),百度百科上的定义,Web应用防火墙是通过执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提供保护的一款产品。作为绝大多数互联网公司Web防御体系最重要的一环,承担了抵御常见的SQL注入、XSS、远程命令执行、目录遍历等攻击的作用,就像大厦的保安一样默默工作,作为第一道防线守护业务的安全。 传统WAF的不足 WAF在不少安全公司都是重要产品线,究其原因我认为有三个: 第一,绝大多数互联网公司没有足够的专职安全人
FB客服
2018/02/09
3.6K0
WAF产品经理眼中比较理想的WAF
解读OWASP TOP 10
**原理:**将不受信任的数据作为命令或查询的一部分发送到解析器,会产生诸如sql注入、nosql注入、os注入和LADP注入的注入缺陷。攻击者的恶意数据可以诱使解析器在没有适当授权的情况下执行非预期的命令或的访问数据。
黑伞安全
2019/10/16
3K0
相关推荐
如何做一款好的waf产品(4)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档