您的位置:首页 > 理论基础 > 计算机网络

TCP和UDP漏洞

2020-06-06 04:50 225 查看

虽然某些攻击针对IP,但本主题讨论针对TCP和UDP的攻击。

TCP包头

TCP服务

TCP提供以下服务:

  • 可靠的传递 -TCP包含确认以确保传递,而不是依靠上层协议来检测和解决错误。如果未及时收到确认,则发送方将重新发送数据。要求对接收到的数据进行确认可能会导致严重的延迟。利用TCP可靠性的应用层协议的示例包括HTTP,SSL / TLS,FTP,DNS区域传输等。
  • 流控制 -TCP实现流控制以解决此问题。无需一次确认一个段,而是可以通过一个确认段来确认多个段。
  • 状态通信 -两方之间的TCP状态通信在TCP三向握手期间发生。如图所示,在使用TCP传输数据之前,需要进行三向握手以打开TCP连接。如果双方都同意TCP连接,则双方都可以使用TCP发送和接收数据。

三次握手

通过三个步骤建立TCP连接:

  1. 启动客户端请求与服务器的客户端到服务器的通信会话。
  2. 服务器确认客户端到服务器的通信会话,并请求服务器到客户端的通信会话。
  3. 启动客户端确认服务器到客户端的通信会话。

TCP攻击

网络应用程序使用TCP或UDP端口。威胁参与者对目标设备进行端口扫描,以发现它们提供的服务。

TCP SYN泛洪攻击

TCP SYN Flood攻击利用了TCP三向握手。该图显示了威胁参与者连续向目标发送带有随机欺骗源IP地址的TCP SYN会话请求数据包。目标设备用TCP SYN-ACK数据包答复欺骗的IP地址,并等待TCP ACK数据包。这些反应永远不会到来。最终,目标主机被半开放的TCP连接所淹没,并且TCP服务被合法用户拒绝。

  1. 威胁参与者将多个SYN请求发送到Web服务器。
  2. Web服务器针对每个SYN请求答复SYN-ACK,并等待完成三向握手。威胁参与者不响应SYN-ACK。
  3. 有效用户无法访问Web服务器,因为Web服务器具有太多的半打开的TCP连接。

TCP重置攻击

TCP重置攻击可用于终止两个主机之间的TCP通信。该图显示了TCP如何使用四向交换通过来自每个TCP端点的一对FIN和ACK段来关闭TCP连接。TCP连接收到RST位时终止。这是断开TCP连接并通知接收主机立即停止使用TCP连接的一种突然方法。威胁参与者可以进行TCP重置攻击,并向一个或两个端点发送包含TCP RST的欺骗数据包。

终止TCP会话使用以下四向交换过程:

  1. 当客户端没有更多数据要在流中发送时,它将发送一个设置了FIN标志的段。
  2. 服务器发送一个ACK确认FIN的接收,以终止从客户端到服务器的会话。
  3. 服务器将FIN发送到客户端以终止服务器到客户端会话。
  4. 客户端以ACK响应,以确认来自服务器的FIN。

UDP段头和操作

UDP通常由DNS,TFTP,NFS和SNMP使用。它还可用于实时应用程序,例如媒体流或VoIP。UDP是无连接传输层协议。与TCP相比,它的开销要低得多,因为它不是面向连接的,并且不提供提供可靠性的复杂的重传,排序和流控制机制。如图所示,UDP段结构比TCP的段结构小得多。

尽管通常将UPD称为不可靠,但是与TCP的可靠性相比,这并不意味着使用UDP的应用程序始终不可靠,也不意味着UDP是劣等协议。这意味着这些功能不是由传输层协议提供的,如果需要,必须在其他地方实现。

UDP的低开销使其非常适合进行简单的请求和回复事务的协议。例如,将TCP用于DHCP将引入不必要的网络流量。如果未收到响应,则设备将重新发送请求。

UDP攻击
UDP不受任何加密保护。您可以将加密添加到UDP,但默认情况下不可用。缺少加密意味着任何人都可以看到流量,对其进行更改并将其发送到目的地。更改流量中的数据将更改16位校验和,但是校验和是可选的,并不总是使用。使用校验和时,威胁参与者可以基于新的数据有效载荷创建新的校验和,然后将其记录在标头中作为新的校验和。目标设备将发现校验和与数据匹配,而无需知道数据已被更改。这类攻击并未得到广泛使用。

UDP泛洪攻击

您更有可能看到UDP泛洪攻击。在UDP Flood攻击中,网络上的所有资源都被消耗。威胁参与者必须使用UDP Unicorn或低轨道离子加农炮之类的工具。这些工具通常将来自欺骗主机的大量UDP数据包发送到子网上的服务器。该程序将扫描所有已知端口,以查找关闭的端口。这将导致服务器回复ICMP端口不可达消息。因为服务器上有许多关闭的端口,所以这会在网段上创建大量流量,从而占用了大部分带宽。结果与DoS攻击非常相似。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: