回顾网易2020年ddos攻击,我们怎么解决的?-凯发app官网

作为游戏大厂,常常被问及ddos情况,年关将至,在这里分享下猪厂ddos年末总结与科普。

猪厂年度ddos情况统计

ddos分为网络层和应用层,俗称四层ddos和七层ddos,这是基于osi七层模型来定义的。我们今天介绍的就是四层ddos,传输层以下(包括传输层)的ddos攻击。应用层ddos又叫cc攻击,针对的是http协议的攻击,我厂基本没有遭受过此类攻击,扫描器请求倒不少,这里略过。

攻击百g峰值占比

攻击流量是年年新高,以前的100g 的攻击是个稀罕物,现在基本月月见。原因就是网络带宽越来越大,肉鸡越来越多了。不仅仅是机房服务器能当肉鸡,现在你身上的手机,家里的摄像头,公司的打印机都可以充当僵尸网络的一员。虽然单台的流量不大,但胜在数量上。


攻击的协议类型统计

统计了下今年ddos攻击分布,我排除掉小流量的线路抖动,脚本统计了超过10gbps的大流量攻击,udp flood绝对的第一,syn flood第二,其他类型的攻击都可以忽略不计。原因很简单,黑产打udp最简单,成本最低,因为udp是无连接的,还有反射放大加持。今年除了老牌的dns,ntp,memcache,ssdp协议,还出现了新的协议,比如cldap,openvpn,在shodan上查了下,数量级都不容小觑。


单次攻击的时长

再看下攻击时长的分布也很有特点的,大部分10分钟内就攻击结束,还没等你反应过来,你服务器就挂了。这种快准狠的攻击手法就是ddos攻击的特点,所以ddos防护强调事前防护,人工没有那么快的响应速度。


攻击在一天中的时刻分布

还统计了一个有意思的点,一年中大部分攻击集中在晚上。这个跟我厂的业务属性有关,玩游戏的人都在晚上,我ddos攻击你才会痛,玩家掉线才会反馈,影响面才会大。白天用户都在睡大觉,我把你打趴下,少了很多吃瓜群众,感觉亏了。


ddos神秘吗

ddos神秘吗?很多人从新闻和电影里面看过这种攻击,崇拜黑客在黑暗中指挥千军万马,樯橹灰飞烟灭的感觉,梦想自己也能成为这样的人,就像拿着核按钮的最高指挥官,在网络世界里想谁死,谁就得死。其实在现实世界里,发起ddos攻击很简单,看完我下面这段,你五分钟内就能获得这个“神功”。

我们分三步走:

第一步,去baidu/google上,当然还有神奇的某宝上,搜索“ddos压测平台”或者“ip stresser”;

第二步,选择自己心仪的ddos套餐,当然要货比三家才能剁手付钱,国内应该是支持支付宝或者微信的,国外可能稍微有点麻烦,要兑换成比特币;

第三步,获取到攻击平台提供的api接口,输入你要攻击的ip或者域名,一键ddos,然后去刷新请求对方的服务,看看死没死。

下面截取了一个国内的一个国外的,大家可以感受一下。有钱能使鬼推磨,说的就是现在这个社会,花更多的钱才能享受更好的服务,打的折扣也是更多的。套餐基本的套路还是在攻击峰值,攻击时长和攻击次数上下功夫。



调侃归调侃,ddos攻击是违法犯罪行为,建议大家不要尝试。

ddos有哪些类型呢

ddos如果从攻击协议上分类太多,一般安全这边从影响程度上进行分类。上面说到的udp和syn正好对应着两大类型,udp flood是冲着你的网络带宽来的,叫做网络带宽阻塞型ddos,syn flood是冲着你的系统资源来的,叫做系统资源耗尽型ddos。

举个简单的例子:

比如你想去一家很火的店里买东西,路上很多人开车也是往这家店的方向去的,但都不是去这家店的,你被堵在路上去不了,这就是这家店的网络资源被耗尽了,你作为这家店的正常用户无法访问这家店。


