當前關于DoS與DDoS技術的詳解打賞

如果拋開善惡之分,單就純粹的技術而言,“攻擊”和“入侵”的含義是有很大區別的。現在很多涉及到網絡安全技術的相關事物里面,都沒有將兩者嚴格劃分,基本都混為一談。

“入侵”是指在非授權的情況下,試圖存取信息、處理信息以使系統不可靠、不可用的故意行為。網絡上的入侵通常是利用目標系統的漏洞、bug、缺陷而發起的一種行動,它的目的是獲得、修改某些信息、資料或者數據。

“攻擊”在網絡安全技術中是指對目標網絡發起的,以目標被破壞、停止服務等為目的的行為。

具體來講,如果說腳本注入、緩沖區溢出等方法屬于技術性入侵的話, DoS的相關內容將是屬于最特別也是危害最嚴重的惡意暴力性攻擊。

入侵是一個技術活,通過研究和模擬入侵技術,可以推導出相對應的行之有效的防御技術,是對技術的整體提升很有幫助的一種研究方法。如果喜歡網絡安全技術的愛好者想要研究各種入侵技術,可以在本地構建環境,然后進行測試;而攻擊不同,攻擊基本是屬于一種暴力的、純惡意的破壞行為,是遭人唾棄并且嚴格禁止的——特別是DoS和DDoS攻擊!

就中國互聯網的發展情況看,DoS和DDoS是從02年開始瘋狂起來的,一直到今天熱度都未曾消退。利用這種攻擊方式敲詐、勒索的刑事案件層出不窮,各大新聞媒體都有很多報道,而發起這樣攻擊的人,現在也都獲得了應有的法律懲罰。

1.1DoS與DDoS的基本概念

“DoS”是Denial of Service,拒絕服務的縮寫。所謂的拒絕服務是當前網絡攻擊手段中最常見的一種。它故意攻擊網絡協議的缺陷或直接通過某種手段耗盡被攻擊對象的資源,目的是讓目標計算機或網絡無法提供正常的服務或資源訪問,使目標系統服務停止響應甚至崩潰,而最值得注意的是,攻擊者在此攻擊中并不入侵目標服務器或目標網絡設備,單純利用網絡缺陷或者暴力消耗即可達到目的。

從原理上來說,無論攻擊者的攻擊目標(服務器、計算機或網絡服務)的處理速度多快、內存容量多大、網絡帶寬的速度多快都無法避免這種攻擊帶來的后果。任何資源都有一個極限,所以攻擊者總能找到一個方法使請求的值大于該極限值,導致所提供的服務資源耗盡。

從技術分類的角度上來說,最常見的DoS攻擊有對計算機網絡的帶寬攻擊和連通性攻擊。帶寬攻擊指以極大的通信量沖擊網絡,使得所有可用網絡資源都被消耗殆盡,最后導致合法用戶的請求無法通過。連通性攻擊指用大量的連接請求沖擊服務器或計算機,使得所有可用的操作系統資源都被消耗殆盡,最終計算機無法再處理合法用戶的請求。

在網絡還不發達的時候,單一的DoS攻擊一般是采用一對一的方式,也就是攻擊者直接利用自己的計算機或者設備,對攻擊目標發起DoS攻擊。當攻擊目標處在硬件性能低下、網絡連接情況不好等情況的時候,一對一的DoS攻擊效果是非常明顯的,很有可能直接一個攻擊者就搞定一個網站或者一個服務器,讓它拒絕服務。

隨著計算機和網絡技術的發展,硬件設備的處理性能加速度增長,成本也變得非常低廉,網絡的快速發展更是讓帶寬、出入口節點寬度等大大的提升,這讓傳統的DoS攻擊很難湊效。

舉個不太確切的例子來說:假使20年以前,攻擊者利用自己的計算機對一個目標服務器發起DoS攻擊,他通過編寫程序,實現多線程數據發送,每秒給服務器發送5000個數據包(示例數據,沒有實質意義),服務器一會就無法正常訪問了;但是換到今天,就算攻擊者的計算機使用頂級的個人計算機硬件,用最好的配置發起DoS攻擊,如果采用傳統的攻擊方法的話,每秒給服務器發送20000個數據包(示例數據,沒有實質意義),但是服務器每秒已經可以輕松的處理20000000個數據包了,這樣的攻擊根本就達不到想要的拒絕服務效果。

隨著這樣情況的出現,攻擊者研究出了新的攻擊手段,也就是DDoS。

DDoS是在傳統的DoS攻擊基礎之上產生的一種新的攻擊方式,即Distributed Denial Of Service,分布式拒絕服務攻擊。

如果說計算機與網絡的處理能力比以往加大了10倍的話(示例數據,沒有實質意義),那攻擊者使用10臺計算機同時進行攻擊呢?也就達到了可以讓目標拒絕服務的目的。簡單來說,DDoS就是利用更多的計算機來發起攻擊。

