TCP/IP協議對Internet服務的安全威脅有以下這些:
SYN泛洪攻擊:SYN泛洪攻擊發生在服務器接收到遠遠超出其處理能力的大量的請求時。正常情況下,主機之間使用TCP傳輸數據時必須通過三次握手(3-Way Handshake)來初始化連接,SYN泛洪攻擊原理是阻止TCP三次握手的完成。攻擊者向受攻擊主機發送SYN報文請求建立連接,報文中的源地址為偽造的、路由不可達地址。受攻擊主機向偽造的地址發送SYN/ACK回應請求,等待對方回應。與正常TCP連接不同的是,SYN泛洪攻擊阻止了三次握手最后過程的ACK包的發送,導致服務器端口一直處于半開狀態,每個TCP端口都有接收半開連接的上限值,當連接數達到這個上限值時,服務器不再接收連接請求,攻擊者的目的也就達到了。
IP欺騙:IP欺騙其實很簡單,攻擊者所需要做的就是產生一個源地址是偽造的IP數據包。這可以使用RAW-socket原始套接字來完成受攻擊主機沒有辦法判斷該數據包是否是偽造的,因為它僅僅是根據源地址來判斷除了IP欺騙外,攻擊者還要結合TCP序列號預測等技術來完成攻擊。
TCP序列號預測:TCP序列號預測利用TCP是基于序列號(SNO)傳輸數據的特性來攻擊TCP會話。TCP協議使用序列號保證應用層接收數據的完整性,雖然這是一種保證數據完整的有效方法,但是它同樣存在缺陷。如果攻擊者能猜測到正確的序列號,那么就能發出能被受攻擊主機接收的TCP偽造數據包。
TCP會話挾持:TCP會話挾持可以用于攻擊基于TCP協議的應用,如Telnet、rlogin、FTP等。對于攻擊者來說,要實施攻擊的前提是必須獲取受攻擊主機和欺騙主機之間的會話,從而獲得正確的TCP序列號。一旦攻擊者有了正確的TCP序列號,就可以成功的接管該會話。通常,TCP會話挾持用來接管一個Telnet會話,Telnet是非常容易受挾持的協議,它在客戶端和服務端傳輸簡單的字節流。攻擊者只要將他們的指令插入被挾持的TCP數據段,服務器就會把這個TCP段指令串重裝并執行。
RST和FIN攻擊:IP數據包有兩個特殊的標志位,RST和FIN,可用于拒絕服務攻擊。在正常情況下,RST標志用來重設連接,FIN標志表示沒有數據要發送。攻擊者分析通過目的主機和受騙主機之間的IP數據包,計算出從受騙主機發往目的主機的下一個TCP段的序列號,然后產生一個帶有RST位設置的TCP段,將其放在假冒源地址的數據包中發往目標主機,目標主機收到后就關閉與受騙主機的連接。利用FIN位的攻擊與RST位的攻擊很相似,攻擊者預測到正確的序列號后,使用它創建一個帶有FIN位的TCP分段,然后發送給目的主機,好像受騙主機沒有數據需要發送了,這樣由受騙主機隨后發出的TCP段就會因為目標主機認為是網絡錯誤而忽略。
PingofDeath:Ping程序通過發送一個ICMP回應請求消息和接收一個響應的ICMP回應來測試主機的連通性。ICMP回應請求放在IP數據包中,其中有8bytes的ICMP頭信息,然后是Ping請求的數據字節數。因此數據區所允許的最大尺寸為65535-20-8=65507bytes。分段后的IP包要在接收端的IP層進行重組,這樣就可以發送一個回應請求數據包,使它的數據包中的數據超過65507bytes,使得某些系統的IP分段組裝模塊出現異常,導致系統崩潰或重啟。
回答所涉及的環境:聯想天逸510S、Windows 10。
TCP/IP協議對Internet服務的安全威脅有以下這些:
SYN泛洪攻擊:SYN泛洪攻擊發生在服務器接收到遠遠超出其處理能力的大量的請求時。正常情況下,主機之間使用TCP傳輸數據時必須通過三次握手(3-Way Handshake)來初始化連接,SYN泛洪攻擊原理是阻止TCP三次握手的完成。攻擊者向受攻擊主機發送SYN報文請求建立連接,報文中的源地址為偽造的、路由不可達地址。受攻擊主機向偽造的地址發送SYN/ACK回應請求,等待對方回應。與正常TCP連接不同的是,SYN泛洪攻擊阻止了三次握手最后過程的ACK包的發送,導致服務器端口一直處于半開狀態,每個TCP端口都有接收半開連接的上限值,當連接數達到這個上限值時,服務器不再接收連接請求,攻擊者的目的也就達到了。
IP欺騙:IP欺騙其實很簡單,攻擊者所需要做的就是產生一個源地址是偽造的IP數據包。這可以使用RAW-socket原始套接字來完成受攻擊主機沒有辦法判斷該數據包是否是偽造的,因為它僅僅是根據源地址來判斷除了IP欺騙外,攻擊者還要結合TCP序列號預測等技術來完成攻擊。
TCP序列號預測:TCP序列號預測利用TCP是基于序列號(SNO)傳輸數據的特性來攻擊TCP會話。TCP協議使用序列號保證應用層接收數據的完整性,雖然這是一種保證數據完整的有效方法,但是它同樣存在缺陷。如果攻擊者能猜測到正確的序列號,那么就能發出能被受攻擊主機接收的TCP偽造數據包。
TCP會話挾持:TCP會話挾持可以用于攻擊基于TCP協議的應用,如Telnet、rlogin、FTP等。對于攻擊者來說,要實施攻擊的前提是必須獲取受攻擊主機和欺騙主機之間的會話,從而獲得正確的TCP序列號。一旦攻擊者有了正確的TCP序列號,就可以成功的接管該會話。通常,TCP會話挾持用來接管一個Telnet會話,Telnet是非常容易受挾持的協議,它在客戶端和服務端傳輸簡單的字節流。攻擊者只要將他們的指令插入被挾持的TCP數據段,服務器就會把這個TCP段指令串重裝并執行。
RST和FIN攻擊:IP數據包有兩個特殊的標志位,RST和FIN,可用于拒絕服務攻擊。在正常情況下,RST標志用來重設連接,FIN標志表示沒有數據要發送。攻擊者分析通過目的主機和受騙主機之間的IP數據包,計算出從受騙主機發往目的主機的下一個TCP段的序列號,然后產生一個帶有RST位設置的TCP段,將其放在假冒源地址的數據包中發往目標主機,目標主機收到后就關閉與受騙主機的連接。利用FIN位的攻擊與RST位的攻擊很相似,攻擊者預測到正確的序列號后,使用它創建一個帶有FIN位的TCP分段,然后發送給目的主機,好像受騙主機沒有數據需要發送了,這樣由受騙主機隨后發出的TCP段就會因為目標主機認為是網絡錯誤而忽略。
PingofDeath:Ping程序通過發送一個ICMP回應請求消息和接收一個響應的ICMP回應來測試主機的連通性。ICMP回應請求放在IP數據包中,其中有8bytes的ICMP頭信息,然后是Ping請求的數據字節數。因此數據區所允許的最大尺寸為65535-20-8=65507bytes。分段后的IP包要在接收端的IP層進行重組,這樣就可以發送一個回應請求數據包,使它的數據包中的數據超過65507bytes,使得某些系統的IP分段組裝模塊出現異常,導致系統崩潰或重啟。
回答所涉及的環境:聯想天逸510S、Windows 10。