不能用于 DDOS 的 UDP 协议?

网络工程 UDP
2022-02-07 12:50:52

我正在设计一个类似于 DNS 协议的协议,但它可能会返回更多数据。我可以选择使用 UDP 或 TCP。UDP 很有吸引力,因为它是无状态的,但它也可以用于 DDOS。

协议中可以使用哪些策略来避免它可能用于 DDOS 攻击?

我在某处读到 NTP 现在正在使用随机数。这是如何运作的 ?

1个回答

UDP 和 TCP 都可以用于 DDOS,并且这些协议中没有任何东西可以防止它。但是您的意思可能不是一般的 DDOS 攻击,而是放大攻击和源欺骗。

源欺骗是指客户端声称的源 IP 地址与真实源 IP 不同,因此响应不会发送给真实客户端(攻击者),而是发送给声称的源(DDOS 攻击的目标)。TCP 无法进行源欺骗,因为初始握手确保声明的客户端实际上是真正的客户端。

放大攻击意味着响应比请求大得多,即通常 DNS 查询很小,但如果 DNS 响应包含大量 DNS 记录,这对于具有多个 IP 地址的主机来说是很常见的。结合源欺骗,这意味着低带宽的攻击者可以对目标发起高带宽的攻击。

为了防止源欺骗,请使用不受影响的协议(如 TCP)或以其他方式识别客户端,如通过共享密钥。为了防止将源欺骗与放大相结合,请确保您的响应很小,至少只要未正确识别客户端以防止源欺骗。因此,对于一个新客户端,您可以发回一个包含秘密(随机数)的小响应,并且仅对于来自包含此秘密的客户端的请求,您才会做出更大的响应。

针对此类攻击的另一种保护措施不是在协议级别,而是在应用程序级别,因为您限制发送到特定 IP 地址的数据量,至少只要请求这些数据的客户端没有被正确识别。