基于的攻击研究及实验
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 攻击的流量,使被攻击目标产生网络拥塞甚至服务中断。
图1 DRDoS 攻击原理图
2 NTP 反射放大攻击
NTP(Network Time Protocol,网络时间协议)用来实现网络中的设备时间同步化,是一种典型的基于UDP 的协议,由于协议最初的设计并未考虑认证,网络中的NTP 服务器常被黑客用于反射放大DDoS 攻击,理论放大倍数可达500 倍以上。NTP 协议包含一个monlist 函数,用于监视NTP 服务器,当NTP 服务器对monlist 请求进行响应时,它会向请求方返回与NTP 服务器进行同步的最新的600 个客户端IP。这是一个相当巨大的放大倍数,如今网络上仍存在有大量的NTP 服务器可被黑客利用,通过僵尸网络等方式对目标进行分布式反射放大攻击。NTP 反射放大攻击的原理图如图2 所示。
图2 NTP 反射放大攻击原理图
参照图2,NTP 反射放大攻击的基本流程为:网络中的NTP 反射服务器端提供时间同步服务,攻击端发送NTP monlist Request 给NTP 反射服务器,但是源IP 地址不是自己的IP 地址,而是被攻击目标的IP 地址,NTP 反射服务器端收到请求后会向被攻击目标发送Reponse 报文。由于Reponse 报文包含了与NTP 反射服务器端通信的最近600 条时间同步记录,比Request 报文放大很多倍,从而达到反射放大的目的。
3 NTP 反射放大实验搭建及分析
3.1 实验配置及拓扑