购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.3

DDoS攻击的形成

DDoS攻击的形成有各种原因,有的是因为商业竞争、利益纠葛,有的是因为政治目的。从以往的很多案例中我们不难看出,DDoS攻击之所以长盛不衰,是由经济利益和政治目的驱动的。DDoS攻击的形成和它底层的产业链条息息相关,它不是一个简单的技术或产品,而是有着完整体系的黑色产业。在下面的章节中,我会详细介绍DDoS攻击的形成过程。

(1)僵尸网络

DDoS攻击的方式还是比较清晰的,就是利用互联网上大量的僵尸主机(包括数据中心的物理服务器、公有云上的虚拟主机、直接暴露在公网上的物联网设备等),在一个时间段内,以大规模消耗攻击目标的各种资源(例如CPU、带宽、TCP连接等)为手段,达到目标服务无法被访问的目的。

如图2-1所示,在进行DDoS攻击时,攻击者向僵尸网络的控制器下达攻击指令,控制器把攻击指令下发给所控制的僵尸网络中的僵尸主机,僵尸网络中的僵尸主机按照攻击者下达的攻击指令,对目标发起DDoS攻击。在攻击过程中,僵尸网络中的僵尸主机起了非常重要的作用,僵尸网络也是形成DDoS攻击的主要因素。因此,下面我会多花点篇幅来介绍和僵尸网络相关的内容。

图2-1 僵尸网络

(2)攻击者如何组建自己的僵尸网络?

攻击者之所以能够发起DDoS攻击,完全依赖他所控制的僵尸网络,以及僵尸网络中的僵尸主机。攻击者在攻陷主机、组建僵尸网络的过程中,通常会采用的两种方式:弱口令爆破或者默认口令尝试;漏洞利用。

例如,攻击者会针对互联网某个网段中的所有IP地址尝试telnet操作,进行口令爆破。如果系统存在没有修改的默认口令(例如用户名为admin,密码为admin),或者存在一些弱口令(例如用户名为root,密码为123456),攻击者就很有可能爆破成功,登录主机,并从攻击者预先准备好的文件服务器(如FTP服务器)上下载恶意代码,并在主机上创建一个专属的后门,用于和僵尸网络的CC服务器进行通信,以便接收攻击指令,发起DDoS攻击。当攻击者成功获得主机的控制权时,这台主机也就成为僵尸网络中的一台僵尸主机了。日积月累,积少成多,攻击者不停地在互联网上进行尝试,被他控制的僵尸主机越来越多,僵尸网络也就慢慢形成了。

(3)哪些系统最有可能成为僵尸主机?

从操作系统角度来看,僵尸主机大多为Windows系统、Linux系统以及物联网设备使用的内嵌式Linux系统的主机。例如,我们家用的Windows系统台式机,在你不经意运行了一个从网上下载的小游戏,或打开了一封来历不明的邮件附件时,就很有可能已经成为某个僵尸网络中的一台僵尸主机了。Windows系统曾经一直是各类恶意软件的重灾区,很多老牌僵尸网络家族皆以Windows为主要运行平台。

2018年后,物联网设备使用最多的Linux操作系统成为了另外一个重灾区。物联网设备的总量及产品种类在快速增长,但物联网设备整体的安全性仍停留在十分低下的阶段,不安全的固件与协议的使用,使得相关安全漏洞频现。例如,互联网上的路由器和摄像头,如果没有及时进行版本升级、漏洞修复,就很容易被攻击者通过已知漏洞进行利用,把它们变为僵尸网络的一员。

同时,物联网设备使用者的安全意识薄弱也是物联网安全问题的诱因之一,大量直接暴露在互联网上的物联网设备仍在使用设备出场时默认的用户名和密码,攻击者利用各类爆破工具可以轻易获得这些设备的控制权,因此它们正在成为攻击者的新目标。

可以预见,在不远的未来,随着物联网设备数量的激增和5G的应用,物联网设备成为僵尸主机的可能性会更大。

(4)有哪些僵尸网络类型(家族)?

