5月11日晚上9时许,网易的大量用户发现访问网易新闻出现问题,相应的,有很多游戏用户报告说游戏掉线严重。一时间,有关“网易大楼着火”的谣传甚嚣。晚上9点42分的时候,“网易新闻客户端”新浪微博发推:
图1 网易新闻客户端微博内容
这次攻击,相较于以往的DDoS攻击,官方描述比较特别:“骨干网络遭受攻击”。笔者敏锐地意识到这是最近学术界才提出的LFA攻击,攻击范例比较少。本文接下来将详细介绍LFA攻击的概念、现状和防治方法。不过,悲观地讲,现在还没有关于LFA特别好的解决方案。在此声明一下,笔者对网易的网络拓扑和本次攻击的具体细节一无所知,所有解释只源于自己的推测。
新型的DDoS攻击:Link Flooding Attack(链路洪泛攻击)
LFA,可以认为是一种新型的DDoS攻击,全称Link Flooding Attack(链路洪泛攻击)。顾名思义,就是以链路为攻击目标,不同于传统DDoS以服务器为目标,LFA是通过攻击服务器群的主要出口入口链路,造成链路拥塞,导致服务器无法满足正常用户的请求。以瘫痪链路为目标,而不是以瘫痪服务器为目标,这是LFA和传统DDoS最重要的区别,这也是LFA比DDoS难以检测和防治的重要原因。传统的DDoS可以通过加服务器、负载均衡,或者流量监测来防治,但是这些方法在LFA里就起不到良好的效果。为了解释这些问题,我们先详细地介绍下LFA的原理。
学术界最早提出链路攻击DDoS的是CMU的Ahren Studer和Adrian Perrig。两位作者在09年的论文《The Coremelt Attack》提出了这种攻击的雏形。
图2 LFA攻击雏形
如图2,图中有两种节点,灰色的是被攻击者控制的节点如S1,S2,S3,白色的节点是正常的服务器节点如A,B,C。在攻击中,攻击者让S1,S2,S3大流量通信,来导致target link过载,从而导致正常的节点间无法通信。为了增加攻击的效果,可能会顺带着用流量洪泛白色节点。但是,在白色的节点里,有很多攻击流量是看不到的。尝试在正常服务器进行流量检测是很难检测这样的攻击的。读者现在可能认为网易的服务器不会和攻击者控制的灰色节点混在一块,这样的攻击可能不太现实,至少对于这次网易被黑不太现实。没关系,我们继续看一个加强版的LFA攻击——CrossFire Attack。注意,不是穿越火线。
加强版的LFA攻击:CrossFire Attack
CrossFire攻击是也是CMU的研究人员提出的,成果发表在2013 IEEE S&P上。
图3 Crossfire攻击
Crossfire攻击的思路和上面的Coremelt大同小异。如图3,攻击者想让中间target area红色方形的的服务器(Public Server in Target area)down掉,服务器周围的蓝色方形是Decoy Server,不是攻击目标但是和攻击目标网络位置比较近的服务器,Decoy Server和Public Server共享一些重要的骨干出入链路,所以对Decoy Server的洪范也会影响Public Sever。攻击的方法就是通过低密度、看似正常的流量有计划地访问Decoy Server和Public Server,导致Target Link负载过重,最终导致Public Sever无法服务。在Decoy Sever和Public Server看来,流量都是正常的,但是结果仍然导致DDoS的发生。而且,攻击一条Targe Link的成本比攻击所有服务器低很多。
读者会问,网易的机房里只有自己的服务器啊,那Decoy Sever哪来的?根据LFA的一次攻击实例,笔者推测,攻击者可能攻击了网易机房的上层交换节点或其他类似机构(甚至可能是IXP,ISP之间的交换节点)。比如网易的机房和阿里的机房同时连在一个交换机构上,那么攻击者很可能通过正常访问阿里的服务器导致交换节点down掉,网易的服务器也无法访问。在攻击中,阿里的服务器是Decoy Server,网易不小心躺枪了。
现实生活中的Target Link
那么,现实生活中存在这样的Target Link么?实际上,在传统的TCP/IP网络中,流量的分布很不均衡,如上面假设的网易新闻的流量可能主要通过几个主干道。也许有其余多个备份链路的存在,但是这些链路承担的流量比例很小。最重要的问题是传统的TCP/IP网络是分布式的,路由算法如BGP、OSPF分散在各个路由器上,不便于集中控制,通常切换主干道非常麻烦,而且耗时非常长。像网易的这次修复,笔者感觉可能是更改了相干拓扑的路由,如启用了备份链路,这个时间通过要持续几个小时。果然,直到12日凌晨2点31,网易才宣布已经修复。但据媒体报道,完全恢复是在12日早上6点。
但是这样的修复方法下次一定有效么?不见得,如果攻击者熟知网易网络相关拓扑,假如网易切换到另外一条主干道(New Target Link),攻击者立即攻击这条新的Target Link,如此反复。网易切换主干道的时间是小时级的,但是攻击者可以达到分钟级切换。网易应该庆幸的是攻击者没有搞清楚全部的拓扑,否则,这次的事件持续时间将更长。
在云计算时代,各种公司的服务器托管在同一云服务商上,对于这种攻击,只能云服务商来解决,单个个体是没办法解决的。但是如果云服务商仍然采用传统TCP/IP的路由策略,不能快速切换,仍然会出现类似的问题。云服务商可以考虑采用SDN和NFV的相关方案,增强对路由的管理。如果是对于IXP的攻击,只能各个ISP之间相互合作了。
总结起来,LFA的攻击具有如下特点:
1.低密度流量攻击,难以检测
2.攻击成本低
3.持续久,攻击者可以不停切换攻击link
短期内解决这个问题的关键是负载均衡、加大带宽、增加链路,深层次地看,我们应该重新考虑改进我们网络的基础架构了。
我们期待网易后续能分享更多的攻击细节,虽然不太可能。期待学术界和工业界对这个问题的后续研究和探讨,希望我们早日能找到好的解决方案。
作者微博: @pengfeituan
参考资料
[1]Studer A, Perrig A. The coremelt attack[M]//Computer Security–ESORICS 2009. Springer Berlin Heidelberg, 2009: 37-52.
[2]Kang M S, Lee S B, Gligor V D. The crossfire attack[C]//Security and Privacy (SP), 2013 IEEE Symposium on. IEEE, 2013: 127-141.
[3]南方日报,2015年5月12日,引自http://gz.bendibao.com/news/2015512/content187364.shtml
[4]P. Bright, http://arstechnica.com/security/2013/04/can-a-ddos-break-the-internet-sure-just-not-all-of-it/
* 作者/purehat,属FreeBuf原创奖励计划文章,未经许可禁止转载
-
不是说是蓝翔期中作业吗
-
wifipeter暉LFA说明白点就是去商店路堵车了,别的车进不去,保安看不出来。原来的模式是把商店里的桌子都恶意坐满了不给别人做,但是保安可以看得出来。 我竟然轻而易举的看懂了那个示例图。。
-
dangge一派胡言,就是运维把BGP搞坏了而已。
想了想不上图了 AS45062 就这样 -
玩着玩着梦幻断了然后一直连不上去,重启路由、换4G、重启iPad、删游戏、重装,这时候小伙伴发来一个截图说广州网易大厦XX,差点信了。。后来一想不对劲机房也不在那啊,进贴吧看公告才知道。。。。网易各大服务均已下线。。今天师门还没刷啊,二区宝象国有小伙伴没
-
河蟹去就helen我为自己代盐

