TCP协议漏洞
一、漏洞描写
TCP( Transport Control Protocol,传输把持协议)是一种可靠的面向连接的传送服务。高防服务器它在传送数据时是分段进行的,主机交换数据一定要建立一个会话。它用比特流通信,即数据被作为无结构的字节流。通过每个TCP传输的字段指定次序号,以获得可靠性。
TCP协议是攻击者攻击方法的思想源泉,重要问题存在于TCP的三次握手协议上,正常的TCP三次握手过程如下:
1.恳求端A发送一个初始序号ISNa的SY报文。
2.被恳求端B收到A的SYN报文后,发送给A自己的初始序列号ISNb,同时将 ISAT+1作为确认的SYN+ACK报文。
3.A对SYN+ACK报文进行确认,同时将ISNa+1,ISNb+1发送给B,TCP连接完成。
针对TCP协议的攻击的基础原理是:TCP协议三次握手没有完成的时候,被恳求端B一般都会重试(即再给A发送SYN+ACK报文)并等候段时间( SYN timeout)这常常被用来进行DOS、Land(在Land攻击中,一个特别打造的SYN包其原地址和目标地址都被设置成某一个服务器地址,此举将导致吸收服务器向它自己的地址发送SYN-ACK消息,成果该地址又发回ACK消息并创立一个空连接,每一个这样的连接都将保存直至超时,对Land攻击反响不同,许多UNX系统将崩溃,NT变得极其缓慢)和 SYN Flood攻击是范例的攻击方法。
二、攻击实现
在 SYN Flood攻击中,黑客机器向受害主机发送大批捏造源地址的TCP SYN报文,受害主机分配必要的资源,然后向源地址返回SYN+ACK包,并等候源端返回ACK包,如图所示。由于源地址是捏造的,所以源端永远都不会返回ACK报文,受害主机持续发送SYN+ACK包,并将半连接放入端口的积存队列中,虽然一般的主机都有超机会制和默认的重传次数,但是由于端口的半连接队列的长度是有限的,如果不断地向受害主机发送大批的 TCP SYN报文,半连接队列就会很快填满,服务器拒绝新的连接,将导致该端口无法响应其他机器进行的连接恳求,最终使受害主机的资源耗尽。
三、防御方法
针对 SYN Flood的攻击戒备措施重要有两种:一种是通过防火墙、路由器等过滤网关防护,另一种是通过加固TCP/IP协议栈戒备。
网关防护的重要技巧有:SYN- cookie技巧和基于监控的源地址状态、缩短 SYN Timeout时间。SYN- cookie技巧实现了无状态的握手,避免了 SYN Flood的资源耗费。基于监控的源地址状态技巧能够对每一个连接服务器的1P地址的状态进行监控,主动采用措施避免 SYN Flood攻击的影响。
为戒备SYN攻击, Windows2000系统的TCP/IP协议内嵌了Synattackprotect机制, Windows2003系统也采用此机制。 Synat-tackprotect机制是通过关闭某些 socket选项,增长额外的连接唆使和成少超时时间,使系统能处理更多的SYN连接,以达到戒备SYN攻击的目标。默认情况下, Windows2000操作系统并不支撑 Synattackprotect掩护机制,需要在注册表以下地位增长 Synattackprotect键值:
HKLMSYSTEMCurrentControlsetServicesTcpipParameters
当 Synattackprotect t值(如无特别阐明,本书提到的注册表键值都为十六进制)为0或不设置时,系统不受Synattackprotect掩护。当Synattackprotect值为1时,系统通过减少重传次数和延迟未连接时路由缓冲项( route cache entry)戒备SYN攻击。
对于个人用户,可应用一些第三方的个人防火墙;对于企业用户,购置企业级防火墙硬件,都可有效地戒备针对TCP三次握手的拒绝式服务攻击。
TikTok千粉号购买平台:https://tiktokusername.com/
TOP