其实,僵尸网络也是有家族和组织的。很多所谓的僵尸网络的“前辈”开发了很多用于攻陷僵尸主机、建立控制器和僵尸网络之间的联络、发布攻击命令等方面的工具,让后来者可以很方便地使用并且组建自己的“僵尸大军”。如图2-2所示是现在已经在网上( https://github.com/jgamblin/Mirai-Source-Code )公布了源码的Mirai病毒,由于公布的源码具备了所有僵尸网络的基本功能(例如密码爆破、程序下载、连接控制、DDoS攻击等),使得后续出现的很多物联网病毒都是基于Mirai源码更改的,进而形成了Mirai家族。有关Mirai的历史,感兴趣的读者可以自行搜索。另外,在绿盟科技发布的“2018 BOTNET趋势报告”中,也提到了很多其他僵尸网络家族,例如BillGates家族、Mayday家族、GAFGYT家族等。

图2-2 Mirai病毒

(5)僵尸网络除了用于发起DDoS攻击外,还可以干什么?

当僵尸网络的控制者能够控制数以万计的僵尸主机后,除了发起DDoS攻击,他们还可以做许多其他的事情。

·窃取用户的各种敏感信息和秘密,例如个人账号、机密数据等。

·发送大量的垃圾邮件。

·挖矿(即虚拟货币挖掘)。这是近几年新兴的僵尸网络利用方式,相比于DDoS攻击、窃密等常见的恶意行为,僵尸网络发起的挖矿类行为具有收益可预期、攻击者信息可隐藏的特点。例如,以色列安全公司GuardiCore发现了一个名为Bondnet的僵尸网络,该僵尸网络由数万台被控制的不同功率的僵尸主机组成,攻击者通过远程控制和管理Bondnet网络进行挖矿。

再举一个例子,如图2-3所示,XMRig( https://github.com/xmrig )是GitHub上的一款知名挖矿工具,可分别使用主机的CPU和GPU进行门罗币挖矿。由于它支持多平台,因此成为各僵尸网络家族的常用获利工具,被下载到僵尸主机上运行,以谋取不法利益。僵尸网络被用于挖矿得益于区块链技术在近几年的快速发展和应用,比特币等数字货币的出现给黑色产业的利益兑现带来了便捷,因而催化了黑色产业在挖矿和勒索这两个方向的迅猛发展。

图2-3 XMRig页面

(6)Mirai僵尸网络是如何运作的?

我们以Mirai为例,通过对其开源代码的分析,帮助大家还原Mirai僵尸网络的形成、管理以及攻击等过程。为了便于理解,我把整个流程分为以下几个阶段。

1)第一阶段是 爆破阶段 ,如图2-4所示,攻击者通过运行loader,随机对IP地址段内的设备(这里主要针对物联网设备)进行Telnet爆破。loader是Mirai中攻击者使用的攻击程序,运行在攻击者电脑上,主要功能为Telnet爆破。早期的Mirai主要是通过密码爆破来开展进攻的,经过改良的Mirai家族还加入了对已知漏洞进行攻击的手段。无论哪种攻击手段,最终目的都是要获得物联网设备的控制权。

图2-4 Mirai病毒的爆破阶段

2)如果Telnet爆破成功,则会进入到第二阶段,即 下载阶段 。如图2-5所示,获得物联网设备权限的攻击者会通过wget或者ftp,从事先准备好的FTP服务器上下载Mirai病毒。如果物联网设备上既没有wget,也没有ftp,那么他会通过自身提供的工具dlr来下载病毒软件。这个阶段的主要目的就是获得病毒软件,以开始后面的工作。

图2-5 Mirai 病毒的下载阶段

3)病毒软件下载成功后,就会进入第三阶段,即 连接阶段 。如图2-6所示,在这个阶段,病毒软件会被启动,连接CC服务器,周期性地报告僵尸主机的状态,并且等待来自CC服务器的攻击命令。

图2-6 Mirai 病毒的连接阶段

4)每台僵尸主机的感染过程都会经历前三个阶段,在感染的物联网设备达到一定数量且僵尸网络形成后,就进入到最实质的阶段,即 攻击阶段 。如图2-7所示,攻击者在CC服务器上下达攻击指令,运行在CC服务器上的控制程序把攻击指令同步给僵尸网络中所有的僵尸主机。僵尸主机根据攻击命令,通过病毒软件构建攻击包,并且对目标发起DDoS攻击。

图2-7 Mirai病毒的攻击阶段

(7)Booter/Stresser

无论是次数还是规模,DDoS攻击在过去几年中一直平稳上升。一方面是由于僵尸网络越来越成规模,家族种类多,治理难度大;另一方面是因为DDoS攻击的商业化越来越成熟。这里不得不介绍Booter/Stresser。

提醒:由于Booter处于灰色地带,所以使用它时要遵循当地的法律法规,如果属于违法行为,那么就要避免使用。

下面介绍Booter的两种“颜色”的用法,通过这两种用法,相信读者会深刻理解其意义。

第一种用法是“白色”的。假设你是一个公司的首席信息官(CIO)或首席安全官(CSO),公司的门户网站是一个非常重要的对外窗口,在经历了一系列安全整改后,你还不放心,想对网站做一次压力测试,看看安全整改的效果如何,这时就可以用Booter对自己的网站进行一次安全体检。

第二种用法是“黑色”的。假设你拥有一个网页游戏,在线人数较多,月收入丰厚,而你的一个竞争对手下周会发布一款新的游戏,预计会对你的收入造成较大的影响。如果你想给竞争对手制造一些麻烦,即可利用Booter对竞争对手的网页游戏发起一次小规模的DDoS攻击。这样做违法,你要承担相应的法律责任。读到这里,相信大家对Booter的功能非常清楚了。

Booter/Stresser把DDoS攻击服务化,即DDoS as-a-Service,将压力测试(DDoS攻击)和云服务相结合,整合成了一个标准化、自动化的在线服务。从某种意义上讲,Booter的出现让DDoS攻击变得容易了。如图2-8所示,我截取了网站Top 10Booters- The Booter Ranking Site( http://top10booters.com/ )上的一些信息,供大家参考。

图2-8 Top 10Booter网站页面 a18+zxHIH3njzB4xo3BrPj1nqtJ/jhfdkGdac8n/whq2VUA0lto7GVp53pqOF9gn

点击中间区域
呼出菜单
上一章
目录
下一章
×