NTP FLOOD的原理

原创 2019-01-08 01:52 阅读(137)次

NTP FLOOD是DDOS(分布式拒绝服务攻击)攻击的一种,是一种网络层(三层)攻击

分有两种

1. Ntp Reply Flood

2. Ntp Request Flood


这里来分析一下这两种攻击的原理。

这种攻击是一种利用网络中NTP服务器的脆弱性。

NTP服务器【Network Time Protocol(NTP)】是用来使计算机时间同步化的一种协议,它可以使计算机对其服务器或时钟源(如石英钟,GPS等等)做同步化,它可以提供高精准度的时间校正(LAN上与标准间差小于1毫秒,WAN上几十毫秒),且可介由加密确认的方式来防止恶毒的协议攻击。


Ntp Reply Flood


有两个指令,可以让NTP服务器返回数据:

Listpeers指令,列出目标NTP服务器的peers(NTP Servers)。

ntpdc -n -c  listpeers time.org.za

Monlist指令,可以获取与目标NTP Server进行过同步的最后600个客户机IP。这意味着,一个很小的请求包,就能获取到大量的活动IP地址组成的连续UDP包。

ntpdc -n -c  monlist time.org.za

通过这两个命令可以发现,比如:此次通信实际的回包比为1:73,而数据量大小比为234 bytes:73×482 bytes,约等于1:562,计算可得到,10M的通信流量可以得到5620M的攻击流量,也就是5G。
正是由于此指令的不等价交换(1:562的报酬),UDP协议的通信模糊性(无三次握手验证),以及NTP服务器的无认证机制,使得反射型DDos攻击成为可能。

防御方法
NTP服务器端加固服务
1. 此漏洞在4.2.7以前版本均默认存在。把NTP 服务器升级到 4.2.7p26或更高版本
2. 关闭现在 NTP 服务的 monlist 功能,在ntp.conf配置文件中增加disable monitor选项


Ntp Request Flood

在 UDP 协议中正常情况下客户端发送请求包到服务端,服务端返回响应包到客户端,但是 UDP 协议是面向无连接的,所以客户端发送请求包的源 IP 很容易进行伪造,当把源 IP 修改为受害者的 IP,最终服务端返回的响应包就会返回到受害者的 IP。这就形成了一次反射攻击。

防御 NTP 反射攻击
1. 由于这种攻击的特征比较明显,所以可以通过网络层或者借助运营商实施 ACL 来防御
2. 使用防 DDoS 设备进行清洗。最常用的还是用这种方法。