UDP DRDDoS,也叫UDP反射DDoS攻击,是一类特殊的DDoS攻击形式。在此类攻击中,攻击者通过伪造被攻击主机地址,向网络上有漏洞的主机发送基于特定UDP服务的请求报文,这些请求的回复会被放大数倍后发送到被攻击主机从而达到攻击目的。其攻击场景如图1所示。
反射DDoS攻击不依赖于数量巨大的傀儡机,实现起来更方便、攻击源不易被追踪,并且攻击中表现出的流量放大特点使攻击效果比较理想,因此它已经成为互联网上最近非常活跃的一类攻击手段。
反射DDoS攻击的研究现状
早在1996年就有学者指出了字符发生器协议(Chargen,Character Generator Protocol)存在这方面的漏洞。Paxson于2001年对TCP、UDP、IP等常见协议中潜在的可被用来进行反射攻击的字段进行了系统性研究,研究报告中的DNS、SNMP等协议在现阶段已经成为主流的反射攻击协议。2014年,德国波鸿大学的一篇研究报告对14种UDP协议进行了实验性研究,认为这些协议存在实施反射攻击的可能,并对攻击的危害程度进行了对比分析。
来自设备厂商Arbor ATLAS的一份报告显示,5种基于UDP的反射攻击在实际网络环境中是可见的,它们分别是Chargen,SNMP,DNS,NTP和SSDP。攻击者利用上述协议的漏洞,通过扫描的方式确定服务的开放性,之后针对性地发动攻击。以上5种UDP DRDDoS攻击,我们利用布置在CERNET主节点网络边界提供的流记录数据,均可以检测到。
基于流记录的反射攻击行为主机检测
检测算法
针对Chargen反射攻击,文献提出了一种基于端口匹配和流量阈值的检测算法,用于检测网内有反射攻击行为的主机。在该算法基础上,我们将其中的端口进行扩展,尝试覆盖19号、123号、1900号、161号和53号端口。
算法实现
NBOS(Network Behavior Observation System)是CERNET 华东北地区网络中心在国家科技支撑计划课题“新一代可信任互联网安全和网络服务”支持下开发的用于监控和管理CERNET网络服务质量和网络安全状态的新型网络管理系统,它基于流记录工作,以不同的时空尺度提供网络的基础运行数据。2014年NBOS完成了一次升级,升级后的版本是NBOS-S3.0,可以支持的数据源是V5或V9格式的netflow或netstream,采用B/S结构工作。目前已经在CERNET全部38个主节点所管理的网络边界部署,稳定运行时间超过1年。
我们将上述反射攻击检测算法在NBOS平台上实现,并部署到38个主节点。在实际检测中发现,由于NBOS使用的分析数据源存在瑕疵,影响到对SNMP(161端口)和DNS(53端口)两种反射攻击检测,尝试的几种补偿方案经实际环境检测准确率不能达到要求,因此目前正式运行的NBOS平台上的检测算法只覆盖针对Chargen、NTP和SSDP 这3种协议的反射DDoS攻击。部署在38个主节点的NBOS驻地节点检测出的被管网内攻击服务器相关信息除了存储在本节点数据库中,还周期性地汇报至NBOS总控节点汇总。本文第3节中的综合统计中的所有分析数据均是总控汇总后的结果。
检测结果的统计和分析
实际检测时,算法实际使用的阀值是在一个5分钟的NBOS时间粒度中,面向单个网外主机的网内主机上述端口UDP流量超过20MB。针对Chargen、NTP和SSDP反射攻击,我们根据各主节点NBOS驻地系统在2月10日到3月9日这28天内发回总控的全网的攻击数据,形成下面的统计分析。
总体攻击情况数据统计
图2是主节点在统计时间内参与三种攻击的网内活跃主机数。需要说明的是在这个统计中我们滤掉了整个统计期间发送攻击流量少于50MB的主机,另外由于pop15节点的19、123、1900端口参与攻击的主机数量分别为72、9、320台,总数为401台,数量较其他节点多出2倍以上,为了不影响其他节点的显示精度,图中未显示该点数据。
从图2中可以看到,CERNET中存在一定数量的有Chargen、NTP、SSDP反射攻击行为的主机。图3-a是三种攻击每天被攻击的主机数量,3-b是三种攻击每天的发生次数,数据同样来自2月10日到3月9日NBOS总控的汇总信息,并按被攻击IP的归属,分为国内和国外两方面进行统计。从图中可以看出,被攻击主机和攻击次数在走向上总体保持一致,且针对国外地址的攻击不论在主机数量和攻击次数上都占据主要位置。
图4给出了统计时间段内,按天统计的CERNET全网范围内发起的三种攻击的总流量。从图中可以看出,面向NTP协议的攻击虽然参与的主机数量不多,但产生的攻击流量是最大的。其攻击流量在2月下旬的每一天里甚至达到十几TB。而Chargen和SSDP反射攻击流量总体较低且数据较为平稳。
表1给出了2月10日到3月9日期间,全网三种反射攻击的总体数据。总体上,NTP和Chargen反射攻击的在攻击流量上占据主要成分,特别是NTP反射攻击,虽然参与攻击的主机数量最少,但攻击总流量达到了265TB,攻击的次数也居于首位。
攻击峰值情况
上节给出的流量和主机数据提供了攻击随时间的整体走向和在空间上的分布情况。本节将给出在统计时间段内发生的攻击中的一些峰值统计数据。表2-a、2-b和2-c分别从被攻击者接收的流量最大、参与攻击主机发送的流量最大、参与攻击主机的攻击次数最大三个角度,分别给出了三种攻击的对应数据。所有的数据均表明,在三种反射攻击中,NTP 反射攻击是最严重的,其次是Chargen反射攻击,SSDP的攻击效果则远小于前两者。
反射攻击的防范
最简单有效的方法是关闭端口,管理者应当尽可能地限制访问服务或者关闭服务端口。有关对反射攻击更具体的应对措施,由于篇幅的限制,我们将另文讨论。
需要说明的是目前在CERNET的所有主节点,均可以通过NBOS系统观测到所管理的网络范围内发生的上述3种类型的UDP DRDDoS攻击。在南京主节点,我们正在尝试通过Chairs系统,向有UDPDRDDoS行为的用户发送报告。
本文在分析反射DDoS攻击原理的基础上,利用一种基于端口和阈值的检测算法,在NBOS平台上了针对NTP、Chargen、SSDP协议的反射DDoS攻击检测程序,并用其对CERNET中的此类攻击进行了观测和统计。从实际的观测结果来看,这三种反射攻击在CERNET中广泛存在,特别是NTP反射攻击,其攻击强度较大,应当引起足够的重视。协议本身的设计缺陷以及管理员对该类设备缺乏针对性的配置是造成攻击的主要原因。在实际应用中,应当限制或者关闭服务端口,或者对访问进行必要的限制,以降低发生此类攻击的可能。
(作者单位为东南大学计算机科学与工程学院)
特别声明:本站注明稿件来源为其他媒体的文/图等稿件均为转载稿,本站转载出于非商业性的教育和科研之目的,并不意味着赞同其观点或证实其内容的真实性。如转载稿涉及版权等问题,请作者在两周内速来电或来函联系。