一、什麼是DDOS攻擊
DDOS(Distributed Denial of Service),即分布式拒絕服務攻擊,這是當今流行的網路攻擊方式之一。利用合法的服務請求來佔用過多的資源或帶寬,從而使伺服器不能對正常、合法的用戶提供服務。更通俗的說,只要導致合法用戶不能夠訪問正常網路服務的行為都算是拒絕服務攻擊。這也就說明拒絕服務攻擊的目的非常明確,就是要阻止合法用戶對正常網路資源的訪問,從而達到其攻擊目的。
DDOS的攻擊通過眾多的「僵屍主機」(被攻擊者入侵過或可間接利用的主機)向受害主機發送大量看似合法的網路包,從而造成網路阻塞或伺服器資源耗盡而導致不能提供正常的服務(拒絕服務)。在分布式拒絕服務攻擊的實施中,大量攻擊主機發送的網路數據包就會猶如洪水般湧向受害主機,從而把合法用戶的網路包淹沒,導致合法用戶無法正常訪問伺服器的網路資源,因此,拒絕服務攻擊又被稱之為「洪水攻擊」,常見的DDOS攻擊手段有SYN Flood、ACK Flood、UDP Flood、ICMP Flood、、Script Flood、Proxy Flood等多種方式。下面我們將介紹如何通過網路分析技術手段來檢測DDOS攻擊。
二、遭遇攻擊的症狀DDOS的目的非常明確,表現形式主要有兩種,一種主要是針對網路帶寬的攻擊,即大量攻擊包佔用網路帶寬,導致網路被阻塞,從而無法完成正常、合法響應;另一種則為資源耗盡攻擊,主要是針對伺服器的攻擊,即通過大量攻擊包導致伺服器的內存或CPU資源被耗盡,從而造成伺服器當機或無法提供正常的網路服務。
三、如何檢測DDOS攻擊由於對DDOS攻擊的防禦較為困難,目前沒有任何一種產品或方法能夠防禦DDOS攻擊入侵,因此,對於如何檢測DDOS攻擊就顯得至關重要。本文,我們將介紹通過網路分析的手段來檢測DDOS攻擊(此處用到的產品為科來網路分析系統技術交流版6.9)。
利用網路分析技術的檢測手段通過對網路通訊數據包進行實時的捕獲,能夠快速的分析和檢測到網路中是否發生了DDOS攻擊。如果網路中已經發生了此類攻擊,那麼,我們藉助網路分析技術就可以快速的查找和解決問題。下面我們通過一個實例來講解用科來網路分析系統查找DDOS攻擊的方法。
首先,打開概要統計視圖,查看網路中的TCP的連接信息
網路中存在大量的TCP同步數據包(2,249,352個),而成功建立TCP連接數太少,根據TCP三次握手的原理我們知道,這是一種不正常的現象,網路肯定存在問題。我們再通過矩陣視圖來查看具體的網路通信情況
在矩陣連接視圖中,大量的主機同時與125.91.13.124連接通訊,並且向其發送大量的數據包,我們怎樣來確定這些數據包的類型呢?為了進一步確定發送了怎樣的數據包,我們再查看數據包解碼就能夠看到
當前的通訊全是使用了TCP進行通訊,查看TCP的標志,發送所有的數據包均為SYN置1,即TCP同步請求數據包,這些數據包全都向125.91.13.124請求同步,至此我們可以判斷125.91.13.124這台主機進行遭受DDOS攻擊,而攻擊的方式為SYN Flood攻擊。
SYN Flood攻擊,這是一種經典和常用的DDOS方法,主要是通過向受害主機發送大量的SYN或ACK包,導致主機的緩存資源被耗盡或忙於發送回應包而造成拒絕服務,對各種系統的網路服務、網路資源等都會造成巨大的影響。
四、小結
檢測DDOS攻擊還可以用到一些常規方法,如Ping命令、NETSTAT命令等,但是,這些方法相對簡單並且較為繁瑣,通過網路分析技術進行分析,能起到事半功倍的效果。
B. 使網路伺服器中充斥著大量要求回復的信息,消耗帶寬,導致網路或系統停止正常服務,這種攻擊稱為
拒絕服務攻擊
拒絕服務攻擊英文名稱是Denial of Service簡稱DOS。即是攻擊者想辦法讓目標機器停止提供服務,是黑客常用的攻擊手段之一。其實對網路帶寬進行的消耗性攻擊只是拒絕服務攻擊的一小部分,只要能夠對目標造成麻煩,使某些服務被暫停甚至主機死機,都屬於拒絕服務攻擊。拒絕服務攻擊問題也一直得不到合理的解決,究其原因是因為網路協議本身的安全缺陷,從而拒絕服務攻擊也成為了攻擊者的終極手法。攻擊者進行拒絕服務攻擊,實際上讓伺服器實現兩種效果:一是迫使伺服器的緩沖區滿,不接收新的請求;二是使用IP欺騙,迫使伺服器把非法用戶的連接復位,影響合法用戶的連接。
C. dos攻擊屬於網路的物理攻擊嗎
DoS是Denial
of
Service的簡稱,即拒絕服務,造成DoS的攻擊行為被稱為DoS攻擊,其目的是使計算機或網路無法提供正常的服務。最常見的DoS攻擊有計算機網路帶寬攻擊和連通性攻擊。帶寬攻擊指以極大的通信量沖擊網路,使得所有可用網路資源都被消耗殆盡,最後導致合法的用戶請求就無法通過。連通性攻擊指用大量的連接請求沖擊計算機,使得所有可用的操作系統資源都被消耗殆盡,最終計算機無法再處理合法用戶的請求。如:
*
試圖FLOOD伺服器,阻止合法的網路通訊
*
破壞兩個機器間的連接,阻止訪問服務
*
阻止特殊用戶訪問服務
*
破壞伺服器的服務或者導致伺服器死機
所以說,可以被理解為網路的物理攻擊.
D. DDOS攻擊是什麼
DDoS攻擊就是Distributed Denial of Service,分布式拒絕服務攻擊,是指攻擊者利用大量「肉雞」對攻擊目標發動大量的正常或非正常請求、耗盡目標主機資源或網路資源,從而使被攻擊的主機不能為正常用戶提供服務。
用一則奶茶店的故事解釋:
假設A、B兩家奶茶店互為競爭對手,A奶茶店羨慕嫉妒B奶茶店生意太興隆了,僱傭了一群社會閑散人士逗留在B奶茶店門前的馬路,消費者無法通過B奶茶店前馬路到店消費。
這里的社會閑散人士就是非法流量,B奶茶店門前的馬路是帶寬,消費者是正常流量,B奶茶店是伺服器,非法流量堵塞了帶寬,正常流量就無法訪問了。
在網路攻擊中,這種使用非法流量佔用帶寬的攻擊叫做DDoS攻擊,DDoS是使用大量的肉雞,在同一時間發送大量的數據到目標伺服器上的一種攻擊方式。
這種攻擊使伺服器神志不清,伺服器神志不清的狀態叫做黑洞。伺服器進入黑洞之後,無論是攻擊流量還是正常流量都無法再繼續訪問。
E. DDOS攻擊指的是什麼
通過大量合法的請求佔用大量網路資源,以達到癱瘓網路的目的。
1.通過使網路過載來干擾甚至阻斷正常的網路通訊;
2.通過向伺服器提交大量請求,使伺服器超負荷;
3.阻斷某一用戶訪問伺服器;
4.阻斷某服務與特定系統或個人的通訊。
(以下原創,以上復制)
你可以通俗的理解為一大堆人在ping一個ip,按照http規則,你發一個包我要回一個相同大的包作為交換,等ping的人多到能把對方網路帶寬占滿時,就成功進行了DDOS攻擊,讓對方網路變得緩慢甚至無法上網。
F. 網路攻擊的主要類型有哪些
大體的分的話,是外網攻擊,和內網攻擊
外網攻擊就是公網的一些木馬、病毒、垃圾郵件等攻擊,直接打到的是防火牆上
內網攻擊的話是區域網中的一些本身是正常的協議的東西,然後你故意的多發、濫發這些協議,利用這些本身是合法的協議來做網路攻擊,外網攻擊的話其實並不可怕,真正令人頭疼的是內網的108種攻擊,因為它本身就是合法的!!!
外網攻擊的話,聯系防火牆就可以了
但是據計算現在百分之80的問題出現在內網,
應對內網攻擊的話,只有選用免疫牆了
免疫牆是專門針對區域網安全和管理的,我們可以把免疫牆看做
1、是一套內網底層防火牆:徹底解決病毒木馬的網路攻擊,掉線、卡滯問題(尤其對2、3層的處理)
。解決ARP(先天免疫、ARP探尋)問題無人能及
2、是一套真實身份准入系統:對網路內終端電腦的身份嚴格有效的管理(真實IP、MAC,CPU硬碟主板
,基因式)。徹底解決IP欺騙(私拉線、克隆、IP沖突)
3、是一套網路帶寬管理設備:精細的內網帶寬管理、負載均衡、流量統計(內外網、伺服器、應用交
付)
4、是一套全面網管軟體:觀察網路內部協議過程,遠程調試管理(監控中心、審計)
4、是一套全面網管軟體:觀察網路內部協議過程,遠程調試管理(監控中心、審計)
G. 什麼是DDoS網路流量攻擊
DdoS的攻擊方式有很多種,最基本的DoS攻擊就是利用合理的服務請求來佔用過多的服務資源,從而使合法用戶無法得到服務的響應。單一的DoS攻擊一般是採用一對一方式的,當攻擊目標CPU速度低、內存小或者網路帶寬小等等各項指標不高的性能,它的效果是明顯的。隨著計算機與網路技術的發展,計算機的處理能力迅速增長,內存大大增加,同時也出現了千兆級別的網路,這使得DoS攻擊的困難程度加大了-目標對惡意攻擊包的"消化能力"加強了不少。這時候分布式的拒絕服務攻擊手段(DDoS)就應運而生了。DDoS就是利用更多的傀儡機(肉雞)來發起進攻,以比從前更大的規模來進攻受害者.
分布式拒絕服務(DDoS:Distributed Denial of Service)攻擊指藉助於客戶/伺服器技術,將多個計算機聯合起來作為攻擊平台,對一個或多個目標發動DDoS攻擊,從而成倍地提高拒絕服務攻擊的威力。通常,攻擊者使用一個偷竊帳號將DDoS主控程序安裝在一個計算機上,在一個設定的時間主控程序將與大量代理程序通訊,代理程序已經被安裝在網路上的許多計算機上。代理程序收到指令時就發動攻擊。利用客戶/伺服器技術,主控程序能在幾秒鍾內激活成百上千次代理程序的運行。
(望樓主採納哦)
H. 網路攻擊是怎麼回事啊
由於在早期的階段,路由器對包的最大尺寸都有限制,許多操作系統對TCP/IP棧的實現在ICMP包上都是規定64KB,並且在對包的標題頭進行讀取之後,要根據該標題頭里包含的信息來為有效載荷生成緩沖區,當產生畸形的,聲稱自己的尺寸超過ICMP上限的包也就是載入的尺寸超過64K上限時,就會出現內存分配錯誤,導致TCP/IP堆棧崩潰,致使接受方當機。
防禦:現在所有的標准TCP/IP實現都已實現對付超大尺寸的包,並且大多數防火牆能夠自動過濾這些攻擊,包括:從windows98之後的windows,NT(service pack 3之後),linux、Solaris、和Mac OS都具有抵抗一般ping of death攻擊的能力。此外,對防火牆進行配置,阻斷ICMP以及任何未知協議,都講防止此類攻擊。
淚滴(teardrop)
概覽:淚滴攻擊利用那些在TCP/IP堆棧實現中信任IP碎片中的包的標題頭所包含的信息來實現自己的攻擊。IP分段含有指示該分段所包含的是原包的哪一段的信息,某些TCP/IP(包括service pack 4以前的NT)在收到含有重疊偏移的偽造分段時將崩潰。
防禦:伺服器應用最新的服務包,或者在設置防火牆時對分段進行重組,而不是轉發它們。
UDP洪水(UDP flood)
概覽:各種各樣的假冒攻擊利用簡單的TCP/IP服務,如Chargen和Echo來傳送毫無用處的占滿帶寬的數據。通過偽造與某一主機的Chargen服務之間的一次的UDP連接,回復地址指向開著Echo服務的一台主機,這樣就生成在兩台主機之間的足夠多的無用數據流,如果足夠多的數據流就會導致帶寬的服務攻擊。
防禦:關掉不必要的TCP/IP服務,或者對防火牆進行配置阻斷來自Internet的請求這些服務的UDP請求。
SYN洪水(SYN flood)
概覽:一些TCP/IP棧的實現只能等待從有限數量的計算機發來的ACK消息,因為他們只有有限的內存緩沖區用於創建連接,如果這一緩沖區充滿了虛假連接的初始信息,該伺服器就會對接下來的連接停止響應,直到緩沖區里的連接企圖超時。在一些創建連接不受限制的實現里,SYN洪水具有類似的影響。
防禦:在防火牆上過濾來自同一主機的後續連接。
未來的SYN洪水令人擔憂,由於釋放洪水的並不尋求響應,所以無法從一個簡單高容量的傳輸中鑒別出來。
Land攻擊
概覽:在Land攻擊中,一個特別打造的SYN包它的原地址和目標地址都被設置成某一個伺服器地址,此舉將導致接受伺服器向它自己的地址發送SYN-ACK消息,結果這個地址又發回ACK消息並創建一個空連接,每一個這樣的連接都將保留直到超時掉,對Land攻擊反應不同,許多UNIX實現將崩潰,NT變的極其緩慢(大約持續五分鍾)。
防禦:打最新的補丁,或者在防火牆進行配置,將那些在外部介面上入站的含有內部源地址濾掉。(包括 10域、127域、192.168域、172.16到172.31域)
Smurf攻擊
概覽:一個簡單的smurf攻擊通過使用將回復地址設置成受害網路的廣播地址的ICMP應答請求(ping)數據包來淹沒受害主機的方式進行,最終導致該網路的所有主機都對此ICMP應答請求作出答復,導致網路阻塞,比ping of death洪水的流量高出一或兩個數量級。更加復雜的Smurf將源地址改為第三方的受害者,最終導致第三方雪崩。
防禦:為了防止黑客利用你的網路攻擊他人,關閉外部路由器或防火牆的廣播地址特性。為防止被攻擊,在防火牆上設置規則,丟棄掉ICMP包。
Fraggle攻擊
概覽:Fraggle攻擊對Smurf攻擊作了簡單的修改,使用的是UDP應答消息而非ICMP
防禦:在防火牆上過濾掉UDP應答消息
電子郵件炸彈
概覽:電子郵件炸彈是最古老的匿名攻擊之一,通過設置一台機器不斷的大量的向同一地址發送電子郵件,攻擊者能夠耗盡接受者網路的帶寬。
防禦:對郵件地址進行配置,自動刪除來自同一主機的過量或重復的消息。
畸形消息攻擊
概覽:各類操作系統上的許多服務都存在此類問題,由於這些服務在處理信息之前沒有進行適當正確的錯誤校驗,在收到畸形的信息可能會崩潰。
防禦:打最新的服務補丁。
利用型攻擊是一類試圖直接對你的機器進行控制的攻擊,最常見的有三種:
口令猜測
概覽:一旦黑客識別了一台主機而且發現了基於NetBIOS、Telnet或NFS這樣的服務的可利用的用戶帳號,成功的口令猜測能提供對機器的控制。
防禦:要選用難以猜測的口令,比如詞和標點符號的組合。確保像NFS、NetBIOS和Telnet這樣可利用的服務不暴露在公共范圍。如果該服務支持鎖定策略,就進行鎖定。
特洛伊木馬
概覽:特洛伊木馬是一種或是直接由一個黑客,或是通過一個不令人起疑的用戶秘密安裝到目標系統的程序。一旦安裝成功並取得管理員許可權,安裝此程序的人就可以直接遠程式控制制目標系統。最有效的一種叫做後門程序,惡意程序包括:NetBus、BackOrifice和BO2k,用於控制系統的良性程序如:netcat、VNC、pcAnywhere。理想的後門程序透明運行。
防禦:避免下載可疑程序並拒絕執行,運用網路掃描軟體定期監視內部主機上的監聽TCP服務。
緩沖區溢出
概覽:由於在很多的服務程序中大意的程序員使用象strcpy(),strcat()類似的不進行有效位檢查的函數,最終可能導致惡意用戶編寫一小段利用程序來進一步打開安全豁口然後將該代碼綴在緩沖區有效載荷末尾,這樣當發生緩沖區溢出時,返回指針指向惡意代碼,這樣系統的控制權就會被奪取。
防禦:利用SafeLib、tripwire這樣的程序保護系統,或者瀏覽最新的安全公告不斷更新操作系統。
信息收集型攻擊並不對目標本身造成危害,如名所示這類攻擊被用來為進一步入侵提供有用的信息。主要包括:掃描技術、體系結構刺探、利用信息服務
掃描技術
地址掃描
概覽:運用ping這樣的程序探測目標地址,對此作出響應的表示其存在。
防禦:在防火牆上過濾掉ICMP應答消息。
埠掃描
概覽:通常使用一些軟體,向大范圍的主機連接一系列的TCP埠,掃描軟體報告它成功的建立了連接的主機所開的埠。
防禦:許多防火牆能檢測到是否被掃描,並自動阻斷掃描企圖。
反響映射
概覽:黑客向主機發送虛假消息,然後根據返回「host unreachable」這一消息特徵判斷出哪些主機是存在的。目前由於正常的掃描活動容易被防火牆偵測到,黑客轉而使用不會觸發防火牆規則的常見消息類型,這些類型包括:RESET消息、SYN-ACK消息、DNS響應包。
防禦:NAT和非路由代理伺服器能夠自動抵禦此類攻擊,也可以在防火牆上過濾「host unreachable」ICMP應答。
I. 什麼叫網路攻擊網路攻擊是怎麼攻擊電腦的
DoS攻擊 ��
DoS是Denial of Service的簡稱,即拒絕服務,造成DoS的攻擊行為被稱為DoS攻擊,其目的是使計算機或網路無法提供正常的服務。最常見的DoS攻擊有計算機網路帶寬攻擊和連通性攻擊。帶寬攻擊指以極大的通信量沖擊網路,使得所有可用網路資源都被消耗殆盡,最後導致合法的用戶請求就無法通過。連通性攻擊指用大量的連接請求沖擊計算機,使得所有可用的操作系統資源都被消耗殆盡,最終計算機無法再處理合法用戶的請求。如:
��* 試圖FLOOD伺服器,阻止合法的網路通訊
��* 破壞兩個機器間的連接,阻止訪問服務
��* 阻止特殊用戶訪問服務
��* 破壞伺服器的服務或者導致伺服器死機
��不過,只有那些比較陰險的攻擊者才單獨使用DOS攻擊,破壞伺服器。通常,DOS攻擊會被作為一次入侵的一部分,比如,繞過入侵檢測系統的時候,通常從用大量的攻擊出發,導致入侵檢測系統日誌過多或者反應遲鈍,這樣,入侵者就可以在潮水般的攻擊中混騙過入侵檢測系統。
DoS 攻 擊 (Denial of Service,簡稱DOS)即拒絕服務攻擊,是指攻擊者通過消耗受害網路的帶寬,消耗受害主機的系統資源,發掘編程缺陷,提供虛假路由或DNS信息,使被攻擊目標不能正常工作。實施DoS攻擊的工具易得易用,而且效果明顯。僅在美國,每周的DoS攻擊就超過4 000次,攻擊每年造成的損失達上千萬美元{irl。一般的DoS攻擊是指一台主機向目的主機發送攻擊分組(1:1),它的威力對於帶寬較寬的站點幾乎沒有影響;而分布式拒絕服務攻擊(Distributed Denial of Service,簡稱DDoS)同時發動分布於全球的幾千台主機對目的主機攻擊(m:n ),即使對於帶寬較寬的站點也會產生致命的效果。隨著電子商業在電子經濟中扮演越來越重要的角色,隨著信息戰在軍事領域應用的日益廣泛,持續的DoS攻擊既可能使某些機構破產,也可能使我們在信息戰中不戰而敗。可以毫不誇張地說,電子恐怖活動的時代已經來臨。
DoS 攻 擊 中,由於攻擊者不需要接收來自受害主機或網路的回應,它的IP包的源地址就常常是偽造的。特別是對DDoS攻擊,最後實施攻擊的若干攻擊器本身就是受害者。若在防火牆中對這些攻擊器地址進行IP包過濾,則事實上造成了新的DDS攻擊。為有效地打擊攻擊者,必須設法追蹤到攻擊者的真實地址和身份。
J. 屬於網路協議的攻擊有哪幾種
1. TCP/IP 協議的脆弱性
1.1 不能提供可靠的身份驗證
TCP/IP 協議以 32 bit 的 IP 地址來作為網路節點的唯一標識,而 IP 地址只是用戶軟體設置中的一個參數,因而是可以隨意修改的。
對 UDP 來說,是根據這個 IP 地址來唯一標識通信對方。 TCP 則通過三次握手,使情況稍有改善。 TCP 中的每個報文都含有一個標識本報文在整個通信流中位置的 32 bit 序列號,通信雙方通過序列號來確認數據的有效性。
由於 TCP 設計三次握手過程本身並不是為了身份驗證,只是提供同步確認和可靠通信,雖然這也能夠提供一定的身份驗證的支持,但這種支持很薄弱。
由於 TCP/IP 不能對節點上的用戶進行有效的身份認證,伺服器無法鑒別登錄用戶的身份有效性,攻擊者可以冒充某個可信節點的 IP 地址,進行 IP 欺騙攻擊.
其次,由於某些系統的 TCP 序列號是可以預測的,攻擊者可以構造一個TCP'數據包,對網路中的某個可信節點進行攻擊。
1.2 不能有效防止信息泄漏
IPv4 中沒有考慮防止信息泄漏,在 IP 、 TCP 、 UDP 中都沒有對數據進行加密。 IP 協議是無連接的協議,一個 IP 包在傳輸過程中很可能會經過很多路由器和網段,在其中的任何一個環節都很容易進行竊昕 。攻擊者只需簡單地安裝一個網路嗅探器,就可以看到通過本節點的所有網路數據包。
1.3 沒有提供可靠的信息完整性驗證手段
在 IP 協議中,僅對 IP 頭實現校驗和保護
在UDP 協議中,對整個報文的校驗和檢查是一個可選項,並且對 UDP 報文的丟失不做檢查。
在 TCP 協議中,雖然每個報文都經過校驗和檢查,並且通過連續的序列號來對包的順序和完整進行檢查,保證數據的可靠傳輸。但是,校驗演算法中沒有涉及加密和密碼驗證,很容易對報文內容進行修改,再重新計算校驗和
1.4 協議沒有手段控制資源占杳和分配
TCP/IP 中,對資源占杳和分配設計的一個基本原則是自覺原則。如參加 TCP通信的一方發現上次發送的數據報丟失,則主動將通信速率降至原來的一半。這樣,也給惡意的網路破壞者提供了機會 c 如網路破壞者可以大量的發 IP 報,造成網路阻塞,也可以向一台主機發送大量的 SYN 包從而大量佔有該主機的資源 (SYN Flood) 。這種基於資源佔用造成的攻擊被稱為拒絕服務攻擊( DOS)
2.常見 TCP/IP 協議攻擊方法分析
2.1 IP 欺騙( IP Spoofing)
IP 欺騙是指一個攻擊者假冒一個主機或合法用戶的 IP 地址,利用兩個主機之間的信任關系來達到攻擊的目的,而這種信任關系只是根據源 IP 地址來確定。所謂信任關系是指當主機 B 信任主機 A 上的 X用戶時,只要 X 在 A 上登錄, X 用戶就可以直接登錄到主機 B 上,而不需要任何口令。
IP 欺騙通常需要攻擊者能構造各種形式 IP 數據包,用虛假的源 IP 地址替代自己的真實 IP 地址。如果主機之間存在基於 IP 地址的信任關系,目標主機無法檢測出已經被欺騙。
防範措施
各個網路 ISP 應該限制源地址為外部地址的 IP 數據包進入互聯網
合理的配置防火牆,限制數據包的源地址為內部網路的數據包進入網路。
2.2 TCP 會話劫持 (TCP sessJOn hijacking)
image.png
TCP 會話劫持跳過連接過程.對一個已經建立的連接進行攻擊。攻擊者與被假冒主機和目標主機之一在同一個子網中,攻擊者通過一個嗅探程序可以看到被假冒主機和目標主機之間通信的數據包。
攻擊者看到被假冒主機和目標主機建立一個連接並進行身份認證後,通過對數據包捕獲和進行分析,就可以得到連接的序列號。
一旦得到正確的序列號就可以發送一個假冒的 TCP 分段,接管已經建立的連接。這樣,被假冒主機發送的數據包都會被目標主機忽略,因為它們的序列號會被目標主機認為不正確。
防範措施
最主要的方法是在傳輸層對數據進行加密。
2.3 拒絕服務( Denial Of Service )
拒絕服務坷的目的就是使受害的伺服器不能提供正常的網路服務。
2.3.1 SYN 淹沒 (SYN Flooding)
當開放了一個TCP埠後,該埠就處於Listening狀態,不停地監視發到該埠的Syn報文,一旦接收到Client發來的Syn報文,就需要為該請求分配一個TCB(Transmission Control Block),通常一個TCB至少需要280個位元組,在某些操作系統中TCB甚至需要1300個位元組,並返回一個SYN ACK命令,立即轉為SYN-RECEIVED即半開連接狀態,而操作系統在SOCK的實現上最多可開啟半開連接個數是一定的。
image.png
從以上過程可以看到,如果惡意的向某個伺服器埠發送大量的SYN包,則可以使伺服器打開大量的半開連接,分配TCB,從而消耗大量的伺服器資源,同時也使得正常的連接請求無法被相應。而攻擊發起方的資源消耗相比較可忽略不計。
防範措施
無效連接監視釋放
這種方法不停監視系統的半開連接和不活動連接,當達到一定閾值時拆除這些連接,從而釋放系統資源。這種方法對於所有的連接一視同仁,而且由於SYN Flood造成的半開連接數量很大,正常連接請求也被淹沒在其中被這種方式誤釋放掉,因此這種方法屬於入門級的SYN Flood方法。
延緩TCB分配方法
從前面SYN Flood原理可以看到,消耗伺服器資源主要是因為當SYN數據報文一到達,系統立即分配TCB,從而佔用了資源。而SYN Flood由於很難建立起正常連接,因此,當正常連接建立起來後再分配TCB則可以有效地減輕伺服器資源的消耗。常見的方法是使用Syn Cache和Syn Cookie技術。
Syn Cache技術:
這種技術是在收到SYN數據報文時不急於去分配TCB,而是先回應一個SYN ACK報文,並在一個專用HASH表(Cache)中保存這種半開連接信息,直到收到正確的回應ACK報文再分配TCB。在FreeBSD系統中這種Cache每個半開連接只需使用160位元組,遠小於TCB所需的736個位元組。在發送的SYN ACK中需要使用一個己方的Sequence Number,這個數字不能被對方猜到,否則對於某些稍微智能一點的Syn Flood攻擊軟體來說,它們在發送Syn報文後會發送一個ACK報文,如果己方的Sequence Number被對方猜測到,則會被其建立起真正的連接。因此一般採用一些加密演算法生成難於預測的Sequence Number。
Syn Cookie技術:
對於SYN攻擊,Syn Cache雖然不分配TCB,但是為了判斷後續對方發來的ACK報文中的Sequence Number的正確性,還是需要使用一些空間去保存己方生成的Sequence Number等信息,也造成了一些資源的浪費。
Syn Cookie技術則完全不使用任何存儲資源,這種方法比較巧妙,它使用一種特殊的演算法生成Sequence Number,這種演算法考慮到了對方的IP、埠、己方IP、埠的固定信息,以及對方無法知道而己方比較固定的一些信息,如MSS、時間等,在收到對方的ACK報文後,重新計算一遍,看其是否與對方回應報文中的(Sequence Number-1)相同,從而決定是否分配TCB資源。
使用SYN Proxy防火牆
Syn Cache技術和Syn Cookie技術總的來說是一種主機保護技術,需要系統的TCP/IP協議棧的支持,而目前並非所有的操作系統支持這些技術。因此很多防火牆中都提供一種SYN代理的功能,其主要原理是對試圖穿越的SYN請求進行驗證後才放行,下圖描述了這種過程:
image.png
從上圖(左圖)中可以看出,防火牆在確認了連接的有效性後,才向內部的伺服器(Listener)發起SYN請求,在右圖中,所有的無效連接均無法到達內部的伺服器。
採用這種方式進行防範需要注意的一點就是防火牆需要對整個有效連接的過程發生的數據包進行代理,如下圖所示:
image.png
因為防火牆代替發出的SYN ACK包中使用的序列號為c,而伺服器真正的回應包中序列號為c』,這其中有一個差值|c-c』|,在每個相關數據報文經過防火牆的時候進行序列號的修改。
TCP Safe Reset技術:
這也是防火牆Syn代理的一種方式,其工作過程如下圖所示:
image.png
這種方法在驗證了連接之後立即發出一個Safe Reset命令包,從而使得Client重新進行連接,這時出現的Syn報文防火牆就直接放行。在這種方式中,防火牆就不需要對通過防火牆的數據報文進行序列號的修改了。這需要客戶端的TCP協議棧支持RFC 793中的相關約定,同時由於Client需要兩次握手過程,連接建立的時間將有所延長。
2.3.2 死亡之 Ping(Ping O' Death )
死亡之 Ping 是利用 ICMP 協議的一種碎片攻擊 。攻擊者發送一個長度超過 65 535Byte 的 Echo Request 數據包,目標主機在重組分片的時候會造成事先分配的 65 535 Byt 位元組緩沖區溢出,系統通常會崩憤或掛起
IP 數據包的最大長度是 65 535 (2 16 - 1) Byte,其中包括包頭長度(如果 IP 選項末指定,一般為 20 B)超過 MTU( Maximum Transmission Unit) 的數據包被分割成小的數據包,在接受端重新組裝。一般乙太網的MTU 為 11500 Byte ,互聯網上的 MTU 通常是 576 Byte ICMP 回應請求放在 IP 數據包中,其中有 8 Byt 的 ICMP頭信息,接下來是 "Ping" 請求的數據宇節的數目。因此數據區所允許的最大尺寸為 65 535 - 20 - 8 = 65 507Byte
image.png
分段後的 IP 包要在接收端的 IP 層進行重組,這樣"死亡之 Ping"就可以再發送一個回應請求數據包,使它的數據包中的數據超過 65 507 Byte ,使得某些系統的 IP 分段組裝模塊出現異常。因為在 IP 分段組裝的過程中,它通過每一個 IP 分段中的偏移量來決定每一個分段在整個 IP 包中的位置,最後一個分段中,如果 IP 包的長度大於 65 507 Byte各個分段組裝後就會超過 IP 包的最大長度。某些操作系統要等到將所有的分段組裝完後才對 IP 包進行處理,所以就存在這樣一種內部緩沖區或內部變數溢出的可能性,這樣會導致系統崩憤或重啟。
防範措施
可以利用防火牆來阻止 Ping ,然而這樣也會阻擋一些合法應用。所以只要阻止被分段的 Ping ,這樣在大多數系統上允許一般合法的 64 Byt 的 Ping 通過,擋住了那些長度大於 MTU 的 ICMP 數據包.
這種攻擊能使系統崩潰的原因因系統不同而異.有的可能因為內核中固定大小的緩沖區因 IP 數據包過大而越界,損壞了其它數據或編碼;有的則可能因為用一個無符號的 16 bit 變數來保存數據包的長度和相關變數,當這些變數的值超過 65 535 Byte 時,變數不再與其數值一致,從而引發異常。因此可以為相應的系統打上補丁。
2.3.3 RST 和 FIN 攻擊( RST and FIN attack)
在 TCP 包中有 6 個標志位來指示分段的狀態。其中 RST 用來復位一個連接, FIN 表示沒有數據要發送了攻擊者經常利用這兩個標志位進行拒絕服務攻擊。他們先分析通過目標主機和受騙主機之間的 IP 數據包,計算出從受騙主機發往目標主機的下一個 TCP 段的序列號,然後產生一個帶有 RST 位設置的 TCP 段,將其放在假冒源 IP 地址的數據包中發往目標主機,目標主機收到後就關閉與受騙主機的連接。
利用 FIN 位的攻擊與 RST 位的攻擊很相似。攻擊者預測到正確的序列號後,使用它創建一個帶 FIN 位的 TCP 分段,然後發送給目標主機,好像受騙主機沒有數據要發送了,這樣,由受騙主機隨後發出的 TCP 段都會目標主機認為是網路錯誤而忽略。
2.3.6 Smurf攻擊
通過地址欺騙,並使用回復地址設置成受害網路的廣播地址的ICMP應答請求(ping)數據包來淹沒受害主機的方式進行。最終導致該網路的所有主機都對此ICMP應答請求做出答復,導致網路阻塞
黑客鎖定一個被攻擊的主機(通常是一些Web伺服器);
黑客尋找可做為中間代理的站點,用來對攻擊實施放大(通常會選擇多個,以便更好地隱藏自己,偽裝攻擊);
黑客給中間代理站點的廣播地址發送大量的ICMP包(主要是指Ping命令的回應包)。這些數據包全都以被攻擊的主機的IP地址做為IP包的源地址;
中間代理向其所在的子網上的所有主機發送源IP地址欺騙的數據包;
中間代理主機對被攻擊的網路進行響應。
2.3.7 Land 攻擊
用一個特別打造的SYN包,其原地址和目標地址都被設置成某一個伺服器地址。此舉將導致伺服器向它自己的地址發送SYN-ACK消息,結果這個地址又發回ACK消息並創建一個空連接。被攻擊的伺服器每接收一個這樣的連接都將保留,直到超時
防禦方法:
這類攻擊的檢測方法相對來說比較容易,因為可以直接通過判斷網路數據包的源地址和目標地址是否相同確認是否屬於攻擊行為。反攻擊的方法當然是適當地配置防火牆設備或制定包過濾路由器的包過濾規則,並對這種攻擊進行審計,記錄事件發生的時間、源主機和目標主機的MAC地址和IP地址,從而可以有效地分析並跟蹤攻擊者的來源。
2.3.8 UDP FLOOD攻擊
UDP不需要像TCP那樣進行三次握手,運行開銷低,不需要確認數據包是否成功到達目的地。這就造成UDP泛洪攻擊不但效率高,而且還可以在資源相對較少的情況下執行。UDP FLOOD可以使用小數據包(64位元組)進行攻擊,也可以使用大數據包(大於1500位元組,乙太網MTU為1500位元組)進行攻擊。大量小數據包會增大網路設備處理數據包的壓力;而對於大數據包,網路設備需要進行分片、重組,最終達到的效果就是佔用網路傳輸介面的帶寬、網路堵塞、伺服器響應慢等等。
防禦方案: 限制每秒鍾接受到的流量(可能產生誤判);通過動態指紋學習(需要攻擊發生一定時間),將非法用戶加入黑名單。
2.3.9 淚滴攻擊
「teardrop」,又稱「淚滴」:IP數據包在網路傳遞時,數據包可以分成更小的片段。攻擊者可以通過發送兩段(或者更多)數據包來實現TearDrop攻擊。第一個包的偏移量為0,長度為N,第二個包的偏移量小於N。為了合並這些數據段,TCP/IP堆棧會分配超乎尋常的巨大資源,從而造成系統資源的缺乏甚至機器的重新啟動,達到攻擊者需要的拒絕服務的目的。
3. DOS與DDOS區別
3.1 DOS
「DoS」是Denial of Service,拒絕服務的縮寫。所謂的拒絕服務是當前網路攻擊手段中最常見的一種。它故意攻擊網路協議的缺陷或直接通過某種手段耗盡被攻擊對象的資源,目的是讓目標計算機或網路無法提供正常的服務或資源訪問,使目標系統服務停止響應甚至崩潰,而最值得注意的是,攻擊者在此攻擊中並不入侵目標伺服器或目標網路設備,單純利用網路缺陷或者暴力消耗即可達到目的。
從原理上來說,無論攻擊者的攻擊目標(伺服器、計算機或網路服務)的處理速度多快、內存容量多大、網路帶寬的速度多快都無法避免這種攻擊帶來的後果。任何資源都有一個極限,所以攻擊者總能找到一個方法使請求的值大於該極限值,導致所提供的服務資源耗盡。
從技術分類的角度上來說,最常見的DoS攻擊有對計算機網路的帶寬攻擊和連通性攻擊。帶寬攻擊指以極大的通信量沖擊網路,使得所有可用網路資源都被消耗殆盡,最後導致合法用戶的請求無法通過。連通性攻擊指用大量的連接請求沖擊伺服器或計算機,使得所有可用的操作系統資源都被消耗殆盡,最終計算機無法再處理合法用戶的請求。
在網路還不發達的時候,單一的DoS攻擊一般是採用一對一的方式,也就是攻擊者直接利用自己的計算機或者設備,對攻擊目標發起DoS攻擊。當攻擊目標處在硬體性能低下、網路連接情況不好等情況的時候,一對一的DoS攻擊效果是非常明顯的,很有可能直接一個攻擊者就搞定一個網站或者一個伺服器,讓它拒絕服務。
3.2 DDOS
隨著計算機和網路技術的發展,硬體設備的處理性能加速度增長,成本也變得非常低廉,網路的快速發展更是讓帶寬、出入口節點寬度等大大的提升,這讓傳統的DoS攻擊很難湊效。
隨著這樣情況的出現,攻擊者研究出了新的攻擊手段,也就是DDoS。
DDoS是在傳統的DoS攻擊基礎之上產生的一種新的攻擊方式,即Distributed Denial Of Service,分布式拒絕服務攻擊。
如果說計算機與網路的處理能力比以往加大了10倍的話(示例數據,沒有實質意義),那攻擊者使用10台計算機同時進行攻擊呢?也就達到了可以讓目標拒絕服務的目的。簡單來說,DDoS就是利用更多的計算機來發起攻擊。
就技術實現方式來分析,分布式拒絕服務攻擊就是攻擊者利用入侵手段,控制幾百台,或者成千上萬台計算機(一般被控制的計算機叫做傀儡主機,或者口頭被網路安全相關人員稱為「肉雞」),然後在這些計算機上安裝大量的DDoS程序。這些程序接受來自攻擊者的控制命令,攻擊者同時啟動全部傀儡主機向目標伺服器發起拒絕服務攻擊,形成一個DoS攻擊群,猛烈的攻擊目標,這樣能極為暴力的將原本處理能力很強的目標伺服器攻陷。
3.3 區別
通過上面的分析,可以看出DDoS與DoS的最大區別是數量級的關系,DoS相對於DDoS來說就像是一個個體,而DDoS是無數DoS的集合。另一方面,DDoS攻擊方式較為自動化,攻擊者可以把他的程序安裝到網路中的多台機器上,所採用的這種攻擊方式很難被攻擊對象察覺,直到攻擊者發下統一的攻擊命令,這些機器才同時發起進攻。可以說DDoS攻擊是由黑客集中控制發動的一組DoS攻擊的集合,現在這種方式被認為是最有效的攻擊形式,並且非常難以抵擋。