拒絕服務(wù)攻擊(DDOS)現(xiàn)狀分析 |
發(fā)布時(shí)間: 2012/8/10 17:22:41 |
技術(shù) 拒絕服務(wù)技術(shù)的創(chuàng)新已經(jīng)基本塵埃落定,而上個(gè)世紀(jì)最后十年的發(fā)明也逐漸遙遠(yuǎn)。然而,隨著寬帶接入、自動(dòng)化和如今家庭計(jì)算機(jī)功能的日益強(qiáng)大,使得對(duì)拒絕服務(wù)攻擊的研究有些多余。尤其是當(dāng)我們發(fā)現(xiàn)一些本已在90年代末銷聲匿跡的古老的攻擊方式,(例如land ,其使用類似的源和目標(biāo) IP 地址和端口發(fā)送 UDP 信息包)這些攻擊技術(shù) 現(xiàn)在又卷土重來時(shí),這個(gè)結(jié)論就更加顯而易見。在這一方面唯一的進(jìn)步就是可以發(fā)起并行任務(wù),從而可以通過簡(jiǎn)單的 486 處理器所無法實(shí)現(xiàn)的方式來顯著提高攻擊強(qiáng)度。 另一個(gè)要考慮的重點(diǎn)是事實(shí)上IP堆棧似乎并未正確地安裝補(bǔ)丁程序。計(jì)算機(jī)不再會(huì)因?yàn)閱我坏男畔罎;但是,CPU操作會(huì)為了處理這種信息包而保持高速運(yùn)行。因?yàn)檠a(bǔ)丁失效期間生成的信息包是有限的,所以要實(shí)現(xiàn)有效的攻擊并不容易?赡苁羌夹g(shù)提高得太快。不管是什么原因,這些陳舊過時(shí)的攻擊方式現(xiàn)在又卷土重來,而且還非常有效。 使用拒絕服務(wù) 拒絕服務(wù)攻擊開始可能只是為了“取樂”,對(duì)系統(tǒng)操作員進(jìn)行某種報(bào)復(fù)或是實(shí)現(xiàn)各種復(fù)雜的攻擊,例如對(duì)遠(yuǎn)程服務(wù)的隱形欺騙。某人因在某一信道上遭到侮辱后也經(jīng)常會(huì)將IRC服務(wù)器作為攻擊目標(biāo)。這種情況下的網(wǎng)絡(luò)和因特網(wǎng)使用是“保密的”,這些攻擊對(duì)其造成的影響微乎其微。 隨著時(shí)間的流逝,因特網(wǎng)逐漸成為一種通信渠道,hacktivism(網(wǎng)絡(luò)激進(jìn)主義)越來越流行。地理政治形勢(shì)、戰(zhàn)爭(zhēng)、宗教問題、生態(tài)等任何動(dòng)機(jī)都可能成為對(duì)公司、政治組織或甚至國(guó)家的IT基礎(chǔ)架構(gòu)發(fā)動(dòng)進(jìn)攻的動(dòng)機(jī)。 最近的拒絕服務(wù)攻擊更多的是與聯(lián)機(jī)游戲有關(guān)。某些玩家對(duì)在游戲中被人殺死或丟失他們喜愛的武器不滿意,因此發(fā)動(dòng)拒絕服務(wù)攻擊,許多服務(wù)器已經(jīng)成為這種攻擊的犧牲品。 但是如今使用拒絕服務(wù)的目的大多數(shù)是純粹的敲詐勒索。越來越多的企業(yè)開始依賴他們的IT基礎(chǔ)架構(gòu)。郵件、關(guān)鍵數(shù)據(jù)、甚至電話都通過網(wǎng)絡(luò)來處理。如果沒有這些主要的通信渠道,大多數(shù)公司都難以在競(jìng)爭(zhēng)中幸存。而且,因特網(wǎng)還是一種生產(chǎn)工具。例如,搜索引擎和博彩web 站點(diǎn)都完全依賴網(wǎng)絡(luò)連接。 因此,隨著公司直接或間接地依賴因特網(wǎng),原有的敲詐信逐漸轉(zhuǎn)變成數(shù)字形式。首先在短暫而非緊要的時(shí)間段內(nèi)發(fā)動(dòng)攻擊。然后受害者就不得不支付“保護(hù)費(fèi)”。 網(wǎng)絡(luò)協(xié)議攻擊 這些攻擊瞄準(zhǔn)傳輸信道,并因此以IP堆棧作為攻擊目標(biāo),IP堆棧是內(nèi)存和 CPU 之類關(guān)鍵資源的進(jìn)入點(diǎn)。 SYN洪水 SYN洪水是典型的基于概念的拒絕服務(wù)攻擊,因?yàn)檫@種攻擊完全依賴于TCP連接的建立方式。在最初的 3 向握手期間,服務(wù)器填寫保存內(nèi)存中會(huì)話信息的 TCB(傳輸控制塊)表。當(dāng)服務(wù)器收到來自客戶機(jī)的初始 SYN 信息包時(shí),向客戶機(jī)發(fā)送回一個(gè) SYN-ACK 信息包并在 TCB 中創(chuàng)建一個(gè)入口。只要服務(wù)器在等待來自客戶機(jī)的最終 ACK 信息包,該連接便處于 TIME_WAIT 狀態(tài)。如果最終沒有收到 ACK 信息包,則將另一個(gè) SYN-ACK 發(fā)送到客戶機(jī)。最后,如果經(jīng)多次重試后,客戶機(jī)沒有認(rèn)可任何 SYN-ACK 信息包,則關(guān)閉會(huì)話并從 TCB 中刷新會(huì)話。從傳輸?shù)谝粋(gè) SYN-ACK 到會(huì)話關(guān)閉這段時(shí)間通常大約為 30 秒。 在這段時(shí)間內(nèi),可能會(huì)將數(shù)十萬(wàn)個(gè)SYN信息包發(fā)送到開放的端口且絕不會(huì)認(rèn)可服務(wù)器的SYN-ACK 信息包。TCB 很快就會(huì)超過負(fù)荷,且堆棧無法再接受任何新的連接并將現(xiàn)有的連接斷開。因?yàn)楣粽卟挥媒邮諄碜苑⻊?wù)器的 SYN-ACK 信息包,所以他們可以偽造初始 SYN 信息包的源地址。這就使得跟蹤攻擊的真實(shí)來源更加困難。此外,因?yàn)?SYN-ACK 信息包沒有發(fā)送到攻擊者,所以這樣還為攻擊者節(jié)省了帶寬。 生成這種攻擊很容易,只要在命令行輸入一條命令就足夠了。 #hping3--rand-source–S –L 0 –p 存在的變體也很少,通常為了增加CPU的使用率會(huì)將某些異常添加到SYN 信息包。這些可能是序列號(hào)或源端口0等合法的異常。 SYN-ACK洪水 SYN-ACK洪水的作用基礎(chǔ)是令CPU資源枯竭。從理論上講,這種信息包是 TCP 3 向握手的第二步,而且在 TCB 中應(yīng)該有對(duì)應(yīng)的入口。瀏覽 TCB 將會(huì)使用 CPU 資源,尤其 TCB 很大時(shí)會(huì)耗用更多的 CPU 資源。因此,負(fù)荷較重時(shí),這種對(duì)資源的使用會(huì)影響系統(tǒng)性能。 這也就是SYN-ACK攻擊所仰仗的利器。向系統(tǒng)發(fā)送一個(gè)巨荷的SYN-ACK 信息包會(huì)顯著增加系統(tǒng) CPU 的使用率。因此,用于組織 TCB 的哈希算法和哈希表大小之選擇會(huì)影響攻擊的效率(請(qǐng)參閱“概念”和“邏輯缺陷”)。而且,因?yàn)檫@些 SYN-ACK 信息包不屬于現(xiàn)有的連接,所以目標(biāo)機(jī)器不得不將 RST 信息包發(fā)送到源機(jī)器,從而增加了鏈路上的帶寬占用率。對(duì)于 SYN 洪水,攻擊者為了避免接收到 RST,當(dāng)然可以偽造源機(jī)器的 IP 地址,這樣還可以提高攻擊者的可用帶寬。 這也只需要一條簡(jiǎn)單的命令就可以進(jìn)行這種攻擊。 一個(gè)重要因子是由第三方服務(wù)器基于反射機(jī)制而生成SYN-ACK信息包的能力。在將SYN 信息包發(fā)送到服務(wù)器的開放端口時(shí),該服務(wù)器將 SYN-ACK 信息包發(fā)送回源機(jī)器。此時(shí)任何服務(wù)器都可能為這種攻擊充當(dāng)中繼。發(fā)送到服務(wù)器的簡(jiǎn)單 SYN 信息包帶有偽造的源,其發(fā)送到目標(biāo)時(shí)生成 SYN-ACK 返回目標(biāo)。這種技術(shù)讓跟蹤更加困難。而且,在某些情況下,還可以繞過某些防偽機(jī)制。尤其當(dāng)目標(biāo)和攻擊者屬于同一干道而且部署的 uRPF (參閱“防偽”) 距離目標(biāo)機(jī)器和攻擊者足夠遠(yuǎn)時(shí),更有可能避開防偽機(jī)制。 通過與SYN洪水聯(lián)結(jié)還可以提高此種攻擊的強(qiáng)度。SYN洪水在TCB 中創(chuàng)建入口,而TCB因此變得越來越大。由于此時(shí)瀏覽 TCB 所需的時(shí)間更長(zhǎng),所以 SYN-ACK 洪水的功效大大增加。 UDP洪水
UDP同樣天生就是拒絕服務(wù)攻擊的傳播媒介。按照指定,在封閉端口上接收UDP信息包的服務(wù)器將無法到達(dá) ICMP 端口的信息包發(fā)送回給源機(jī)器。ICMP 信息包的數(shù)據(jù)部分填充有原始 UDP 信息包中的至少前 64 個(gè)字節(jié)。因?yàn)闆]有標(biāo)準(zhǔn)限度或額度,所以很可能在封閉的端口上發(fā)送巨量的信息包。在為生成 ICMP 而進(jìn)行負(fù)荷極大的必需操作時(shí),,錯(cuò)誤的信息包消耗了大量 CPU 資源,最終導(dǎo)致CPU 資源枯竭。 同樣,也可以從命令行生成這種攻擊。而且,也可以通過偽造而使得ICMP信息包不會(huì)降低攻擊者的帶寬。 異常 異常屬于特殊情況,其可以令I(lǐng)P堆棧出現(xiàn)行為錯(cuò)誤而造成各種不同的后果,例如崩潰、凍結(jié)等等。異?蓜澐譃閮纱箢悾悍欠〝(shù)據(jù)和隔離異常。 非法數(shù)據(jù)是標(biāo)準(zhǔn)所不予考慮的或予以顯式否定的值或內(nèi)容。大于指定長(zhǎng)度的信息包、重疊的TCP標(biāo)記組合、含非空認(rèn)證序列號(hào)的SYN 信息包或甚至錯(cuò)誤的選項(xiàng)類型都屬于基于非法數(shù)據(jù)的異常攻擊。 隔離異常是基于那些堆棧不能正常處理的異常情況(即便從標(biāo)準(zhǔn)的視角看它們完全合法)。著名的“死亡之ping”就是關(guān)于巨型(但仍然合法)ICMP回顯請(qǐng)求信息包。如果信息包帶有相同的源地址、目標(biāo)地址和端口,其仍然是合法的,不過對(duì)IP 協(xié)議棧有害。古老的 land 攻擊最近已脫胎換骨成為 imland,而且正在破壞 IP協(xié)議棧。只有少數(shù)異常攻擊仍然能夠利用單一信息包擊倒系統(tǒng)。大多數(shù)堆棧都已打上補(bǔ)丁程序,而且可能大多數(shù)異常都已經(jīng)過測(cè)試和開發(fā)。然而,處理這種信息包仍然會(huì)占用 CPU 的不少資源。當(dāng)5 年前異常攻擊出現(xiàn)并得到補(bǔ)丁程序的修補(bǔ)時(shí),攻擊能力還受到 CPU 和帶寬的限制。處理異常情況時(shí)產(chǎn)生的額外計(jì)算負(fù)擔(dān)不太重要。如今,工作站與服務(wù)器之間的差距日益縮小,而且任何人都可以使用寬帶。這種條件下可能發(fā)動(dòng)巨型負(fù)荷的異常,使得目標(biāo)機(jī)器的 CPU 資源枯竭。 同樣,也可以從單一的命令行實(shí)現(xiàn)這種攻擊。 #hping3--rand-source–SAFRU –L 0 –M 0 –p --flood 同樣,仍然可以選擇進(jìn)行偽造來進(jìn)行有效有效攻擊。 應(yīng)用程序級(jí)攻擊 網(wǎng)絡(luò)已證明易受攻擊。然而網(wǎng)絡(luò)只是全球系統(tǒng)中的傳輸部分,是中斷通信的良好手段。不過,應(yīng)用程序通常是實(shí)際的攻擊目標(biāo),而且這些應(yīng)用程序也受到無數(shù)的拒絕服務(wù)問題的襲擾。 基于會(huì)話的攻擊 大多數(shù)應(yīng)用程序連接是通過會(huì)話(通常經(jīng)過TCP機(jī)制的標(biāo)識(shí)) 來處理。同步會(huì)話的數(shù)量是影響給定應(yīng)用程序性能的重要因素,因此必須限制會(huì)話的數(shù)量。如果該限制只是基于網(wǎng)絡(luò)和傳輸信息(IP+TCP),那么生成拒絕服務(wù)是很容易的。一次簡(jiǎn)單的攻擊便可打開 TCP 會(huì)話并讓這些會(huì)話保持打開狀態(tài),從而可以迅速填滿所有可用的會(huì)話槽,阻止建立任何新的會(huì)話。這種“待決”會(huì)話攻擊是與 SYN 洪水等價(jià)的 7 層攻擊。但是如果在第 4 層上需要有數(shù)千兆數(shù)據(jù)流量,則需要在幾秒內(nèi)發(fā)送數(shù)千個(gè)信息包來阻止建立任何新的會(huì)話,。 例如,很容易在web服務(wù)器上實(shí)施這種攻擊。 完整和合法的會(huì)話也可以破壞應(yīng)用程序,簡(jiǎn)單的F5攻擊只需保持F5 鍵處于按下狀態(tài)就可以強(qiáng)制完全刷新在 Internet Explorer 上加載的 web 頁(yè)面。使用這種古老而簡(jiǎn)易的攻擊,便會(huì)僅僅因?yàn)樾枰⻊?wù)的 web 頁(yè)面數(shù)過多而導(dǎo)致資源枯竭。這種會(huì)話洪水攻擊還可以破壞通信信道的其他關(guān)鍵路徑。 − 電信鏈接:從服務(wù)器傳送到客戶機(jī)的數(shù)據(jù)量可以填滿與因特網(wǎng)的鏈接。這種情況下,通過該鏈接無法進(jìn)行任何通信;針對(duì)性的拒絕服務(wù)攻擊漫延至全球; − 服務(wù)器應(yīng)用程序:大量同步連接可以達(dá)到服務(wù)器處理同步會(huì)話能力的上限,這種攻擊類似于“待決的”會(huì)話攻擊。如果未設(shè)置上限,則處理大量會(huì)話時(shí)可能消耗絕大多數(shù)的系統(tǒng)資源。 − 第三方應(yīng)用程序:大多數(shù)應(yīng)用程序都鏈接到中間軟件和數(shù)據(jù)庫(kù)。在任一情況下,由于這些第三方應(yīng)用程序在處理原始應(yīng)用程序發(fā)出的巨量請(qǐng)求時(shí)可能遇到內(nèi)部問題,因此就可能出現(xiàn)瓶頸。這些結(jié)果也可能是內(nèi)部缺陷造成的(如下所述)。 繼F5攻擊技術(shù)之后,會(huì)話洪水技術(shù)便再無發(fā)展。不過,人們已發(fā)現(xiàn)且廣泛使用平衡因子而使得這種攻擊仍然是拒絕服務(wù)中一種最惡性的可能情形。
開發(fā)的應(yīng)用程序是為了在正常情況下提供特定的服務(wù),而攻擊的目的就是令應(yīng)用程序的行為方式出現(xiàn)異常。這種攻擊的某些機(jī)制是通用的,但是這種攻擊的大多數(shù)機(jī)制是專用于各個(gè)不同應(yīng)用程序的概念和邏輯,因此想要羅列出全部有缺陷的應(yīng)用程序和消滅這些缺陷的方法是不可能的。 內(nèi)部 內(nèi)存處理顯然是可以導(dǎo)致拒絕服務(wù)攻擊的第一內(nèi)部機(jī)制。簡(jiǎn)單的“緩沖溢出”使得重寫堆棧成為可能,從而讓應(yīng)用程序乃至整個(gè)系統(tǒng)都不穩(wěn)定。在不同級(jí)別的應(yīng)用程序通道中缺少輸入檢查,也使得攻擊會(huì)沿著第三方應(yīng)用程序傳播而增加攻擊的可能性。 然而,內(nèi)部缺陷更加難以琢磨,更加難以修補(bǔ)。依賴于NFA引擎的規(guī)則表達(dá)式可能極具危險(xiǎn)性。NFA引擎分析表達(dá)式的所有可能路徑。如有一個(gè)字符令搜索失效,該引擎便會(huì)返回前一個(gè)匹配點(diǎn)并重試表達(dá)式的所有組合。若針對(duì)精心制作的輸入而啟動(dòng)像通配符 * 之類極耗資源的運(yùn)算符和像 (int|integer) 之類 OR 條件的組合,則會(huì)產(chǎn)生致命的影響。 SQL也是邏輯攻擊的一種明顯傳播媒介,因?yàn)樵诖笮投鴱?fù)雜的表格上,SQL查詢可能在應(yīng)用程序級(jí)生成不同的錯(cuò)誤行為。首先遇到的缺陷就是缺少索引和數(shù)據(jù)庫(kù)結(jié)構(gòu)中通常使用的字符串列。如果沒有正確的索引,涉及對(duì)同一個(gè)表的多個(gè)列進(jìn)行篩選和排序操作的SQL 請(qǐng)求便會(huì)產(chǎn)生指數(shù)級(jí)數(shù)量的操作,這會(huì)消耗巨量的 CPU 資源并顯著增加應(yīng)用程序響應(yīng)時(shí)間。如果搜索和排序的字段是字符串,則這些操作消耗的資源甚至?xí)唷?/p> 第二種缺陷與內(nèi)存有關(guān)。在超大型表中,類似于“SELECT*”的請(qǐng)求可能產(chǎn)生數(shù)百萬(wàn)個(gè)結(jié)果。臨時(shí)數(shù)據(jù)庫(kù)結(jié)構(gòu)和用于存儲(chǔ)結(jié)果的應(yīng)用程序結(jié)構(gòu)消耗大量?jī)?nèi)存,結(jié)果可能會(huì)導(dǎo)致各種后果:數(shù)據(jù)交換過量、響應(yīng)時(shí)間延長(zhǎng)或整個(gè)系統(tǒng)拒絕服務(wù)。 另一種重要的拒絕服務(wù)攻擊可以針對(duì)用于組織和搜索內(nèi)存中數(shù)據(jù)的哈希函數(shù)來實(shí)施。哈希表入口是指向?qū)ο箧溄颖淼闹甘痉。搜索操作需要兩個(gè)步驟。首先,計(jì)算哈希函數(shù)以在哈希表中查找匹配的入口。然后,逐個(gè)比較列表中的對(duì)象。沖突是這種機(jī)制的第一個(gè)缺陷。如果哈希表不夠大和/或哈希算法使得容易產(chǎn)生沖突,便可能會(huì)產(chǎn)生多個(gè)入口而與哈希表中相同的入口匹配。按這種方式對(duì)表格進(jìn)行的任何搜索操作都將需要執(zhí)行很多運(yùn)算,而且消耗CPU資源,其本身很可能導(dǎo)致拒絕服務(wù),或者會(huì)加強(qiáng)針對(duì)依賴于這種機(jī)制的某個(gè)應(yīng)用程序的攻擊效果。 運(yùn)行模式 每個(gè)應(yīng)用程序都有特定的功能和運(yùn)行方式。因此要描述出所有的缺陷是不可能的。然而,某些典型和有效的示例可以對(duì)常見的無掩蔽性操作提供線索。 DHCP服務(wù)器容易遭受的攻擊盡管很微小但卻能快速耗盡其可用IP地址的池。前面已經(jīng)分析過協(xié)議本身的缺陷(請(qǐng)參閱第 3 層連接攻擊)。除此之外,在 DHCP 交換的第一階段中,DHCP 服務(wù)器在沒有得到來自客戶機(jī)的任何確認(rèn)情況下會(huì)鎖定 IP 地址。令 DHCP 服務(wù)器用盡可用的 IP 地址便只是使用 chaddr 數(shù)據(jù)字段中指定的不同 MAC 地址來發(fā)送多個(gè) DHCPDISCOVER 請(qǐng)求的問題。甚至不需要偽造 MAC。廣播、缺少認(rèn)證和“早期處理”組合起來構(gòu)成拒絕服務(wù)攻擊的關(guān)鍵因素。 另一種“先進(jìn)”的攻擊是基于設(shè)計(jì)不良的運(yùn)行方式,這就是DNS服務(wù)器的洪水攻擊。當(dāng)DNS 服務(wù)器接收到對(duì)不在其緩存中的名稱之解析請(qǐng)求,或當(dāng)請(qǐng)求指定應(yīng)答必須具有權(quán)威性時(shí),服務(wù)器將請(qǐng)求發(fā)送到 TLD(頂級(jí)域名)服務(wù)器,以便獲得域的 SOA(頒發(fā)機(jī)構(gòu)起始)地址。一旦獲得該地址,目標(biāo) DNS 服務(wù)器便向 SOA 服務(wù)器發(fā)出另一個(gè)請(qǐng)求以便解析該請(qǐng)求的名稱。獲得應(yīng)答后,便立即將這些應(yīng)答發(fā)送回給客戶機(jī)。由于不需要由客戶機(jī)進(jìn)行認(rèn)證,且客戶機(jī)與服務(wù)器之間的通信是基于 UDP 協(xié)議,所以很輕易就可以將數(shù)千個(gè)請(qǐng)求從偽造的來源發(fā)送到服務(wù)器?梢詫(duì)不同級(jí)別的攻擊效率作如下區(qū)分。 − 針對(duì)不存在的域上主機(jī)之請(qǐng)求:這種情況下,TLD 將一個(gè)錯(cuò)誤發(fā)送到目標(biāo) DNS 服務(wù)器,該服務(wù)器再將該錯(cuò)誤轉(zhuǎn)發(fā)到客戶機(jī)。這種影響相對(duì)較低,而且需要攻擊者提供大量請(qǐng)求。然而,很輕易就可以創(chuàng)建一個(gè)工具來生成這種攻擊,因?yàn)槿魏巫侄危ㄖ鳈C(jī)、域)可以是隨機(jī)的,且不必是真實(shí)字段。 − 針對(duì)極少數(shù)現(xiàn)有域上主機(jī)之請(qǐng)求:這種情況下,目標(biāo)服務(wù)器就每個(gè)域向 TLD 發(fā)送一個(gè)請(qǐng)求以獲取 SOA。然后,把來自攻擊者的每個(gè)請(qǐng)求轉(zhuǎn)發(fā)到 SOA。不存在的主機(jī)會(huì)生成錯(cuò)誤。另一方面,與現(xiàn)有主機(jī)有關(guān)的請(qǐng)求從 SOA 生成應(yīng)答,這些應(yīng)答是轉(zhuǎn)發(fā)到源的較大信息包。這種情況下,較高的數(shù)據(jù)流量和更重要的處理可以提高攻擊的效率。因?yàn)椴檎規(guī)讉(gè)現(xiàn)有的域比較簡(jiǎn)單,所以這種攻擊仍然相對(duì)容易實(shí)施。然而,攻擊的效率主要取決于這些域的 SOA 對(duì)目標(biāo)服務(wù)器發(fā)送給它們的大量請(qǐng)求進(jìn)行處理的能力和這些域上眾多主機(jī)名的可用性。 − 針對(duì)多個(gè)現(xiàn)有域上主機(jī)之請(qǐng)求。在這最后一種情況下,幾乎所有發(fā)送到目標(biāo)服務(wù)器的請(qǐng)求都會(huì)令目標(biāo)服務(wù)器產(chǎn)生到 TLD 的請(qǐng)求,隨后便是到 SOA 的請(qǐng)求和對(duì)應(yīng)答的處理。這種攻擊很難實(shí)施,因?yàn)樗枰x包含數(shù)千個(gè)現(xiàn)有域和主機(jī)的列表。然而,它特別有效,只在每秒內(nèi)進(jìn)行幾千次請(qǐng)求就能使得大多數(shù) DNS 服務(wù)器崩潰。 這種DNS的情況之出現(xiàn)大都是因?yàn)槭褂脽o態(tài)協(xié)議,使得攻擊者可在不受影響的情況下在服務(wù)器端產(chǎn)生較高的數(shù)據(jù)流量和處理負(fù)荷。 對(duì)上下文和會(huì)話的處理是應(yīng)用程序中另一常見的重要缺陷。在SMTP服務(wù)器對(duì)HELO 命令參數(shù)的有效性實(shí)施特定檢查的情況下,由于不能對(duì)結(jié)果進(jìn)行即時(shí)處理而會(huì)增強(qiáng)這一缺陷的影響。根據(jù)標(biāo)準(zhǔn),只有出現(xiàn) RCPT TO 命令時(shí)才可以拒收郵件。因此,建立一個(gè)會(huì)話并發(fā)出數(shù)千個(gè) HELO 請(qǐng)求將會(huì)讓目標(biāo)服務(wù)器重復(fù)處理參數(shù),這些參數(shù)通常位于規(guī)則的表達(dá)式上。最糟糕的情況是在執(zhí)行名稱解析時(shí),因?yàn)檫@會(huì)添加更多的處理和數(shù)據(jù)流量。因?yàn)閱螚l HELO 命令約有 100 個(gè)字節(jié),所以有可能從通過寬帶接入而連接到因特網(wǎng)的標(biāo)準(zhǔn) PC 對(duì)郵件服務(wù)器發(fā)動(dòng)十分有效的攻擊。如果一檢測(cè)到異常便中斷會(huì)話,則這種攻擊不可能實(shí)現(xiàn)。 改善效率 大多數(shù)拒絕服務(wù)攻擊實(shí)施起來非常簡(jiǎn)單。然而某些情況下,標(biāo)準(zhǔn)PC和寬帶接入并不足以發(fā)動(dòng)有效的攻擊。尤其當(dāng)在目標(biāo)基礎(chǔ)結(jié)構(gòu)上實(shí)施群集和負(fù)載平衡之類機(jī)制時(shí)更是如此。在此情況下將會(huì)把一個(gè)單一的目標(biāo)IP 地址物理鏈接到許多服務(wù)器,從而產(chǎn)生大規(guī)模攻擊需求。 有兩種方式能使得攻擊在這種情況下有效。第一種方式是找到一些提高攻擊媒介能力(信息包、會(huì)話的數(shù)量或帶寬等)的平衡因子。第二種方式取決于影響通信路徑上設(shè)備或資源的某些副作用。 小型信息包 最常見的副作用是需由內(nèi)聯(lián)網(wǎng)絡(luò)或安全設(shè)備來處理的巨量小型信息包的影響。根據(jù)在這些設(shè)備上實(shí)施的功能,將信息包從一個(gè)接口轉(zhuǎn)發(fā)到另一個(gè)接口可能需要若干操作。簡(jiǎn)單的路由器必須根據(jù)其路由表做出決策。在信息包篩選操作中,必須檢查第4層標(biāo)頭來驗(yàn)證篩選器。有態(tài)檢驗(yàn)因需要檢查會(huì)話表而增加了復(fù)雜性。像逆向代理等最后一個(gè)應(yīng)用程序?qū)釉O(shè)備必須在第7 層處理信息包。像信息包銷毀或 NAT 等某些其他操作甚至需要更多的處理,因?yàn)楸仨氈貙懶畔⒅匦掠?jì)算若干校驗(yàn)和。 小型信息包產(chǎn)生的影響很容易用數(shù)字來說明。一般來說,指定用于處理特定帶寬的設(shè)備在處理64字節(jié)的信息包時(shí)幾乎不能提供大于10% 聲明性能的吞吐量。任何依賴于小于 100 字節(jié)信息包的攻擊可能首先會(huì)令路由器和防火墻崩潰,而不僅僅是影響目標(biāo)服務(wù)器。 本文出自:億恩科技【mszdt.com】 服務(wù)器租用/服務(wù)器托管中國(guó)五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |