李臣杰 蒋泽军
摘 要:分布式反射拒绝服务攻击是近年来流行的新型网络攻击方式,其成本低廉、破坏力强且溯源困难。针对这一问题研究基于NTP协议的反射放大型攻击原理。首先,通过构建实验模型,复现NTP反射攻击过程。然后,利用Wireshark软件分析攻击效果,并研究NTP协议存在的安全漏洞。最后,提出实验改进方案及针对性防御策略。该方案具有实现复杂度低、操作便捷等优点,可广泛应用于网络工程、网络安全等专业课程教学中。
关键词:反射;NTP;DDoS;网络安全;攻击防御
中图分类号:TP393.08;TP309.5 文献标识码:A 文章编号:2096-4706(2020)13-0151-03
Abstract:Distributed reflection denial of service attack is a new popular network attack method in recent years. It has low cost,strong destructive power and difficult to trace its source. To solve this problem,the principle of reflection amplification attack based on NTP protocol is studied. Firstly,the process of NTP reflection attack is reproduced by constructing an experimental model. Then,Wireshark software is used to analyze the attack effect,and the security vulnerabilities of NTP protocol are studied. Finally,the experimental improvement scheme and targeted defense strategy are proposed. The scheme has the advantages of low complexity and convenient operation,which can be widely used in the teaching of network engineering,network security and other professional courses.
Keywords:reflection;NTP;DDoS;network security;attack defense
0 引 言
分布式拒绝服务(Distributed Denial of Service,DDoS)攻击是指处于不同位置的多个攻击者同时向一个或多个目标发起攻击,耗尽被攻击网络的系统资源,使其无法处理合法用户请求,达到拒绝服务的目的。由于攻击者分布在不同地方,这类攻击被称为分布式拒绝服务攻击。自1999年全球首次DDoS攻击以来,其攻击手段和强度不断更新,逐步形成了“DDoS即服务”的互联网黑色产业服务,业已成为互联网上规模最大、危害最严重、防护最困难的攻击手段。反射放大型DDoS,又称DRDoS(Distributed Reflection Denial of Service,分布式反射拒绝服务)攻击,作为DDoS攻击的一个变种,是近年来最流行的一种DDoS攻击方式。2019年7月,阿里云安全团队发布《2019年上半年DDoS攻击态势报告》,数据显示当前存量反射源最多的反射放大攻击类型为Memcached、NTP、SSDP、CLDAP,攻击峰值达到TB级。
DRDoS能够更好地隐藏攻击者的行踪,同时利用反射原理带来巨大攻击流量,其成本低廉、破坏力强且溯源困难,有数十种UDP协议可被黑客用于反射并放大DDoS攻击。这给传统DDoS攻防带来了新的挑战,业已成为安全界关注的新焦点。文章将对反射放大攻击的原理进行分析,重点研究基于NTP的反射放大型攻击,通过构建实验模型,分析NTP协议存在的主要安全漏洞,并给出相应的防范建议。依据研究结果,利用我校网络安全实验室搭建DRDoS攻防实验仿真平台,开展网络安全专业实验教学。
2 DRDoS攻击原理
DRDoS攻击的原理为:攻击者并不直接发起对目标的攻击,而是利用互联网中提供公共开放服务的服务器。攻击者通过伪造被攻击者的IP地址,向有开放服务的服务器发送精心构造的请求数据包,该服务器会将响应数据包发送到被攻击IP,从而对后者间接形成DDoS攻击。请求数据包远小于响应包,它们之间相差的倍数即反射攻击的放大倍数。DRDoS攻击原理图如图1所示。
执行反射攻击,需要具备4个因素:
(1)一个或多个攻击端:用于执行IP地址欺骗。
(2)一个脆弱的、易于被利用进行反射放大的协议:任何设计不完善的、存在漏洞的、基于UDP请求的协议都可能被利用。
(3)网络中的反射服务器列表:支持脆弱协议的服务器。
(4)一个目标IP地址:被攻击目标的IP地址。
基于以上分析,DRDoS攻击的整体过程可分为以下几步:
第一步:攻击者向目标发送虚假的UDP请求;
第二步:伪造源IP地址,攻击者将请求包中的源IP地址替换为被攻击目标的IP地址;
第三步:攻击者将请求报文发送至网络中的可反射服务器;
第四步:经过伪造的数据包通过网络传输最终到达反射服务器;
第五步:反射服务器接收到这些虚假的请求包,遵从约定的协议规则,向被攻击目标发送放大后的响应报文。当然,这些数据包并不是攻击目标所请求的。攻击者利用协议漏洞,可有效放大DDoS攻击的流量,使被攻击目标产生网络拥塞甚至服务中断。
2 NTP反射放大攻击
NTP(Network Time Protocol,网络时间协议)用来实现网络中的设备时间同步化,是一种典型的基于UDP的协议,由于协议最初的设计并未考虑认证,网络中的NTP服务器常被黑客用于反射放大DDoS攻击,理论放大倍数可达500倍以上。NTP协议包含一个monlist函数,用于监视NTP服务器,当NTP服务器对monlist请求进行响应时,它会向请求方返回与NTP服务器进行同步的最新的600个客户端IP。这是一个相当巨大的放大倍数,如今网络上仍存在有大量的NTP服务器可被黑客利用,通过僵尸网络等方式对目标进行分布式反射放大攻击。NTP反射放大攻击的原理图如图2所示。
参照图2,NTP反射放大攻击的基本流程为:网络中的NTP反射服务器端提供时间同步服务,攻击端发送NTP monlist Request给NTP反射服务器,但是源IP地址不是自己的IP地址,而是被攻击目标的IP地址,NTP反射服务器端收到请求后会向被攻击目标发送Reponse报文。由于Reponse报文包含了与NTP反射服务器端通信的最近600条时间同步记录,比Request报文放大很多倍,从而达到反射放大的目的。
3 NTP反射放大实验搭建及分析
3.1 实验配置及拓扑
两台PC,安装Ubuntu操作系统,一台作为攻击端,另一台作为NTP反射服务器(已安装NTP服务)。一台服务器,作为被攻击目标服务器。
在进行实验之前,需对NTP反射服务器进行配置,Ubuntu系统下,需修改/etc/ntp.conf配置文件,保证monlist字段没有被禁用,修改配置完成后需重启NTP服务使其生效。实验拓扑如图3所示。
3.2 实验流程
步骤1:攻击端利用ntpdate-q命令向NTP反射服务器发送查询请求,伪造NTP客户端。
参照实验拓扑图,具体查询命令为:ntpdate-q 192.168. 2.100。
步骤2:攻击端利用脚本工具伪造至少600个客户端。
由于实验环境限制,我们只搭建了一台NTP反射服务器,在实验条件允许的情况下,可搭建多台NTP服务器形成反射群,能够达到更好的反射放大攻击效果。基于现有实验拓扑环境,我们通过脚本工具重复步骤1中的查询命令,每次查询模拟的源IP地址都不相同,直到伪造600个客户端IP为止。
步骤3:攻击端伪造客户端完成之后,在攻击端利用命令查询服务器,可查看到600个IP。
参照实验拓扑图,具体查询命令为:ntpdc -n -c monlist 192.168.2.100 wc查询IP详情,或添加参数-l,直接查询客户端IP数量,具体命令为:ntpdc -n -c monlist192.168.2.100 wc -l。
步骤4:攻击端伪造源IP为192.168.3.100(被攻击服务器的IP地址)的ntp monlist消息,发送至NTP反射服务器192.168.2.100。
步骤5:NTP反射服务器响应monlist,返回与NTP服务器进行过时间同步的最后600个客户端的IP,发送响应报文至被攻击目标服务器,响应报文按照每6个为1个响应包进行分割,最多有100个响应包,达到反射放大攻击的目的。
3.3 数据包分析
从图4中我们可以看到每个响应包为482字节,我们请求包的大小为234字节,按照这个数据计算出的放大倍数为:482*100/234=206倍。如果通过编写攻击脚本,请求包会更小,这个倍数值会更大,反射放大攻击的效果也会更好。
通过上述分析可知,本文的实验方案环境搭建简单、操作易上手,不局限于一种局域网环境或网络设备,只需几台PC和路由器即可,非常适合我校计算机网络技术及其相关专业的实验教学。教师可根据具体教学目标指导学生在课堂进行NTP反射放大攻击实验,同时引导学生利用所学知识开展攻防对抗并验证防御效果,形成理论与实践相结合的授课模式。在此实验环境的基础上,可进一步丰富反射放大攻击实验类型,搭建实验仿真平台,提升学生对网络攻防的兴趣度,培养其成为掌握网络攻防技能的专业型、实用型人才。
4 防御策略
基于对NTP反射放大型DDoS攻击的过程及原理分析,除常规防护DDoS的方法(如限速、黑名单)之外,还可采取以下防护策略:
(1)加固NTP服务:升级服务器至最新版本,关闭NTP服务器的monlist功能。
(2)在网络层或借助运营商实施ACL过滤规则进行防护。
(3)使用抗DDoS设备或通过购买DDoS云清洗服务进行防护。
(4)消除NTP反射服务器站点:反射放大型DDoS的攻防对抗是一场持久战,我们需要联合各方资源政府、运营商、安全厂商、标准组织、终端用户,对网络中的NTP服务器设备进行安全管理和配置,同时及时更新升级软硬件版本,以减少和消除反射站点。
5 结 论
文章对NTP反射放大攻击原理进行了介绍,搭建实验环境并分析协议存在的漏洞,然后对关键问题提出针对性的防御方案。对于NTP反射型DDoS攻击,只有通过业界各方齐心协力、协同作战,才能实现进一步的有效治理。在以后的工作中,我们将继续研究新型反射放大DDoS攻击,挖掘新的可用于反射放大的网络协议,如Memcached、BitTorrent、CLDAP、Kad等,针对不同协议类型,分析协议漏洞,进而探索更有效的防御技术和方案。
参考文献:
[1] 鲍旭华,洪海,曹志华.破坏之王:DDoS攻击与防范深度剖析 [M].北京:机械工业出版社,2014:61-69.
[2] 刘旭东.基于NTP的DDoS攻击方法与防御研究 [J].网络安全技术与应用,2019(10):17-19.
[3] 周文烽.UDP反射攻击检测与响应技术研究 [D].南京:东南大学,2018.
[4] 孙建.基于小波分析的NTP放大反射攻击检测与防御研究 [D].保定:河北大学,2017.
[5] 陈飞,毕小红,王晶晶,等.DDoS攻击防御技术发展综述 [J].网络与信息安全学报,2017,3(10):16-24.
[6] 王东亮,李旭阳,王洪新.基于NTP协议网络应用时间戳同步机制的研究与应用 [J].电工技术学报,2015,30(S1):477-483.
[7] 林心阳,胡曦明,马苗,等.基于SSDP的物联网DDoS反射放大攻击及防御实验 [J].现代计算机(专业版),2018(18):20-24+31.
[8] 魏玉人,徐育军.DDoS攻击及防御技术综述 [J].软件导刊,2017,16(3):173-175.
作者简介:李臣杰(1987.08—),女,汉族,河南驻马店人,讲师,工学硕士,研究方向:软件技术、网络安全;蒋泽军(1987.02—),男,汉族,河南洛阳人,讲师,工学硕士,研究方向:网络信息安全。