本篇文章6459字,读完约16分钟

长汀科技李长治:常规保护系统自动旁路与下一代保护方案 会上,长汀科技高级研发工程师李长治出席了国际数据中心服务大会,并在当天的安全运行维护分论坛上发表了“常规保护系统自动旁路及下一代保护方案”的主旨演讲。 中国国际数据中心圈12月28日报道,第11届中国国际数据中心行业年会(IDCC2016)于12月20日至22日在北京国家会议中心隆重举行。在中国信息与通信研究院、发展与政策论坛和联盟的指导下,本次会议由中国国际数据中心行业年会组委会主办,中国国际数据中心圈主办,得到了众多媒体的大力支持。

长汀科技李长治:常规保护系统自动旁路与下一代保护方案

作为中国云计算和数据中心领域最大、最具影响力的标志性事件,IDC中国行业年会已经成功举办了10次。本次会议的规格和规模都是“上一层楼”,吸引了全部现场人员,其影响力涵盖了数据中心、互联网、云计算等所有领域。

会上,长汀科技高级研发工程师李长治出席了国际数据中心服务大会,并在当天的安全运行维护分论坛上发表了“常规保护系统自动旁路及下一代保护方案”的主旨演讲。

李长治,长汀科技R&D高级工程师

以下是这次演讲的文字记录:

大家好,今天与大家分享的话题是关于责任保护系统的全自动旁路方案,并提出下一代保护方案。简单介绍一下你自己。我来自长汀科技,我的名字叫李长治。之前,我在腾讯安全应急中心负责应急响应。我于2015年加入长汀科技,现在从事与长汀雷驰威发产品相关的工作。

让我们先来看看WAF。根据WAF的现状,业界有两种方案来制造这种东西。一是传统方法。在一个普通的规则系统中有许多规则。当一个请求启动一个规则时,WAF中的规则将在服务器的后端启动并被终止。新方案基于一个没有规则的不规则系统,匹配一组规则文本。以这种方式,可以实现相对高的准确度和召回率。目前,从2014年底提出该方案到产品登陆大约需要两年时间。我们是世界上第一家提出这种外部攻击检测方法的公司。到目前为止,业内许多制造商都同意我们的方法。2015年,我们向全世界发送了一个主题,也是关于这件事的。当时,我们的同事也认为这个计划很好。可以看出,阿里云前几天发了一篇文章,说阿里云的WAF云盾已经做了一些相关的工作。上周,阿里云还发布了一个基于这一规则的新的晶圆片测试系统。传统WAF使用的方案相当陈旧,并且有很大的被绕过和攻击的可能性。要解决这么多问题,必须提出一个新的思路,以及如何建立一个相对新的外部检测流程和方案。

长汀科技李长治:常规保护系统自动旁路与下一代保护方案

让我们看看传统的WAF是如何制作这种东西的。首先,传统的晶片接收用户的请求,并看到这样一个UIL。首先进入晶片后,这是晶片的整个内部执行过程。它将首先有一个清晰的流程模块。在这样一个UIL被分析后,它可能会进入上述情况。它有一个Q参数,这个Q参数的内容是这个东西,这个东西仍然是编码的,普通用户不能使用它。晶圆片将在下一步进行输入标准化。输入标准化模块可以将其理解为后端的解码标准,但在传统的WAF中,它不能很好地实现解码功能。从结果来看,当它不实现一些常规解码功能时,它将使用一系列旧的替代方法。例如,当它看到这个%3C时,它会用一个较小的数字来代替它。通过这个方案,它将把一些上、小写问题转化为小写问题。在通过这个输入标准化模块之后,这个请求将会得到类似于在输入标准化方面列出的责任标签。经过这个过程后,WAF将在最后设置一个匹配规则。传统的WAF将有一个传统的规则系统,许多规则和特征将根据黑客的攻击特征进行抽象。当一个请求在内部传递某个东西,而电脑达到某个规则时,我们就认为它是一个攻击。我们可以在这里看到标准化输入,在那里看到规则集中的第一个匹配规则,我们认为这是一个匹配攻击的规则。当WAF知道请求现在已经被匹配时,WAF说你是一个攻击,并且最后它将执行由管理员配置的相应策略,并且可能杀死你或者记录一些相关的日志。这是流量分析和拦截的整个传统WAF过程。

长汀科技李长治:常规保护系统自动旁路与下一代保护方案

