2. 相關研究
2.2 DD O S攻擊防制
2.2.2 DDoS攻擊防禦
DDoS 防禦的機制可以分為 Router-based 及 Victim-based 兩種。
Router-based 的方法就是對大量的封包流量進行離線的分析,或者是在 router 內進行線上的 DDoS 流量過濾,所謂離線分析的 IP 追溯就是在 DDoS 攻擊發生過後試著運用一些方法追溯攻擊的來源,雖然離線分析 的方法是有可能追查出攻擊來源,但是它在遭受攻擊時卻不能幫助我們 維持服務的穩定性。而在 router 上進行線上的過濾,如有發現攻擊封包 的樣本特徵,就進行封包的過濾,其所仰賴的就是 router 偵測不正常流 量的能力,這種方法雖然在攻擊進行中能有效的阻斷攻擊,但也需要個 各網路管理者之間的協調合作[19,28]。
而 Victim-based 的方法,就是受害端在自己本機運用某些機制去進 行攻擊流量的過濾,或者是攻擊來源的過濾 [4,5,20,24,35]。
針對 DoS/DDoS 攻擊來說,攻擊的目的主要為癱瘓受害端的系統,
使其無法正常運作及提供正常服務,而根據攻擊技術方面來探討,DDoS 可以藉由上述的幾種方法來達成 :
1. 發出超出受害端可以負荷的大量垃圾封包,或是改變封包的控制 資料,使受害主機無法正確的處理所收到的封包。
2. 利用 ICMP 封包做洪水或倍增式的攻擊,塞爆受害端的網路頻 寬。
3. 利用 TCP/IP 協定的三向交握,使受害主機產生大量等待的 TCP 連接,進而停滯或癱瘓。
上述是比較常見的幾種 DDoS 攻擊的方法,一般來說我們可以單靠 一些比較簡單的方法就可以偵測出攻擊的發生,如設定ㄧ時間區間來測 量單位時間的封包流量,藉以訂定一個封包量的門檻值,若是超過門檻 則發出警報。或是檢查封包中欄位異常的部份,當系統收到這些封包時 會造成無法處理或當機,所以最好的方法就是找出這樣的封包,丟棄或 不處理。Victim-based 的偵測過濾方法一般來說有以下幾種:
(一)、Rule-based 分析
將 DDoS 攻擊已知的樣本存入資料庫內,並藉由不斷進行的資料庫 更新來偵測出 DDoS 攻擊,這種方式的缺點就是只能偵測出已知的攻擊 型態,對於那些未知及變種的攻擊並沒有辦法偵測出來。
對於消耗系統資源的 DDoS,由於是在單位時間內出現大量的封包 數,所以我們可以訂出在固定單位時間所允許接收的門檻值,而針對違 反協定的封包導致系統無法處理或當機這一類的 DDoS 攻擊,可以針對 異常的部分建立起 rule 做檢查比對的工作[4,5]。
(二)、統計分析
利用統計分析來偵測 DDoS,對於第一種技術的 DDoS 可以針對各 個 IP 觀察其傳送進來的封包數量,以及測量單位時間內的封包抵達率,
如發現不合理或異常之狀況,可以給予警報[17]。
(三)、IP 封包表頭進行分析
雖然在攻擊發生時,IP 封包內的欄位資訊將會被偽造,使得受害端 無法得知攻擊端的來源位址,但是藉由其中的一些資訊,還是可以有效 的過濾偽造封包[20,35]。
(四)、根據網路異常現象偵測
DDoS 攻擊的工具在進行攻擊前,常需要進行溝通,而其通常有兩 種情況,控制資訊通訊及攻擊時的網路通訊,控制資訊通訊主要發生在 DDoS Client 及 Server 間,在攻擊發動前,Server 一定需要跟 Client 進 行通訊以發動攻擊,而網路通訊通常發生在 Server 端與目標主機之間,
在攻擊前,Server 端可能會對目標主機進行一些查詢的動作,這類的動 作,將可能被記錄在目標主機裡[6]。
(五)、History-based IP Filtering
這方法分為兩個部份,主要是依靠平時的網路連線記錄。在第一階 段,一般正常的網路情況下,如果有任何連線跟主機進行溝通的話,主 機會記錄每個流入封包的網路位址,並且利用 Hash function 將之存放 在資料庫內。在第二階段,等到網路攻擊發生時,發現大量的異常網路 流量時。由於 DDoS 會使用大量的偽造來源封包攻擊主機,所以將會產 生許所多不同而且從沒見過的位址的網路封包,這時主機會對流進的封 包進行跟資料庫內的記錄進行比對動作,進而進行封包的丟棄動作 [30,31]。