11月14-15日,2017全球家庭互联网大会(GFIC)在上海举行,会议吸引了500+企业、3000+专业听众参与。在15日的GFIC亚太CDN年会上,网易云信息安全部技术总监沈明星先生发表了题为《网易云易盾 DDoS 防护实践》的演讲,现场对网易云抗击DDoS方面的一些演进技术进行了分享。
图为:网易云信息安全部技术总监沈明星
面向互联网/互联网+的场景化云服务平台
沈明星表示,从传统IDC架构像互联网的云架构严谨的品牌,网易云提供基础的laaS云计算基础设施的架构,还有云安全。网易的业务非常广,网易的游戏排名第二,在国内仅次于腾讯,包括邮箱,云音乐,考拉海购,这些在电商,泛娱乐这些网易也在布局。这些业务都承载在网易自己云上面,网易会逐步把自己云上面的积累开放出来。在云安全这块,随着云的开放把内部安全的能力往外开放,也包括了DDoS,像内容安全一些文本图片,像音频视频的一些内容的审查和过滤,还有像移动端的APP加固,这一系列的能力。
DDoS在整个行业越来越多,去年发生过一次很大的美国的域名被攻击事件,导致整个美国大半个互联网全部沦陷掉。从网易云的实践来看,以下可能是被攻击的重点。首先是政府,攻击政府可能出于背后的政治目的,比如说国家重大事件的时间节点,也可能会攻击政府的站点。其次是金融,比如说互联网金融以及很火的现金贷的业务。第三则是游戏,游戏是传统的被攻击对象,尤其是在游戏刚刚上线时,非常容易被攻击。最后一块是电商,有的攻击是针对电商平台,现在在电商平台上入驻的商家之间导致的DDoS攻击,后果就是轻则被攻击的对象直接失去服务能力,业务中断,更严重的会导致整个IDC不可用,堵住整个IDC的带宽,在这方面,网易也有躺枪的经历。
四大步骤强化DDoS防护
沈明星接下来介绍了网易云如何做DDoS防护。他表示,首先第一步网易云会对自己的服务器做一些加工,对一些TCP协议层的参数做调优,增强单台服务器的能力。一般网易云业务需要监控资源的使用率,当资源达到一定容量的时候要有扩容的准备,如果在资源本身达到70%,80%时还不扩容,一但有攻击,任何清洗和防控不能保证百分之百的挡掉。
除了自身服务器的加固之外,第二个阶段是接入运营商侧的设备,即采购上游的清洗能力,并向下游的服务商提供这个能力。由于这个设备是厂商的,跟下游联动会比较麻烦,网易云下游攻击会通过应急相应的流程,通知运营商来做封堵,开放性API也存在一定问题,流程会比较长,这样会导致业务受到影响。第二个就是网易云的检测往往是在下游的,一旦上游运营商做的话,其实我们会发现,就是说我不知道攻击什么时候停止了,只有当供应商说停止了之后,才能放出来。第三个是采购供应商的设备,现在对于三层四层网络层攻击的效果还是可以,还是不错的,对于一些七层CC层的攻击,如果这个效果用下来不是特别理想,也会导致下一步的计划。
第三是网易自研的 NDS 抗D架构。首先,在入口对所有流量分光器,进行流量的分光拷贝,然后分到Detecter设备,做全流量包分析。从一些简单的协议,断口,业务,IP,这些最简单的去统计,其实Detecter,还有离线的去运用分析。一旦发现DDoS攻击,会通知Manager模块,通过下发到NDS,把攻击的流量牵引到NDS上,然后再回收到服务器。这是在网易云机房内部署的一套防护集群跟方案,然而它也有一个缺陷,因为所有的流量都是在本地机房进行清洗,首先它的使用方前提就是必须把业务托管到网易云的机房里面,这是一个限制。其次是整个网易云业务再怎么清洗,带宽还是有问题的,如果带宽堵塞,再怎么清洗都没有用处。
第四步是建立一个高防中心,高防中心跟网易云独立,是第三方超大出口的机房,里面放了网易NDS设备,主要针对三层和四层流量进行清洗。在它后面又加了一个较大的Nginx,主要做NDS的卸载,防止七层的攻击,把很多的逻辑卸载的Nginx这一层,通过把所有的流量从第三方机房绕一下,来保护后端的IDC机房。不管用户在哪里部属,通过网易高防做一个转发,所有的流量在互联网上都可以通,进而取消限制。这样可以保护网易自己IDC机房的出口,而不会在单个机房被打的时候,导致出口堵死,如果IDC出口比较小,只有40,80的话,很容易由于单个用户被打导致整个机房不可用,因此在某些情况下,一定要把某些拉到黑洞里面,才能保证可用性。
在设计NDS的一些可用性时,沈明星表示:“我们是基于一些架构而不是专用的芯片,我们现在小包是一千万,大概有1000万+PPS,流量40G可以跑满。我们带宽扩的时候,直接仍到带宽上直接可以用,支持水平扩展。然后支持自定义规则,我们基于基层的CC攻击,传统的设备厂商这块上面效果没有我们自己研发好的相比较一个点,CC攻击后面讲到会基于一些信息库,我针对整个大数据后排的数据,网易其实有一系列安全的产品,在安全产品接入的用户中间会去收集和激烈这些信誉库,这块对于我们防止CC攻击,掌握一些主端的机器非常有好处。我们加了一条自定义规则,我们现在还在手机一些常见CC攻击的一些特征,把它加到特征库里面去,这种方式我们发现类似于是一个黑名单,这种方式维护起来比较麻烦,好处就是做一些应急响应的时候特别有用,如果有的时候特别怪,就加一个黑名单一个规则,立竿见影。
四大特色功能 多层次立体防护
整个NDS大概立体的层次主要分为以下几个方面,首先是静态动态的过滤,有黑白名单,还有ACL过滤,还有TCP状态机验证,还有畸形包的过滤。其次是客户端真实性检测,像传统像以前的小包往往会用一些假的IP,用SYNCookie的验证可以防止大量资源消耗掉,像RESET验证,TCP反弹验证和TTL验证等等。还有就是很重要的特征识别,可以通过特征在任何层次上编写一个插件,网易有总结出来的插件库、应用层包括传统的IS的反射,这个平时不太敢开这个开关,因为现在这块东西传统就是对于IS其实是非常好的,但是越来越多的应用就是搞的APP端,现在都是移动端的天下了,对于JS的话误杀会比较多。HTTP指纹证件都有一定的顺序特征,这个做这个验证。信誉库验证比较基于IP,如果这些前面这些措施,过滤发现80%,剩下20%还是会过来,网易会采取一些限速的手段。
同时,沈明星还对特色功能做了简单介绍,首先是基于Intel DPDK平台和hyperscan匹配技术的高性能平台和传统政策表达式的匹配,有时候会匹配包的某一段特征的时,比传统的提升50%左右。
其次是IP 信誉机制。首先网易有自己的安全团队,也在收集网络上的一些僵尸网络,主要是僵尸网络和IP地址。网易会根据活跃时间和同步计算,来实时更新产品IP库,在网易集团内部会共享IP的信誉库。
另外还有易盾的反垃圾业务,像一些图片文本、色情类,涉黄涉政类和广告类,很多这种人用的IP都是一些代理或者受控的一些主机,这个IP一旦共享之后只要把这部分IP拦掉就会有非常效果,同时邮件的反垃圾系统也会共享这些数据,包括验证码和反作弊系统,其中反作弊系统更多是针对一些活动,比如在注册时防止批量的垃圾注册,登陆时防止撞库等一些行为。还有防止一些抢包,秒杀等行为,都需要一些大量的真实IP来做辅助。“网易现在还是掌握这些数据就那么多,当然也在不断的发展,我们有这个过程不断重复激烈,用到我们这个里面来,我们发现把这个策略用到7层的CC攻击,就是传统的设备厂商在这块没有我们做得好,就是这个原因,可以结合很多业务的数据做这个事情。”
其次是IP 信誉机制。首先网易有自己的安全团队,也在收集网络上的一些僵尸网络,主要是僵尸网络和IP地址。网易会根据活跃时间和同步计算,来实时更新产品IP库,在网易集团内部会共享IP的信誉库。
另外还有易盾的反垃圾业务,像一些图片文本、色情类,涉黄涉政类和广告类,很多这种人用的IP都是一些代理或者受控的一些主机,这个IP一旦共享之后只要把这部分IP拦掉就会有非常效果,同时邮件的反垃圾系统也会共享这些数据,包括验证码和反作弊系统,其中反作弊系统更多是针对一些活动,比如在注册时防止批量的垃圾注册,登陆时防止撞库等一些行为。还有防止一些抢包,秒杀等行为,都需要一些大量的真实IP来做辅助。“网易现在还是掌握这些数据就那么多,当然也在不断的发展,我们有这个过程不断重复激烈,用到我们这个里面来,我们发现把这个策略用到7层的CC攻击,就是传统的设备厂商在这块没有我们做得好,就是这个原因,可以结合很多业务的数据做这个事情。”
在现场,沈明星还举例介绍了网易云易盾防护实践的成功案例。他表示:“现在网易云上也有不少的用户,而且攻击的人大部分很守时。网易云平台提供的5G的免费的DDoS清洗能力,第一波抗住了,两个小时就开始CC攻击的,CC攻击比较大,QPS达到了一千一打整个服务就直接爆掉了,没有反抗能力。前面说有好几层,有高防的技术中心,还有一个SYNcookie,这个也是协议的一个部分,我塞了一定的ceekie值,看一下对方是不是执行的,是不是把这个带过来的,如果带过来我认为它是一个正常人,如果不正常就不会带这个,来判别是不是正常的访问,这波还是帮他抗住了,接下来就是到网上发现单纯的CC攻击不行,开始混合攻击了当然流量非常大了,我们一开始有100多G,后面还在逐步的上升,这个还是前面一层我看到了,有这个NDP包,只要你带宽大这个防护起来非常简单,但前提是你前段的设备带宽足够大。”
在演讲最后,沈明星先生对网易易盾防护进行了的展望,首先是对用户流量智能的学习,虽然网易自己内部的业务已经运用比较成熟,但是对基于外部模型的分析,由于业务不稳定、存活时间短、业务繁杂等原因,网易将在以后投入较大经历去做。
另外是深层次的DDoS检测,现在大流量较明显的攻击检测比较简单,但是也有很多慢速攻击,小流量的攻击,即使放在大流量里带来的变化也不是很明显,却足以把后端的业务打瘫,因此这种怎么发现和检测,也是一个问题。
第三,基于多维度信誉库(IP,设备,指纹)的清洗策略。基于网易大数据,建立针对用户IP、用户设备、用户指纹等多维度的信誉库,在DDoS防护时根据信誉进行区分。
另外是深层次的DDoS检测,现在大流量较明显的攻击检测比较简单,但是也有很多慢速攻击,小流量的攻击,即使放在大流量里带来的变化也不是很明显,却足以把后端的业务打瘫,因此这种怎么发现和检测,也是一个问题。
第三,基于多维度信誉库(IP,设备,指纹)的清洗策略。基于网易大数据,建立针对用户IP、用户设备、用户指纹等多维度的信誉库,在DDoS防护时根据信誉进行区分。
第四,提供客户端SDK,增加人机识别功能。提供Win,IOS,Android端SDK,采集用户鼠标键盘等操作轨迹,真假人机识别的对抗,未来,网易也将提供这样的SDK,第一个是收集指纹和设备的信息,第二个可以采集一些手势鼠标这些点击的动作来做一个人机识别,现在抗击这个场景下是不是特别的适用也要特别的考虑,这个比较慢,完全只能做一些事后的分析,可能还是需要一定的延时差,需要做一些事后的补充分析。
责任编辑:靳玉凤