让我们看看试题。编写代码的每个人都应该知道这是一个匹配括号的问题。由于传统的WAF使用正则表达式来抽象一些规则,它如何使用正则表达式来描述这些规则呢?如何编写正则表达式,使您编写的正则表达式能够匹配括号要求的规则?如何使用正则表达式来描述带有n a和n b链接行为的规则?使用正则表达式根本不能做到这一点。当攻击符合这样的特征时,如果有5个A和5个B,那么正则表达式就没有办法匹配这样的特征。当一个攻击符合这样的特征时,你就没有办法使用传统的WAF组合系统来拦截这样的攻击。这是一个非常大的弱点。

长汀科技李长治:常规保护系统自动旁路与下一代保护方案

让我们来谈谈可再生能源和燃料电池。RE是正则表达式,FA是有限自动机。他们之间有什么关系?让我们先看一些图片。

这是一个相对简单的正则表达式,这样的正则表达式,我们画一个正则表达式流程图是这样的,这是它的起点,从起点开始它可以匹配一个大写h a,或者no,后面是无限循环小写h a,最后可以匹配一个或者多个或者no感叹号,这样整个规则就可以用这样的正则表达式来解释了。把它画成一个有限自动机是什么样的?你可以在这里看到,首先,它的起始状态没有任何东西。它接受大写字母H和小写字母H,并且一直有一个循环。有两种结束状态,5和6。当您接受小写字母A时,您的自动机可以终止或接受感叹号。在这种情况下,你可以通过判断发现,虽然这两个图显示不同的方式,他们表达完全相同的意思,所以你可以得出结论,正则表达式和有限自动机是完全等价的,可以互相表达。

长汀科技李长治:常规保护系统自动旁路与下一代保护方案

另一个涉及的概念是CFG,它将这种正式语言分为四类,根据表达能力的强弱一次一种。类型0是一种包含完整图片和文本的语言,类型1依赖于上下文,类型2独立于上下文,类型3是常规语法。例如,类型3语法的表达能力最弱。它能表达的语法类型非常有限,而且非常少。我们经常使用的编程语言都属于上下文无关的语法,比如普通的C语言和java,都属于上下文无关的语法,其中一小部分使用上下文相关的语法。如果是这样的话,现在看看可再生能源和天然气之间的区别。射频使用常规语法,通用语法使用上下文无关语法,通用语法可以表达比常规语法大得多的语言类别和规则集。我们还知道,每种形式语言的语法都可以用自动机来表示。一个自动机可以用来匹配这种语法,一个常规的语法叫做FA,一个上下文无关的语法叫做PDA下推自动机。

长汀科技李长治:常规保护系统自动旁路与下一代保护方案

这样,你就可以看到这样的图片。蓝色圆圈是稀土的整个上下文无关的语法描述语言的集合。你可以看到由正则语法描述的一组语法和语言。CFG所描述的语言可以包括稀土描述语言,并且比稀土描述语言大得多。

这样,我们就想到了一个基于常规保护系统的明显弱点。现在,像行业中的许多安全软件一样,当它匹配一些攻击特征时,它使用re来描述一些常见的特征。然而,如前所述,CFG是常用语法,所以会有一系列的问题。SQR语中最早存在的语法组合是循环语法。现在有三种情况。一种是只保证稀土,不含氟氯化碳,或重叠,或只含氟氯化碳,不含稀土。这个防御系统分别代表什么意思?当晶圆片规则库使用可伸缩性时,重叠部分可被视为晶圆片攻击。只存在稀土的地方不包括CFG,整个块是假阳性。另一个相对较弱。从图中可以看出,这两个圆的重叠部分非常小,将会有大量的假阴性和假阳性。

长汀科技李长治:常规保护系统自动旁路与下一代保护方案

这样,我们就可以把传统的基于正则表达式的规则集列出来,并列出它的热点。首先是规则的维护。在基于正则表达式的晶片被取出后,并不是说晶片永远不会被更新。事实上,它的规则库需要有人随着时间和事件来维护。然而,维护过程非常费力。第二,作为一个人要维护这么大的规则库,这是不太正确的。这是一件吃力不讨好的事情。第二,根据刚才的数字,我们得出的结论是,在这种事情的影响下,会有大量的假阴性和假阳性。第二,正则表达式必须匹配像CFG这样的语法。正则表达式当然不能。需要大量的正则表达式集来完成它的语法。在大量正则表达式集合之后,WAF的性能会越来越差。此外,您可以根据攻击的特征匹配流量和攻击。这样,您就无法在某些攻击发生之前防止未知的漏洞。当采用新的攻击方法时,传统的WAF无法抵抗。第二是如何自动化旁路算法。我们可以写一个程序。程序运行后,我们可以调试WAF。晶片位于远端。通过一系列的动作,我们可以得到整个正则表达式规则库。这实际上是一件非常敏感的事情。