就技術實現方式來分析,分布式拒絕服務攻擊就是攻擊者利用入侵手段,控制幾百臺,或者成千上萬臺計算機(一般被控制的計算機叫做傀儡主機,或者口頭被網絡安全相關人員稱為“肉雞”),然后在這些計算機上安裝大量的DDoS程序。這些程序接受來自攻擊者的控制命令,攻擊者同時啟動全部傀儡主機向目標服務器發起拒絕服務攻擊,形成一個DoS攻擊群,猛烈的攻擊目標,這樣能極為暴力的將原本處理能力很強的目標服務器攻陷。

通過上面的分析,可以看出DDoS與DoS的最大區別是數量級的關系,DoS相對于DDoS來說就像是一個個體,而DDoS是無數DoS的集合。另一方面,DDoS攻擊方式較為自動化,攻擊者可以把他的程序安裝到網絡中的多臺機器上,所采用的這種攻擊方式很難被攻擊對象察覺,直到攻擊者發下統一的攻擊命令,這些機器才同時發起進攻。可以說DDoS攻擊是由黑客集中控制發動的一組DoS攻擊的集合,現在這種方式被認為是最有效的攻擊形式,并且非常難以抵擋。

1.2經典DoS攻擊類型

DoS攻擊存在很多經典的種類,從理清技術發展脈絡的角度,下面簡單介紹了他們的名稱、原理和基本的攻擊方式。

1.2.1死亡之 ping

“ping of death”又稱“死亡之 ping”,之所以第一個首先列舉它,是因為很久以前,被網絡媒體夸大的轟轟烈烈的“中美黑客大戰”上,主要的攻擊方式就是他。其實死亡之ping是利用的ICMP。現在微軟系列操作系統中的命令行中都有ping存在,ping程序實際就是使用的ICMP。本來在正常的情況下,TCP/IP的RFC文檔中對包的最大尺寸都有嚴格限制規定,許多操作系統的TCP/IP協議棧都規定ICMP 包大小為64KB,且在對包的標題頭進行讀取之后,要根據該標題頭里包含的信息來為有效載荷生成緩沖區。但是“Ping of Death”故意產生畸形的測試Ping包,加載的尺寸超過64KB的上限,使未采取保護措施的網絡系統出現內存分配錯誤,導致TCP/IP協議棧崩潰,最終達到目標拒絕服務的目的。

1.2.2淚滴

“teardrop”,又稱“淚滴”:IP數據包在網絡傳遞時,數據包可以分成更小的片段。攻擊者可以通過發送兩段(或者更多)數據包來實現TearDrop攻擊。第一個包的偏移量為0,長度為N,第二個包的偏移量小于N。為了合并這些數據段,TCP/IP堆棧會分配超乎尋常的巨大資源,從而造成系統資源的缺乏甚至機器的重新啟動,達到攻擊者需要的拒絕服務的目的。

1.2.3 UDP洪水

“UDP flood”又稱“UDP洪水”:UDP flood最開始一般應用在針對UNIX類的服務器上,攻擊者通過偽造與某一主機的Chargen服務之間的一次的 UDP 連接,回復地址指向開著Echo 服務的一臺主機,通過將Chargen 和 Echo服務互指,來回傳送毫無用處且占滿帶寬的垃圾數據,在兩臺主機之間生成足夠多的無用數據流,這一拒絕服務攻擊飛快地導致網絡可用帶寬耗盡。

1.2.4 SYN洪水

“SYN flood”又稱“SYN洪水”:當用戶進行一次標準的TCP(Transmission Control Protocol)連接時,會有一個三次握手的過程。首先請求服務方發送一個SYN消息,服務方收到SYN后,會向請求方回送一個SYN-ACK表示確認,當請求方收到SYN-ACK后,再次向服務方發送一個ACK消息,這樣下來一次TCP連接就建立成功了。

“SYN Flood”專門針對TCP協議棧在兩臺主機間初始化連接握手的過程進行DoS攻擊,它在實現過程中只進行前2個步驟:當服務方收到請求方的SYN-ACK確認消息后,請求方由于采用源地址欺騙等手段使得服務方收不到ACK回應,于是服務方會在一定時間處于等待接收請求方ACK消息的狀態。而對于某臺服務器來說,可用的TCP連接是有限的,因為他們只有有限的內存緩沖區用于創建連接,如果這一緩沖區充滿了虛假連接的初始信息,該服務器就會對接下來的連接停止響應,直至緩沖區里的連接企圖超時。如果惡意攻擊方快速連續地發送此類連接請求,該服務器可用的TCP連接隊列將很快被阻塞,系統可用資源急劇減少,網絡可用帶寬迅速縮小,長此下去,除了少數幸運用戶的請求可以插在大量虛假請求間得到應答外,服務器將無法向用戶提供正常的合法服務。

這個攻擊方式到今天都有很多攻擊者使用,后續的章節中我們將對此攻擊方式進行詳細分析。

