求真百科歡迎當事人提供第一手真實資料,洗刷冤屈,終結網路霸凌。

「TCP重置攻击」修訂間的差異檢視原始碼討論檢視歷史

事實揭露 揭密真相
前往: 導覽搜尋
(创建页面,内容为“TCP重置攻击指的是使用伪造的TCP重置包干扰用户和网站的连接。这个技术可以在善意的防火墙中应用,但也可用于网络审查或…”)
 
行 1: 行 1:
TCP重置攻击指的是使用伪造的TCP重置包干扰用户和网站的连接。这个技术可以在善意的防火墙中应用,但也可用于网络审查或是攻击,恶意中断Internet连接。中国的防火长城便运用了这个技术进行TCP关键字阻断。使用IPsec可以避免TCP重置攻击。
+
'''TCP重置攻击''' 指的是使用伪造的TCP重置包干扰用户和[[ 网站]] 的连接。这个技术可以在善意的[[ 防火墙]] 中应用,但也可用于网络审查或是攻击,恶意中断Internet连接。中国的防火长城便运用了这个技术进行TCP关键字阻断。使用IPsec可以避免TCP重置攻击。
  
 
==背景==
 
==背景==
  
 本质上,Internet是用于单个计算机交换电子消息或IP数据包的系统。该系统包括用于承载消息的硬件(例如铜缆和光纤电缆)和用于格式化消息的形式化系统,称为“协议”。互联网上使用的基本协议是IP协议,通常与其他协议(例如TCP或UDP协议)结合使用。TCP/IP是用于电子邮件 和Web 浏览的协议集。每个协议都有一个信息块,称为包头,包含在每个数据包的开头附近。包头含有关哪台计算机发送了数据包,哪台计算机应接收它,数据包大小等信息。
+
 本质上,Internet是用于单个[[ 计算机]] 交换电子消息或IP数据包的系统。该系统包括用于承载消息的[[ 硬件]] (例如铜缆和光纤电缆)和用于格式化消息的形式化系统,称为“协议”。互联网上使用的基本协议是IP协议,通常与其他协议(例如TCP或UDP协议)结合使用。TCP/IP是用于[[ 电子邮件]]和[[Web 浏览]] 的协议集。每个协议都有一个信息块,称为包头,包含在每个数据包的开头附近。包头含有关哪台计算机发送了数据包,哪台计算机应接收它,数据包大小等信息。
  
 当两台计算机之间需要双向虚拟连接时,TCP与IP一起使用。(UDP是无连接IP协议。)两台机器上的TCP软件将通过交换数据包流进行通信(例如,装有浏览器的电脑 和Web 服务器)。使用TCP连接为计算机提供了一种简便的方法来交换对于单个数据包来说太大的数据项,例如视频剪辑,电子邮件附件或音乐文件。尽管某些网页对于单个数据包来说足够小,但为方便起见,它们也是通过TCP连接发送的。
+
 当两台计算机之间需要双向虚拟连接时,TCP与IP一起使用。(UDP是无连接IP协议。)两台机器上的TCP软件将通过交换数据包流进行通信(例如,装有[[ 浏览器]] 的电脑 和[[Web 服务器]] )。使用TCP连接为计算机提供了一种简便的方法来交换对于单个数据包来说太大的数据项,例如视频剪辑,电子邮件附件或音乐文件。尽管某些网页对于单个数据包来说足够小,但为方便起见,它们也是通过TCP连接发送的。
  
 
==TCP重置==
 
==TCP重置==
  
 在TCP连接的数据包流中,每个数据包都包含一个TCP包头。这些包头中的每一个都包含一个称为“复位”(RST)标志的位。在大多数数据包中,该位设置为0,并且无效;但是,如果此位设置为1,则向接收计算机指示该计算机应立即停止使用TCP连接;它不应使用连接的标识号(端口)发送更多数据包,并丢弃接收到的带有包头的其他数据包,这些包头指示它们属于该连接。TCP重置基本上会立即终止TCP连接。
