百度演练1T流量DDoS攻击背后:演习和战争有何不同?

DDoS的成本非常低,得到这种进攻能力,就像在美国得到枪一样容易。
Tony Lee 做了如上的比喻,作为前安全宝的联合创始人、现任百度云安全首席架构师,对于DDoS攻防的血雨腥风可谓司空见惯。(不知道什么是DDoS攻击?赶快去戳:漫画告诉你什么是DDoS攻击?)在他眼里,这种对抗中双方的地位并不平衡。“正常的用户业务只需要几十兆到几百兆带宽,这样的带宽和黑客们几十G上百G的攻击能力并不在同一个数量级,几枪就会挂掉。”

Tony Lee

鉴于DDoS已经形成了完整的黑色产业,抗DDoS也成为了一门赚钱的生意。自然,抗DDoS能力也成为了各大云安全厂商军备竞赛的重要指标。于是便有了今年9月,由他亲自上阵策划的一场“抗D界”的“重头戏”——现场进行DDoS攻防演练,并且达到史上最高的1Tbps流量。

这次演练百度云安全分饰两角,一边拉着带宽资源丰富的基友乐视云打出了1T流量的攻击,一边挺身迎接自己的“拳头”。Tony 回忆,百度云安全迄今为止防护的最大攻击流量不到300G。而这次演练大大超越了真实出现过的攻击强度。如此做的逻辑是:“在你对付恐怖分子的时候,并不确定他们的火力强弱,但为了万无一失,你要想象他们有导弹。”

除去现场眼花缭乱的攻防示意和随着攻击流量攀升的气氛,这次演练最耐人寻味的部分恰恰是“演练”这两个字本身。因为在记忆中哪怕最惨烈的军事演习也不及真正的战争中伤亡的九牛一毛。事实上,也有一些人怀疑百度云安全1T演练有“作秀”的嫌疑。根据业内人士回忆,这次演练结束之后,骨干网中国电信的相关人员的电话都被打爆了,人们纷纷试图搞清当天是否真的有1T流量在骨干网上“奔涌”。

那么,有趣的问题来了:一次演练究竟和一场战争究竟有何不同呢?

史上最“划算”的DDoS攻击

Tony 告诉雷锋网,他的团队试图真实地模拟出DDoS的攻击场景。为此,做了如下的努力:

1、攻击流量约有600G来自国内,约400G来自海外。这和今年大多DDoS攻击时间中的流量比例类似。

2、攻击强度是逐步递增的。因为在真实的攻击中,攻击是需要付出成本的。黑客显然不会在攻击初期就大量“砸钱”。

3、在攻击IP中,掺杂了真实IP和虚假IP,平衡了“成本”和“效果”。这和现实情况类似。

4、在攻击方法上,选择了配比“流量型攻击”和“CC攻击”两种主流的攻击方式。

事实上,在提出这个演练的初期,团队就遇到了问题。1T的攻击流量需要真金白银来购买,从运营商购买1T流量用于攻击,需要花费将近100万元,而团队并没有这个预算。这个问题由于“带宽大户”乐视云的鼎力相助而解决了。由于主营视频业务,乐视云在全球拥有大量的机房和带宽资源。一拍即合的两方决定互相“成全”:乐视云用自己的闲置带宽帮百度“撑场子”;百度用真实的防护能力为乐视云和其他客户证明自己的实力。这样的合作让有可能是史上最贵的一次攻防演练瞬间变成了最“划算”的一次。

当乐视云愉快地决定扮演“超级黑客”的角色之后,两方的工程师突然意识到“坏蛋”竟然不是那么好当的。

如果同一个机房发出过大的流量,会被电信直接作为异常请求进行压制,根本打不出来;而乐视云机房本身也有各种安全策略限制,并不允许发出类似于攻击的大量请求。最终使用了乐视云全球的127个机房,作为攻击的最终发起者。这些技术细节,让我们两方的工程师面临了很多难题。由于涉及到海外的流量,团队的工程师专门飞到了美国合作伙伴CloudFlare的办公室。因为中美两国有时差,中国刚下班,正好美国那边又要开始工作了,有的工程师甚至48小时没有睡觉。
Tony 说。

这次演练参与的人数也许大大少于外界的猜测。Tony告诉雷锋网,百度和乐视云的工作人员加在一起,只有七八个人。这些人的大部分工作是事前的部署和事中的监控,攻击和防御都是自动化完成的。

演习和战争

“美国和以色列开发出一种最有效的安检模式,说来也很简单,就是安检员和你说两句话。经验丰富的安检员只要几轮对话就能看出你不对劲。”Tony用“说两句话”来模拟对于DDoS攻击流量的清洗过程。然而,当洪水一般的“人流”冲向安检口的时候,仍然需要无数的安检闸机(带宽)和安检人员(甄别技术)。面对1T流量的攻击,消化这些的并不是一个装置,而是一套系统。Tony 为雷锋网介绍了主要的三个战场