1.2.5 IP欺騙攻擊

這種攻擊利用TCP協議棧的RST來實現,使用IP欺騙迫使服務器把合法用戶的連接復位,影響合法用戶的連接。假設現在有一個合法用戶(123. 123. 123. 123)已經同服務器建立了正常的連接,攻擊者構造攻擊的TCP數據,偽裝自己的IP為123. 123. 123. 123,并向服務器發送一個帶有RST位的TCP數據段。服務器接收到這樣的數據后,認為從123. 123. 123. 123發送的連接有錯誤,就會清空緩沖區中已建立好的連接。這時,合法用戶123. 123. 123. 123再發送合法數據,服務器就已經沒有這樣的連接了,該用戶就被拒絕服務而只能重新開始建立新的連接。

1.3新型DDoS攻擊分類

隨著技術的發展,很多新的防范技術和硬件層出不窮的推出,以往老舊的DoS攻擊方式已經被淘汰了很多,極少數單一的DoS攻擊還頑強的存在著,但是DDoS攻擊開始取代DoS,更多新的DDoS攻擊方式出現了。

從技術類別上將,目前的網絡情況中,DoS和DDoS當前主要有三種流行的概括性分類。

1.3.1經過升級和變化的SYN/ACK Flood攻擊。

這種攻擊方法是經典最有效的DoS方法,從原理上來說是可以通殺各種系統的網絡服務,因為它的技術核心是通過向受害主機發送大量偽造源IP和源端口的SYN或ACK 包,導致主機的緩存資源被耗盡或忙于發送回應包而造成拒絕服務。

原本單一的DoS攻擊比較好防御,但是攻擊者將整個攻擊方式應用到了DDoS中,利用龐大的僵尸網絡來發起這樣的攻擊,使整個攻擊方式的威力得打極大的提升,是今天依然很流行的一種DDoS攻擊方式。

1.3.2TCP全連接攻擊。

在很多防火墻產品開始為網絡提供保護以后,出現了這種新的DDoS攻擊方式,可以說它就是為了繞過或者突破常規防火墻阻擋而存在的。

一般情況下,常規防火墻大多具備過濾TearDrop、Land等傳統DoS攻擊的技術能力,但是他們對用戶正常的TCP連接是允許通過的,也就是說對用戶的正常訪問不限制。但是很多網絡服務程序,比如IIS、Apache等Web服務器能接受的TCP連接數是有限的,一旦有大量的TCP連接,即便是正常的,也會導致網站訪問非常緩慢甚至拒絕服務無法訪問。TCP全連接攻擊就是通過許多僵尸主機不斷地與被攻擊服務器建立大量的TCP連接,直到服務器的內存等資源被耗盡而被拖跨,從而造成拒絕服務。

這種攻擊的特點是可繞過一般防火墻的防護而達到攻擊目的,缺點是需要找很多僵尸主機,并且由于僵尸主機的IP是暴露的,因此容易被追蹤。

1.3.3基于腳本的DDoS攻擊

基于腳本的DDoS攻擊是很新的一種攻擊技術,它主要針對的是ASP、JSP、PHP、CGI等腳本程序,利用腳本程序一般都需要調用Microsoft SQL Server、MySQL、Oracle等數據庫的情況,利用正常的腳本功能,和服務器建立絲毫沒有異常的TCP連接,不斷的向腳本程序提交查詢、列表等大量耗費數據庫資源的請求,以攻擊者極小的資源消耗,迫使服務器承受極大的運行壓力,以達到拒絕服務的目的。

一般來說,用戶提交一個GET或POST請求,對用戶自己來說,耗費和帶寬的占用是幾乎可以忽略的,而服務器為處理此請求卻可能要從數據庫的上萬條記錄中去查出這個記錄,這種處理過程對資源的耗費相對于用戶來說是比較大的,而對于用戶來說消耗卻是很小的。因此攻擊者只需通過代理向主機服務器大量遞交查詢或者消耗資源比較大的請求,只需數分鐘就會把服務器資源消耗掉而導致拒絕服務。

這種攻擊的特點是可以完全繞過普通的防火墻防護,輕松找一些代理或者代理服務器就可實施攻擊。、

1.3.4穿專業的抗DDoS防火墻

這種攻擊手法是將來流行的攻擊方法,利用抗DDoS防火墻本身弱點發起的新型攻擊手段,都在試圖穿過抗DDoS防火墻。但現在這種技術都在圈內,不對外公布,所以知道的人了了無幾,如果這種方法及工具流出的話,將會引起一場安全界內的動蕩。

這就是常見的DoS/DDoS攻擊手段,有不對不處望朋友指正。

當前關于DoS與DDoS技術的詳解
文章《當前關于DoS與DDoS技術的詳解》二維碼
  • 微信打賞
  • 支付寶打賞

暫無評論

(必填)

(必填)

(可選)

黑龙江22选5开奖