出品:科普中国
制作:龙魂
监制:中国科学院计算机网络信息中心
11月初,俄罗斯十大银行中有五家遭到DDoS攻击。俄储蓄银行行长戈尔曼·格列夫表示,此次攻击的力度远远超出以往的攻击。12月2日,俄罗斯央行官员称,该行代理账户遭黑客袭击,被盗取了20亿俄罗斯卢布资金。随后,俄罗斯央行官员Artyom Sychyov证实了这一消息,并表示,“黑客曾尝试盗取50亿俄罗斯卢布左右的账户资金”。
那么,DDoS攻击到底是什么,黑客又是怎样借助DDoS攻击从戒备森严的俄罗斯银行盗取20亿卢布的呢?
分布式拒绝服务(DDoS)攻击是网络攻击手段中的一种, 是利用大量合法的请求占用大量网络资源,以达到瘫痪网络的做法——黑客通过大量被控制的计算机同时攻击目标,耗尽服务器的CPU、网络带宽、内存和数据库服务等,以实现影响用户正常使用的目的。DDoS攻击不仅可以域名系统服务器等具体目标,还能利用巨大的流量攻击目标所在的互联网的基础设施使其过载,影响网络的性能和所承载的服务。
由于Windows和Linux本身就存在一些安全漏洞,黑客可以通过入侵高访问量的网站,并在网页中注入木马病毒,利用系统漏洞感染浏览网站的计算机。一旦有计算机访问并感染木马,就会被木马传播者控制,成为DDoS攻击者的僵尸主机,随后会在僵尸主机上面安装拒绝服务攻击软件。为了隐蔽自己,攻击者会遥控安装了控制软件的僵尸机发动拒绝服务攻击,使被攻击目标由于忙于处理大量的攻击数据包而无法提供正常服务。这种攻击既可以阻断某一用户访问服务器,或阻断某服务与特定系统或个人的通讯,也可以通过向服务器提交大量请求,使服务器超负荷,并利用网络过载来干扰甚至阻断正常的网络通讯,无法响应正常的服务请求,严重的可能导致整个网络瘫痪。
由于经济利益的驱动和操作系统存在大量漏洞使攻击者可以控制大量僵尸主机,构筑庞大的僵尸网络,以及大量攻击工具的诞生降低了DDoS攻击的技术门槛,同时僵尸主机的计算性能和接入带宽随着微电子技术和信息技术的进步突飞猛涨,使DDoS攻击已经初步形成产业链,网络上就有人专门从事收集“僵尸主机”的非法活动,然后以低廉的价格出售给攻击发起者,或者直接遥控这些“僵尸主机”进行攻击。
(DDoS攻击体系)
根据DDoS攻击的方式来看,Land攻击、SYN flood攻击、Teardrop攻击等主要针对操作系统、TCP/IP网络协议、应用程序等的缺陷,构造某种特殊的数据包,使系统停止对正常用户的访问请求或使操作系统、应用程序崩溃。而Smurf攻击、UDP 淹没攻击采用比被攻击网络更大的带宽,生成大量发向被攻击网络的数据包,从而耗尽被攻击网络的有效带宽,使被攻击网络发生拥塞。下面具体介绍几种常见的DDoS攻击方式:
由于TCP协议要经过三次握手才能建立连接,于是就有攻击者针对握手过程的SYN flood攻击——在攻击者发出包含SYN(TCP/IP建立连接时使用的握手信号)标志的数据包后,服务器会发送SYN-ACK表示接受到了消息,攻击者不回应确认字符(ACK),在此情形下,服务器会重复发送SYN-ACK,进而占用服务器资源。
在实现方式上,攻击者可以利用本地IP发送大量的普通SYN进行攻击,在收到被攻击主机的SYN-ACK后不予回应,这样被攻击主机就在缓存中建立了大量连接队列,造成了系统资源的消耗而无法向正常请求提供服务。也可以在在SYN 中通过欺骗来源IP 地址,这让服务器送SYN-ACK到假造的IP 地址,因此,真实的IP 地址永远不可能收到ACK。此外,攻击者还可以先伪造一个SYN发送到服务器,然后再伪造一个ACK发到服务器,传送最后的ACK 信息,大量的伪造SYN+ACK也会造成服务器瘫痪。
Land攻击与SYN floods攻击有些类似,区别在于Land攻击包中的源地址。在Land攻击中,攻击者向被攻击主机发送一个经过特殊构造的TCP数据报,该数据报带有SYN标志,同时具有相同的源IP 地址和目的IP 地址及相同的源端口号和目的端口号。换言之,IP 地址和端口号都为被攻击主机的,这样当被攻击主机收到这样的TCP 数据报后,就会在本地不断的收发SYN和ACK,从而致被攻击的机器死循环,最终耗尽资源而死机。
Teardrop攻击是利用数据包分解实现的。由于每个数据要传送前都会经过分组切割,每个被切割的数据小组都会记录位移的信息以便重组,Teardrop攻击通过捏造位移信息,比如向被攻击目标发送两个连续的IP 数据包,由于这两个数据包是相互重叠的,导致在目的系统发生大量的数据复制,从而耗尽被攻击主机的CPU和内存资源。
由于用户数据报协议(UDP协议)是一个面向无连接的传输层协议,所以数据传送过程中,不需要建立连接和进行认证。UDP Flood攻击就利用UDP协议不需要建立连接和进行认证的特性,向被攻击主机发送大量的UDP 数据包,这样一方面会使被攻击主机所在的网络资源被耗尽,还会使被攻击主机忙于处理UDP数据包,而使系统崩溃。
至于黑客如何利用DDoS攻击从俄罗斯银行盗走20亿卢布,业内人士认为,黑客并非直接利用DDoS攻击从银行盗走资金,而是利用DDoS攻击瘫痪银行的网络,对银行的安全防卫造成混乱,在银行恢复系统的过程中,特别是一些不太正当的恢复操纵很容易被黑客抓住机会,通过其他的方式从银行盗走20亿卢布。也就是说,DDoS攻击并不能直接盗走银行账户里的资金,但却给黑客制造了在混乱中窃取金钱的机会,至于黑客具体抓住银行哪些安全漏洞盗走资金的,只有当事人才清楚,我们这些看客也只能猜测了。
“科普中国”是中国科协携同社会各方利用信息化手段开展科学传播的科学权威品牌。
本文由科普中国融合创作出品,转载请注明出处。