發(fā)布時間:2024-04-11 文章來源:深度系統(tǒng)下載 瀏覽:
1.1DoS與DDoS的基本概念 “DoS”是Denial of Service,拒絕服務的縮寫。所謂的拒絕服務是當前網(wǎng)絡攻擊手段中最常見的一種。它故意攻擊網(wǎng)絡協(xié)議的缺陷或直接通過某種手段耗盡被攻擊對象的資源,目的是讓目標計算機或網(wǎng)絡無法提供正常的服務或資源訪問,使目標系統(tǒng)服務停止響應甚至崩潰,而最值得注意的是,攻擊者在此攻擊中并不入侵目標服務器或目標網(wǎng)絡設備,單純利用網(wǎng)絡缺陷或者暴力消耗即可達到目的。 從原理上來說,無論攻擊者的攻擊目標(服務器、計算機或網(wǎng)絡服務)的處理速度多快、內(nèi)存容量多大、網(wǎng)絡帶寬的速度多快都無法避免這種攻擊帶來的后果。任何資源都有一個極限,所以攻擊者總能找到一個方法使請求的值大于該極限值,導致所提供的服務資源耗盡。 從技術分類的角度上來說,最常見的DoS攻擊有對計算機網(wǎng)絡的帶寬攻擊和連通性攻擊。帶寬攻擊指以極大的通信量沖擊網(wǎng)絡,使得所有可用網(wǎng)絡資源都被消耗殆盡,最后導致合法用戶的請求無法通過。連通性攻擊指用大量的連接請求沖擊服務器或計算機,使得所有可用的操作系統(tǒng)資源都被消耗殆盡,最終計算機無法再處理合法用戶的請求。 在網(wǎng)絡還不發(fā)達的時候,單一的DoS攻擊一般是采用一對一的方式,也就是攻擊者直接利用自己的計算機或者設備,對攻擊目標發(fā)起DoS攻擊。當攻擊目標處在硬件性能低下、網(wǎng)絡連接情況不好等情況的時候,一對一的DoS攻擊效果是非常明顯的,很有可能直接一個攻擊者就搞定一個網(wǎng)站或者一個服務器,讓它拒絕服務。 隨著計算機和網(wǎng)絡技術的發(fā)展,硬件設備的處理性能加速度增長,成本也變得非常低廉,網(wǎng)絡的快速發(fā)展更是讓帶寬、出入口節(jié)點寬度等大大的提升,這讓傳統(tǒng)的DoS攻擊很難湊效。 舉個不太確切的例子來說:假使20年以前,攻擊者利用自己的計算機對一個目標服務器發(fā)起DoS攻擊,他通過編寫程序,實現(xiàn)多線程數(shù)據(jù)發(fā)送,每秒給服務器發(fā)送5000個數(shù)據(jù)包(示例數(shù)據(jù),沒有實質(zhì)意義),服務器一會就無法正常訪問了;但是換到今天,就算攻擊者的計算機使用頂級的個人計算機硬件,用最好的配置發(fā)起DoS攻擊,如果采用傳統(tǒng)的攻擊方法的話,每秒給服務器發(fā)送20000個數(shù)據(jù)包(示例數(shù)據(jù),沒有實質(zhì)意義),但是服務器每秒已經(jīng)可以輕松的處理20000000個數(shù)據(jù)包了,這樣的攻擊根本就達不到想要的拒絕服務效果。 隨著這樣情況的出現(xiàn),攻擊者研究出了新的攻擊手段,也就是DDoS。 DDoS是在傳統(tǒng)的DoS攻擊基礎之上產(chǎn)生的一種新的攻擊方式,即Distributed Denial Of Service,分布式拒絕服務攻擊。 如果說計算機與網(wǎng)絡的處理能力比以往加大了10倍的話(示例數(shù)據(jù),沒有實質(zhì)意義),那攻擊者使用10臺計算機同時進行攻擊呢?也就達到了可以讓目標拒絕服務的目的。簡單來說,DDoS就是利用更多的計算機來發(fā)起攻擊。 就技術實現(xiàn)方式來分析,分布式拒絕服務攻擊就是攻擊者利用入侵手段,控制幾百臺,或者成千上萬臺計算機(一般被控制的計算機叫做傀儡主機,或者口頭被網(wǎng)絡安全相關人員稱為“肉雞”),然后在這些計算機上安裝大量的DDoS程序。這些程序接受來自攻擊者的控制命令,攻擊者同時啟動全部傀儡主機向目標服務器發(fā)起拒絕服務攻擊,形成一個DoS攻擊群,猛烈的攻擊目標,這樣能極為暴力的將原本處理能力很強的目標服務器攻陷。 通過上面的分析,可以看出DDoS與DoS的最大區(qū)別是數(shù)量級的關系,DoS相對于DDoS來說就像是一個個體,而DDoS是無數(shù)DoS的集合。另一方面,DDoS攻擊方式較為自動化,攻擊者可以把他的程序安裝到網(wǎng)絡中的多臺機器上,所采用的這種攻擊方式很難被攻擊對象察覺,直到攻擊者發(fā)下統(tǒng)一的攻擊命令,這些機器才同時發(fā)起進攻。可以說DDoS攻擊是由黑客集中控制發(fā)動的一組DoS攻擊的集合,現(xiàn)在這種方式被認為是最有效的攻擊形式,并且非常難以抵擋。 1.2經(jīng)典DoS攻擊類型 DoS攻擊存在很多經(jīng)典的種類,從理清技術發(fā)展脈絡的角度,下面簡單介紹了他們的名稱、原理和基本的攻擊方式。 1.2.1死亡之 ping “ping of death”又稱“死亡之 ping”,之所以第一個首先列舉它,是因為很久以前,被網(wǎng)絡媒體夸大的轟轟烈烈的“中美黑客大戰(zhàn)”上,主要的攻擊方式就是他。其實死亡之ping是利用的ICMP。現(xiàn)在微軟系列操作系統(tǒng)中的命令行中都有ping存在,ping程序?qū)嶋H就是使用的ICMP。本來在正常的情況下,TCP/IP的RFC文檔中對包的最大尺寸都有嚴格限制規(guī)定,許多操作系統(tǒng)的TCP/IP協(xié)議棧都規(guī)定ICMP 包大小為64KB,且在對包的標題頭進行讀取之后,要根據(jù)該標題頭里包含的信息來為有效載荷生成緩沖區(qū)。但是“Ping of Death”故意產(chǎn)生畸形的測試Ping包,加載的尺寸超過64KB的上限,使未采取保護措施的網(wǎng)絡系統(tǒng)出現(xiàn)內(nèi)存分配錯誤,導致TCP/IP協(xié)議棧崩潰,最終達到目標拒絕服務的目的。 1.2.2淚滴 “teardrop”,又稱“淚滴”:IP數(shù)據(jù)包在網(wǎng)絡傳遞時,數(shù)據(jù)包可以分成更小的片段。攻擊者可以通過發(fā)送兩段(或者更多)數(shù)據(jù)包來實現(xiàn)TearDrop攻擊。第一個包的偏移量為0,長度為N,第二個包的偏移量小于N。為了合并這些數(shù)據(jù)段,TCP/IP堆棧會分配超乎尋常的巨大資源,從而造成系統(tǒng)資源的缺乏甚至機器的重新啟動,達到攻擊者需要的拒絕服務的目的。 1.2.3 UDP洪水 “UDP flood”又稱“UDP洪水”:UDP flood最開始一般應用在針對UNIX類的服務器上,攻擊者通過偽造與某一主機的Chargen服務之間的一次的 UDP 連接,回復地址指向開著Echo 服務的一臺主機,通過將Chargen 和 Echo服務互指,來回傳送毫無用處且占滿帶寬的垃圾數(shù)據(jù),在兩臺主機之間生成足夠多的無用數(shù)據(jù)流,這一拒絕服務攻擊飛快地導致網(wǎng)絡可用帶寬耗盡。 1.2.4 SYN洪水 “SYN flood”又稱“SYN洪水”:當用戶進行一次標準的TCP(Transmission Control Protocol)連接時,會有一個三次握手的過程。首先請求服務方發(fā)送一個SYN消息,服務方收到SYN后,會向請求方回送一個SYN-ACK表示確認,當請求方收到SYN-ACK后,再次向服務方發(fā)送一個ACK消息,這樣下來一次TCP連接就建立成功了。 “SYN Flood”專門針對TCP協(xié)議棧在兩臺主機間初始化連接握手的過程進行DoS攻擊,它在實現(xiàn)過程中只進行前2個步驟:當服務方收到請求方的SYN-ACK確認消息后,請求方由于采用源地址欺騙等手段使得服務方收不到ACK回應,于是服務方會在一定時間處于等待接收請求方ACK消息的狀態(tài)。而對于某臺服務器來說,可用的TCP連接是有限的,因為他們只有有限的內(nèi)存緩沖區(qū)用于創(chuàng)建連接,如果這一緩沖區(qū)充滿了虛假連接的初始信息,該服務器就會對接下來的連接停止響應,直至緩沖區(qū)里的連接企圖超時。如果惡意攻擊方快速連續(xù)地發(fā)送此類連接請求,該服務器可用的TCP連接隊列將很快被阻塞,系統(tǒng)可用資源急劇減少,網(wǎng)絡可用帶寬迅速縮小,長此下去,除了少數(shù)幸運用戶的請求可以插在大量虛假請求間得到應答外,服務器將無法向用戶提供正常的合法服務。 這個攻擊方式到今天都有很多攻擊者使用,后續(xù)的章節(jié)中我們將對此攻擊方式進行詳細分析。 1.2.5 IP欺騙攻擊 這種攻擊利用TCP協(xié)議棧的RST來實現(xiàn),使用IP欺騙迫使服務器把合法用戶的連接復位,影響合法用戶的連接。假設現(xiàn)在有一個合法用戶(123. 123. 123. 123)已經(jīng)同服務器建立了正常的連接,攻擊者構造攻擊的TCP數(shù)據(jù),偽裝自己的IP為123. 123. 123. 123,并向服務器發(fā)送一個帶有RST位的TCP數(shù)據(jù)段。服務器接收到這樣的數(shù)據(jù)后,認為從123. 123. 123. 123發(fā)送的連接有錯誤,就會清空緩沖區(qū)中已建立好的連接。這時,合法用戶123. 123. 123. 123再發(fā)送合法數(shù)據(jù),服務器就已經(jīng)沒有這樣的連接了,該用戶就被拒絕服務而只能重新開始建立新的連接。 1.3新型DDoS攻擊分類 隨著技術的發(fā)展,很多新的防范技術和硬件層出不窮的推出,以往老舊的DoS攻擊方式已經(jīng)被淘汰了很多,極少數(shù)單一的DoS攻擊還頑強的存在著,但是DDoS攻擊開始取代DoS,更多新的DDoS攻擊方式出現(xiàn)了。 從技術類別上將,目前的網(wǎng)絡情況中,DoS和DDoS當前主要有三種流行的概括性分類。 1.3.1經(jīng)過升級和變化的SYN/ACK Flood攻擊。 這種攻擊方法是經(jīng)典最有效的DoS方法,從原理上來說是可以通殺各種系統(tǒng)的網(wǎng)絡服務,因為它的技術核心是通過向受害主機發(fā)送大量偽造源IP和源端口的SYN或ACK 包,導致主機的緩存資源被耗盡或忙于發(fā)送回應包而造成拒絕服務。 原本單一的DoS攻擊比較好防御,但是攻擊者將整個攻擊方式應用到了DDoS中,利用龐大的僵尸網(wǎng)絡來發(fā)起這樣的攻擊,使整個攻擊方式的威力得打極大的提升,是今天依然很流行的一種DDoS攻擊方式。 1.3.2TCP全連接攻擊。 在很多防火墻產(chǎn)品開始為網(wǎng)絡提供保護以后,出現(xiàn)了這種新的DDoS攻擊方式,可以說它就是為了繞過或者突破常規(guī)防火墻阻擋而存在的。 一般情況下,常規(guī)防火墻大多具備過濾TearDrop、Land等傳統(tǒng)DoS攻擊的技術能力,但是他們對用戶正常的TCP連接是允許通過的,也就是說對用戶的正常訪問不限制。但是很多網(wǎng)絡服務程序,比如IIS、Apache等Web服務器能接受的TCP連接數(shù)是有限的,一旦有大量的TCP連接,即便是正常的,也會導致網(wǎng)站訪問非常緩慢甚至拒絕服務無法訪問。TCP全連接攻擊就是通過許多僵尸主機不斷地與被攻擊服務器建立大量的TCP連接,直到服務器的內(nèi)存等資源被耗盡而被拖跨,從而造成拒絕服務。 這種攻擊的特點是可繞過一般防火墻的防護而達到攻擊目的,缺點是需要找很多僵尸主機,并且由于僵尸主機的IP是暴露的,因此容易被追蹤。 1.3.3基于腳本的DDoS攻擊 基于腳本的DDoS攻擊是很新的一種攻擊技術,它主要針對的是ASP、JSP、PHP、CGI等腳本程序,利用腳本程序一般都需要調(diào)用Microsoft SQL Server、MySQL、Oracle等數(shù)據(jù)庫的情況,利用正常的腳本功能,和服務器建立絲毫沒有異常的TCP連接,不斷的向腳本程序提交查詢、列表等大量耗費數(shù)據(jù)庫資源的請求,以攻擊者極小的資源消耗,迫使服務器承受極大的運行壓力,以達到拒絕服務的目的。 一般來說,用戶提交一個GET或POST請求,對用戶自己來說,耗費和帶寬的占用是幾乎可以忽略的,而服務器為處理此請求卻可能要從數(shù)據(jù)庫的上萬條記錄中去查出這個記錄,這種處理過程對資源的耗費相對于用戶來說是比較大的,而對于用戶來說消耗卻是很小的。因此攻擊者只需通過代理向主機服務器大量遞交查詢或者消耗資源比較大的請求,只需數(shù)分鐘就會把服務器資源消耗掉而導致拒絕服務。 這種攻擊的特點是可以完全繞過普通的防火墻防護,輕松找一些代理或者代理服務器就可實施攻擊。、 1.3.4穿專業(yè)的抗DDoS防火墻 這種攻擊手法是將來流行的攻擊方法,利用抗DDoS防火墻本身弱點發(fā)起的新型攻擊手段,都在試圖穿過抗DDoS防火墻。但現(xiàn)在這種技術都在圈內(nèi),不對外公布,所以知道的人了了無幾,如果這種方法及工具流出的話,將會引起一場安全界內(nèi)的動蕩。 這就是常見的DoS/DDoS攻擊手段,有不對不處望朋友指正。 |
上一篇:
下一篇:啥叫無線上網(wǎng)卡