不容错过
- 看警方如何社工暗网恋童网站逮捕虐童狂魔clouds2016-08-31
- 访问一个网站就能让ASLR保护失效,百万设备陷入危机bimeover2017-02-21
- 走进科学:现代汽车的大脑与安全破晓2014-12-15
- 跪求浏览器拦截本站的解决方案……FB独家2016-03-30
0daybank
已有 58 条评论
去就河蟹我为自己代盐
河蟹n我了个
好高深!
多花点钱买几条冗余线路就是了
Crossfire穿越火线?呵呵 抄袭我大CF
[打脸]看上去手段差不多啊
不是说是蓝翔期中作业吗
<b>笔者对网易的网络拓扑和本次攻击的具体细节一无所知,所有解释只源于自己的推测。</b>
一派胡言,就是运维把BGP搞坏了而已。
想了想不上图了 AS45062 就这样
玩着玩着梦幻断了然后一直连不上去,重启路由、换4G、重启iPad、删游戏、重装,这时候小伙伴发来一个截图说广州网易大厦XX,差点信了。。后来一想不对劲机房也不在那啊,进贴吧看公告才知道。。。。网易各大服务均已下线。。今天师门还没刷啊,二区宝象国有小伙伴没
好屌
就是你干的
ddos是多对一,攻击原地址不固定目的ip应该是一个或者几个,所以攻击初期可以通过在各个节点写acl防御。按照这种攻击方式是多原IP对多目的IP,原地址和目的地址都不是固定的,写acl防御会很复杂,唯一的特征就是经过同一个路径,所以只要经过这条链路的路由或者流量都会受影响。存属个人分析
@ fain_yang 能写acl防御的不叫ddos,叫dos
隐蔽性确实值得称道。不过,攻击成本低的结论是怎么得出来的?难道堵死link上的所有server比link上的一部分server成本还低?
宫院长说是网易核心路由器故障
@ 碧血微剑 一般核心路由器都是至少两台吧,两台都故障的几率非常小的吧
@ page100 对的,都有备份路由器,核心最起码两个,防止一个down了
话说昨天晚上到底啥问题?
LFA说明白点就是去商店路堵车了,别的车进不去,保安看不出来。原来的模式是把商店里的桌子都恶意坐满了不给别人做,但是保安可以看得出来。 我竟然轻而易举的看懂了那个示例图。。
看完感觉像是出了内鬼一样。
同好奇。。
我没坐apm
所以有什么可靠地推测吗?
网易云音乐做得不错 森麼仇森麽怨吖这是?网易的几个产品还是不错的,能让我满意的产品不多,网易至少有好几个是我喜欢的。 网易惹谁了
感觉有点复杂化了,不过分析得还是很专业
意思是不直接打服务器了,就直接D节点分配的东西,说白了还是和普通的DDos一样 打。只不过收集节点。现在最主要的问题是分析谁攻击的节点
厉害
以瘫痪链路为目标
这个链路上的流量是不是很大??
[喵喵]我媳妇最聪明
[笑cry][haha]好哒
网易旗下的游戏受牵连了,这其中的是有原因的吗
好多年没玩过网易旗下的游戏了
当然我这属于不负责任猜测……
据说,是主交换机坏了,被攻击是对外宣称。
十万八万人民币么[doge]
我哪知道
得罪了誰啊。
好屌的样子。。
猜得极不靠谱,58641和4837出入口打拥塞会只影响网易一家?这一段真拥塞了网易不得立马乐得放个遭到互联网最大攻击的声明?
一点没凭证的猜和感觉,是单放LFA出来没眼球吧
不是很同意作者的推断,运营商的网管系统应该可以监测到链路负载超负荷吧?得找多少个decoy server才能把链路搞摊?难度和成本不高?
很犀利啊,期待更多的分享
乱吹,你以为网易的就只有一条主干线路啊。像网易这么大型的网络肯定会多条冗余线路,如果是主干网肯定是可以负担高流量的(100G以上),我觉得笔者说的问题不存在
文章中提到的链路攻击非链路层攻击,还真以为暗黑技术已经从协议层突破到链路层呢。这问题不能简单用私有云或灾备方案解决,DNS、OSPF协议都需要传播时间。打通百度、阿里、腾讯的三块大私有云才有可能解决,可能打通嘛?拭目以待!
这么厉害呀
其实是丁三磊渡劫飞升了。。
纯属小编的意念文章。。
@ springemp 表示支持
这个,本来我准备趁这个机会写一篇文章,没想到被你抢先。
作者各种臆测啊,说是攻击,那针对具体实现细节的分析呢。
要是真uplink被堵塞了,云服务商内部再怎么搞sdn能解决什么呢
学习!!
不就是打流量导致堵塞么 说的这么高大上
没有跟传统攻击细节的区别 说个P