+
 在TCP连接的数据包流中,每个[[ 数据包]] 都包含一个TCP包头。这些包头中的每一个都包含一个称为“复位”(RST)标志的位。在大多数数据包中,该位设置为0,并且无效;但是,如果此位设置为1,则向接收计算机指示该计算机应立即停止使用TCP连接;它不应使用连接的标识号([[ 端口]] )发送更多数据包,并丢弃接收到的带有包头的其他数据包,这些包头指示它们属于该连接。TCP重置基本上会立即终止TCP连接。
  
 按照最初的设计,这是一个有用的工具。常见的应用是在进行TCP连接时计算机(计算机A)崩溃的情况。另一端的计算机(计算机B)将继续发送TCP数据包,因为它不知道计算机A已崩溃。重新启动计算机A后,它将从旧的崩溃前连接接收数据包。计算机A没有这些数据包的上下文,也无法知道如何处理这些数据包,因此它可以向计算机B发送TCP重置。此重置使计算机B知道该连接不再起作用。计算机B上的用户现在可以尝试其他连接或采取其他措施。
+
 按照最初的[[ 设计]] ,这是一个有用的工具。常见的应用是在进行TCP连接时计算机(计算机A)崩溃的情况。另一端的计算机(计算机B)将继续发送TCP数据包,因为它不知道计算机A已崩溃。重新启动计算机A后,它将从旧的崩溃前连接接收数据包。计算机A没有这些数据包的上下文,也无法知道如何处理这些数据包,因此它可以向计算机B发送TCP重置。此重置使计算机B知道该连接不再起作用。计算机B上的用户现在可以尝试其他连接或采取其他措施。
  
 
==伪造TCP重置==
 
==伪造TCP重置==
  
 在上述情况下,TCP重置是由作为连接端点之一的计算机发送的。但操作中,第三台计算机可以监视连接上的TCP数据包,然后将包含TCP重置的“伪造”数据包发送到一个或两个端点。伪造数据包中的报头必须错误地表明它来自端点,而不是伪造者。此信息包括端 点IP 地址和端口号。IP和TCP包头中的每个字段都必须设置为令人信服的伪造值,以进行伪重置,以欺骗端点关闭TCP连接。正确格式化的伪造TCP重置可能是中断伪造者可以监视的任何TCP连接的非常有效的方法。
+
 在上述情况下,TCP重置是由作为连接端点之一的计算机发送的。但操作中,第三台计算机可以监视连接上的TCP数据包,然后将包含TCP重置的“伪造”数据包发送到一个或两个端点。伪造数据包中的报头必须错误地表明它来自端点,而不是伪造者。此信息包括端 点[[IP 地址]] 和端口号。IP和TCP包头中的每个字段都必须设置为令人信服的伪造值,以进行伪重置,以欺骗端点关闭TCP连接。正确格式化的伪造TCP重置可能是中断伪造者可以监视的任何TCP连接的非常有效的方法。
  
 
==合法使用TCP重置注入==
 
==合法使用TCP重置注入==
  
 伪造的TCP重置的一个明显的应用是在未经拥有端点的两方同意的情况下恶意破坏TCP连接。但是,也有人设计了使用伪造TCP重置来保护网络安全的系统。1995年被演示的一个原型“ Buster”软件包,该软件包会将伪造的重置发送到使用短列表中的端口号的任何TCP连接。Linux志愿者在2000年提出了在Linux防火墙上实现此功能,而开源的Snort早在2003年就使用TCP重置来中断可疑连接。
+
 伪造的TCP重置的一个明显的应用是在未经拥有端点的两方同意的情况下恶意破坏TCP连接。但是,也有人设计了使用伪造TCP重置来保护网络安全的系统。1995年被演示的一个原型“ Buster”[[ 软件包]] ,该软件包会将伪造的重置发送到使用短列表中的端口号的任何TCP连接。Linux志愿者在2000年提出了在Linux防火墙上实现此功能,而开源的Snort早在2003年就使用TCP重置来中断可疑连接。
  