长汀科技李长治:常规保护系统自动旁路与下一代保护方案

每个人都知道WAF的核心是规则库。当然,当规则库被其他人占用时,他可以很容易地手动找到并绕过它。他会复制你的东西,并复制一套新的东西。

我们如何自动绕过?首先,为什么它有自动旁路?首先,传统的WAF缺乏对不同协议、不同代码和不同内容的支持。现在外部内容多样化了。对于不同的外部应用程序,它将扩展许多不同的攻击。在许多不同的攻击下,传统的WAF很难支持这么多东西。如果它不能很好地支持,就很难识别里面的攻击。其次,传统的晶圆片受到长度、字符集、参数类型等条件的限制。第二,晶片没有及时建立和更新。它需要手动和及时地匹配和维护一些规则库。当你的工作不是很好或不及时,当一种新的攻击爆发时,你的网站将受到很大的威胁。

长汀科技李长治:常规保护系统自动旁路与下一代保护方案

在这种情况下,为什么WAF有这样的旁路?我们发现了两个基本原因:第一个特征是不完整的,因为特征是不完整的,传统的WAF需要手动更新并持续维护这样的规则库。其次,正则表达式是有区别的。RE希望匹配上下文无关的语法。你只能无限接近它,而且永远不会相等。当你想表达的语法无限接近它时,你能表达的语法组合比它相同时要大得多,导致你的网站出现大量的误报。综上所述,传统的晶圆片不能同时达到极高的准确率和召回率。

长汀科技李长治:常规保护系统自动旁路与下一代保护方案

我们会想出办法绕过这种情况。让我们以SQL语言为例,说明SQL语言所使用的语法是CFG。正则表达式和CFG描述的语言是有区别的。差异集中有两个部分。首先,它没有报告,并继续报告。我们用什么方法?当我们找到一个存在点时,我们可能会猜测使用什么样的敏感语法来定位这个点,并且我们使用CFG来有效地编码,使得RE不能完全匹配CFG。当这种情况发生时,恭喜攻击者找到了一个通用的WAF旁路方案。

长汀科技李长治:常规保护系统自动旁路与下一代保护方案

这是我从MySQL官方版本5.7中找到的语法规则。我们可以看到,刚才选择的是一个表,后面跟着WHERE,后面跟着一个叫做where-condition的东西。因为里面有这么多东西,这表明有假阳性。如果是这种情况,最简单的解决方案是将CFG提升到代码where-condition,这是一个表达式。我们可以写1+1或(1+1) 2。

我们想做的第一件事是知道CFG匹配SQL,但是我们的晶片使用的是RE。当这两者发生冲突时,最后发现的是一个具有这种特征的语法判断,它存在于CFG中,但不存在于由WAF匹配的RE描述的语言中。当这种情况发生时,就会出现这样的语句,这是典型的晶片旁路。

对于其他攻击,使用该方案更为有利。因为其他语言在理论上更加灵活,因为我们知道这种SQL语言不能执行,就像许多普通语言提供的图像函数一样,你将传递给它一个字符串,它将执行,但是SQL并不存在。第五,这意味着会有更多的变形,而弦变形只是其中之一。这两个问题的根源是其他语言,它们的语法结构比SQL更灵活。

长汀科技李长治:常规保护系统自动旁路与下一代保护方案

说了这么多,如何自动转向WAF旁路?在《电灯泡》中,一个美国人提出了一个话题,他说他的团队已经制作了一个叫做《电灯泡》的自动化工具。这是一个寻找WAF、浏览器或数据库之间差异的系统。它将寻找WAF和浏览器、MySQL、WAF和WAF之间的区别。如果你发现了WAF和浏览器的区别,或者WAF和数据库的区别,绕过它。

传统的WAF有一套明显的方案,允许攻击者识别、窃取和绕过它。你怎么绕过这个东西?

两年前,我们提出了一个新方案。我们使用词汇和语法分析来分析整个交通流。人工智能评分后,通过机器学习模型学习一组匹配方案,得到一个完整的模型。通过这个模型,我们得到的结果是,该模型可以得到一个口头攻击请求,可以深入挖掘其中的攻击片段,看看它是否是一个完整的攻击,如果是,我们可以将其标记为恶意请求。

长汀科技李长治:常规保护系统自动旁路与下一代保护方案