再比如你换了一天去这家店买东西,路上一路顺风,进了店里,一堆人都在店里拉着老板和店员问东问西,但没多少真正买东西的。你作为真正想买东西的,没有你容身的地方,也没有人来招待你,这就是这家店的系统资源被耗尽了,你作为这家店的正常用户还是无法买到东西。


ddos如何防御?

ipv4已经存在近四十年了,相应的协议层的缺陷已经被红蓝双方都摸透了,没有什么隐藏技能可言。ddos这种“大力出奇迹”的攻击,防御上没有技巧,拼的就是带宽,带宽够了才能谈后面的防御算法。所以从业务层面上很难防御网络层ddos,应用层ddos还能在主机层面和代码里面搞一下。

防御策略很多,最终的执行操作都是落在丢包和封ip上。怎么自动化地把攻击报文丢掉,业务报文放过,怎么自动化地把恶意ip封掉,客户ip放过,这都是学问,也是我们安全的同学需要考虑的问题。这种算法差异性导致各家无论是商业的还是自研的抗d系统性能上差别很大。评价ddos清洗的好坏有两个指标,误杀率和漏杀率,这个跟后端业务的机器性能和容忍度有关系,有的业务需要紧一点的策略,有的业务需要松一点的策略。任何ddos防御系统都不能保证100%清洗,因为ddos是保命用的,终极目的是保证业务活下去。就像医院抢救病人,注射大剂量激素,你说对身体影响大不大,命都快没了,你还管这些·····


ddos怎么追溯?

这个问题,现在很多公司在做,不过很难。很多同事对自己业务被打很生气,要报警,可惜无法知道是谁在打,这就牵扯到溯源问题。溯源难的原因有下面几点:

前面我们说了,你不需要自己动手,可以花钱雇凶杀人,真正要打你的是花钱买ddos服务的,而打你的只是第三方服务提供商。ddos黑产在云还没有出来的时候就已经超前提出了“baas”的概念,当然不是我们通常理解的那样,全称是botnet as a service,僵尸网络即服务。平常肉鸡用来挖矿,接到单子打一波,这样肉鸡资源才能利用最大化。


在文章开头我提到过黑产打udp性价比最高,因为udp有反射放大攻击,简称是drdos,黑产只要利用100台肉鸡,就能打出1w台肉鸡的效果。我们看到的源ip很多是正常服务器,只不过端口被人利用来当反射源,你很难找到上一层发伪造地址数据包的肉鸡。


但是很难并不代表不可能,看过很多溯源的产品和文章,溯源大致就三个方向:

1. 找运营商合作,他们有流量监控,可以查到攻击流量怎么进来的,怎么出去的。这里要夸运营商的是,现在很多伪造源ip的数据包都被运营商干掉了,所以很多肉鸡发的包都是真实源,最多伪造个c段,能够作为发包机的数量极少。这里要说运营商的是,他们不一定想干这个事,把打攻击的人定位了,他们的抗d服务怎么卖。

2. 很多第三方溯源公司的方法是部署蜜罐,全球各地部署。抱着我不入地狱谁入地狱的心态,上面的系统千疮百孔,伪造了一堆漏洞,目的就是成为肉鸡成员。这样发起ddos攻击,我就知道是谁下发的指令,打的是谁,还能搞到僵尸网络的bot程序,一顿二进制逆向,说不定有意想不到的0day收获。

3. 最笨的方法,考验技术的时候到了,一层层反入侵上去。先抓包定位源ip,再找漏洞搞到bot,通过bot定位到c2服务器,再在c2服务器上找到服务网站,通过拿下网站后台查到谁下的单,再通过社工的方法定位到金主是谁。难是难了点,但身边确实有这样的案例和这样的牛人。

总结

每年ddos都能玩出一些新花样出来,防御永远是滞后于攻击的。安全有句老话叫“不知攻,焉知防”。我们要做的就是不断积累知识,活到老,学到老。

文末小福利

网易安全部几位奋战在不同安全领域的资深工程师,花费半年时间打造了《安全工程师》微专业课程,理论 工具 实战项目全面覆盖,欢迎对安全有兴趣的同学来学习。点击了解《安全工程师》微专业课程


网站地图