云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

百度云_建设网站如_好用

小七 141 0

启发式和规则:为什么我们要建立一个新的旧WAF

淘客吧-启发式和规则:为什么我们要建立一个新的旧W

我们刚刚对CloudFlare的Web应用程序防火墙(WAF)进行了更新。此前,CloudFlare的WAF受到了测试人员的批评,他们发现它的行为不像传统WAF所期望的那样。这与那些看到我们的WAF实际上消除了实际网络威胁的用户的真实体验形成了对比。看似自相矛盾的是,以下所有内容都是正确的:批评没有错,CloudFlare最初的WAF是按设计工作的。我将在下面解释,但首先是一些历史。历史我从1998年开始在互联网安全领域工作。当时,我对新出现的垃圾邮件问题很感兴趣。1998年最先进的反垃圾邮件技术是一个名为SpamAssassin的开源项目。SpamAssassin是一个基于规则的电子邮件过滤引擎。在一个简单的层次上,它有一个可能出现在垃圾邮件中的东西的列表(例如"伟哥"一词),每一个都有一个分数。当一条新消息到达时,它会在引擎中运行,每次命中都会增加分数,如果分数超过某个阈值,则会将该消息视为"垃圾邮件"。

淘客吧-启发式和规则:为什么我们要建立一个新的旧W

这种基于规则的方法至少有两个主要缺陷。首先,配置非常困难,因为每个组织的需求都是不同的。例如,虽然"伟哥"在很多情况下可能是垃圾邮件的标志,但如果你是为辉瑞公司(辉瑞公司生产该药物)设立SpamAssassin,那么"伟哥"实际上可能是非垃圾邮件的标志。第二,坏人和好人可以使用相同的标准规则集。这意味着他们可以很容易地设计出可以绕过过滤器的消息。还记得写着"伟哥"的垃圾邮件吗v1@6r时@"? 事实证明,有1300925111156286160896种不同的拼写方法可以拼写"伟哥"。由于基于规则的SpamAssassin方法很脆弱,攻击者很容易绕过规则。输入启发式2002年,在创立Y Combinator之前,Paul Graham写了一篇很有影响力的文章,叫做"垃圾邮件计划"。这篇文章指出,基于规则的电子邮件过滤方法走上了错误的道路。相反,保罗认为反垃圾邮件系统应该基于启发式。具体来说,他概述了一种基于贝叶斯统计的方法,其中垃圾邮件过滤器可以基于"正常"的统计计算进行自学习,根据单个用户的反馈将邮件标记为"垃圾邮件"和"非垃圾邮件"

淘客吧-启发式和规则:为什么我们要建立一个新的旧W

2003年,在他的文章得到了压倒性的回应后,保罗组织了麻省理工学院的第一次反垃圾邮件会议。在那次会议上,许多公司将继续在很大程度上解决电子邮件垃圾邮件问题(至少从最终用户的角度来看是这样的)。保罗证明是对的,不管你现在使用的电子邮件程序是什么,几乎可以肯定的是,一个启发式引擎正在对垃圾邮件文件夹中的内容做出决定。我参加了麻省理工学院的反垃圾邮件会议好几年了,2005年,保罗邀请我做一个关于"蜜罐计划"的演讲,在很多方面,这是一个开源项目,是CloudFlare的最初灵感来源。在麻省理工学院的反垃圾邮件会议上,我第一次见到了johngraham Cumming,他现在在CloudFlare的团队工作,是WAF更新背后的主要架构师。稍后将详细介绍这一点,但首先介绍一下传统waf的现状。传统WAF在麻省理工学院第一次垃圾邮件会议召开十年后,传统WAF的原型是一个名为ModSecurity的开源项目。大多数商用waf都基于相同的基本设计。简单地说,ModSecurity有一个列表,列出了可能出现在不同类型的基于web的攻击中,每种攻击都有一个分数。当一个新的web请求到达时,它将通过ModSecurity引擎运行,每次命中都会增加一个分数,如果分数超过某个阈值,则该请求将被视为威胁。听起来很熟悉?应该,这和SpamAssassin使用的基于规则的方法相同。它也面临同样的挑战。很难在每个组织的基础上进行配置,这部分解释了为什么传统WAF的市场仍然非常小。此外,坏人可以访问标准规则集,这意味着他们可以轻松地绕过这些规则集。CloudFlare的WAF在CloudFlare,我们认为我们应该跳到故事不可避免的结尾,从一开始就基于启发式构建WAF。CloudFlare不是依赖于脆弱的规则,而是设计用来查看所有客户站点的流量总量,然后使用这些数据来阻止实际的攻击。我们还为每个站点定制了保护。例如,发布到stackexchange这样的站点上的SQL块可能不是威胁,而发布到烹饪博客上的SQL块可能是威胁。在规模上,如果有足够多的网站使用我们的服务,我们知道我们可以提供一个非常高水平的有效保护由数据和启发。这种方法已经奏效。我们有超过一百万的快乐用户报告说CloudFlare保护他们免受各种攻击。然而,在过去的四年里,我们也意识到规则是有一席之地的。其中一些纯粹是市场营销。众所周知,基于启发式的方法很难测试。从一个新的SQL注入站点发布的SQL注入和攻击行为来看,这表明一个新的SQL注入站点将不会通过一个新的SQL注入攻击系统来启动。这实际上没有错,但是当你试图运行一个测试来验证我们是否阻止了实际的攻击时,这并不是很有用。它也使像PCI这样的"复选框"安全审计的测试复杂化。除了单纯的测试,规则在适当的应用时也可以是好的。我们已经看到了一些新攻击将出现的情况,我们部署了一个规则来快速阻止它。虽然我们自己也有能力做到这一点,但我们以前从未允许我们的客户、合作伙伴(例如托管提供商)或可信的安全顾问也这样做。一切旧的都是新的我们花了6个月时间构建了一个传统的基于规则的WAF,以增强CloudFlare现有的下一代基于启发式的WAF。新的WAF默认包含在每个Pro和better计划中(第一个站点每月20美元,每个附加站点每月5美元)。在这个过程中,我们也借此机会重新审视了我们的一些安全系统是如何工作的,以便提供更多的可视性和灵活性。在接下来的几个月里,您将看到这一点越来越多地反映在我们的UI中。

淘客吧-启发式和规则:为什么我们要建立一个新的旧W

当我们开始添加一个传统的WAF时,我们的设计目标是构建一个完全用户可配置的系统,接受现有的ModSecurity规则配置语言,在处理完整的OWASP规则集或其等效规则集时,请求的延迟小于1ms,将在用户配置更改后不到30秒内在全球范围内进行更新,在规则触发时提供数据和反馈,并可扩展到每天处理数十亿个请求CloudFlare进程。我很高兴地说我们超过了目标。新的基于规则的WAF现在已经可用,并且增强了现有的基于启发式的WAF。在接下来的几周里,我们将发布一系列技术博客文章,介绍如何构建基于规则的WAF,该WAF快速、灵活,并且可以扩展以处理CloudFlare的流量级别。同时,请随时尝试WAF,让我们知道您的想法。