專利名稱:用于檢測tcp syn洪水式攻擊的統(tǒng)計方法
技術(shù)領(lǐng)域:
本發(fā)明通常涉及基于計算機的系統(tǒng),更特別是涉及在這種系統(tǒng)中檢測與安全有關(guān)的攻擊的方法。
背景技術(shù):
近年來對網(wǎng)址的攻擊已經(jīng)造成了網(wǎng)絡(luò)業(yè)務(wù)的嚴(yán)重破壞。這些攻擊可以采用多種形式的任何一種,包括,但不僅限于SYN洪水式(SYNflooding)攻擊。
在SYN洪水式攻擊中,攻擊者使受攻擊網(wǎng)址過載達(dá)到它無法應(yīng)付到來的業(yè)務(wù)。這種攻擊通常集中在基于TCP業(yè)務(wù)的固有特性。
實質(zhì)上,TCP在建立連接時依靠三次握手協(xié)議。希望與主機建立連接的客戶向主機發(fā)送同步信號(SYN),主機用SYN確認(rèn)(ACK)應(yīng)答來響應(yīng)客戶。然后客戶返回確認(rèn),連接建立。握手協(xié)議在圖1說明。
完成連接以后,客戶向主機轉(zhuǎn)發(fā)一結(jié)束(FIN)分組,表示不再有其它的數(shù)據(jù)或分組指向主機,此后連接結(jié)束。
在SYN洪水式攻擊中,攻擊者通常利用錯誤或無效的源地址,以使當(dāng)主機返回SYN/ACK消息時它無法到達(dá)有效的客戶。在TCP協(xié)議下,主機存儲半開式連接,即三次協(xié)議的第三段(leg)在一時間段內(nèi)或者直到系統(tǒng)超時出現(xiàn)還未完成的連接。如果在此時間間隔內(nèi)在該主機網(wǎng)址建立了許多新的半開式連接,則分配用來保持這些連接的內(nèi)存將被堵塞,并最終無法再接收SYN分組。在這個階段,服務(wù)器或主機將崩潰或不再響應(yīng)任何新的連接,該網(wǎng)址將停止使用。因為主機無法再接收數(shù)據(jù),所以攻擊者已經(jīng)成功地產(chǎn)生了所謂的業(yè)務(wù)拒絕攻擊。業(yè)務(wù)拒絕攻擊正逐漸變成安全威脅的主要形式,迄今這個問題都非常難以解決。已經(jīng)建議了多種對策,具體表現(xiàn)為防火墻和路由器過濾、操作系統(tǒng)改進、協(xié)議改進和侵入檢測。
在安全攻擊領(lǐng)域存在大量的現(xiàn)有技術(shù),在1997年IEEE Symp.Security and Privacy會刊中C.Schuba,I.Krsul,M.Kuhn,E.Spafford,A.Sundaram和D.Zamboni發(fā)表的名稱為“對TCP業(yè)務(wù)拒絕攻擊的分析(Analysis of denial of service attack on TCP)”論文中詳細(xì)描述了該問題。C.Schuba等人的論文描述了該問題和代理業(yè)務(wù)的經(jīng)典解決方案TCP中繼和半透明的TCP網(wǎng)關(guān)。在這兩種解決方案中,防火墻截斷TCP連接、保持TCP狀態(tài)機的狀態(tài)和引入新的分組來避免攻擊。
根據(jù)該論文的代理解決方案必須為每次連接維護相應(yīng)TCP狀態(tài)機的狀態(tài)。該機制需要大量的資源而且本身會成為新的業(yè)務(wù)拒絕攻擊的目標(biāo)。因此,計算開銷的高成本使得該解決方案不適用于網(wǎng)絡(luò)路由器或交換機。
更接近本發(fā)明的第二種現(xiàn)有技術(shù)由Proc.Infocom 2002中H.Wang,D.Zhang和K.G.Shin發(fā)表的“檢測SYN洪水式攻擊(Detecting SYN flooding attacks)”描述。根據(jù)Wang等人的方法依靠TCP連接中SYN和FIN分組的計數(shù)參數(shù)(argument)。這些分組應(yīng)當(dāng)成對進入任何運轉(zhuǎn)正常的連接。因此,SYN分組的數(shù)目應(yīng)當(dāng)大致與FIN分組的數(shù)目匹配。這種方法的簡易性在于無需狀態(tài)和較低的計算開銷,這使得檢測機制本身免于洪水式攻擊。這種簡易性允許在連接終端主機與互聯(lián)網(wǎng)的葉路由器中執(zhí)行檢測。
根據(jù)Wang等人的計數(shù)器機制具有一個主要的缺點。如果攻擊者確切得知此方法所述的檢測協(xié)議,他們可以簡單地用同步SYN和無關(guān)的甚至無效的FIN分組完全淹沒(overflooding)路由器來阻撓此方案。因此SYN計數(shù)器和FIN計數(shù)器應(yīng)當(dāng)大致相同。但是,受攻擊的TCP/IP棧將會對無效FIN分組尚未結(jié)束的許多半開式連接開放。這相應(yīng)于最初的業(yè)務(wù)拒絕攻擊。
2001年12月20日授予Porras等人的美國專利6,321,338“網(wǎng)絡(luò)監(jiān)測(Network Surveillance)”也提供了一種現(xiàn)有技術(shù)。根據(jù)Porras等人的專利,提供了一種網(wǎng)絡(luò)監(jiān)測的方法,包括接收由網(wǎng)絡(luò)實體處理的網(wǎng)絡(luò)分組,和從監(jiān)視數(shù)據(jù)傳輸、誤差或網(wǎng)絡(luò)連接的網(wǎng)絡(luò)分組的測量值中建立至少一個長期和至少一個短期的統(tǒng)計檔案(profile)。比較統(tǒng)計檔案來確定統(tǒng)計檔案的差別是否表示可疑的網(wǎng)絡(luò)行為。
除了上述的細(xì)節(jié)以外,此專利還公開了事件數(shù)據(jù)流,例如ICMP分組的強度測量值,特別適合于檢測洪水式攻擊。此外,該專利還公開了使SYN與SYN ACK消息相關(guān)的強度測量值、SYN/RST消息或TCP/FIN消息的容量分析對于檢測端口的可用性或掃描攻擊有用。
發(fā)明內(nèi)容
本發(fā)明屬于路由器檢測的范疇,但也可以在防火墻和操作系統(tǒng)中實現(xiàn)。
本發(fā)明依賴上述的計數(shù)參數(shù),但在此情況下,計數(shù)參數(shù)是基于下面的三個屬性1.來自攻擊方的進入分組對檢測參數(shù)具有正面影響。來自相反方向的進入分組對檢測參數(shù)具有正或負(fù)面影響。
2.計數(shù)器參數(shù)以這種方式加權(quán),即任何部分攻擊都對檢測參數(shù)具有正面影響。只有完全完成和有效的連接對檢測參數(shù)沒有影響。
3.與一個方向的SYN和FIN有關(guān)的加權(quán)因數(shù)總和加上與另一個方向的SYN/ACK和FIN有關(guān)的加權(quán)因數(shù)總和為零。
因此,根據(jù)本發(fā)明的第一個方面,提供了一種在通信系統(tǒng)中位于LAN和一網(wǎng)絡(luò)之間的路由器檢測異常不成功的連接嘗試次數(shù)的方法,該方法包括步驟a)計數(shù)在預(yù)定時間間隔期間到達(dá)路由器LAN端的SYN、SYN/ACK和FIN分組;b)計數(shù)在預(yù)定時間間隔期間到達(dá)路由器網(wǎng)絡(luò)端的SYN、SYN/ACK和FIN分組;c)使每個計數(shù)值乘以各自的加權(quán)因數(shù),其中i)步驟a)中計數(shù)值的加權(quán)因數(shù)為正;和ii)與一個方向的SYN和FIN有關(guān)的加權(quán)因數(shù)總和加上與另一個方向的SYN/ACK和FIN有關(guān)的加權(quán)因數(shù)總和為零;d)計算一參數(shù),該參數(shù)等于步驟c)乘積的總和;和e)響應(yīng)在連續(xù)時間間隔內(nèi)步驟d)定義的行為確定出現(xiàn)異常不成功的連接嘗試次數(shù)。
根據(jù)本發(fā)明的第二個方面,提供了一種在通信系統(tǒng)中位于LAN和一網(wǎng)絡(luò)之間的路由器檢測異常不成功的連接嘗試次數(shù)的方法,該方法包括步驟a)計數(shù)在預(yù)定時間間隔期間到達(dá)路由器網(wǎng)絡(luò)端的SYN、SYN/ACK和FIN分組;b)計數(shù)在預(yù)定時間間隔期間到達(dá)路由器LAN端的SYN、SYN/ACK和FIN分組;c)使每個計數(shù)值乘以各自的加權(quán)因數(shù),其中i)步驟a)中計數(shù)值的加權(quán)因數(shù)為正;和ii)與一個方向的SYN和FIN有關(guān)的加權(quán)因數(shù)總和加上與另一個方向的SYN/ACK和FIN有關(guān)的加權(quán)因數(shù)總和為零;d)計算一參數(shù),該參數(shù)等于步驟c)乘積的總和;和e)響應(yīng)在連續(xù)時間間隔內(nèi)步驟d)定義的行為確定出現(xiàn)異常不成功的連接嘗試次數(shù)。
還提供一種在通信系統(tǒng)中位于LAN和一網(wǎng)絡(luò)之間的路由器檢測異常不成功的連接嘗試次數(shù)的方法,其中該方法包括步驟a)計數(shù)在預(yù)定時間間隔期間到達(dá)路由器LAN端的SYN、SYN/ACK和FIN分組;b)計數(shù)在預(yù)定時間間隔期間到達(dá)路由器網(wǎng)絡(luò)端的SYN、SYN/ACK和RST分組;c)使每個計數(shù)值乘以各自的加權(quán)因數(shù),其中i)步驟a)中計數(shù)值的加權(quán)因數(shù)為正;ii)與一個方向的SYN和FIN有關(guān)的加權(quán)因數(shù)總和加上與另一個方向的SYN/ACK和FIN有關(guān)的加權(quán)因數(shù)總和為零;和iii)與RST分組有關(guān)的加權(quán)因數(shù)與同一方向FIN分組有關(guān)的加權(quán)因數(shù)相等;d)計算一參數(shù),該參數(shù)等于步驟c)乘積的總和;和e)響應(yīng)在連續(xù)時間間隔內(nèi)步驟d)定義的行為確定出現(xiàn)異常不成功的連接嘗試次數(shù)。
現(xiàn)在將參照附圖更詳細(xì)地描述本發(fā)明,其中圖1說明TCP握手協(xié)議;圖2是根據(jù)本發(fā)明的基于計算機系統(tǒng)的高層圖;圖3A表示本發(fā)明概念的一個實施方式;和圖3B表示根據(jù)本發(fā)明的第二個例子。
具體實施例方式
如圖1所示,TCP連接協(xié)議涉及三次通信。
在連接請求結(jié)束時,客戶向主機發(fā)送FIN分組,主機確認(rèn)收到FIN分組,然后客戶響應(yīng)主機來關(guān)閉連接。如前所述,無法完成啟動握手使主機也在這里知道受攻擊方處于易受SYN洪水式攻擊的境地。
如前所述,本發(fā)明涉及路由器檢測技術(shù),其中檢測方法在路由器實現(xiàn)。如圖2所示,路由器通常位于局域網(wǎng)(LAN)和網(wǎng)絡(luò)或互聯(lián)網(wǎng)之間。LAN和路由器之間的連接被認(rèn)為是開始一英里路由器,與網(wǎng)絡(luò)連接的是最后一英里路由器。作為開始一英里路由器,路由器檢測早期來自LAN內(nèi)的攻擊。作為最后一英里路由器,路由器檢測來自網(wǎng)絡(luò)對LAN內(nèi)受攻擊方的攻擊。
在本發(fā)明的實施方式中,如前所述,來自LAN的進入分組和來自互聯(lián)網(wǎng)的進入分組分別對待。根據(jù)下文的討論,#SYNLAN、#SYN/ACKLAN和#FINLAN分別定義為從LAN收到的SYN分組數(shù)、SYN/ACK分組數(shù)和FIN分組數(shù)。同樣,#SYNNET、#SYN/ACKNET和#FINNET相應(yīng)于從網(wǎng)絡(luò)收到的分組數(shù)。為了計算在開始一英里路由器是否收到異常不成功連接嘗試次數(shù)考慮下面的等式F=a#SYNLAN+b#SYN/ACKLAN+c#FINLAN-d#SYNNET-e#SYN/ACKNET-f#FINNET;其中F=計算的參數(shù);a、b、c、d、e和f是加權(quán)因數(shù)。
關(guān)于上面討論的三個屬性的因數(shù)例子是i)a=b=f=2和c=d=e=1;ii)a=4、b=3、c=1、d=1、e=2和f=3;iii)a=f=1、d=-1和b=c=e=0。
顯然從上面的等式可以看出來自LAN的任何攻擊都會增加F值。即使LAN內(nèi)攻擊者的內(nèi)部和任何合作者知道該協(xié)議,他們也無法對參數(shù)F產(chǎn)生負(fù)面影響。
同樣,如果參數(shù)是用于最后一英里路由器,則用于檢測來自網(wǎng)絡(luò)攻擊的公式采用下面的等式L=a#SYNNET+b#SYN/ACKNET+c#FINNET-d#SYNLAN-e#SYN/ACKLAN-f#FINLAN
其中L=用于最后一英里路由器的計算參數(shù);a、b、c、d、e和f是加權(quán)因數(shù)。
上面給出的加權(quán)因數(shù)例子同樣適用。
來自網(wǎng)絡(luò)的任何攻擊都會顯著增加參數(shù)L。即使外部和合作的攻擊者知道該協(xié)議,他們也無法對參數(shù)L值產(chǎn)生負(fù)面影響。
還注意上述的等式不是唯一的。它們是上述屬性1、2和3的簡單例子。
圖3A和3B提供加權(quán)因數(shù)的例子。
注意在本發(fā)明的第一個方面中,計數(shù)在預(yù)定時間間隔期間到達(dá)路由器LAN端的SYN、SYN/ACK和FIN分組,同時計數(shù)在同一間隔期間到達(dá)路由器網(wǎng)絡(luò)端的SYN、SYN/ACK和FIN分組。每個計數(shù)值乘以各自的加權(quán)因數(shù),來自攻擊方的分組的加權(quán)因數(shù)為正。與一個方向的SYN和FIN分組有關(guān)的加權(quán)因數(shù)總和加上與另一個方向的SYN/ACK和FIN分組有關(guān)的加權(quán)因數(shù)總和為零。計算一參數(shù)(F/L),該參數(shù)等于乘法步驟乘積的總和。最后響應(yīng)在連續(xù)時間間隔內(nèi)計算步驟定義參數(shù)的行為確定出現(xiàn)異常不成功的連接嘗試次數(shù)。
根據(jù)TCP協(xié)議,復(fù)位(RST)分組應(yīng)當(dāng)用于響應(yīng)異常情形,例如分組到達(dá)關(guān)閉的端口。但是,一些應(yīng)用響應(yīng)具有RST分組的工作(active)結(jié)束FIN分組而不是不工作(passive)的結(jié)束分組-由于性能的原因。因此,為了解決此問題,在某些情況下,RST分組必須與FIN分組等同考慮。
預(yù)定時間間隔通常是連續(xù)的或不重疊形式的滑動窗口。
確定步驟還可以包括使用任何一個累計總和、移動平均數(shù)、或濾波器導(dǎo)數(shù)來檢測參數(shù)(F/L)的變化。
本發(fā)明提供了一種比已知方法更有效和強壯地檢測業(yè)務(wù)拒絕攻擊的方式。將本發(fā)明例如放入路由和交換產(chǎn)品種將固有地增強它們提供給網(wǎng)絡(luò)的安全程度。本發(fā)明還可以應(yīng)用于邊緣IP設(shè)備、防火墻、主機等。
盡管已經(jīng)描述和說明了具體的實施例,但是顯然對于本領(lǐng)域技術(shù)人員來說,可以引入各種改變而沒有偏離基本的概念。但是,應(yīng)當(dāng)理解在可能程度內(nèi)的這些改變都落入所附權(quán)利要求書所限定的本發(fā)明的全部范圍內(nèi)。
權(quán)利要求
1.一種在通信系統(tǒng)中位于LAN和一網(wǎng)絡(luò)之間的路由器檢測異常不成功的連接嘗試次數(shù)的方法,該方法包括步驟a)計數(shù)在預(yù)定時間間隔期間到達(dá)路由器LAN端的SYN、SYN/ACK和FIN分組;b)計數(shù)在預(yù)定時間間隔期間到達(dá)路由器網(wǎng)絡(luò)端的SYN、SYN/ACK和FIN分組;c)使每個計數(shù)值乘以各自的加權(quán)因數(shù),其中i)步驟a)中計數(shù)值的加權(quán)因數(shù)為正;ii)來自攻擊方的任何部分連接的加權(quán)因數(shù)的總和為正;和iii)與一個方向的SYN和FIN有關(guān)的加權(quán)因數(shù)總和加上與另一個方向的SYN/ACK和FIN有關(guān)的加權(quán)因數(shù)總和為零;d)計算一參數(shù),該參數(shù)等于步驟c)乘積的總和;和e)響應(yīng)在連續(xù)時間間隔內(nèi)步驟d)定義的行為確定出現(xiàn)異常不成功的連接嘗試次數(shù)。
2.如權(quán)利要求1所限定的方法,其特征在于,每個加權(quán)因數(shù)采用唯一值,保持步驟c)的條件。
3.如權(quán)利要求2所限定的方法,其特征在于,預(yù)定的時間間隔是其中一個連續(xù)的或不重疊的滑動窗口。
4.如權(quán)利要求1所限定的方法,其特征在于,步驟e)還包括利用任何一個累加和、移動平均數(shù)、或濾波器導(dǎo)數(shù)來檢測參數(shù)的變化。
5.如權(quán)利要求1所限定的方法,其特征在于,用于檢測LAN端所發(fā)起攻擊的等式采用以下形式F=x#SYNLAN+x#SYN/ACKLAN+#FINLAN-#SYNNET-#SYN/ACKNET-x#FINNET;其中F是檢測來自LAN攻擊的參數(shù);x是加權(quán)因數(shù);#SYNLAN是到達(dá)LAN端的SYN分組數(shù);#SYN/ACKLAN是到達(dá)LAN端的SYN/ACK分組數(shù);#FINLAN是到達(dá)LAN端的FIN分組數(shù);#SYNNET是到達(dá)網(wǎng)絡(luò)端的SYN分組數(shù);#SYN/ACKNET是到達(dá)網(wǎng)絡(luò)端的SYN/ACK分組數(shù);#FINNET是到達(dá)網(wǎng)絡(luò)端的FIN分組數(shù)。
6.如權(quán)利要求1所限定的方法,其特征在于,用于檢測網(wǎng)絡(luò)端所發(fā)起攻擊的等式采用以下形式L=x#SYNNET+x#SYN/ACKNET+#FINNET-#SYNLAN-#SYN/ACKLAN-x#FINLAN;其中L是檢測來自網(wǎng)絡(luò)端攻擊的參數(shù);x是加權(quán)因數(shù)。
7.如權(quán)利要求1所限定的方法,其特征在于,用于檢測LAN端所發(fā)起攻擊的等式采用以下形式F=#SYNLAN+#SYNNET-#FINNET。
8.如權(quán)利要求1所限定的方法,其特征在于,用于檢測網(wǎng)絡(luò)端所發(fā)起攻擊的等式采用以下形式L=#SYNNET+#SYNLAN-#FINLAN。
9.一種在通信系統(tǒng)中位于LAN和一網(wǎng)絡(luò)之間的路由器檢測異常不成功的連接嘗試次數(shù)的方法,該方法包括步驟a)計數(shù)在預(yù)定時間間隔期間到達(dá)路由器LAN端的SYN、SYN/ACK、FIN和RST分組;b)計數(shù)在預(yù)定時間間隔期間到達(dá)路由器網(wǎng)絡(luò)端的SYN、SYN/ACK、FIN和RST分組;c)使每個計數(shù)值乘以各自的加權(quán)因數(shù),其中i)步驟a)中計數(shù)值的加權(quán)因數(shù)為正;ii)來自攻擊方的任何部分連接的加權(quán)因數(shù)的總和為正;和iii)與一個方向的SYN和FIN或RST有關(guān)的加權(quán)因數(shù)總和加上與另一個方向的SYN/ACK和FIN或RST有關(guān)的加權(quán)因數(shù)總和為零;d)計算一參數(shù),該參數(shù)等于步驟c)乘積的總和;和e)響應(yīng)在連續(xù)時間間隔內(nèi)步驟d)定義的行為確定出現(xiàn)異常不成功的連接嘗試次數(shù)。
10.如權(quán)利要求9所限定的方法,其特征在于,每個加權(quán)因數(shù)采用唯一值,保持步驟c)的條件。
11.如權(quán)利要求10所限定的方法,其特征在于,預(yù)定的時間間隔是其中一個連續(xù)的或不重疊的滑動窗口。
12.如權(quán)利要求9所限定的方法,其特征在于,步驟e)還包括利用任何一個累加和、移動平均數(shù)、或濾波器導(dǎo)數(shù)來檢測參數(shù)的變化。
13.如權(quán)利要求9所限定的方法,其特征在于,用于檢測LAN端所發(fā)起攻擊的等式采用以下形式F=x#SYNLAN+x#SYN/ACKLAN+#RSTLAN+#FINLAN-#SYNNET-#SYN/ACKNET-x#RSTNET-x#FINNET;其中F是檢測來自LAN攻擊的參數(shù);x是加權(quán)因數(shù);#SYNLAN是到達(dá)LAN端的SYN分組數(shù);#SYN/ACKLAN是到達(dá)LAN端的SYN/ACK分組數(shù);#RSTLAN是到達(dá)LAN端的復(fù)位分組數(shù);#FINLAN是到達(dá)LAN端的FIN分組數(shù);#SYNNET是到達(dá)網(wǎng)絡(luò)端的SYN分組數(shù);#SYN/ACKNET是到達(dá)網(wǎng)絡(luò)端的SYN/ACK分組數(shù);#RSTNET是到達(dá)網(wǎng)絡(luò)端的復(fù)位分組數(shù);#FINNET是到達(dá)網(wǎng)絡(luò)端的FIN分組數(shù)。
14.如權(quán)利要求9所限定的方法,其特征在于,用于檢測網(wǎng)絡(luò)端所發(fā)起攻擊的等式采用以下形式L=x#SYNNET+x#SYN/ACKNET+#RSTNET+#FINNET-#SYNLAN-#SYN/ACKLAN-x#RSTLAN-x#FINLAN;其中L是檢測來自網(wǎng)絡(luò)端攻擊的參數(shù);x是加權(quán)因數(shù)。
15.如權(quán)利要求9所限定的方法,其特征在于,用于檢測LAN端所發(fā)起攻擊的等式采用以下形式F=#SYNLAN+#SYNNET-#RSTNET-#FINNET。
16.如權(quán)利要求9所限定的方法,其特征在于,用于檢測網(wǎng)絡(luò)端所發(fā)起攻擊的等式采用以下形式L=#SYNNET+#SYNLAN-#RSTLAN-#FINLAN。
全文摘要
本發(fā)明涉及在位于LAN和一網(wǎng)絡(luò),例如互聯(lián)網(wǎng)之間的路由器檢測TCP SYN洪水式攻擊的方法。這些方法依賴這樣一種計數(shù)安排,即在一時間間隔內(nèi)對路由器的LAN端和網(wǎng)絡(luò)或互聯(lián)網(wǎng)端計數(shù)SYN和FIN分組。加權(quán)因數(shù)用于每個計數(shù)值,LAN端計數(shù)值因數(shù)的極性與網(wǎng)絡(luò)端計數(shù)值因數(shù)的極性相反。相同極性的加權(quán)因數(shù)總和的絕對值相等。根據(jù)利用加權(quán)因數(shù)結(jié)合各自計數(shù)值計算的參數(shù)確定異常不成功的連接嘗試次數(shù)。
文檔編號H04L29/06GK1492328SQ0313817
公開日2004年4月28日 申請日期2003年5月30日 優(yōu)先權(quán)日2002年5月31日
發(fā)明者布萊特·霍華德, 吉恩-馬克·羅伯特, 保羅·克里斯塔德, 斯科特·D·德蘇扎, D 德蘇扎, 克里斯塔德, 布萊特 霍華德, 砜恕ぢ薏 申請人:阿爾卡塔爾加拿大公司