1、CloudFlare

CloudFlare是百度云安全在海外的合作伙伴,它的法宝是称为Anycast的技术。这种技术可以把巨大的流量瞬间分散到各个服务器上,一旦某个服务器被击溃,立刻把流量自动平衡到剩余服务器上(然而这种技术在国内并没有实现)。来自海外的攻击流量,统统由CloudFlare来扛。

2、云堤

云堤是中国电信推出的安全服务,在抗DDoS领域是神一般的存在。之所以是神一般的存在,是因为电信拥有骨干网资源。这意味着那些从全国各地飞驰而来的坏蛋(攻击流量)是通过电信家的高速公路(骨干网)到达目的地的。一旦某地流量异常,很多人都莫名其妙要上高速公路,云堤就可以根据百度云安全提供的数据实施近源压制。(如何指挥各处的关卡配合起来识别坏人,选择在什么地方拦截,取决于每个厂商的不同算法。)

3、超级抗D中心

这是由百度在上海建立的服务器巨无霸集群。电信哥哥放行的流量会冲到这最后一组闸机。在这里,服务器会不断和来访的流量“说两句话”——放行好人,赶走坏蛋。


演练现场数据显示:流量峰值达到了1040.5G

外界最关心的问题在于,演习当天究竟这三个战场各承担了多少攻击流量呢?对于这些细节,Tony守口如瓶。他表示,为不能让黑客了解百度云安全的防御部署,不能够公开具体的部署策略和数据。

纵然这次演习很成功,但和真正的战争比起来,也许还有如下的区别:

1、在战争中没有人知道真实攻击在何时发生,而攻防演练是知道攻击将要发生的。

2、真实的攻击中,黑客尝试一种攻击手段失败后,往往会不断变换、升级攻击策略。虽然并不是没有规律可循,但要面对的情况显然更复杂。这就像在真正的战争中,敌人会拿出什么秘密武器,使用什么超级战术,是无法预知的。
Tony对于雷锋网的疑问做了解释:

1、在百度云安全的防御策略中,存在监测机制。在真实的防御中,可以监测流量变化并快速做出响应,可以很好地应对大部分攻击。

2、演练的时候,进攻方也选择了更换不同的攻击方式,采用流量型攻击混合CC攻击,尽量模拟了黑客的心态。然而在真实情况中,黑客会尝试不停地变换攻击URL和策略,那个时候如果智能算法无法完全应对,则需要安全团队人工调整防御策略。
需要指出的是,防止DDoS攻击并没有完美的方式。例如面对大的流量攻击,几乎所有的厂商都会选择使用电信云堤的近源压制功能,虽然不同的厂商给电信提供的数据不同,近源压制所产生的效果也不尽相同。但从原理上讲,近源压制是封锁了某个“高速入口”,一定会造成“误杀”。而在真正的DDoS攻击中,你永远不知道黑客会如何更换攻击策略。这就像在真正的战争中,你永远不知道敌人会拿出什么秘密武器,使用什么超级战术。

如果自己对自己使用“秘密武器”显然是逻辑悖论。一旦自己了解,这个武器就并不是“秘密”。客观来讲,演习可以做到的最高水平只能止步于此:针对常见的战术,应对大多数情况下的战争情景。如Tony所说,这次演练的目的是展现能力,震慑对手,那么显然任务圆满完成了。


优秀的“标准品”

公开资料显示,阿里云云盾也宣称自己具有1T的DDoS攻击防护能力。面对雷锋网提出的“其他友商是否具有抗1TDDoS攻击能力”的问题,Tony的回答很自信。

也许有一个友商有这样的能力,但是能力最终是需要事实来验证的。而且,我们的机房(超级抗D中心)是建在性能最好却成本高昂的上海,这是因为要处理大量的流量 ,首先要保证流量进来的道路不被拥堵。上海是网络上的超级节点,通路很宽。就像一座超级炼油厂,你的炼油能力超强,但是通向你的道路很狭窄,原油都运不进来,这种能力就会大打折扣。
有趣的是,说到这次演练,Tony却提到了似乎并无关联的小米。

市场上有很多家云安全的企业,可能他们都说自己的产品不错。但是由于云安全的专业性,一般的消费者并没有办法来区分谁是真实的,谁又是在吹牛。百度也许不敢说是这个行业里最好的那一个,但是我们的演练是想为行业制定一个“什么是好”的标准。
就像当年国产手机行业非常混乱,好的厂商和骗子都在发出自己的声音,消费者没办法选择。而在小米之后,山寨厂商逐渐衰落。恰恰是因为小米划出了一条价廉物美的标准线。

优秀的标准品,是Tony给这次演练下的定义。

说到底,演练终归是演练。如果你把这次排山倒海的1T攻防理解成一种“秀”,似乎并无不可。只不过从中得到的,应该远比这场秀本身丰富。

查看原文