中国IDC圈1月12日,2015年1月7-9日,第九届中国IDC产业年度大典(IDCC2014)(http://www.idcquan.com/Special/idcc2014/live/)在北京国家会议中心隆重举行。本次大会由工信部通信发展司、中国信息通信研究院(工信部电信研究院)、云计算发展与政策论坛、数据中心联盟指导,中国IDC产业年度大典组委会主办,中国IDC圈承办,作为国内IDC行业规模最大、最具权威性和影响力的盛会,此次大会再创辉煌,三天的会议参会人数超过8000人次。

从1月7日到9日连续三天,工信部相关领导、IDC企业、电信运营商、互联网企业、设备厂商等各行业精英齐聚一堂,以"大变革 新生态"为主题煮酒论道。其中百度资深高级安全工程师程岩应邀出席本次大会并发表了"打造智能云WAF"的演讲。

22

百度资深高级安全工程师程岩

以下为程岩演讲实录:

程岩: 我这次分享分为四个部分,首先介绍一下我们的背景,其次聊一聊主流的云WAF,接下来分享一下百度智能云WAF,最后我们拥抱合作,拥抱所有的朋友跟我们一起来打造这样一个互联网的安全平台。

互联网其实在安全人的眼中看起来就像这一幅图一样,可能表面上很光明,但是在黑客眼中它就像这幅图闪电密布,没有一个地方是安全的,所以百度作为一个互联网的想建立一个很良好的互联网生态的公司,我们希望所有的站长或者所有甲方、乙方也好,都能够很安全的在互联网环境下生存或者发展自己。

所以我们先看一下来自于2014年CNNIC互联网发展报告,大家可以看到这幅图从2010年开始,我们国内的网站数量明显在呈向上的递增的状态。并且基于这些网站质量,这两年各种各样的云现在开始创业还是很疯狂,称之为泡沫,大家可以知道这一切网站质量绝对比2010年之前的网站质量高很多。这样好的发展趋势,我们百度或者是大家很希望看到,包括我们用户从中受益了很多,比如说滴滴打车天天给我们送优惠券,多开心的一件事情。

但是安全却成为这样一个发展下的拦路虎,因为我们曾经听过一些事件,比如说有一些同行的恶意竞争特别厉害,大家应该有一些甲方或者安全乙方应该知道的,就是相互竞争。第三个就是地下产业链竞争,我们先看域名,这也是同样一个报告,从2014年1月到7月互联网被黑的域名存在比较高的,没有真正下降过。看看刚才提到的地下产业链这样的例子,这一幅图,这是某某公司,首页看起来很正常,但是查看云代码这是一系列的问题,地下产业链寄托与它做盈利的事情,其实之前很多人分享过地下产业链的问题,我就不多说了。

百度在做什么?百度推出了云加速,我们百度云加速在做一加三。一是提供一站式网站安全加速服务,+是加速中小网站成长,繁荣互联网生态。3大家只需要三分钟就可以解决你的烦恼。我们这次分享的主题是百度云加速怎么防止你的网站被黑客攻击?

刚刚提到我们要防止黑客的攻击,通常情况下,我们现在大部分都是网站,所以我们议题成了怎么防止黑客的Web攻击,也就是说现在其实很主流的说法是云WAF是防止黑客攻击的城墙,就像一个盒子,这个盒子里面装着所有站长和用户有很多企业的内容,帮助它保护它的安全。

主流的云WAF架构是什么样子的?这是我大概画的一个草画,大家可以看一下,首先一个用户来了以后,他通过访问一个域名加速到更快的节点,这个节点上可能是一个Nginx.Nginx有很多模块,其中有一个WAF模块,解析以后如果你是好人它会问一下,如果你的用户访问在流量缓存里面,那就直接域名缓存,起到加速作用,如果没有我们帮他回原,察看原来的样子。

WAF内部逻辑是什么样子?首先一个请求来了,经过各种各样前端的处理,我们的WAF首先做一次HTTP的解析,这个解析有很多各种各样的Bparse绕过,因为解析的目的是我让用户,让我能够理解黑客或者普通用户访问被我保护的网站,解析他的请求,并且一定要跟他后端的Web server,我们企业网站他所部署的Web server上是一样的解析逻辑,这样不会有任何绕过。其次解析以后进行相应的解码,解码过后会进入相应的规则。这是通常的主流的云WAF很也可能是解析解码,然后进入规格级,但是有一些好的云WAF,在它回原以后,已经过来以后没有任何安全问题它还进行回原,回原以后做同样的解析、解码,做一些安全的校验,帮助用户站长或者企业防御互动。

主流的云WAF有这样的架构,我们要真正为用户服务,这样的方案是可以的吗?我们来看看WAF它作为一个访问用户与企业之间的桥梁,节点或者城墙。我们根本不了解用户,百度或者任何一家云厂商都有各种各样的站点介入,百度做搜索的,有百科、贴吧,几十个几百个产品线,我可以把所有业务熟悉一遍,我知道每个业务做什么,云的模式不一样,有那么多站点,这种站点我们不了解用户,用户不向我们反馈,我们怎么去客观的评价我们自己真的帮助接入我们站长防护了黑客?我们站长什么都不懂,他根本很难知道自己被入侵了,除非真的被人改了首页。之前被人报出来才知道自己被人黑了,我们如果客观自我评价,上千万条的普通日志,还有几百万,有时候一天两千万的日志,我怎么保证访问日志里面没有被拦截的请求。我拦截日历的怎么保证哪一项拦截不影响用户的。站长更关注我通过网站盈利多少,如果把所有请求拦住了,肯定黑客进不来,用户网站没有流量他根本赚不了钱我们是害了用户。我们如何去改进?

其实准确率和检出率这是一个永远很难扯清楚的问题,准确率高了检出率降低,我们做的是云WAF模式,我们不可能为每个用户定制规则级。如何自我改进这是很头疼的问题,基于上面的挑战我们在做什么?我们在想我们要做一个更好的WAF.百度有一句话文化,叫做"把事情做到极致",这句文化是我特别喜欢的,技术型的公司才会提出的口号。我们现在想想基于上面的挑战和我们的需求我们要打造智能云WAF.

首先回归WAF防御本质,第一我们觉得WAF应该真正防止的是有损攻击,有时候访问一个请求或者几个请求把机器关机了,这才是有损的攻击、请求。其次是防止有目的的攻击,比如今天有个小黑客他可能想绕过我的WAF,他去各种各样的社区找一个尝试,想法设法绕过我,这是有目的的,或者他想法设法扫描看看这个网站有没有漏洞,甚至他想办法利用这种漏洞,这是有目的的,有目的不一定有损,有损也有可能不一定是有目的,网上公布一个工具,用户随便扫一下,下了这个东西说不定把你黑了,这也是有可能的,我们真正防止有损攻击,有目的的攻击。而像那些有益的攻击,比如说站长可能用了某某公司的扫描器,这些扫描器的扫描其实在我们看来不应该被拦截,为什么?因为这是用户的正常需求。再比如天天有搜索公司诞生,以前是百度,以前是谷歌,现在是360、搜狗各种各样都有。这些爬虫都是机器行为,难道机器行为我们都要拦截掉吗?这也不可能。所以我们要防止这两种攻击。

基于上面两种思路,我们要想想我怎么能够识别出它是有损的攻击或者我怎么识别出它是有目的的攻击?回到安全的工作人员的入侵网站深度测试思路上,其实一个网站被攻击,或者不管有损或者有目的,都是一个人或者一个团体,这个人可能使用多个IP,一个团体一个人通过一系列的请求,在一定的时间里面,时间可能可长可短,最终攻击我们的某一个网站,被我们保护的一个网站。大家可以看到首先是一个站在被保护网站的维度,这个维度是目前主流云WAF做的,就是我针对这个网站不管你拿什么请求,我也不做分析,我直接通过黑白名单的方式拦掉。另外一种维度是很多没有做的,基于人的维度,因为基于人我才能知道这个人是不是有目的?

刚刚已经说了一下我们是怎么判断需要拦截什么目标,那需要拦什么?我们要怎么拦?因为我们是Web站点,大家在通过3G上网,我这个时候通过联通、移动、电信3G出去了一个请求,IP地址一样,我们通过Wifi来上网,IP地址一样。我们不可能说这个黑客攻击了我某一个网站某一个客户,这个IP地址多少,OK,这个IP我从此不让它访问我,这是不可容忍的。因为这是一个用户产品,不是一个内网产品,我们做企业内部安全的时候,这个IP、机器被人黑了,大不了把这个IP我加进去,等他重装系统我们放进来,但是我们对用户不可能这么做,我们首先考虑针对什么样的范围,其次考虑范围里面要提炼出什么样的特征?

我们范围说白了比较抽象一点全局的范围,有一个IP,我发现它是IDC的,我发现它天天在扫我,那这样的IP我可以说我发现了十天,一百天天天扫我,我可以全局上个策略封禁掉。大部分情况下做的是群策的策略。同样黑名单还是白名单?我们最重要拦截某个人,我不可能基于单独的维度来拉,我们必然是说需要有一定特征,其实任何一个动态的行为当然也有几个嘉宾朋友分享基于行为的挖掘,但是任何一个行为抽象成单独的HTTP请求其实就是没有行为的请求,所以说把这些行为拦截下来也是要靠一些特征,目前特征确实只能靠黑名单和白名单这两种方式综合利用,来最终使他拦截这样的攻击。

所以刚刚已经讲了一下我们的思路,我们再说明一下我们的解决方案,基于上面一些思路,我们讲如何分析一个请求被拦截,如何拦截请求?或者拦截接下来的所有请求?我们怎么在WAF系统上用?WAF大家应该知道,尤其是云加速,各个加速厂商,在安全的WAF,它有一点很重要,首先我们是加速,我们不可能为了WAF把很多很复杂的逻辑写在WAF模块里面,让每一个请求过来以后为我们延时了一两秒,0.1秒都不能忍受。大家可以算一算,一秒钟如果有一亿个请求,那么相当于一百多天,相当于我们浪费了一个一百多天的时间,我们不可能为了这样来造成我们企业访问速度降低。所以我们要考虑的是第一个,就是WAF其实只是一个拦截的平台,它只是知道要拦什么?它要追求时效性和性能,必然它只能做简单的操作,所有的分析工作应该从WAF模块里面抽出去,而分析的模块会分析所有的数据。通过数据的挖掘或者学习,我们会动态的说我们发现我们要被拦截,可能这一秒这个人没有被我拦截掉,但是任何一个黑客攻击是阶段性的,不可能通过一个请求造成我们的客户,我们接入企业欧的网站直接被入侵,很少有这种情况发生。而且即使有了,我们可以让这个网站被黑了,其他网站不会被同样的方式入侵。我们通过这个方式学习到以后,前几条信息没有被拦截,后几条请求,我们通过启发的时候,用另外一种方式,我们发现有一个新规则,有一个新的的策略生成,是生成静态的规则下发到WAF模块里面。

这是我们百度的智能云WAF架构,云主流架构的区别就是,在WAF模块上有API模块,把所有分析模块,刚刚提到所有的任务啊,耗性能有损耗的对实时性要求不是特别高,放到WAF的分析模型里面。WAF首先它自己有一系列静态规则,因为像杀毒软件一样,静态的规则永远都是最高效的方式。所以我们也有准确率特别高的,或者动态生成的规则通过API方式在WAF模块上直接生成相应的规则代码或者特征库。

看一看WAF分析模块怎么做的?首先,这里有一个WAF的API,通过他去上线静态规则,知道拦谁,什么样的范围,拦截什么样的特征。

其次,在分型模块之外,我们充分利用了百度自有的资源,比如我们有零散的系,百度机器学习很牛,之前说一个行式语音识别还超过了谷歌。大家关注百度知道百度自己的人工智能,拒收人工智能的水平达到了三岁孩子的水平。这些都是我们百度已有外部资源的能力,同样在模块内我们要开始分析,数据是最好的分析对象。我们有了这些数据中心,会把访问日志拿过来,可能很大,超过或多T.会把攻击制拿出来,不是很大,但是不少。还包括我们称为密(WAG),这个日志其实就是说,现在去了云WAF里面访问的东西可能不一定是真正有效的东西,我们可能会故意设一些点,让大家难采。

他把这些日志我们放到数据中心里面。首先这里面有一个扫描器,会从数据中心里面提取日志,我去做一些操作。机器学习,我们有一些模型,会对他做一些相关的处理。最终还有其他的我这里没有列出来,列出来以后我们数据中心的数据是成为一次去躁后的数据,或者是更有效的数据。在这个数据执行之后,会有一些相关的模型。比如这里有三个模型,A、B、C模型,从数据中心里面取数据,基于模型去学习,得到一些相应的结果。得到这些结果以后我们就有一个真正的分析模块,这个分析是基于行为和关联性的,从这个模型结果产生的中间结果里面抽取一些数据,如果有需要他会从数据中心抽取相应的一些数据,这样可以分析出来比如今天你绕过了我,一个小时之后这套规则我需要加上去,这个时候我发现这个人他正在绕我,我就让你用,你越来绕我的WAF,越绕不过去,等等各种各样的业务模型躁点,等会儿我会跟大家分享一些模型。

在这样一个架构下我们拿数据说话,分享一些模型的效果,首先第一个,既然提到了机器学习,就提一下机器学习的模型,另外一个产品是专门做机器学习的一些大数据分析引擎的。我们举一个例子,就是异常数据的挖掘,并且生成白名单模型。这个模型做两件事,一个是白名单,一个是挖掘一些异常数据。

我们可以看一下这张图,它的结果,总共是两千多条结果文件,通过访问日志,发现云加速有两千多条请求是有异常的,有异常以后我们发现这条绕过了我们WAF防御,我们可以通过它学到,我们有条规则被绕过去了。同时这儿还有一些尝试,这也是一个异常,我们不一定把它规到里面去。同样还有BL,XS的攻击计算,我们发现这个攻击计算是不是需要加?通过这个模型准时的通过白名单的方式告诉我们,所有访问日志里面哪些异常数据,哪些请求异常,各种各样的特征都是异常的。我们有了这个数据。

我们看一下另外一个模型,刚刚有一个朋友提问的时候提到了多个IP站点,换一个IP绕过我们,这些策略怎么生效?所以我们不可能基于IP做任何策略,只是做一部分。,Cookie,IP最终目的是为了定位一个人,我们以ID举例,是一个攻击源,可能你们是十个人一起来渗透我的网站,对我而言你就是一个攻击源,一个攻击ID.这个时候通过模型识别出来结果,有一个221号的攻击源,总共有542个IP,这些攻击识别出来以后,IP相对很难被找到,我可以用代理,但是很难搞一个假的IP给你。

我们发现今天日志里面有一个攻击源,他来自于542个IP,一个人用了542个IP来攻击我们,我们看这里识别出来的IP WAF.首先是101.2265.166这个段,这里还有167、168,甚至现在这里还有一个111.161,这里还有一个182的,我们可以把完完全全人眼看起来没有任何关系的IP识别为一个攻击源。这个模型的作用已经讲过了,为了把黑客聚合掉。

我们下一个模型,对于被聚合的目标进行一系列的识别,是人还是机器还是扫描器,还是普通的用户?我们举一个人机识别扫描器的模型。我们发现很吃惊的一个结论,其实针对互联网的攻击,各种各样的异常请求,有99%都是扫描器请求,我们确认过这个准确率,怎么有那么多请求都没有人攻击呢?天天网上有这么多人炒作安全系统的人,怎么没有发现那么多的攻击串。但是我们确实发现了,有99%的攻击串来自于扫描器,很少有属于人的真正的攻击行为。其实百分之九十九点九几,超级高的一个值。

我们看一下刚刚识别出攻击ID为222对应的日志,我们发现五百多个IP他只访问了一千七百个请求,很吃惊。我们后来了数据没有任何丢失。这一千多个请求里面被我们识别出了扫描器。我们看一个请求的一些特征。首先是一个串,他伪装成IE9.0的方式来扫描我们,这个时候伪装成360Smada来扫描我们客户,我们后来发现,这个串的大小写被他们写错了,如果有一些字母大小写转出来这些的话,大家会发现是正确是某某的WAP  Scan.这是我们分享的第二个模型。

第三个模型,我们防御的本质是一些有目的,有损的,不要去防御一些友好的扫描。我们怎么去判断它是不是有损的?我们会根据黑客的攻击行为或解析,这是一个SQL server的例子,这是我们绿网自己搭的测试环境,这个模型已经被我们实施了,有些人可能遇到过。首先是一个hata mi.com正常网站,看原始页面什么样子,开始去访问不存在的页面,响应内容为空。第三个用一个攻击串读取我们的版本,我们认为读版本号无所谓的。但是他读了版本号以后读取我们数据的时候被我们拦截掉了。这些不是很牛。用16G的方式做一些绕过,但是都会拦截。但是当他写入一个注释,这行是错误的语法,对我们而言它不会有损的,他虽然有目的,但是不会再这个模型里面去体现。你即使这个串没有被拦截,用户的被我们保护的网站永远不会受影响,那OK.

再看最后一条,黑客通过注释的一些解析,这个TRAP在我们很多WAF通过多层嵌套来攻击我们的时候,我们成功的知道这个TRAP语法是可以正确的,这个时候我们把它拦截掉。因为时间关系,还有很多模型就不多说了。

最后说明一下,我们希望跟在座的IDC厂商、企业用户,一些安全公司,我们希望能够开放共赢,共建繁荣的互联网安全生态。

所以我们下一步计划是第一个,其实WAF只是我们构建的智能安全防御生态圈的一个环节,因为WAF攻击很多,所以WAF是最容易的一件。我们真正要做的是构建智能的安全防御生态圈。

第二个(APA)2015年底的时候我们会公开智能WAF的公测,提醒大家绕的时间越长,很有可能越绕不过去。

第三个对于百度而言,大家知道我们的战略,我们希望拥抱所有安全厂商,拥抱所有中小企业,拥抱所有IDC,我们来共同建设一个安全的互联网生态,所以说未来在这些核心的分析的一些相关数据,我们其实将来会开放这些核心的数据接口,开放真正的安全生态圈,打造安全大数据和安全人工智能的领域,需要用我们技术帮助更多安全厂商发展,帮助IDC做安全,帮助企业防御好自己的网站,不要被炒作迷失了自己的眼睛,这是我的所有内容。

关注中国IDC圈官方微信:idc-quan或微信号:821496803 我们将定期推送IDC产业最新资讯

查看心情排行你看到此篇文章的感受是:


  • 支持

  • 高兴

  • 震惊

  • 愤怒

  • 无聊

  • 无奈

  • 谎言

  • 枪稿

  • 不解

  • 标题党
2017-07-19 09:16:00
云资讯 微软和百度就阿波罗计划达成合作,Azure将为中国以外的市场提供智能云服务
在7月5日召开的百度AI开发者大会上,百度集团总裁兼COO陆奇宣称“Apollo是最强的自动驾驶生态”,背后的PPT上共有50家Apollo合作伙伴初始合作伙伴在列,其中就包括微软。今 <详情>
2017-07-18 09:52:00
大数据资讯 AI全新布局下的百度投资策略Facebook化,是不谋而合?还是野心勃勃?
一个细节之外的东西——所展露出的百度的全盘布局及投资的新变化。 <详情>
2017-07-17 16:48:04
大数据资讯 《福布斯》:百度欲借AI增加收入来源
据美国《福布斯》杂志7月16日报道,百度由核心业务转向人工智能,不仅为前沿研究,更重要的是带来新收入增长点。 <详情>
2017-07-17 15:30:58
云安全 有了防火墙、IPS、WAF 还需要数据库审计?
“我们的网络安全系统中已经有了Web应用防火墙、网络防火墙和IPS,难道还需要数据库审计吗?”很多人有这样的疑问,网络中有层层防护,还不能保护数据库的安全吗?是的,因 <详情>
2017-07-14 10:33:00
市场情报 陆奇内部讲话:All in AI的百度需要什么样的工程师
陆奇:如果把深度学习真的要想彻底,必须把物理重学一遍,把生物学看一遍,再把进化论再看一遍。因为深度学习跟这些东西完全相关,自己肯定想不清楚,要彻底想清楚,必须学 <详情>