資源描述:
《syn攻擊原理以及檢測防范技術》由會員上傳分享,免費在線閱讀,更多相關內容在行業(yè)資料-天天文庫。
1、SYN攻擊原理以及檢測防范技術據統(tǒng)計,在所有黑客攻擊事件中,SYN攻擊是最常見又最容易被利用的一種攻擊手法。相信很多人還記得2000年YAHOO網站遭受的攻擊事例,當時黑客利用的就是簡單而有效的SYN攻擊,有些網絡蠕蟲病毒配合SYN攻擊造成更大的破壞。本文介紹SYN攻擊的基本原理、工具及檢測方法,并全面探討SYN攻擊防范技術?! ∫弧CP握手協(xié)議 在TCP/IP協(xié)議中,TCP協(xié)議提供可靠的連接服務,采用三次握手建立一個連接?! 〉谝淮挝帐郑航⑦B接時,客戶端發(fā)送syn包(syn=j)到服務器,并進入SYN_SEND狀態(tài),等待服務器確認;第二次握手
2、:服務器收到syn包,必須確認客戶的SYN(ack=j+1),同時自己也發(fā)送一個SYN包(syn=k),即SYN+ACK包,此時服務器進入SYN_RECV狀態(tài); 第三次握手:客戶端收到服務器的SYN+ACK包,向服務器發(fā)送確認包ACK(ack=k+1),此包發(fā)送完畢,客戶端和服務器進入ESTABLISHED狀態(tài),完成三次握手?! ⊥瓿扇挝帐?,客戶端與服務器開始傳送數據,在上述過程中,還有一些重要的概念:未連接隊列:在三次握手協(xié)議中,服務器維護一個未連接隊列,該隊列為每個客戶端的SYN包(syn=j)開設一個條目,該條目表明服務器已收到SYN包,并
3、向客戶發(fā)出確認,正在等待客戶的確認包。這些條目所標識的連接在服務器處于Syn_RECV狀態(tài),當服務器收到客戶的確認包時,刪除該條目,服務器進入ESTABLISHED狀態(tài)。Backlog參數:表示未連接隊列的最大容納數目?! YN-ACK重傳次數 服務器發(fā)送完SYN-ACK包,如果未收到客戶確認包,服務器進行首次重傳,等待一段時間仍未收到客戶確認包,進行第二次重傳,如果重傳次數超過系統(tǒng)規(guī)定的最大重傳次數,系統(tǒng)將該連接信息從半連接隊列中刪除。注意,每次重傳等待的時間不一定相同?! “脒B接存活時間:是指半連接隊列的條目存活的最長時間,也即服務從收到SYN
4、包到確認這個報文無效的最長時間,該時間值是所有重傳請求包的最長等待時間總和。有時我們也稱半連接存活時間為Timeout時間、SYN_RECV存活時間?! 《?、SYN攻擊原理 SYN攻擊屬于DOS攻擊的一種,它利用TCP協(xié)議缺陷,通過發(fā)送大量的半連接請求,耗費CPU和內存資源。SYN攻擊除了能影響主機外,還可以危害路由器、防火墻等網絡系統(tǒng),事實上SYN攻擊并不管目標是什么系統(tǒng),只要這些系統(tǒng)打開TCP服務就可以實施。從上圖可看到,服務器接收到連接請求(syn=j),將此信息加入未連接隊列,并發(fā)送請求包給客戶(syn=k,ack=j+1),此時進入SYN
5、_RECV狀態(tài)。當服務器未收到客戶端的確認包時,重發(fā)請求包,一直到超時,才將此條目從未連接隊列刪除。配合IP欺騙,SYN攻擊能達到很好的效果,通常,客戶端在短時間內偽造大量不存在的IP地址,向服務器不斷地發(fā)送syn包,服務器回復確認包,并等待客戶的確認,由于源地址是不存在的,服務器需要不斷的重發(fā)直至超時,這些偽造的SYN包將長時間占用未連接隊列,正常的SYN請求被丟棄,目標系統(tǒng)運行緩慢,嚴重者引起網絡堵塞甚至系統(tǒng)癱瘓。 三、SYN攻擊工具 SYN攻擊實現(xiàn)起來非常的簡單,互聯(lián)網上有大量現(xiàn)成的SYN攻擊工具?! ?、windows系統(tǒng)下的SYN工具
6、 以synkill.exe為例,運行工具,選擇隨機的源地址和源端囗,并填寫目標機器地址和TCP端囗,激活運行,很快就會發(fā)現(xiàn)目標系統(tǒng)運行緩慢。如果攻擊效果不明顯,可能是目標機器并未開啟所填寫的TCP端囗或者防火墻拒絕訪問該端囗,此時可選擇允許訪問的TCP端囗,通常,windows系統(tǒng)開放tcp139端囗,UNIX系統(tǒng)開放tcp7、21、23等端囗。 四、檢測SYN攻擊 檢測SYN攻擊非常的方便,當你在服務器上看到大量的半連接狀態(tài)時,特別是源IP地址是隨機的,基本上可以斷定這是一次SYN攻擊。我們使用系統(tǒng)自帶的netstat工具來檢測SYN攻擊:
7、#netstat-n-pTCP tcp 0 010.11.11.11:23 124.173.152.8:25882 SYN_RECV - tcp 0 010.11.11.11:23 236.15.133.204:2577 SYN_RECV - tcp 0 010.11.11.11:23 127.160.6.129:51748 SYN_RECV - tcp 0 010.11.11.11:23 222.220.13.25:47393 SYN_RECV - tcp 0 010.11.11.11:23 212.200.204.182:60
8、427SYN_RECV - tcp 0 010.11.11.11:23 232.115.18.38:27