IETF认为,RFC3360中防火墙,负载平衡器和Web服务器进行的TCP重置是有害的。
+
IETF认为,RFC3360中[[ 防火墙]] ,负载[[ 平衡器]] 和Web服务器进行的TCP重置是有害的。

於 2020年8月26日 (三) 17:25 的修訂

TCP重置攻擊指的是使用偽造的TCP重置包干擾用戶和網站的連接。這個技術可以在善意的防火牆中應用,但也可用於網絡審查或是攻擊,惡意中斷Internet連接。中國的防火長城便運用了這個技術進行TCP關鍵字阻斷。使用IPsec可以避免TCP重置攻擊。

背景

本質上,Internet是用於單個計算機交換電子消息或IP數據包的系統。該系統包括用於承載消息的硬件(例如銅纜和光纖電纜)和用于格式化消息的形式化系統,稱為「協議」。互聯網上使用的基本協議是IP協議,通常與其他協議(例如TCP或UDP協議)結合使用。TCP/IP是用於電子郵件Web瀏覽的協議集。每個協議都有一個信息塊,稱為包頭,包含在每個數據包的開頭附近。包頭含有關哪台計算機發送了數據包,哪台計算機應接收它,數據包大小等信息。

當兩台計算機之間需要雙向虛擬連接時,TCP與IP一起使用。(UDP是無連接IP協議。)兩台機器上的TCP軟件將通過交換數據包流進行通信(例如,裝有瀏覽器的電腦和Web服務器)。使用TCP連接為計算機提供了一種簡便的方法來交換對於單個數據包來說太大的數據項,例如視頻剪輯,電子郵件附件或音樂文件。儘管某些網頁對於單個數據包來說足夠小,但為方便起見,它們也是通過TCP連接發送的。

TCP重置

在TCP連接的數據包流中,每個數據包都包含一個TCP包頭。這些包頭中的每一個都包含一個稱為「復位」(RST)標誌的位。在大多數數據包中,該位設置為0,並且無效;但是,如果此位設置為1,則向接收計算機指示該計算機應立即停止使用TCP連接;它不應使用連接的標識號(端口)發送更多數據包,並丟棄接收到的帶有包頭的其他數據包,這些包頭指示它們屬於該連接。TCP重置基本上會立即終止TCP連接。

按照最初的設計,這是一個有用的工具。常見的應用是在進行TCP連接時計算機(計算機A)崩潰的情況。另一端的計算機(計算機B)將繼續發送TCP數據包,因為它不知道計算機A已崩潰。重新啟動計算機A後,它將從舊的崩潰前連接接收數據包。計算機A沒有這些數據包的上下文,也無法知道如何處理這些數據包,因此它可以向計算機B發送TCP重置。此重置使計算機B知道該連接不再起作用。計算機B上的用戶現在可以嘗試其他連接或採取其他措施。

偽造TCP重置

在上述情況下,TCP重置是由作為連接端點之一的計算機發送的。但操作中,第三台計算機可以監視連接上的TCP數據包,然後將包含TCP重置的「偽造」數據包發送到一個或兩個端點。偽造數據包中的報頭必須錯誤地表明它來自端點,而不是偽造者。此信息包括端點IP地址和端口號。IP和TCP包頭中的每個字段都必須設置為令人信服的偽造值,以進行偽重置,以欺騙端點關閉TCP連接。正確格式化的偽造TCP重置可能是中斷偽造者可以監視的任何TCP連接的非常有效的方法。

合法使用TCP重置注入

偽造的TCP重置的一個明顯的應用是在未經擁有端點的兩方同意的情況下惡意破壞TCP連接。但是,也有人設計了使用偽造TCP重置來保護網絡安全的系統。1995年被演示的一個原型「 Buster」軟件包,該軟件包會將偽造的重置發送到使用短列表中的端口號的任何TCP連接。Linux志願者在2000年提出了在Linux防火牆上實現此功能,而開源的Snort早在2003年就使用TCP重置來中斷可疑連接。

IETF認為,RFC3360中防火牆,負載平衡器和Web服務器進行的TCP重置是有害的。