曾优雅击退史上最凶狠的DDoS攻击,AliGuard的高性能从何而来? - 阿里技术
2016年10月21日,美国发生了一次震惊全球互联网的安全事件,大半个美国的互联网因为DDoS攻击发生瘫痪,攻击从清晨开始一直持续到傍晚,黑客发起了长时间多批次攻击,直接导致twitter、Spotify、Netflix、Github、Airbnb、Visa等出现无法登陆的情况,而且twitter甚至都出现了长时间瘫痪的情况,因此造成的直接和间接经济损失无法估量。这场网络瘫痪从美国东部开始,一路蔓延至全美,根本原因是DNS服务商Dyn的服务器遭受了黑客的大流量DDoS攻击,使得大量互联网公司DNS解析失败,以致无法提供服务。
DDoS作为互联网领域非常敏感的一个词,因为其强大的杀伤力,很多互联网从业者都谈之色变,在科技高度发达的今天仍旧是一个技术难题。
首先,发起攻击的技术门槛越来越低,互联网随处可见各种攻击工具,攻击源代码等,只要稍微懂一些计算机操作的人都可能参与进来。
其次,随着互联网的普及,特别是网络基础设施建设的投入极大地提升了互联网带宽,这在一定程度上也提升了黑客的攻击能力。
同时,PC,移动接入设备,各种物联网设备的大规模普及,任意设备都可能存在漏洞,只要能够连网就非常容易被黑客利用成为攻击工具。很多设备因为安全意识薄弱导致被入侵成为肉鸡,远程控制,随时发起攻击都成为可能。
除了技术上的原因,发起DDoS攻击很多情况下可能是因为利益驱使,商业竞争,国际政治等多种其他原因。
如果说互联网这张大网把全世界的人们彼此之间都连了起来,让我们能够如此简单地享受科技带来的便捷,那么DDoS攻击一定是一把破坏这张网的邪恶魔剑,而今天阿里妹要介绍的阿里巴巴自研高性能DDoS攻击防御产品AliGuard则是用来抵挡这把魔剑的金钟罩和铁布衫。
自研高性能防攻击产品的发展历程
一、当互联网公司遇到传统设备厂商
AIS前身阿里巴巴集团技术保障部于2012年末正式组建项目组探索做自研大流量攻击防护产品开始到2013年中产品第一版正式上线,主要目标是通过定制化开发,为集团日益增长的安全需求提供保障,按照阿里巴巴集团业务自身特点量身定做一套高性能DDoS防护系统,为集团日益增长的业务提供技术保障。
在这之前全集团曾经采购过一些传统设备厂商的商业设备用于DDoS攻击清洗,商业设备价格昂贵,维护成本相对较高,而且整机的防御能力有限,使用过程中经常出现商业设备因为攻击量太大导致设备的流表被打爆而造成无法服务的情况,从而直接影响了公司的正常业务。
我们决定开发自研设备主要有以下几个原因:
1)商业设备版本迭代速度慢,我们需要专业定制化而不是大而全的系统;有时候一种新型的攻击方式出现到大规模流量的时间非常短,这就要求软件层面要做到自主可控才能将可能的潜在风险迅速解决掉;有时候适合自己的才是最好的,自己实现的DDoS清洗策略,根据客户的需求随时可以增删改,只有自主可控才是核心科技。
2)商业设备性能有限,前面提到商业设备整体大机框式的架构就决定了无法大规模横向扩容,但是我们自研的AliGuard具备弹性扩容的能力,只要业务场景需要从几十G到几个T的能力都可以在短时间内弹性伸缩的。而且今天传统的服务器的计算能力以及网络数据包处理能力都已经有了质的飞跃,AliGuard一台普通的服务器就可以具备上百G的处理能力,一个普通集群就具备上T的能力。
归根结底传统设备厂商的DDoS防护产品并不能很好地跟上互联网企业的高速发展的节奏。我们需要廉价且高性能的设备,厂商机框式的设备架构的整体的建设成本和人力投入非常巨大,阿里巴巴数据中心全球化的部署量势必要求成本可控,具备自主知识产权。
自研产品使用传统的x86服务器架构,普通服务器就可以轻松部署,上下线服务器和基础的配置都非常简单,不需要专业的安全工程师额外支持,日常维护成本低廉。但是价格廉价并不意味着功能少,性能差,到目前为止AliGuard已经具备了30多种防御策略,涵盖主流的DDoS攻击,从畸形包攻击,各种大流量攻击,到L7的http攻击等等,业务场景也完全覆盖阿里巴巴集团所有业务线。
图1为AliGuard基本的防御模型,我们已经涵盖了主流的DDoS攻击场景。
图1 AliGuard基础防御模型
二、从单一用户到多用户的转变
最开始AliGuard只是为了集团防护针对电商或者支付类业务所设计的一套非常定制化的DDoS攻击清洗解决方案,使用了一套相对比较固定的防御策略模板。但是后面随着阿里巴巴集团业务的高速发展,越来越多的业务线出现大流量DDoS防护需求,特别是云计算领域的快速崛起,一线的客户直接就面临攻击防御需求,那么变革随之而来,这使得我们扩展自身的产品架构、同时支持多用户变得理所当然。
随着版本的多次迭代升级,目前已经具备这样的能力,每天成千上万的客户同时都会被保护起来。攻击发生时,客户彼此之间的业务相互不影响,DDoS攻击的防御策略和攻击数据都相互独立,客户可以非常直观地看到实时展示出来的各种攻击数据,而且我们已经开放给用户部分联动能力,可以让客户参与到攻击联动的过程中来。
下图2就是适用于不同业务场景的清洗模型,我们的数据处理能力
图2 支撑多业务场景
三、从40g到400g这并不是一个巧合,技术积累决定了这条路可以走多远
笔者今天还非常清晰地记得产品第一次上线没多久,线上就有多次成功防御的案例,而且很快某存储类产品被攻击,第一次出现了单次40Gbps以上的攻击,项目组的同学都非常震惊,竟然遇到了这么大流量的攻击,这个值当时已经超过了某些商业设备的解决方案的防御能力。
注:凭借AliGuard的顶级防御能力,2014年,阿里巴巴抵御住了全球互联网史上最大的一次DDoS攻击,攻击时间长达14个小时,攻击峰值流量达到每秒453.8Gb。
如果自研再晚一些的话,可以想象还是存在不小的安全隐患的。当然,后续随着集群能力的扩充,新的策略的不断增加,集群的能力也在不断提升,云产品被大流量攻击那次,优雅防御450多G既可以说是出乎意料,也可以说在情理之中,因为在优雅防御的背后有足够的技术能力和资源的储备,才能在关键时刻让产品成功抵御了这一次的大流量攻击。
后续也多次出现过更大流量的攻击,也是成功防御,没有造成过大的损失,可以说在一场场恶战中,产品一次次坚挺的表现,也充分证明了只有拥有足够多的技术储备做支撑才能在关键时刻做到“此时此刻,非我莫属”。
发展到今天,自研高性能攻击防护产品AliGuard,成功服务阿里巴巴集团3年多时间。X86服务器的横向可扩展性,CPU的计算能力的不断提升,特别是近几年网卡容量快速的提升,从1G、10G、到40G、100G网卡,我们团队紧跟技术前沿,每一次单机能力提升的背后都是我们AIS的网络研发的技术预研走在最前面,只有把最先进的技术预研投入放在一个非常重要的位置,我们才有可能在这条路上走得更远,走得更坚实。
图3是AliGuard的一种典型部署场景,因为使用集群化部署,所以整集群的能力可以做弹性伸缩,在保证整体功能不变的前提下,适应多种不同的容量需求,非常适合全球化多区域部署。
图3 AliGuard线上典型部署场景
四、智能化防御和大数据能力
阿里巴巴集团每天流量型的DDoS攻击次数不下几千次,攻击流量从几十M到几百G不等,攻击持续时间也长短不一,有数据表明这里大部分攻击都在1个小时以内结束,但是很多攻击者在攻击过程中会因为无法达到目的而不断地尝试更换攻击方式,这就带来非常大的挑战,原本一套清洗模板用到底的模式不再简单适用了。因为,尝试使用一套万能的模板带来的问题可能就是当前不存在的攻击方式对应的策略如果强制开启就可能引入正常流量受到影响的问题。
在原有防御算法基础上我们提出了Smart智能化防御的概念,简单来说就是在攻击过程中,如果攻击者不断更换攻击方式,我们可以通过对攻击流量做实时分析,判断出当前的攻击类型,根据攻击类型的变化在非常短的时间内秒级实现防御策略的调整收敛。
图4是一个基本的智能化防御的模型,核心的逻辑从上到下基本上分成三个角色:通过分析攻击信息,判断攻击类型,对防御策略做实时的调整,保证清洗效果的同时,减少了大量的人力投入,实现了真正的自动化,智能化防御。
图4 Smart智能化防御的基本模型
采用智能化防御模型之后,我们在具备了抗大流量攻击能力的基础上,能够更一步地提供更多信息,而且具备实时更新的能力:
- 现在谁在攻击我?
- 攻击流量分别有多大?
- 攻击的目标地址,域名是什么?
- 在攻击全过程中,黑客都采用了什么样的攻击手段?
一方面发动攻击的肉鸡信息和每时每刻的攻击量已经被我们实时记录,另一方面被攻击的目标,不管是域名还是目标IP也都会被实时统计出来,为smart模型提供强有力的数据支撑。数据在实现实时支撑业务逻辑的同时,每天积累的大量数据已经形成了一张无形的网,为后续更进一步的攻击溯源,立案侦查提供强有力的证据。
未来的挑战
每天线上的攻击者都在尝试研究我们的攻击防护策略,并想方设法地绕过清洗策略,所以挑战时刻都存在。
如何才能应对日益复杂的攻击类型?
一方面我们的基本防护策略的迭代更新一直都在进行中,攻击和防御的联动从未停止过脚步;另一方面我们已经具备高性能的深入到数据包内部的DPI能力,让攻击者的攻击手法无处遁形;同时在此基础上会通过引入更高性能的协议栈来解决更多复杂的攻击类型,提升4-7层整体的清洗能力。
如何面对更大流量的攻击?
在现有大流量DDoS攻击已经成为互联网的家常便饭,我们在拥有足够的接入带宽的同时也可以考虑其他的方式作为一个补充,比如在攻击的发起一侧终结非法的流量。当然要想终结大流量DDoS攻击,需要在足够多的地方拥有清洗攻击流量的能力,所以就近攻击源的清洗方案也是一个非常好的选择。
另一方面,一些新的网卡或可编程芯片也是值得我们关注的,特别是阿里在16年11月投资的Barefoot的Tofino芯片单片处理能力达到惊人的6.5Tbps,对我们来说自研定制化能力的未来想象空间也是非常巨大的。