專利名稱:管理拒絕服務(wù)攻擊的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及拒絕服務(wù)攻擊的檢測(cè)、識(shí)別和減緩。更特別地,本發(fā)明涉及這樣一種系統(tǒng)、方法和產(chǎn)品,其用于增加系統(tǒng)對(duì)系統(tǒng)硬件、軟件或數(shù)據(jù)免受未授權(quán)訪問(wèn)的保護(hù)的擴(kuò)展,也用于保護(hù)系統(tǒng)免于用作惡意引起的拒絕服務(wù)攻擊、毀壞數(shù)據(jù)和軟件以及未授權(quán)修改的平臺(tái)。
背景技術(shù):
a.概述在普遍的商業(yè)部署能出現(xiàn)之前,網(wǎng)格計(jì)算的設(shè)計(jì)者必須解決一些挑戰(zhàn)。一個(gè)這樣的挑戰(zhàn)是特定網(wǎng)格計(jì)算實(shí)現(xiàn)的經(jīng)濟(jì)生存能力。在很大程度上,一個(gè)特定網(wǎng)格計(jì)算實(shí)現(xiàn)的經(jīng)濟(jì)生存能力取決于三個(gè)因素可靠性、安全性和武器裝備。這里使用的可靠性指計(jì)算等待時(shí)間保證。這里使用的安全性指防止對(duì)網(wǎng)格上的數(shù)據(jù)存儲(chǔ)器中的數(shù)據(jù)的危害。這里使用的武器裝備指網(wǎng)格避免被用作一個(gè)在分布式拒絕服務(wù)(DDoS)攻擊中可識(shí)別的實(shí)體的抵抗力,并且特別是避免被惡意接管并轉(zhuǎn)變?yōu)橐粋€(gè)對(duì)其他計(jì)算機(jī)資產(chǎn)發(fā)起DDoS攻擊的平臺(tái)的抵抗力。
b.網(wǎng)格計(jì)算網(wǎng)格的概念一般指這樣的一種分布式計(jì)算的形式,在該種形式中將遍布于分散的組織和場(chǎng)所中的各種技術(shù)組件,如PC和存儲(chǔ)設(shè)備,鏈接起來(lái)以解決一單個(gè)大型計(jì)算問(wèn)題。
一個(gè)典型的網(wǎng)格11如圖1所示。完全作為說(shuō)明而不是為了限制,網(wǎng)格11包括了一般地顯示為工作站的五個(gè)元件111、113、115、117和119。但是,單個(gè)元件本身可以是子網(wǎng)格、LAN、WAN和處理器。圖2說(shuō)明了網(wǎng)格11及其元件111、113、115、117和119,以及一個(gè)通過(guò)互聯(lián)網(wǎng)223訪問(wèn)網(wǎng)格11的客戶端工作站221。
在此情境中,網(wǎng)格計(jì)算是將一個(gè)或多個(gè)網(wǎng)絡(luò)中的許多計(jì)算機(jī)的資源的同時(shí)應(yīng)用于一單個(gè)問(wèn)題-通常是應(yīng)用于一個(gè)需要大量的計(jì)算機(jī)處理周期或訪問(wèn)大量數(shù)據(jù)的科學(xué)的或技術(shù)的問(wèn)題。在公共領(lǐng)域中的一個(gè)著名的網(wǎng)格計(jì)算的例子是進(jìn)行中的SETI(搜索地外智能)@Home項(xiàng)目,在該項(xiàng)目中幾千人在對(duì)來(lái)自外層空間的“理性的”信號(hào)的跡象的廣泛搜索中共享他們的PC中不用的處理器周期。
網(wǎng)格計(jì)算需要使用能夠?qū)⒁粋€(gè)程序分開并把其各部分轉(zhuǎn)包給多達(dá)幾千臺(tái)計(jì)算機(jī)的軟件。網(wǎng)格計(jì)算可被認(rèn)為是分布式的、大規(guī)模的群集計(jì)算和一種網(wǎng)絡(luò)分布式并行處理的形式。網(wǎng)格計(jì)算可以限于一個(gè)企業(yè)內(nèi)的計(jì)算機(jī)工作站的一單個(gè)網(wǎng)絡(luò),或者網(wǎng)格計(jì)算可以是多個(gè)網(wǎng)絡(luò)的協(xié)作,例如一個(gè)公眾協(xié)作(在這種情況下,網(wǎng)格計(jì)算有時(shí)也被稱為對(duì)等計(jì)算的一種形式)。
網(wǎng)格計(jì)算的優(yōu)勢(shì)包括(1)更劃算地使用給定數(shù)量的計(jì)算機(jī)資源的能力,(2)解決這樣的問(wèn)題的一種方式,這些問(wèn)題除此之外沒有龐大數(shù)量的計(jì)算能力就無(wú)法解決,(3)這樣一個(gè)概念,即能夠合作地并可能協(xié)合地支配和管理許多計(jì)算機(jī)資源,作為為了一個(gè)共同目標(biāo)的協(xié)作。在某些網(wǎng)格計(jì)算系統(tǒng)中,計(jì)算機(jī)可以協(xié)作,而不是由一臺(tái)管理計(jì)算機(jī)指揮。
網(wǎng)格的種類網(wǎng)格可以是數(shù)據(jù)網(wǎng)格或者計(jì)算網(wǎng)格。
數(shù)據(jù)網(wǎng)格是用于共享信息的網(wǎng)格。在高級(jí)別的數(shù)據(jù)網(wǎng)格中,信息共享就像在因特網(wǎng)上訪問(wèn)信息,但具有比傳統(tǒng)方式獲得的更深的內(nèi)容,以及在計(jì)算資源方面對(duì)更“繁重的工作”或努力以及強(qiáng)度的更多需求。
另一方面,計(jì)算網(wǎng)格是為了繁重的數(shù)字處理,以及為了壓縮得出答案必需的時(shí)間。IBM通過(guò)grid.org支持的天花和炭疽網(wǎng)格就是這樣的例子。
安全和隱私網(wǎng)格控制者必須完全地考慮好安全和隱私的問(wèn)題,特別當(dāng)網(wǎng)格將是一個(gè)多公司或多實(shí)體的項(xiàng)目時(shí)。沒有建立安全措施的實(shí)體冒著被攻擊的危險(xiǎn),該攻擊來(lái)自擁有網(wǎng)格上的一臺(tái)能夠“竊聽”在該單元運(yùn)行的網(wǎng)格計(jì)算、并甚至分發(fā)用于隨后的拒絕服務(wù)攻擊的僵尸軟件的機(jī)器的任何人。
c.拒絕服務(wù)攻擊在因特網(wǎng)上,一個(gè)拒絕服務(wù)攻擊(DoS)是這樣的一次事件,在此事件中用戶或者組織被剝奪了他們通常會(huì)期望獲得的資源的服務(wù)。典型地,服務(wù)的喪失是特定網(wǎng)絡(luò)服務(wù)如電子郵件、定單輸入、事務(wù)處理或數(shù)據(jù)庫(kù)管理的無(wú)法使用,或者整個(gè)網(wǎng)絡(luò)連通性和服務(wù)的暫時(shí)性喪失。在最壞的情況下,例如,一個(gè)被數(shù)百萬(wàn)人訪問(wèn)的網(wǎng)站,如在線銀行、信用卡處理、航線和其他旅行預(yù)訂處理、電子商務(wù)、和在線拍賣服務(wù),有時(shí)會(huì)被迫暫時(shí)停止運(yùn)行。拒絕服務(wù)攻擊也能夠毀壞計(jì)算機(jī)系統(tǒng)里的程序和文件。盡管拒絕服務(wù)攻擊通常是故意的和惡意的,不過(guò)它有時(shí)會(huì)意外地發(fā)生。拒絕服務(wù)攻擊是對(duì)于一個(gè)計(jì)算機(jī)系統(tǒng)的這樣的一類安全違背,其通常不會(huì)導(dǎo)致信息的被竊或者其他安全性的損失。不過(guò),這些攻擊會(huì)耗費(fèi)目標(biāo)個(gè)人或?qū)嶓w大量的時(shí)間和金錢。
圖3說(shuō)明了網(wǎng)格11(及其一般地表示為工作站的元件111、113、115、117和119)以及通過(guò)互聯(lián)網(wǎng)223訪問(wèn)網(wǎng)格11以啟動(dòng)一個(gè)DDoS攻擊341的客戶工作站221,該DDoS攻擊341是通過(guò)在網(wǎng)格元件115和117(被接管而成為僵尸)中植入有害代碼以對(duì)在網(wǎng)格11外部的目標(biāo)341和343發(fā)起攻擊351A和351B。
拒絕服務(wù)攻擊的通常形式是緩沖器溢出攻擊最常見的DoS攻擊的種類是簡(jiǎn)單地向一個(gè)網(wǎng)絡(luò)地址發(fā)送這樣多的流量,該流量比計(jì)劃該網(wǎng)絡(luò)地址的數(shù)據(jù)緩沖器的程序員所預(yù)期的某人可能發(fā)送的流量更多。攻擊者可能知道目標(biāo)系統(tǒng)有能夠利用的弱點(diǎn),或者攻擊者可以簡(jiǎn)單地嘗試該攻擊,以便該攻擊可能萬(wàn)一有用。幾種基于程序或系統(tǒng)的緩沖器特征的較知名的攻擊包括●發(fā)送帶有含256個(gè)字符的文件名的附件的電子郵件消息到Netscape和Microsoft郵件程序●發(fā)送超尺寸的網(wǎng)際控制報(bào)文協(xié)議(ICMP)包(這也被稱為死亡之包因特網(wǎng)或網(wǎng)際探測(cè)器(ping))●向Pine電子郵件程序的用戶發(fā)送一個(gè)帶有大于256個(gè)字符的“發(fā)件人”地址的消息SYN攻擊當(dāng)啟動(dòng)一個(gè)在網(wǎng)絡(luò)中的傳輸控制程序(TCP)客戶端和服務(wù)器之間的會(huì)話時(shí),存在一個(gè)很小的緩沖器空間以處理設(shè)定該會(huì)話的通??焖俚摹拔帐帧毕⒔粨Q。該些建立會(huì)話的包包括了一個(gè)識(shí)別該消息交換中的順序的SYN字段。攻擊者能夠非??焖俚匕l(fā)送若干連接請(qǐng)求,并接著對(duì)回復(fù)不作響應(yīng)。這會(huì)使第一個(gè)包遺留在緩沖器中,以致無(wú)法接納其他合法的連接請(qǐng)求。盡管在未收到回復(fù)的一個(gè)確定時(shí)間段后,緩沖器中的包會(huì)被丟棄,但是許多這樣的偽造連接請(qǐng)求的影響使建立會(huì)話的合法請(qǐng)求變得困難。一般而言,此問(wèn)題取決于操作系統(tǒng)提供正確設(shè)置,或者允許網(wǎng)絡(luò)管理員調(diào)整緩沖器和超時(shí)時(shí)間段的大小。
淚珠攻擊此類拒絕服務(wù)攻擊利用這樣的方式網(wǎng)際協(xié)議(IP)要求一個(gè)對(duì)于下一個(gè)路由器太大而無(wú)法處理的包被分成片段。片段包識(shí)別相對(duì)于第一個(gè)包開始處的偏移量,該偏移量使整個(gè)包能夠被接收系統(tǒng)重新組裝。在淚珠攻擊中,攻擊者的IP在第二個(gè)或之后的片段中放置一個(gè)混淆的偏移量值。如果接收的操作系統(tǒng)沒有對(duì)這種情況的計(jì)劃,則該攻擊能夠?qū)е孪到y(tǒng)崩潰。
Smurf攻擊在Smurf攻擊中,作惡者向接收站點(diǎn)發(fā)送一個(gè)IP ping(或“將我的消息回送給我”)的請(qǐng)求。該ping包指定將它自己廣播給在接收站點(diǎn)的本地網(wǎng)絡(luò)內(nèi)的若干主機(jī)。該包還指出該請(qǐng)求來(lái)自另一個(gè)站點(diǎn),即將接收到拒絕服務(wù)的目標(biāo)站點(diǎn)。(發(fā)送其中帶有其他人的返回地址的包被稱為哄騙返回地址。)結(jié)果將是大量的ping回復(fù)涌回?zé)o辜的、被哄騙的主機(jī)。如果該洪流足夠強(qiáng)大,被哄騙的主機(jī)將不再能夠接收或者區(qū)別真實(shí)的流量。
病毒以各種方式遍布網(wǎng)絡(luò)復(fù)制的計(jì)算機(jī)病毒可被看成拒絕服務(wù)攻擊,在該攻擊中,通常受害者不是特別作為目標(biāo)的,而是簡(jiǎn)單地是一個(gè)不幸獲得病毒的主機(jī)。取決于特定的病毒,拒絕服務(wù)可以是從幾乎察覺不到一直到災(zāi)難性的。
僵尸攻擊在至少一種形式的拒絕服務(wù)攻擊中,一個(gè)或多個(gè)不安全資產(chǎn),如PC、工作站或Web服務(wù)器,會(huì)被在每個(gè)中間目標(biāo)中安置代碼的惡意攻擊者危害,當(dāng)該中間目標(biāo)被觸發(fā)時(shí)會(huì)向被攻擊的最終目標(biāo),典型地為一個(gè)目標(biāo)網(wǎng)站,發(fā)起極大數(shù)量的攻擊,例如服務(wù)請(qǐng)求。該最終目標(biāo)很快將無(wú)法服務(wù)于來(lái)自它的用戶的合法請(qǐng)求。一個(gè)被用于對(duì)最終目標(biāo)發(fā)起DDoS攻擊的攻擊發(fā)起點(diǎn)的被危害的中間目標(biāo)被稱為僵尸。
通常的僵尸攻擊包括試圖淹沒一個(gè)或多個(gè)目標(biāo)計(jì)算機(jī)的一個(gè)穩(wěn)定的(并因此更容易被跟蹤的)攻擊流量流,而一個(gè)脈沖式的僵尸攻擊包括試圖阻礙服務(wù)的不規(guī)則的流量猝發(fā)。定位來(lái)自脈沖式僵尸的攻擊源或甚至知道該攻擊已經(jīng)發(fā)生是更加困難的。已知有脈沖式僵尸攻擊在被檢測(cè)到之前持續(xù)了數(shù)月之久;在一個(gè)情況下,受害者在幾個(gè)月里接收了六倍于正常的流量。
d.網(wǎng)格計(jì)算環(huán)境中的拒絕服務(wù)攻擊在DDoS攻擊中網(wǎng)格和網(wǎng)格元件對(duì)成為可識(shí)別元件即中間目標(biāo)或潛在僵尸的抵抗力是限制網(wǎng)格安裝的商業(yè)部署的首要問(wèn)題。至今為止,對(duì)于小的目標(biāo)子集,DDoS是代價(jià)非常大的。然而,迄今已認(rèn)為僵尸的傳播是在IP地址空間的多個(gè)和沒有聯(lián)系的部分中。出于此原因,應(yīng)對(duì)僵尸負(fù)責(zé)的子網(wǎng)絡(luò)管理員的任何有害的實(shí)踐,例如沒有表現(xiàn)出應(yīng)有的留心,是無(wú)法被迅速識(shí)別的。
如上所述,有很多種DDoS攻擊。一個(gè)簡(jiǎn)單的DDoS攻擊可能是發(fā)往著名端口如端口53(DNS)或端口161(SNMP)的TCP SYN包的洪流、UDP包的洪流、或者ICMP PING包的洪流。特別地,TCP SYN的洪流已經(jīng)是因特網(wǎng)商務(wù)風(fēng)險(xiǎn)中令人遺憾的部分。這就導(dǎo)致了諸如TCP粘合(TCP splicing)和防火墻加速器中巨大的連接表的對(duì)策。
與靠蠻力的洪流相對(duì)比,一種更復(fù)雜的DDoS可能與受害者建立一個(gè)TCP會(huì)話,接著通過(guò)從不完成的或者是有目的地殘缺的端口443(SSLHTTPS)安全會(huì)話初啟程序淹沒受害者。SSL洪流攻擊對(duì)于攻擊者或者作惡者的重要優(yōu)勢(shì)是會(huì)需要少得多的資源。甚至一個(gè)大的SSL服務(wù)器每秒鐘僅可以處理幾千個(gè)SSL啟動(dòng)。這與在一個(gè)連接表中保持一百萬(wàn)個(gè)會(huì)話的防火墻加速器形成對(duì)比。
在所有DDoS攻擊中的共同主題是征募僵尸,僵尸遵照一個(gè)信號(hào)(包括由操作系統(tǒng)生成的每日時(shí)間信號(hào))向最終受害者發(fā)送如此大量特定類型的流量,以致淹沒最終受害者的計(jì)算資源。
出于此原因,武器裝備,即在分布式拒絕服務(wù)(DDoS)攻擊中網(wǎng)格防止被用作可識(shí)別的實(shí)體(也就是中間目標(biāo)或僵尸)的抵抗力,成為了一個(gè)設(shè)計(jì)、實(shí)現(xiàn)和部署的問(wèn)題。
攻擊者可能遠(yuǎn)程發(fā)現(xiàn)網(wǎng)格或它的元件的脆弱性,例如,通過(guò)發(fā)現(xiàn)許多具有相似的IP地址(或者在NAP存在時(shí)相同的IP地址)及許多開放的端口(可用并可響應(yīng))的機(jī)器。一般而言,這些不會(huì)是著名的端口號(hào)。例如,大多數(shù)9000至32000之間的端口號(hào)都不會(huì)是著名的端口號(hào)。
對(duì)于攻擊者來(lái)說(shuō),也許顯而易見的是,地址類似的機(jī)器也會(huì)有類似的操作系統(tǒng)、應(yīng)用、服務(wù)包級(jí)別和補(bǔ)丁級(jí)別,并且因此具有相同的脆弱性。也就是說(shuō),一個(gè)許多節(jié)點(diǎn)的大型網(wǎng)格可能與Windows 2000機(jī)器的一整個(gè)網(wǎng)絡(luò)在相同的意義上是脆弱的。對(duì)于一個(gè)攻擊者,能夠很快控制具有未修補(bǔ)的相同脆弱性的許多機(jī)器。這可以使用例如蠕蟲感染或自動(dòng)挖掘者(autorooter)來(lái)完成。結(jié)果是很容易危害一個(gè)網(wǎng)格中的幾臺(tái)機(jī)器。在DDoS攻擊的情況下,該攻擊可以使被攻擊的機(jī)器成為僵尸。
一旦網(wǎng)格中的元件被DDoS攻擊接管,即可相對(duì)容易地證明許多或大多數(shù)的隨后的傳出攻擊來(lái)自一個(gè)特定的網(wǎng)格。
于是,存在一種需求,來(lái)檢測(cè)來(lái)自一個(gè)被感染的網(wǎng)格的傳出的攻擊流量,以便于識(shí)別、反應(yīng)和補(bǔ)救,并限制此網(wǎng)格在隨后的DDoS攻擊中的參與。
此外,存在一種需求,來(lái)包括通過(guò)可表明DDoS攻擊的統(tǒng)計(jì)方法識(shí)別在DDoS攻擊中網(wǎng)格的參與,以便能夠有效地和自動(dòng)地響應(yīng)DDoS攻擊。
發(fā)明內(nèi)容
本發(fā)明的目標(biāo)是需要提供一種方法、系統(tǒng)和設(shè)備,來(lái)檢測(cè)來(lái)自一個(gè)被感染的網(wǎng)格中的傳出的攻擊流量,以便于識(shí)別、反應(yīng)和補(bǔ)救,并限制此網(wǎng)格在隨后的DDoS攻擊中的參與。
本發(fā)明進(jìn)一步的目標(biāo)是通過(guò)可表明DDoS攻擊的統(tǒng)計(jì)手段識(shí)別在DDoS攻擊中的網(wǎng)格參與,并因此使得能夠有效地和自動(dòng)地響應(yīng)DDoS攻擊。
本發(fā)明提供用于管理在多處理器環(huán)境中例如網(wǎng)格計(jì)算環(huán)境中由惡意代碼發(fā)起的拒絕服務(wù)攻擊的方法、系統(tǒng)和產(chǎn)品。這是通過(guò)對(duì)來(lái)自該多處理器環(huán)境中的傳出的包的統(tǒng)計(jì)分析來(lái)實(shí)現(xiàn)的。第一步是建立多處理器環(huán)境中的正常流量使用的基線。一旦建立了該基線,下一步是監(jiān)控傳出的流量以檢測(cè)被發(fā)送至特定目的地址的大比例的包,以及與基線相比的大量的傳出包。下一步是監(jiān)控端口和協(xié)議,以檢測(cè)被發(fā)送至特定目標(biāo)端口的大比例的包,以及大多數(shù)或所有的發(fā)送至該最終目標(biāo)端口的包對(duì)一個(gè)或少數(shù)幾個(gè)協(xié)議的一致使用。如果存在這樣的所有發(fā)送至該端口的包對(duì)一個(gè)協(xié)議的一致使用以至于證明了一個(gè)拒絕服務(wù)攻擊,則啟動(dòng)阻止措施以減輕明顯的拒絕服務(wù)攻擊。
如這里所使用的,一個(gè)網(wǎng)格包括了任何被組織成為或能夠被組織成為地址空間片(例如通過(guò)邏輯連接、部門、建筑物、業(yè)務(wù)單元、場(chǎng)所等等)的子網(wǎng)絡(luò),并且該子網(wǎng)絡(luò)不一定為網(wǎng)格。可以監(jiān)控子網(wǎng)絡(luò)以發(fā)現(xiàn)DDoS攻擊的指示。例如,通過(guò)流量特征能夠?qū)⒁粋€(gè)特定片與其他片區(qū)分開,并且在該片中,許多、大多數(shù)或甚至所有活動(dòng)的機(jī)器具有近似相同的行為。以這種方式能夠保護(hù)松散相關(guān)的一組資產(chǎn)(如處理器、節(jié)點(diǎn)、集線器和存儲(chǔ)設(shè)備)。
通過(guò)詳細(xì)描述優(yōu)選的實(shí)施例以及參考附圖,本發(fā)明的以上目標(biāo)和優(yōu)勢(shì)得以說(shuō)明。
圖1說(shuō)明了一個(gè)網(wǎng)格11。網(wǎng)格11包括一般地顯示為工作站的五個(gè)元件111、113、115、117和119。單個(gè)元件本身可以是網(wǎng)格、LAN、WAN、處理器。
圖2說(shuō)明了一個(gè)網(wǎng)格11及其元件111、113、115、117和119,以及通過(guò)互聯(lián)網(wǎng)223訪問(wèn)網(wǎng)格11的客戶端工作站221。
圖3說(shuō)明了一個(gè)網(wǎng)格11及其元件111、113、115、117和119,以及通過(guò)因互聯(lián)網(wǎng)223訪問(wèn)網(wǎng)格11以啟動(dòng)一個(gè)DDoS攻擊341的客戶端工作站221,該DDoS攻擊341通過(guò)在網(wǎng)格元件115和117中植入有害代碼對(duì)最終目標(biāo)即受害者341和343發(fā)起攻擊351A和351B。
圖4是一個(gè)執(zhí)行本發(fā)明的方法的示例流程圖。
具體實(shí)施例方式
本發(fā)明的目標(biāo)是提供一種方法、系統(tǒng)和設(shè)備,以檢測(cè)來(lái)自一個(gè)被感染的網(wǎng)格的傳出的攻擊流量,以便于識(shí)別、反應(yīng)和補(bǔ)救,并限制此網(wǎng)格在隨后的DDoS攻擊中的參與。DDoS檢測(cè)是通過(guò)對(duì)傳入和傳出數(shù)據(jù)流的統(tǒng)計(jì)分析完成的。
本發(fā)明提供了用于管理在多處理器環(huán)境中即網(wǎng)格環(huán)境中的拒絕服務(wù)攻擊的方法、系統(tǒng)和產(chǎn)品。這是由通過(guò)對(duì)傳入和傳出流的統(tǒng)計(jì)分析來(lái)檢測(cè)統(tǒng)計(jì)特征和統(tǒng)計(jì)異常完成的。第一步是建立在多處理器環(huán)境中的正常流量使用的基線。一旦建立了該基線,下一步是監(jiān)控傳出流量以檢測(cè)被發(fā)送至特定目標(biāo)地址(潛在的最終目標(biāo)或受害者)的大比例的包,以及與所述基線相比的大量的傳出包。下一步是監(jiān)控端口和協(xié)議,以檢測(cè)被發(fā)送至特定目標(biāo)端口的大比例的包,以及大多數(shù)或所有的發(fā)送至該端口的包對(duì)一個(gè)協(xié)議的一致使用。如果存在這樣的所有發(fā)送至該端口的包對(duì)一個(gè)協(xié)議的一致使用以至于證明了一個(gè)拒絕服務(wù)攻擊,則啟動(dòng)阻止措施以減輕明顯的拒絕服務(wù)攻擊。
從一網(wǎng)格即從網(wǎng)格的一個(gè)或者多個(gè)元件例如一個(gè)或者幾個(gè)子網(wǎng)絡(luò)內(nèi)的發(fā)起的拒絕服務(wù)攻擊會(huì)顯示某些流量特征。這些流量特征(這里“TC”指“流量特征”)包括TC1.在攻擊流量中見到的IP頭部中的目的地址字段全部或幾乎全部具有一個(gè)值或者少數(shù)幾個(gè)值。
TC2.在攻擊流量中見到的UDP或TCP頭部中的目的端口會(huì)具有一個(gè)值或者幾個(gè)值。該端口可以是正確可用的服務(wù)的端口,如端口80(WWW)或者端口443(SSL)。在一些情況下,包長(zhǎng)度可以是恒定的。
TC3.DDoS流量會(huì)在恒定流或猝發(fā)流中具有很高的帶寬。注意猝發(fā)流會(huì)更難被高度確定地檢測(cè)到。注意,對(duì)于以恒定或者幾乎恒定的流量為特征的DDoS攻擊,DDoS攻擊的目的是通過(guò)使網(wǎng)絡(luò)資源的處理能力或帶寬過(guò)載以停止對(duì)網(wǎng)絡(luò)資源的合法使用,并因此一定存在通向該目標(biāo)的相對(duì)恒定的流量流。
TC4.有些情況下,可存在高比率的TCP或SSL超時(shí),導(dǎo)致了高比率的傳入的TCP RST或FIN流量。一般而言,在海量的正常流量中,TCP超時(shí)和SSL超時(shí)都不應(yīng)出現(xiàn)。因而當(dāng)大量看到這種超時(shí)時(shí),證明了一個(gè)DDoS。
TC5.流量也可以是其他254種協(xié)議中的任何一種。帶有Protocol(IP頭部的TYPE字段)=0的洪流是常見的,ICMP洪流也是正常的(Protocol=1)。
能夠認(rèn)出兩種統(tǒng)計(jì)異常。第一,很可能在子網(wǎng)絡(luò)地址空間中有一個(gè)相鄰的或者幾乎相鄰的發(fā)送這樣的流量的地址片,該流量由TC1...TC5從來(lái)自該子網(wǎng)的所有其他流量中區(qū)別出來(lái)。第二,在存在DDoS攻擊時(shí),在該地址片中,不同機(jī)器的流量特征會(huì)非常類似。
一個(gè)典型的網(wǎng)格11顯示于圖1中。網(wǎng)格11包括一般地顯示為工作站的五個(gè)元件111、113、115、117和119。不過(guò),單個(gè)元件本身可以是網(wǎng)格、LAN、WAN、處理器。圖2說(shuō)明了一個(gè)網(wǎng)格11及其元件111、113、115、117和119,以及通過(guò)互聯(lián)網(wǎng)223訪問(wèn)網(wǎng)格11的客戶端工作站221。
圖3說(shuō)明了網(wǎng)格11(及一般地顯示為工作站的元件111、113、115、117和119),以及通過(guò)互聯(lián)網(wǎng)223訪問(wèn)網(wǎng)格11以啟動(dòng)一個(gè)DDoS攻擊341的客戶端工作站221,該DDoS攻擊341通過(guò)在網(wǎng)格元件115和117中植入有害代碼對(duì)目標(biāo)341和343發(fā)起攻擊351A和351B。如圖3所示,網(wǎng)格11正在受到DDoS攻擊,以便由暗中植入處理器115和117的僵尸代碼在處理器341和343上發(fā)動(dòng)DDoS攻擊。DDoS可以是恐怖襲擊、或勒索或敲詐陰謀、或僅僅是簡(jiǎn)單的惡意黑客行為。
本發(fā)明的實(shí)踐開始于識(shí)別出在一個(gè)支持網(wǎng)格的子網(wǎng)絡(luò)的傳入和傳出流量的正常流的中不尋常和異常地存在帶有上述一種或多種異常流量特征的包的占優(yōu)勢(shì)的子集。異常流量的源地址可在一片完整地址空間之內(nèi),并且該片流量的統(tǒng)計(jì)值會(huì)非常不同于正常流量。此外,一片內(nèi)的異常流量的統(tǒng)計(jì)值和流量特征可以在機(jī)器之間非常相似。
如上所述,有許多種DDoS攻擊。一個(gè)簡(jiǎn)單的DDoS攻擊可能是發(fā)往一個(gè)著名端口如端口53(DNS)或161(SNMP)的TCP SYN包的洪流、UDP包的洪流、或者ICMP PING包的洪流。特別地,TCP SYN洪流已經(jīng)是因特網(wǎng)商務(wù)風(fēng)險(xiǎn)中令人遺憾的一部分。這導(dǎo)致了諸如TCP接合和防火墻加速器中的巨大連接表的對(duì)策。
與靠蠻力的洪流相對(duì)比,一種更加復(fù)雜的DDoS可能與目標(biāo)或最終受害者建立一個(gè)TCP會(huì)話,接著通過(guò)從不完成的或者是有目的地殘缺的端口443(SSL HTTPS)安全會(huì)話初啟程序淹沒該目標(biāo)或最終受害者。SSL洪流的重要優(yōu)勢(shì)是會(huì)需要少得多的資源(即中間目標(biāo)或者僵尸)。甚至一個(gè)大的SSL服務(wù)器每秒鐘僅僅能夠處理幾千個(gè)SSL啟動(dòng)。這與在一個(gè)連接表中擁有一百萬(wàn)個(gè)會(huì)話的防火墻加速器形成對(duì)比。
所有DDoS攻擊中的一個(gè)共同主題是征募僵尸,僵尸遵照信號(hào)向受害者發(fā)送如此大量的特定類型的流量,以至于受害者的計(jì)算資源被淹沒。
DDoS攻擊的檢測(cè)和識(shí)別將通過(guò)四類傳出的DDoS攻擊說(shuō)明本發(fā)明。
TCP DDoS攻擊。對(duì)TCP攻擊的檢測(cè)會(huì)包括指向一個(gè)目的地或者少數(shù)幾個(gè)目的地的異常數(shù)量的SYN流量。在SYN、ACK、FIN和RST這四種TCP標(biāo)志中,必須有至少一種標(biāo)志被設(shè)置(=1),并且在SYN、FIN和RST中,必須有至少一種標(biāo)志被設(shè)置(=1)。在一個(gè)傳出的DDoS中,可能有異常高水平的除SYN之外的TCP標(biāo)志組合,包括非法的標(biāo)志組合。TCP DDoS攻擊的另一個(gè)指示會(huì)是四種TCP標(biāo)志的相互之間的典型比率的根本偏離。也就是說(shuō),應(yīng)該有數(shù)量大致相等的SYN和SYN/ACK。在一段長(zhǎng)時(shí)期內(nèi),會(huì)有數(shù)量大致相等的SYN和FIN。不應(yīng)該存在相對(duì)于所有非RST的類型的過(guò)多數(shù)量的RST。
ICMP攻擊。對(duì)ICMP攻擊的檢測(cè)會(huì)包括Ping包(其目的地端口(DP)=8)的過(guò)高水平。在一次成功的攻擊中,傳出的Ping包與傳入的Ping回送包(其DP=11)的比率會(huì)高于通常期望的1比2的比率。
UDP攻擊。對(duì)UDP攻擊的檢測(cè)會(huì)包括包的過(guò)高水平,這些包很可能具有一個(gè)DP或幾個(gè)DP值??赡芸紤]UDP與TCP的比率,因?yàn)橥ǔ烧呓匝h(huán)七天、每天二十四小時(shí)。
SSL(HTTPS)攻擊。一個(gè)SSL攻擊會(huì)包括正確啟動(dòng)一個(gè)TCP會(huì)話,但接著僅僅部分的SSL安全會(huì)話。某些SSL字段會(huì)故意成為不正確的或非法的。阻塞服務(wù)器所需的截短的SSL會(huì)話的數(shù)量可能大大低于造成同樣效果所需的TCP SYN的數(shù)量。因此,對(duì)于SSL DDoS攻擊,帶寬會(huì)很高,例如相對(duì)于正常SSL,每分鐘超過(guò)100個(gè)啟動(dòng)的會(huì)話。如果SSL攻擊嵌入所有其他流量中,特別是所有其他TCP流量中,這可能不會(huì)引人注意。因此,一個(gè)SSL DDoS可能包括SSL相對(duì)于其他TCP的過(guò)高的比率,或者SSL超時(shí)相對(duì)于所有SSL流量的過(guò)高的比率。
檢測(cè)方法有幾個(gè)可用于以信號(hào)通知來(lái)自被監(jiān)控的網(wǎng)格的中間目標(biāo)或僵尸的傳出網(wǎng)格攻擊正在進(jìn)行的主要的方法。這些檢測(cè)方法基于確定流量類型、整個(gè)網(wǎng)格中的流量、以及一個(gè)或一小子集的子網(wǎng)絡(luò)地址空間與其余子網(wǎng)絡(luò)地址空間非常不同,例如在流量、流量類型或協(xié)議方面,但對(duì)于該小子集的子網(wǎng)絡(luò)地址空間,不同機(jī)器之間的流量非常類似。
一個(gè)方法將是建立正常的流量并建立和定義基線。這些基線可包括協(xié)議使用(TCP、UDP和ICMP)和共同使用的服務(wù)(HTTP、HTTPS、MS-SQL-M、DNS等等)的比例。與已建立的基線的比較會(huì)啟動(dòng)阻止措施以減緩可能的攻擊。
具有圖4所示的流程圖的一種算法方法開始于監(jiān)控關(guān)于目的地址的傳出流量,方框41。如果對(duì)某個(gè)目的地址的包的數(shù)量與全部傳出包的數(shù)量的比率超過(guò)某個(gè)數(shù)字(如0.5),并且全部傳出包的數(shù)量超過(guò)一個(gè)預(yù)置值,方框43,則監(jiān)控選定的端口和協(xié)議,方框45。例如,如果對(duì)一個(gè)端口的包的數(shù)量與對(duì)所有端口的全部包的數(shù)量的比率超過(guò)某個(gè)值(如0.5),并且所使用的協(xié)議在所有或大部分的端口之間是一致的,方框47,則開始阻止措施以阻止可能的攻擊,方框49。
應(yīng)該注意到,過(guò)度依賴于對(duì)特定目的地址的包的數(shù)量與全部傳出包的數(shù)量的比率超過(guò)某個(gè)數(shù)字(如0.5)以及全部傳出包的數(shù)量超過(guò)一個(gè)預(yù)置值,能夠?qū)е洛e(cuò)誤的斷言,并且管理員應(yīng)該禁止持續(xù)的IP地址監(jiān)控。這種情況是因?yàn)榫芙^服務(wù)攻擊常常持續(xù)很長(zhǎng)的一段時(shí)間。因此,幾個(gè)小時(shí)后達(dá)到的痛閾與比如96小時(shí)后的痛閾相比可能不顯著,因而延遲動(dòng)作以允許管理員交互是可行的。
另一個(gè)的檢測(cè)工具是檢測(cè)來(lái)自一片子網(wǎng)絡(luò)地址空間的非正常比例的超時(shí),檢測(cè)來(lái)自該片子網(wǎng)絡(luò)空間的流量與正常流量及該子網(wǎng)絡(luò)中的其他元件的流量不同,或者檢測(cè)在該片中的流量在該子網(wǎng)絡(luò)內(nèi)的不同機(jī)器之間具有不正常的高度一致性。
最普通的DDoS的情況將典型地包括在攻擊流量中見到的IP頭部中的目的地址字段均具有一個(gè)值或少數(shù)幾個(gè)值,以及UDP或TCP頭部中的目的端口具有一小組的值,如一個(gè)或幾個(gè)值。另一方面,在ICMP攻擊的情況中,ICMP包的比例會(huì)異常之高。這意味著檢測(cè)是通過(guò)認(rèn)識(shí)到網(wǎng)格內(nèi)的多臺(tái)機(jī)器(轉(zhuǎn)變?yōu)榻┦闹虚g目標(biāo))在同一端口攻擊同一地址運(yùn)行的。在這一點(diǎn)上,使用的端口也會(huì)意味著某個(gè)協(xié)議(如用于UDP的端口1434和用于TCP的端口80),這轉(zhuǎn)而導(dǎo)致了完全不同的網(wǎng)格動(dòng)作之間的較容易的提取和相關(guān)聯(lián)。
阻止措施所有現(xiàn)代的路由器和防火墻都能夠在(在OSI協(xié)議棧中的)第4層過(guò)濾。這意味著能夠指定過(guò)濾器規(guī)則以阻止(丟棄并報(bào)告)一個(gè)或幾個(gè)IP源地址和一個(gè)或幾個(gè)IP源端口的任何組合。在某些情況下,能夠在申請(qǐng)服務(wù)、回復(fù)、口令請(qǐng)求、口令提交、識(shí)別、認(rèn)證、授權(quán)的某種組合的一個(gè)握手系統(tǒng)的特定階段,或任何密碼過(guò)程中的任何部分(如公鑰交換過(guò)程中的任何部分),對(duì)包應(yīng)用更精密復(fù)雜的阻止。本發(fā)明使用了這樣的阻止能力,但該阻止能力不包括在本發(fā)明中。
在一個(gè)實(shí)施例中,自動(dòng)施加阻止措施會(huì)是施加行為的一個(gè)動(dòng)態(tài)時(shí)期。
程序產(chǎn)品本發(fā)明可以例如通過(guò)將用于管理拒絕服務(wù)攻擊的系統(tǒng)作為一種軟件應(yīng)用(作為一個(gè)操作系統(tǒng)元件)、一種專用處理器、或一種帶有專用代碼的專用處理器來(lái)實(shí)現(xiàn)。該代碼執(zhí)行機(jī)器可讀的一個(gè)指令序列,該指令序列也可稱為代碼。這些指令可駐留在各種類型的信號(hào)承載的媒介中。在這方面,本發(fā)明的一個(gè)方面涉及了一種程序產(chǎn)品,此程序產(chǎn)品包含一種或多種信號(hào)承載媒介,該媒介有形地體現(xiàn)了由一個(gè)數(shù)字處理設(shè)備執(zhí)行以實(shí)現(xiàn)在多處理器環(huán)境中管理拒絕服務(wù)攻擊的方法的機(jī)器可讀指令的程序。
此信號(hào)傳播媒介可包含例如服務(wù)器中的存儲(chǔ)器。服務(wù)器中的該存儲(chǔ)器可以是非易失性存儲(chǔ)器、數(shù)據(jù)盤、或甚至是用于為了安裝而下載到處理器的、廠商服務(wù)器上的存儲(chǔ)器。除此之外,該些指令可體現(xiàn)在信號(hào)承載媒介例如數(shù)據(jù)存儲(chǔ)光盤中。除此之外,該些指令可存儲(chǔ)在多種機(jī)器可讀數(shù)據(jù)存儲(chǔ)媒介(mediums或media)中的任何一種上,該多種媒介包括,例如,“硬盤驅(qū)動(dòng)器”、RAID陣列、RAMAC、數(shù)據(jù)存儲(chǔ)磁盤(如軟盤)、磁帶、數(shù)字光帶、RAM、ROM、EPROM、EEPROM、閃速存儲(chǔ)器、磁光存儲(chǔ)器、穿孔紙卡片、或任何其他適合的信號(hào)承載媒介,包括傳輸媒介,例如可以是電的、光的和/或無(wú)線的數(shù)字和/或模擬通信鏈路。舉例來(lái)說(shuō),機(jī)器可讀指令可包含軟件對(duì)象代碼,該代碼從一種語(yǔ)言例如“C++”、Java、Pascal、ADA、匯編程序等等編譯。
此外,該程序代碼可以例如被壓縮、加密、或二者兼?zhèn)?,并可包括可?zhí)行文件、腳本文件和安裝向?qū)?,如在Zip文件和cab文件中。如這里所使用的,術(shù)語(yǔ)“駐留在信號(hào)傳播媒介其中或其上的機(jī)器可讀指令或代碼”包括了上面所有的交付方法。
其他實(shí)施例雖然前述的公開內(nèi)容顯示了本發(fā)明的若干說(shuō)明性的實(shí)施例,不過(guò)很顯然,對(duì)于本領(lǐng)域的技術(shù)人員,無(wú)需背離由所附權(quán)利要求定義的本發(fā)明的范圍即能夠在這里實(shí)現(xiàn)各種變化和修改。此外,盡管本發(fā)明的元件可以作為單數(shù)描述和要求保護(hù),不過(guò)除非清楚聲明了單數(shù)的限制,復(fù)數(shù)也是可能的。
權(quán)利要求
1.一種在多處理器環(huán)境中管理拒絕服務(wù)攻擊的方法,包含如下步驟建立該多處理器環(huán)境中的正常的流量使用基線;監(jiān)控傳出流量以檢測(cè)發(fā)送到特定目的地址的大比例的包,以及與所述基線相比的大量的傳出包;隨即監(jiān)控端口和協(xié)議以檢測(cè)發(fā)送到特定端口的大比例的包,以及發(fā)向該端口的所有包對(duì)一協(xié)議的一致使用;以及隨即啟動(dòng)阻止措施以減緩明顯的拒絕服務(wù)攻擊。
2.權(quán)利要求1的方法,其中所述拒絕服務(wù)攻擊是傳出的拒絕服務(wù)攻擊。
3.權(quán)利要求1的方法,包含如下步驟a.監(jiān)控對(duì)于目的地址的傳出流量;b.如果(i)對(duì)一特定目的地址的包的數(shù)量與(ii)傳出包的全部數(shù)量的比率大于一當(dāng)前數(shù)字,并且傳出包的全部數(shù)量超過(guò)一預(yù)置值,則監(jiān)控選定的端口和協(xié)議;c.如果(i)對(duì)一端口的包的數(shù)量與(ii)對(duì)所有端口的包的全部數(shù)量的比率大于一預(yù)置值,并且如果所使用的協(xié)議在一大部分端口中是一致的,則開始阻止措施。
4.權(quán)利要求1的方法,其中所述多處理器環(huán)境是網(wǎng)格計(jì)算機(jī)環(huán)境。
5.一種包括至少一個(gè)網(wǎng)絡(luò)中的多個(gè)計(jì)算機(jī)的多處理器系統(tǒng),所述多個(gè)計(jì)算機(jī)適于同時(shí)地處理一單個(gè)問(wèn)題,并且還適于由一方法管理拒絕服務(wù)攻擊,該方法包含如下步驟建立該多處理器系統(tǒng)中的正常的流量使用基線;監(jiān)控傳出流量以檢測(cè)發(fā)送到特定目的地址的大比例的包,以及與所述基線相比的大量的傳出包;隨即監(jiān)控端口和協(xié)議以檢測(cè)發(fā)送到特定端口的大比例的包,以及發(fā)向該端口的所有包對(duì)一協(xié)議的一致使用;以及隨即啟動(dòng)阻止措施以減緩明顯的拒絕服務(wù)攻擊。
6.權(quán)利要求5的多處理器系統(tǒng),其中所述拒絕服務(wù)攻擊是傳出的拒絕服務(wù)攻擊。
7.權(quán)利要求5的多處理器系統(tǒng),包含如下步驟a.監(jiān)控對(duì)于目的地址的傳出流量;b.如果(i)對(duì)一特定目的地址的包的數(shù)量與(ii)傳出包的全部數(shù)量的比率大于一當(dāng)前數(shù)字,并且傳出包的全部數(shù)量超過(guò)一預(yù)置值,則監(jiān)控選定的端口和協(xié)議;c.如果(i)對(duì)一端口的包的數(shù)量與(ii)對(duì)所有端口的包的全部數(shù)量的比率大于一預(yù)置值,并且如果所使用的協(xié)議在一大部分端口中是一致的,則開始阻止措施。
8.權(quán)利要求5的多處理器系統(tǒng),其中所述多處理器環(huán)境是網(wǎng)格計(jì)算機(jī)環(huán)境。
9.一種包含計(jì)算機(jī)可讀代碼的數(shù)據(jù)存儲(chǔ)媒介,所述計(jì)算機(jī)可讀代碼適于配置和控制具有至少一個(gè)網(wǎng)絡(luò)中的多個(gè)計(jì)算機(jī)的多處理器環(huán)境,所述多個(gè)計(jì)算機(jī)適于同時(shí)地處理一單個(gè)問(wèn)題,并且還適于管理拒絕服務(wù)攻擊,所述的計(jì)算機(jī)可讀代碼指引如下步驟建立該多處理器環(huán)境中的正常的流量使用基線;監(jiān)控傳出流量以檢測(cè)發(fā)送到特定目的地址的大比例的包,以及與所述基線相比的大量的傳出包;隨即監(jiān)控端口和協(xié)議以檢測(cè)發(fā)送到特定端口的大比例的包,以及發(fā)向該端口的所有包對(duì)一協(xié)議的一致使用;以及隨即啟動(dòng)阻止措施以減緩明顯的拒絕服務(wù)攻擊。
10.權(quán)利要求9的數(shù)據(jù)存儲(chǔ)媒介,其中所述拒絕服務(wù)攻擊是傳出的拒絕服務(wù)攻擊。
11.權(quán)利要求9的數(shù)據(jù)存儲(chǔ)媒介,包含如下步驟a.監(jiān)控關(guān)于目的地址的傳出流量;b.如果(i)對(duì)特定目的地址的包的數(shù)量與(ii)傳出包的全部數(shù)量的比率大于一當(dāng)前數(shù)字,并且傳出包的全部數(shù)量超過(guò)一預(yù)置值,則監(jiān)控選定的端口和協(xié)議;c.如果(i)對(duì)一端口的包的數(shù)量與(ii)對(duì)所有端口的包的全部數(shù)量的比率大于一預(yù)置值,并且如果所使用的協(xié)議在一大部分端口中是一致的,則開始阻止措施。
12.權(quán)利要求9的數(shù)據(jù)存儲(chǔ)媒介,其中所述多處理器環(huán)境是網(wǎng)格計(jì)算機(jī)環(huán)境。
全文摘要
用于在多處理器環(huán)境中管理拒絕服務(wù)攻擊的一種方法、系統(tǒng)和產(chǎn)品。第一步是建立該多處理器環(huán)境中的正常的流量使用基線。一旦建立了該基線,下一步是監(jiān)控傳出流量以檢測(cè)被發(fā)送至一個(gè)特定目標(biāo)地址的大比例的包,以及與所述基線比較的大量的傳出包。下一步是監(jiān)控端口和協(xié)議以檢測(cè)發(fā)送到一個(gè)特定端口的大比例的包,以及發(fā)向該端口的所有包對(duì)一協(xié)議的一致使用。如果存在這樣的發(fā)向該端口的所有包對(duì)一協(xié)議的一致使用以至于證明了拒絕服務(wù)攻擊,則啟動(dòng)阻止措施以減緩明顯的拒絕服務(wù)攻擊。
文檔編號(hào)H04L12/24GK1750536SQ20051007992
公開日2006年3月22日 申請(qǐng)日期2005年6月27日 優(yōu)先權(quán)日2004年9月14日
發(fā)明者C·D·杰弗里斯, R·W·丹福德, T·D·埃斯卡米拉, K·D·希貝格爾 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司