今天,我们将讨论晶圆片的三个常见指标。如何判断它是一个好的晶片,我们给了它三个更明显的指标。准确度、销毁率和准确度。当一个WAF有一个高准确率后,它显示有少量的漏报,召回率显示漏报的数量。如果一个晶片有大量的假阳性,它的影响是你把网站放在防御上,但你将对互联网网站有很大的影响。召回率指的是丢失的报告。黑客可以用普通的绕过方法绕过你的晶片。你已经在网站上放置了WAF,但没有形成防御系统。检测性能对背面的影响是整个网站的速度是否在部署了WAF后变慢了,在我购买了这样的东西之后,我的网站请求量是50KPS,但是你的WAF只能阻止100,000个单位,我需要购买5个单位,但是另一个WAF可以支持,我只需要购买一个。

长汀科技李长治:常规保护系统自动旁路与下一代保护方案

在保证准确性时,WAF的特点是什么?第一个是语法分析,传统的WAF使用的是RE,新的防御思想使用的是CFG。可再生能源和天然气根本不能等同。可再生能源只能无限期地接近CFG,但它永远不能等同。当无限接近它时,现有的语言匹配程序集比CFG大得多,因此会有大量的误报,这是传统的WAF所不能做到的。采用该方案后,整个晶圆片的检测精度将大大提高。第二,语义分析。在语法通过我们的CFG后,我们认为您的请求中存在攻击,但是语义分析可以准确地识别是否存在语法碎片。如果是的话,我们将对整个请求的恶意进行评分。评分结果意味着该攻击或该请求在请求中是恶意的。当一些小黑客攻击一些网站时,他写的一些语言写得不正确,没有必要给这些东西打分,因为它无法将任何数据传输到后端。第二个是评分模型。新一代的防御思维使用机器学习思维。它将根据大量的交通规则库和所有的东西进行学习后匹配一个模型。这种模式实际上非常可行。在我们目前的结果中,我们可以看到准确率和召回率都在99%以上,而传统的晶圆片很难达到80%以上。

长汀科技李长治:常规保护系统自动旁路与下一代保护方案

第二是召回率。如果我们这样做,我们需要写出一亿个完整的引擎。我们可以根据流量特征准确匹配流量中使用的代码和变体。在解码和变形之后,我们可以准确地提取这个工具或者这个请求中的哪些片段使用了什么攻击。其次,语法分析的使用也是召回率增加的根本原因。这和刚才提到的是一样的,因为RE和CFG不能完全等同,所以我将使用这样的RE,它相当于SQL和GS,深层CFG。我们能匹配的语言和它能匹配的语言没有区别。只要你能使用SQL来匹配攻击片断,比如我们这边的引擎,你也能完全匹配它。

长汀科技李长治:常规保护系统自动旁路与下一代保护方案

最后是检测性能。为什么说使用这种方法后,晶片的检测性能会大大提高?CFG只需一套语法就可以解决所有问题,但是要让RE和CFG无限接近,您需要编写许多正则表达式来完成这些事情。正则表达式增长后,直接效率不会提高。也许一些WAF制造商使用合并的引擎将正则表达式压缩在一起。这样,就存在这样一种情况,即您无法准确、灵活地随时删除正则表达式规则。我们以前试过这种方法。我们可以看到,当一个平均长度为100字节的正则表达式组合在一起时,当有40个这样的正则表达式时,它生成的语法和规则已经可以达到一百万行C源代码的规模。在编辑过程中会非常痛苦。如果您的WAF中有40个这样的规则,并且您现在想要添加一个,那么您将需要几个小时来重建一个引擎。事实上,在传统的WAF中,正则表达式规则的数量远远超过40个。如果你用这个方案来灵活地删除一些规则,效率会大大降低。

长汀科技李长治:常规保护系统自动旁路与下一代保护方案

这就是我列出的传统晶片和新晶片的流量检测的实现复杂性。可以看出,传统的WAF还有一个M,为什么还有一个M。事实上,新的WAF也有一个M,但是它的M总是1,但是旧的WAF有数百甚至数千个M。当我们分析一些相对较大的防火墙时,我们可以发现其中实际上有数万个规则。当n和l完全相同时,使用新方案的效率是旧方案的数万倍。

长汀科技李长治:常规保护系统自动旁路与下一代保护方案

在此基础上,提出了一种新的晶片检测方法。它在准确率、召回率和检测性能上完全可以与传统的WAF竞争。它甚至可以比传统的WAF表现更好,好很多倍。

这是长汀科技根据一种新的WAF拦截思想制作的一套外部应用防火墙,也使用了刚才提到的这些思想。谢谢大家!

标题:长汀科技李长治:常规保护系统自动旁路与下一代保护方案

地址:http://www.yunqingbao.cn/yqbxx/2235.html