• 沒有找到結果。

中 華 大 學

N/A
N/A
Protected

Academic year: 2022

Share "中 華 大 學"

Copied!
55
0
0

加載中.... (立即查看全文)

全文

(1)

中 華 大 學 碩 士 論 文

題目:利用異質性追蹤器防禦 DDoS 攻擊

The Defense of DDoS Attack by Heterogeneous Tracers

系 所 別:資訊工程學系碩士班 學號姓名:M09402066 夏怡華 指導教授:王俊鑫博士

中華民國 九十九 年 一 月

(2)

II

摘要

想有效解決 DoS/DDoS 攻擊的問題,首先是需找到攻擊來源,並協同鄰近具 有封包過濾功能的路由器過濾異常封包,避免攻擊來源與受害者之間的網路頻寬 被大量攻擊封包所佔用,浪費網路資源。但原有的路由器並不具備追蹤或過濾封 包等的功能,必頇在路由器增加額外的功能來支援,這些新增功能的路由器,我 們以追蹤器(Tracer)來統稱。我們依據追蹤器的特性,以成本及必要性,選擇 三種異質性追蹤器,分別是穿隧路由器、標記路由器及過濾器,用來防禦 DoS/DDoS 的攻擊。其中穿隧路由器的成本低且可輕易的將封包繞路導向,但是 將封包穿隧轉送有著會增加網路成本的缺點,因此在論文中,我們將探討如何有 效的利用穿隧路由器適時的將封包導向至最近的過濾器,以進行來源追蹤並即時 過濾異常封包,我們提出四種穿隧的方法並與最佳解相互比較。藉由模擬結果,

發現藉由標記路由器幫助的第四種方法有最佳的執行效果,使只需要 80%內的追 蹤器啟動轉送動作,達到抑制 DDoS 攻擊的效果。

(3)

III

Abstract

To solve the DoS/DDoS problems efficiently, the first things is to locate the attack origins and then cooperate the filtering-enabled routers nearby to filter the abnormal packets in time. But the original routers can’t provide these functions such as tracking, filtering and so on. They have to be enhanced with additional functions to defense DoS/DDoS attacks. We refer the enhanced routers to as tracers. According to the characteristic, cost and necessity of tracers, we classify and select three kinds of heterogeneous tracers, namely tunneling-enabled routers, marking-enabled routers and filtering-enabled routers to defense DoS/DDoS attacks. The tunneling-enabled routers have the lowest cost than the others and they can alter the path of the passing packets to destination easily, but tunneling packet will increase the cost of the network. In this paper, we study how to use tunneling-enabled routers efficiently to forward packets to the best candidate of filtering-enabled routers for locating attack origins and filtering abnormal packets in time. Four methods are proposed and compared with the optimal solution. The fourth method with the assistance of marking-enabled routers has the best performance by simulation result, so that only 80% of the tracers need to active within the reach inhibiting DoS/DDoS attacks.

(4)

IV

致謝

這篇論文能夠完成,首先必頇感謝我的指導教授王俊鑫博士,在這漫長研究 生時間之中,沒有失去耐心的悉心指導,對於被動的我幫助甚大,每當學生遇到 問題時老師總是全心的協助及解惑,非常感謝老師的苦心。同時要感謝論文口詴 委員林文宗教授、劉懷仁教授在百忙之中蒞臨指導,在論文上給予意見,使論文 之內容更加充實完善,還要感謝系上師長們的教導與鼓勵。沒有您們沒有現在的 我。

實驗室的陳昱光(阿光)、邱俊成(阿熊)、王士鳴(小鳴)與黃鈞蔚學長給 我的寶貴意見與鼓勵,江彥志(懶熊)、吳彥廷(肉粽)同學、邱創揚學弟與其 他研究室的同學們相伴互相砥礪的珍貴學習時光,使我順利地完成這篇論文。

nono、阿昌、阿信、志村、阿健學弟們也趕快加油畢業吧!(幫你們匿名)不要 宅太久了 XD。最感謝的是我的父母對我的求學過程叨叨絮絮卻給予自主,妹妹 怡嘉始終支持鼓勵與不離不棄(抱),使我能專注於學業上,無後顧之憂,尚稱 順利地完成碩士學位。

在此對所有關心及幫助我的人獻上最深的感謝與祝福,謝謝您們。

夏怡華 謹致 中華民國九十九年二月

(5)

V

目錄

摘要... II Abstract ... III 致謝... IV 目錄... V 圖目錄... VI

第一章、緒論... - 1 -

1.1 背景簡介... - 1 -

1.2 研究動機... - 4 -

1.3 研究貢獻... - 7 -

1.4 論文架構... - 8 -

第二章、相關研究... - 9 -

2.1 ICMP 追蹤法(ICMP traceback) ... - 9 -

2.2 封包標記法(Packet Marking) ... - 10 -

2.3 過濾法(Filtering) ... - 14 -

2.4 封包記錄儲存法(Host-based Identification, Log Based) ... - 16 -

2.5 穿隧法(Tunneling) ... - 18 -

第三章、論文方法... - 20 -

3.1 路由器功能簡介... - 21 -

3.2 方法評估... - 22 -

3.3 封包標記方法... - 25 -

3.4 穿隧方法... - 27 -

3.5 攻擊追蹤與啟動穿隧流程... - 30 -

第四章、模擬結果... - 31 -

4.1 模擬工具環境設定... - 31 -

4.2 系統效能探討及模擬參數... - 33 -

4.3 模擬結果... - 34 -

第五章、結論... - 46 -

參考文獻... - 47 -

(6)

VI

圖目錄

圖 1 分散式阻斷服務攻擊示意圖 ... - 2 -

圖 2 穿隧封包封裝新標頭示意圖 ... - 21 -

圖 3 封包傳送路徑示意圖 ... - 23 -

圖 4 封包標記資訊格式 ... - 26 -

圖 5 BRITE 輸出:節點格式... - 32 -

圖 6 BRITE 輸出:邊格式... - 32 -

圖 7 skitter 拓樸以 BRITE 擷取後輸出檔案範例... - 33 -

圖 4- 1 80T20F,實行全部穿隧的各種攻擊流量比例的成本比較 ... - 34 -

圖 4- 2 攻擊比例 30%,實行全部穿隧的各種 Tracers 比例成本比較 ... - 35 -

圖 4- 3 攻擊比例 30%,實行 50%機率穿隧各種 Tracers 比例成本比較 .... - 36 -

圖 4- 4 攻擊比例 30%,實行動態穿隧的各種路由器比例比較 ... - 38 -

圖 4- 5 攻擊比例 30%,60T20F20M 的各種穿隧方法成本比較 ... - 39 -

圖 4- 6 60T20F20M,攻擊比例 30%,degree 4 分佈比例 50% ... - 40 -

圖 4- 7 60T20F20M,攻擊比例 30%,degree 4 分佈比例 70% ... - 41 -

圖 4- 8 60T20F20M,攻擊比例 30%,degree 6 分佈比例 50% ... - 41 -

圖 4- 9 60T20F20M,攻擊比例 30%,degree 6 分佈比例 70% ... - 41 -

圖 4- 10 60T20F20M,各種穿隧方法在各種攻擊比例的總成本比較... - 42 -

圖 4- 11 60T20F20M 在 50%攻擊比例之下的啟動率 ... - 43 -

圖 4- 12 50T20F30M 在各種攻擊比例下的啟動率... - 44 -

圖 4- 13 攻擊比例 50%,標記路由器比例增加與啟動率比較 ... - 45 -

圖 4- 14 攻擊比例 50%,各種路由器比例與啟動率比較 ... - 45 -

(7)

- 1 -

第一章、緒論

1.1 背景簡介

隨著網路技術的快速發展,為世界搭起便捷的溝通橋樑,網路及其便利性是 日常生活的不可缺工具之一,然而犯罪事件也同樣地在網路世界中上演,更因為 網路世界的方便性及隱密性之下,攻擊事件不斷的發生及更新手法。從內部網路 安全(Intranet security),到網際網路安全問題(Internet security);如木馬病毒的 散播、電腦系統的漏洞、阻斷服務攻擊(Denial of Service, DoS)[1]及分散式阻 斷服務攻擊(Distributed Denial of Service, DDoS)等。而在這些攻擊問題中,以 阻斷服務攻擊最為嚴重與難解,其利用網路通訊協定及系統漏洞,消耗主機伺服 器的對外服務資源或頻寬,使無法對合法使用者正常提供服務,造成困擾與損 失。因此,如何有效解決阻斷服務攻擊及分散式阻斷服務攻擊造成的網路安全問 題,為重要的研究議題與方向。

分散式阻斷服務攻擊,事實上也是阻斷服務攻擊的另一種型態,攻擊來源不 限定為一個網路來源,而攻擊手法也不侷限在一個特定通訊協定或特定系統弱 點。攻擊者先利用作業系統的設計漏洞,對多處電腦主機植入惡意後門程式,使 這些分散各地的主機受自己控制成為 zombies[2],以發送大量要求服務訊息或攻 擊封包的方式(見下頁圖 1),代替自己在各處攻擊單一目標,受害者可能是提 供服務的伺服器或你我的電腦。攻擊動作中的大量攻擊封包佔用了網路資源、頻 寬,耗費伺服器資源使處理事件能力降低,阻斷了受害端主機對外服務功能,影 響合法的使用者使用服務、頻寬,造成網路問題[3]。而分散式阻斷服務攻擊有 許多型態,如:SYN flooding、UDP flooding、ICMP Smurf、ICMP flooding、DNS replay flooding 等,都屬於此類攻擊,由於分散式阻斷服務攻擊的來源或攻擊型 態都不相同,使得防禦分散式阻斷服務攻擊成為一大挑戰。

(8)

- 2 -

圖 1 分散式阻斷服務攻擊示意圖

為了解決 DDoS 攻擊造成的問題,首先是得先知道攻擊者位於何處,但想要 追蹤 IP 封包的來源以得知攻擊者來自哪裡,並不是非常容易,攻擊者可能偽造 封包的來源位址,使追查困難,因此需透過路由器的幫助,來找尋攻擊來源及重 建攻擊的路徑。為了幫助追蹤封包,在 IP 追蹤方法(IP Traceback)中常使路由 器升級一些功能,以幫助 IP 追蹤達到追查來源的目的,對攻擊行為做追蹤動作 找出來源後,再進一步的阻止攻擊行為的發生,如導向至鄰近的過濾路由器

(Filter)過濾封包。但由於網路通訊協定的特性,路由器以轉送封包為主要目 的,封包的來源欄位偽造後仍可被轉送至目的端,又因攻擊端可能躲在 NAT

(Network Address Translation)、虛擬 IP 的背後,要找出真正的攻擊來自何處非 常困難,基本的路由器在轉送封包時,無檢查來源位址是否為真,或是否為攻擊 封包等的幫助追蹤功能,攻擊封包可以輕易的透過網路傳送到達受害端。但經由 升級路由器的功能(如標記、記錄封包功能等),若攻擊封包是經由本地路由器

(Local router)的轉送進入網路,雖不能找出真正的攻擊來源,但至少能追蹤至 離攻擊者最近的本地路由器。

IP 追蹤(IP Traceback)方法中,為了找出攻擊來源,必頇使路由器增加功 能,以提昇其對封包追蹤的幫助,從[4]-[19] 多篇研究可以發現,IP 追蹤中為支 援找尋攻擊來源所在,常對路由器增加的功能有:ICMP 追蹤[4][5]使路由器以低

(9)

- 3 -

機率方式取樣經過的封包,將經過的路由器資訊及對封包做摘要後,以 ICMP 格 式封包的方式,送出至與封包目的位址相同的接收端,受害端收集夠多有路徑資 訊的封包後,可以重建出攻擊封包的傳送路徑,但額外發送的 ICMP 訊息除了造 成網路負擔外,也可能會被其他非此系統的路由器無法辨認而丟棄;封包標記功 能(Packet Marking)[6]-[11] 是路由器選擇經過的封包,將路由器資訊標記進封 包的標頭(Header)欄位中,待接收端收集足夠封包後,能重建出封包的傳送路 徑,封包標記法依照標記機率又分成機率封包標記(Probabilistic Packet Marking, PPM)與固定封包標記(Deterministic Packet Marking, DPM),PPM 以較低機率 對封包做標記,需要收集較多封包才能重組出路徑資訊,DPM 為固定對封包做 標記,因此對路由器負擔較重,但可減少重組資訊的需要封包數量;記錄封包資 訊(Logging, Log based)[13][14]功能,在路由器中記錄關於經過封包的資訊,

待受害端請求查詢後,可知道封包的傳送路徑,但需要使用額外硬體幫助記錄儲 存;或穿隧(Tunneling,也稱通隧)功能[5][17],將封包再封裝一層新的標頭

(Header),轉送至別處處理,如 CenterTrack[5]將封包做摘要後的資訊轉送至另 一個 CT 伺服器儲存,或用在為了網路傳輸安全目的認證的 IPsec,或是使 IPv6 封包可在 IPv4 路由器被傳送等應用,但穿隧的缺點是把封包做轉送,封包多傳 送繞送了路徑,就造成了網路成本的增加。

從上述文獻[4]-[19]探討的方法,多藉由路由器升級輔助的功能達到防禦 DDoS 攻擊的目的,我們將這些具有各種不同功能支援追蹤的路由器,通稱為異 質性追蹤器(Heterogeneous Tracer)。這些常被使用的路由器功能特色都是成本 較低、簡單、易升級,如標記、穿隧、發送訊息封包功能,但缺點是需要蒐集夠 多的封包資訊做追蹤;而穿隧封包或發送 ICMP 訊息封包,則可能會加重網路的 壅塞情況。這些防禦 DDoS 的方法,使用的功能雖成本較低易佈署,但著重在追 蹤攻擊來源,重建攻擊路徑後,攻擊證據可作舉證之用,想對攻擊擁塞情況有直 接改善的效果,仍需要靠導向到鄰近有過濾功能的路由器做過濾,也就是設置有 過濾(Filtering)攻擊封包功能的路由器於網路中[15],過濾器(Filter)可判別 是否為攻擊封包,直接地丟棄攻擊封包,但硬體、軟體成本較為昂貴,且限制於

(10)

- 4 -

成本考量無法大量佈置,過濾方法的效果好壞也跟分佈率相關。

1.2 研究動機

目前多數防禦 DDoS 的方法著重於追蹤,對網路中受攻擊的現況,並非是直 接地改善,而是重建出攻擊路徑,找到最接近攻擊者的功能路由器,再將封包流 導向至最近的過濾器(Filter)做過濾,但往往能過濾的路由器因成本高數量較 少,可能位置較遠,防範的效果有限,對網路攻擊情況的即時改善仍不夠快速,

使過濾效果無法完全發揮。因此除了找出攻擊來源之外,更值得我們研究的是如 何快速減少攻擊封包在網路中的存活時間及數量,最直接的方式是設置 Filter 在 網路中,可馬上對攻擊封包做過濾,改善原本有攻擊流經過造成的網路壅塞情 況,但 Filters 分佈率多寡與成本成正比,可能無法在網路中大量佈置。

DDoS 攻擊中造成網路負擔的主要因素,是大量的攻擊封包佔據了頻寬,在 發生攻擊的情況下,頻寬中有大量的攻擊封包,普通路由器因沒有分辨封包好壞 的能力而傳送了這些攻擊封包,使網路負擔加重,間接或直接造成正常使用者的 困擾,讓路由器多傳送攻擊封包一個 hop,其實就是多令網路負擔了一個 hop 的 成本,我們以封包在網路中傳送的 hop 數,做為計算網路成本的單位,越早減少 攻擊封包的數量也就是減少網路成本。想使攻擊封包儘快的被過濾掉,只倚靠網 路中少量的 Filters 是不夠的,瓶頸除了因成本較高而使 Filters 的數量較少,分 佈率多寡會與效果、成本成正比之外,平時分佈在各地的少量 Filters 位置固定,

對攻擊的路徑沒有經過也無計可施,使過濾攻擊封包的效果不佳,無法完全發揮 Filters 的效用。

先前提到在追蹤方法中成本較低、易提昇的路由器功能,可設置利用多種異 質性追蹤器,幫助少量 Filters 增加其對攻擊封包過濾的效果,快速減少攻擊封包 在網路中的數量,也就是存活時間,更快速地對 DDoS 攻擊的情況有改善。首先

(11)

- 5 -

是需要成本低、易升級的功能,在這我們選擇使用穿隧(Tunneling,也稱通隧)

與標記(Marking)作為支援過濾的功能。利用穿隧功能將原封包加上新的標頭,

把封包轉送到 Filter,其缺點雖然是因轉送封包而增加網路成本,但經由封包轉 送到 Filter,能夠將可能的攻擊封包提早過濾丟棄,減少網路負擔;基本的標記 方法雖偏重於追蹤,但可幫助我們分辨攻擊路徑,找到最靠近攻擊者的標記功能 路由器,使該標記功能路由器上游的穿隧路由器啟動轉送封包即可,降低 Tracers 的啟動率(Active Ratio of Tracers),也就是降低了網路成本。

穿隧通訊協定(Tunneling Protocol)[20][21]的構想,基本概念是使封包轉送 [22][23] , 在 不 安 全 的 網 路 上 , 提 供 一 個 安 全 的 方 式 傳 送 資 訊 ( 如 : GRE[22][23][24]、IPsec[25][26]、VPN、SSH…等),或是在一個不相容的網路上 傳送封包(如:使 IPv6 格式封包能被 IPv4 的路由器傳送[25]),會將封包再封裝

(Encapsulation)一層新的標頭(Header),或再加密(Encryption)封包內容,

為了使封包被安全的傳送,或是轉送到別的路徑的路由器,當然目的端或目的路 由器至少需要有接收解讀(或解密 Decryption)這種帶有穿隧的新標頭的封包能 力。基本的穿隧功能容易在路由器被升級,穿隧路由器將經過的封包,外加一層 新的目的端為 Filter 的新標頭,不另對封包內容作加密動作,能夠使路由器不會 負載過重,轉送封包到鄰近的 Filter 過濾,對 Filter 來說是增加其過濾的網路範 圍,不限制在與 Filter 同一條路徑上的攻擊封包才會被過濾。

標記(Marking)功能因為對路由器負擔最低,且是容易升級的功能,經常 地被使用在 IP 追蹤的方法中。而最常使用的是機率封包標記法(Probabilistic Packet Marking, PPM)[6],不像固定封包標記法(Deterministic Packet Marking, DPM)[10]對路由器負擔較重,機率封包標記的缺點雖是因 IPv4 的封包格式限 制,無法一次將全部路由器的位址資訊標記進封包的有限欄位中,也因為是機率 性的標記,需要蒐集足夠數量的封包才能重建攻擊路徑,於是在近年所提出的方 法中,許多都以減少其重建路徑的所需封包數量為目標,以 FIT[8]為代表方法之

(12)

- 6 -

一。而封包標記的另一個問題是已經標記過的封包,可能被之後傳送經過的標記 路由器再度標記,標記被覆寫的問題,因此我們欲採用的標記方法[18],以一個 bit 的欄位作為標記過與否的旗標值(與 TTL 欄位同時判斷),可避免標記被覆 寫問題的發生,也可憑著單一標記過的封包判斷最靠近攻擊來源的標記路由器。

為讓數量較少的 Filters 有效過濾網路中的攻擊封包,減少 DDoS 攻擊情況 中,對網路的不良影響,因大量攻擊封包造成的頻寬擁塞、資源佔用問題,降低 網路成本,本篇論文中利用穿隧轉送封包能力,以及能標記封包的路由器功能,

這些功能的特色是成本低而容易升級,使用這些功能對路由器負擔也較低。但穿 隧功能轉送封包或是對封包做標記,雖然成本低而易升級,但並非全無缺點,穿 隧的缺點即是在封包封裝新的標頭後,轉送的最近的新目的 Filter 可能不在原傳 送最短路徑中,也就是封包轉送到目的 Filter 可能會走多餘的路,對攻擊封包來 說,經過轉送至最近的 Filter,將會快速地被過濾丟棄,減少網路的負擔,但對 正常封包來說,轉送到 Filter 後還會繼續傳送至接收端,卻需要多走轉送路徑,

等於是對網路造成負擔,使網路成本上升(詳見 3.2 方法評估),因此穿隧的策 略需要能減輕穿隧帶來的負面效應。標記方法對路由器的負擔最低,但重建攻擊 路徑需要收集足夠數量的封包,我們使用的標記功能主要幫助分辨攻擊區域,找 出最接近攻擊端的標記路由器,而不是著重追蹤的重建攻擊路徑,辨別攻擊區域 使我們對穿隧的路由器可選擇繼續啟動或是關閉穿隧功能,讓部份非攻擊路徑上 的穿隧路由器不繼續啟動穿隧功能,也能降低路由器負擔。

使用成本高且少量的 Filters,配合有穿隧功能的路由器將封包轉送至最近的 Filter 做過濾,快速的使攻擊封包被過濾,使攻擊封包在網路中的存活時間越低 越好,減低受害端及網路的頻寬擁塞等的情況,並使用有標記功能的路由器劃分 攻擊區塊,可使我們穿隧的策略有彈性的降低啟動率,幫助減低網路成本,以及 接近理想的成本。雖然穿隧的功能容易升級,轉送所有的封包可使攻擊封包被 Filter 過濾,但所有的穿隧路由器都啟動做轉送封包,對路由器負擔卻很重;穿

(13)

- 7 -

隧路由器無法分辨轉送的是攻擊或普通封包,轉送封包除了讓攻擊封包儘快的被 過濾掉之外,對普通封包來說,卻是要多走被繞送的路才能到達目的端。因此我 們要解決的問題如下:

 如何讓穿隧功能的路由器能適時的決策,在導向所有包含攻擊與正常的 封包到 Filter 時,使攻擊封包存活時間越短越好,對普通封包造成繞送 多餘路徑的影響也降至最低?

為了解決上述的問題,使用數量少的 Filters 盡早過濾掉攻擊封包,我們提出 四種穿隧決策的機制,利用有穿隧功能的路由器將封包轉送至 Filter 處理,藉此 增加 Filter 的過濾路徑範圍,增加被過濾的攻擊封包數量,並使用有標記功能的 路由器區分攻擊區域,標記封包功能簡單卻能對分辨攻擊區域有相當大的助益,

經由封包標記,使沒有攻擊封包經過的區域可區別出來,使攻擊區域的穿隧路由 器繼續啟動穿隧動作即可,降低整體 Tracers 的啟動率(Active Ratio of Tracers),

除了減少路由器負擔,也能降低網路的成本。

1.3 研究貢獻

本篇論文提出使用異質性追蹤器,包含容易在路由器升級的穿隧(Tunneling)

與標記(Marking)功能,利用穿隧功能路由器(Tunneling-enabled router)將經 過封包轉送到過濾器(Filters),使原本可能不會經過 Filter 的攻擊封包也能被過 濾,讓 Filters 的過濾效果不再侷限於數量多寡或分佈率上,減輕 DDoS 攻擊對網 路造成的不良影響,如正常使用伺服器資源、頻寬…等,並使用成本低但追蹤效 果好的封包標記功能,由標記路由器(Marking-enabled router)對經過封包做標 記,受害端可從標記過的攻擊封包,得知距離攻擊來源最近的標記路由器,使該 標記路由器上游,屬於攻擊區塊內的穿隧功能路由器繼續啟動轉送封包功能就 好,除了減少路由器負擔,也減少網路成本。

(14)

- 8 -

穿隧封包的缺點是因為轉送封包繞路而增加網路成本,為了使攻擊封包被轉 送後過濾,也要減少轉送普通封包而增加的路由器與網路負擔,本篇提出四個穿 隧機制的方法,藉由改變穿隧路由器轉送封包的機率(穿隧機率)減少網路成本。

四種穿隧的機制,我們發現到全部穿隧路由器都將經過封包轉送,雖然攻擊封包 都會被轉送而過濾掉,但在攻擊封包數量多寡無法預測之下,因轉送普通封包而 增加的成本卻不容忽視,因此提出有機率的轉送封包(50%機率穿隧),由此避 免轉送太多普通封包造成的網路負擔,但進步空間仍然很大,再提出使 Filter 回 報最近 10 次轉送的封包裡,攻擊封包的次數給穿隧路由器,當作轉送的機率依 據,也符合在網路中各節點攻擊流量會不同的狀況,達到與原受攻擊的系統比較 減少了 76%以上的攻擊量,以最快最節省的成本使攻擊封包被過濾。使用有標記 功能的路由器,能找出最靠近攻擊來源的標記路由器,該標記路由器對應網路介 面的上游為可能攻擊區域,使上游的穿隧路由器繼續啟動轉送封包;若收到被標 記封包中無攻擊封包的路徑,可使此非攻擊路徑上的穿隧路由器不用啟動轉送封 包,也可以減輕路由器負擔,降低追蹤器的啟動率(Active Ratio of Tracers),只 需要啟動 80%以內的 Tracers 做穿隧,再度減少穿隧轉送封包後的網路成本,達 到抑制 DDoS 攻擊,過濾掉影響頻寬、伺服器資源的攻擊封包量,減少網路負擔 的目的。

1.4 論文架構

本篇論文共分為五個章節,第二章相關研究將介紹目前已被提出的防禦 DDoS 方法及 IP 追蹤方法分類討論,第三章為本篇研究方法,說明使用標記方 式與穿隧機制的評估,將探討使用異質性追蹤器幫助轉送封包的機制,使穿隧功 能路由器的優點凸顯,負面影響降至最小,幫助過濾路由器的過濾攻擊封包效果 增加,降低 DDoS 攻擊對網路的影響,以及標記功能路由器幫助減輕網路上穿隧 功能路由器的負擔,第四章是本論文研究的模擬實驗結果及分析,最後為第五章 本篇論文的結論。

(15)

- 9 -

第二章、相關研究

在本篇提出的抑制 DDoS 攻擊的系統中,需透過路由器提昇的功能幫助追 蹤,達到對阻斷攻擊封包的效果,因此在這個章節將介紹過去所提出的 IP 追蹤 方法,我們將詳述這些防禦方法相關的研究細節。在文獻[4]-[19]中,大多是利 用路由器的幫助追蹤攻擊來源,路由器具備了各種追蹤封包來源的能力,其方式 大致分為五種類型,第一種是 ICMP 追蹤法(ICMP traceback)[4][5] 路由器傳 送訊息時,有機率夾帶 ICMP 訊息傳送到接收端。第二種是封包標記法(Packet Marking)[6]- [10],使路由器對經過封包做標記,接收端可蒐集這些有標記過的 封包,重建出經過路由器的資訊,找出攻擊路徑。第三種是佈下過濾器在網路中 [15],或辨別經過封包的傳送資訊[11],以過濾經過的攻擊封包。第四種是封包 記錄儲存法(Host-based Identification, 又稱 Log based)[13][14],為路由器藉 由特殊硬體的幫助,將經過的封包資訊做摘要雜湊處理(Hash)另存記憶體中。

第五種為使用有穿隧(Tunneling)功能的路由器[5][17],大部分是在方法中配合 其他功能路由器使用,將封包轉送到其他功能路由器做處理,如過濾器(Filter)。 以下將詳述各類型的方法中有代表性的相關研究論文,以及其優缺點。

2.1 ICMP 追蹤法(ICMP traceback)

ICMP 追蹤法[4]為 Bellovin 所提出,意指路由器在傳遞封包時,路由器依照 一定低機率(1/20000)取樣封包,對封包資訊做摘要處理,加上本身路由器資 訊後,以 ICMP 訊息格式傳送到接收端,接收端可以收集帶有此訊息的封包資 訊,知道此流量中的封包經過了哪些路由器,以重建出完整攻擊路徑。但額外機 率發送的 ICMP 封包可能會對正有攻擊的網路造成加重網路壅塞情況,ICMP 訊 息亦可能被非此系統的路由器無法辨認而丟棄掉。

(16)

- 10 -

R. Stone 提出的 iTrace[5]利用像是在 ICMP 追蹤中路由器轉送封包時,會以 兩萬分之一的機會再送出一個 ICMP 訊息封包到受害端,而 iTrace 是額外送出封 包到集中式的 CenterTrack 伺服器。iTrace 系統為一覆蓋網路(Overlay network,

架構在實際網路上的自行定義 Logical network),佈置 Agent 在邊緣路由器(Edge router)上,Agent 以機率方式將經過的封包配合穿隧(Tunneling)技術,額外 傳遞至中央的 CenterTrack 伺服器收集儲存,由位於骨幹網路的追蹤路由器

(Tracking Router, TR),監控從 Agent 進入覆蓋網路的封包流量紀錄,可用 hop-by-hop 的方式搜尋跨 ISP 網路的各 CenterTrack 伺服器找出異常流量封包,

之後就可再加以攔截過濾(Filtering)。然而這樣集中式的系統可能被當作是攻擊 目標,有 Single-Point Failure 的問題,其散佈於邊緣路由器(Edge router)的穿 隧 Agent,因其位置重要性所以可追蹤至較靠近攻擊端,但若攻擊來源是位於核 心的路由器(如 Transit router 位於網路骨幹),則會有追蹤不到的盲點。

2.2 封包標記法(Packet Marking)

封包標記法(Packet Marking)為在封包經過路由器時,將路由器資訊標記 到封包欄位裡,待受害端收集夠多的封包,可依照資訊重建出攻擊路徑。依照標 記機率可分為機率封包標記[6](Probabilistic Packet Marking, PPM)和固定封包 標記[10](Deterministic Packet Marking, DPM),機率封包標記對於系統的需求成 本最低,但卻需要收集大量的封包資訊,才能追蹤回攻擊來源;固定封包標記因 為是對每個進入封包都做標記,因此路由器負擔較重,但重組需要收集封包數量 較少。標入資訊類型從單點標記(Node sampling)的只記錄當前路由器資訊,到 為加強標記資訊可靠性的邊標記(Edge sampling),記錄上個路由器及當前路由 器的訊息,亦能減少重建路徑的困難度。除了封包標記法,近年也有學者提出使 用「讓接收端決定」(capability)概念的標記與過濾系統[11][12],路由器不只對

(17)

- 11 -

封包做標記,也對標記做判斷為是否合法的過濾者角色。在 IPv4 封包中並無供 標記用的保留欄位,大多方法是使用 ID 欄位(Identification field)的 16 bits,而 依照方法的需要,或會使用到更多的欄位,如:TOS 欄位(Type Of Service)的 8 bits,Flag 欄位的 1 bits(通常是 Fragmentation flag),但。而 IPv4 的位址長度 為 32 bits,就算使用上述的 25 bits 也不足以標記整個位址資訊,因此通常配合 使用雜湊(hash)或是分段標記法[7](Fragmentation Marking Scheme, FMS),使 標記資訊的可靠度增加,也能夠防止攻擊端的偽造標記封包,減少重建路徑所需 收集封包數量。以下是相關的研究論文。

S. Savage 等人提出在 Network Support for IP Traceback [6]屬於機率封包標記 追蹤法(Probabilistic Packet Marking, PPM),使路由器具有機率標記封包功能,

當封包傳送經過路由器時,有一定機率選擇是否加蓋上含有經過路徑的資訊,將 封包經過的前一個路由器及當前路由器的 IP 位置共 64 bits,分段成 16 bits 寫入 封包的 Identification 欄位(ID 欄位),由受害端收集足夠的已標記過封包後,可 重組出封包的經過路由器及傳送路徑。但因為 IPv4 封包中可利用欄位有限,一 般都是 16 bits 最多到 25 bits 可供寫入,因此寫入資訊的重建需要大量封包才能 做重組,在機率封包標記追蹤法中路由器常以 4%的機率對封包標記,在最理想 的情況下,重建單一路徑需要收集 2300 左右個封包,而在有多攻擊路徑(DDoS)

以及攻擊者的偽造封包標記情況下,誤判率的上昇更不利於重建的工作,也影響 重建路徑的準確性。在 PPM 類型的方法中,封包在傳送途中已寫入的資訊有被 覆寫的可能,標記欄位的大小也是追蹤精確度的要點,且有誤判率、標記資訊偽 造的問題。

A.Perrig 等人提出的 Pi[8]為 Edge sampling 及分段標記的代表之一,他的特 點為解決多點 Edge sampling 中可能產生的 Marking hole 問題,讓受害端對封包 的重建錯誤率下降,也減少需要的封包數量。Marking hole 的問題指,在標記方

(18)

- 12 -

式是一旦觸發封包標記動作後,接連 N 個 hop 的路由器都對封包做標記工作,

將各自的資訊標記進封包的連續部份空欄位,然而並非所有的路由器都具有標記 功能,或是支持此標記功能,因此在做標記時會有 Marking hole 的問題產生,也 就是標記欄位中間空了一段無路由器資訊,但這種 Marking hole 在重建封包路徑 時很難被發現,而增加重建錯誤率。Pi 為解決 Marking hole 的問題,使每個標記 路由器標記進封包的資訊用 TTL 值來做分配位子的動作,假設封包可標記欄位 為 16 bits,則標記路由器欲標入 n bits,則此路由器標記位子為 (TTL mod └16/n

┘)*n,如每個標記路由器標入 4 bits,當前 TTL 為 37,封包將會標記進 16/4=4 個路由器的片段資訊,則此路由器標記進 16 bits 中第 1 個區塊(37 mod 4=1),

在受害端重組路徑時,也可依照標記區塊位置判斷路由器距離 hop 數。但標記位 置依照 TTL 改變,並無法完全解決 Marking hole,也可能被攻擊者利用寫入錯誤 資訊,而當封包寫入欄位固定,傳送長度卻過長,單一路由器的標記欄位過大時,

將會被經常覆寫,甚至欄位中只記錄了最後幾個路由器資訊;若單一路由器標記 欄位過少,可能經常產生 Marking hole,可供判斷資訊過短,致使路徑錯誤也可 能發生。

A. Yaar 等人提出的 FIT[9],是屬於分段標記路由器資訊的方法,最大特點 是只使用 1 bit 作為標記距離資訊,加上利用 TTL 欄位取代傳統封包標記法中記 錄距離的計算方式,使多餘的 ID 欄位可用於加強重建資訊的準確度,以及判斷 TTL 值做強制標記,預防偽造的標記封包的策略。封包中 TTL 欄位(總共 8 bits)

後 5 bits 歸為同值 c,ID 欄位 16 bits 中以 1 bit 為距離旗標,取 w bits(ex:w=2)

作為分段資訊的 index,將欲標入的 IP 資訊配合雜湊(Hash)函數處理後編號分 做2w(ex:22 = 4)段,取一段寫入其餘 16-w(ex:16-2=13) bits 內。接收端 可由:c 減去目前 TTL 後 6 bits 值,知道到標記路由器與自己的距離,重建路徑 時將有相同距離的封包分組,依照距離分組,可減少重建誤判率的發生。當路由 器機率決定標記封包時,先將此封包的 TTL 欄位後 6 bits 歸為十進制的 c(這裡

(19)

- 13 -

是 c=22,為封包平均路徑長度 hop 數),TTL 欄位第 6 bit 放入 ID 欄位的距離旗 標;若機率決定不做標記,也會參考(距離旗標+c)減去 TTL 後 6 bits 的值,如果 此值 mod 64 後大於 32,就判定為需要強制標記,可減少偽造的標記封包混淆重 建資訊的機會,或是規避標記的攻擊封包。當封包經過每個路由器的傳送都會將 TTL 減 1,定 c 為 22,可讓標記過的封包在 22 hops 不會被重複標記,以及減少 封包經過 22 hops 都未被標記的情況,因為經過 22 hops 後,TTL 後 6 bits 值會 變成十進制的 63,則遇到下個 FIT 標記路由器時,判定 TTL 後 6 bits 值大於 32 就需要標記,然後將 ID 欄位的距離旗標設為 0,並進行標記。從 TTL 欄位加 1 bit 旗標當作距離的判定,使覆寫率下降,以距離相同的分組重建可減少誤判率及錯 誤的情形,也大為減少重組路徑所需封包數量。

由 Beleenky[10]等人提出的固定封包標記法(Deterministic Packet Marking, DPM),是封包標記法的另種類型,使有 DPM 的標記路由器佈置在邊界路由器 上。不以機率做選擇標記基礎,而固定都由邊界路由器(Border router)對進入 AS 的封包做標記。以封包中的 1 bit flag 欄位作為判定標記部份的依據,0 即是 前 16 bits,1 就是後 16 bits,路由器 IP 資訊 32 bits 拆解為前後兩部份寫入 16 bits 的 Identification 欄位,只在封包進入網路時由邊界路由器對封包標記,其他路由 器只負責轉送封包,直到封包到達接收端,由受害端接收封包,重組還原出標記 資訊,得知所標記的邊界路由器。最佳情況是兩個封包即可判定出進入的邊界路 由器是哪一個,但只能找到最後一個 AS(Autonomous System)的邊界路由器,

而路由器對每個進入的封包都做標記動作,也會造成路由器的負載加重。

(20)

- 14 -

2.3 過濾法(Filtering)

過濾法為佈置過濾器(Filter)在網路中,比對封包的攻擊特徵,能對封包 直接的加以判斷是否為攻擊的封包加以丟棄,在 IP 追蹤的方法中,找出攻擊路 徑判斷出攻擊者位置後,再將需過濾的封包流量轉送至鄰近的 Filter 做過濾,但 因 Filter 的成本較貴,數量較少,過濾的效果無法完全發揮,例如:當攻擊路徑 並無經過 Filter 時。過濾法除了用 Filter 倚靠封包特徵做過濾外,有學者提出讓 接收端決定合法的封包傳送,傳送路徑上的路由器不只對封包做標記,也扮演「過 濾者」的角色,在路由器中存放傳送封包的相關訊息,對沒有經過請求傳送的封 包,以及無合法標記的封包予以丟棄。

Jangwon Lee 等 人 提 出 [15] Scalable multicast based filtering and tracing framework for defeating distributed DoS attacks,在網路中隨機設置過濾器(Filter)

及追蹤器(Tracer),追蹤及過濾都是在同一節點上運作的,可以依照受害端所提 供的攻擊封包特徵,對經過的封包加以過濾丟棄,如果發現有丟棄攻擊封包情 況,表示此 Filter 是在攻擊路徑上,則加入覆蓋網路(Overlay network)的同一 攻擊 session,直到受害端更改攻擊需求(Request)為止,這個 session 才會失效,

上游 Filter 將經過封包過濾,如果是相同攻擊路徑,下游相同 session 的 Filters 就不會收到攻擊封包,在攻擊路徑上的 Tracers 可藉此找出更精確的攻擊位置,

也就是攻擊封包進入網路所遇到的第一個 Filter(最靠近攻擊端的 Filter),Tracer 找到此點作為判別是攻擊者的候選點,藉以找出攻擊端位於哪個區域。建立覆蓋 網路及攻擊 session 的複雜度較高,設置 Filter 可即刻的將攻擊封包丟棄,但無經 過 Filter 的攻擊封包將無法被過濾或追蹤,這樣子以過濾為防禦 DDoS 攻擊的方 法如同 Log Based 方式,效果在於其分佈率以及位置,分佈的越多或是位置的重 要度越高,過濾掉攻擊封包的效果也越好。

(21)

- 15 -

A. Yaar 等人提出的 SIFF(Stateless Internet Flow Filter)[11]是一個包含標記 與過濾的方法,由接收端決定要不要接收封包,也就是傳送端想要送資料給接收 端之前要先經過其同意,若接收端同意將會給傳送端一個「鑰匙」,也就是

「capability」,否則若無合法的鑰匙,途中的路由器就不會傳送封包而予以丟棄,

接收端也就不會收到攻擊封包了,這樣經過同意才可傳送封包的模式,就像三方 交握(Three way handshake)的步驟,接收端可以決定何時停止這個封包流,因 此也可以防止偽造來源 IP 位址的問題。當傳送端傳送請求詢問接收端時,經過 路途上的路由器都會把自己的資訊標記在封包中,接收端收到請求加上有著經過 路由器資訊組成的鑰匙訊息後,決定要不要接受傳送的要求,若接受就回覆一個 帶有鑰匙的訊息,傳送端才得到允許傳送封包。這方法需要路由器的少量空間來 存放封包流量狀態,及有同一路徑封包相同的「可合法通過的鑰匙」記錄在記憶 體中,若封包沒有夾帶合法的鑰匙,路途上路由器扮演「Filter」過濾者的角色,

會將不合法傳送的封包丟棄。在這裡有兩個要素決定偽造封包通過單一路由器的 機率,第一是單一路由器使用多少 bits 數標記封包(如:2 bits),以及在路由器 保留舊的鑰匙狀態的時間(如:10 秒),對於防止一個偽造的鑰匙通過路由器的 機率有不同的影響。此方法簡單而新穎,使用標記封包的方式,讓接收端決定是 否接收,也有認證、過濾的作用,但是對於不合法封包的通過路由器機率,並不 能完全的防止,而且限定同一資料流不會改變路由路徑才能使用。

由 Xiaowei Yang 等人提出 TVA(Traffic Validation Architecture)[12],承襲 自 SIFF[11]的創意,以及改進之前的方法。也是使用一個精神:讓接收端決定要 不要收封包,由此意念發展了一個較為嚴密的架構,本篇即是延伸了 SIFF 中由 路由器對經過的要求訊息裡,標記上自己的資訊,接收端收到後再回傳同意的訊 息以及選擇使用的鑰匙,TVA 並於路由器中設置有處理優先權的佇列(queue),

分配較多頻寬資源給已知的良好傳送端,藉此保護合法使用者的頻寬使用權。

TVA 的方法如同使用「由接收端選擇給傳送端權利做傳送」的其他方法一樣,

(22)

- 16 -

預設封包傳送路徑不會改變,若有改變也只會稍微的影響封包的傳送,需要傳送 端再次發送要求訊息。此外因不限制各路由器標記加掛在封包中的鑰匙資訊長 度,而可能使封包大小增加過多,以至於增加了網路傳送成本,另外,支援系統 功能的路由器需在網路中占較大百分比率,才能達到較佳的過濾與控制流量效 果,也是此種系統的限制。

由 Xin Liu 等人提出的 StopIt 系統[19],除了讓接收端決定要不要接收封包 的概念之外,受害端可對 StopIt 伺服器提出過濾要求,在路由器或主機端上依照 需要建置 Filter(過濾網),阻止攻擊封包繼續傳送到受害端。每個 AS(Autonomous System)都有一個 StopIt 伺服器處理所有需要安裝 Filter 的要求,傳送端要向接 收端提出傳送的要求,在傳送要求被接受後,StopIt 系統的路由器及伺服器會對 此傳送保留狀態,傳送端可以開始對接收端傳送資料;若受害端想過濾攻擊封 包,需向本身所屬 AS 的 StopIt 伺服器提出請求,對攻擊來源 AS 的主機端要求 安裝 filter,若要求失敗則會在最靠近攻擊端的路由器安裝 filter;StopIt 系統也會 對安裝 filter 的請求加以求證,監視是否真的有攻擊封包流經過,防止假造的過 濾安裝要求耗費路由器資源。此系統如同 SPIE 系統階層式,佈建比例越高的過 濾效果越好,但路由器需要能支援安裝 filter,且過濾功能對一般路由器的負擔 較重,若攻擊者數量越多,則會使路由器耗費大部分服務資源在過濾上。

2.4 封包記錄儲存法(Host-based Identification, Log Based)

封包記錄儲存法(Host-based Identification, 又稱 Log Based)[13][14]是在 路由器儲存傳送過的封包摘要及相關資訊於記憶體中,受害端可請求防禦系統協 助,系統下指令查詢封包的紀錄,找出有哪些路由器記錄傳送過此攻擊封包,可 找出攻擊封包經過的攻擊路徑,最理想情況使用一個封包,就能重建出攻擊路 徑。常以 SPIE 系統作為基礎架構,成員有:Data Generation Agents(DGAs)、

(23)

- 17 -

SPIE Collection and Reduction Agents(SCARs)及 SPIE Traceback Manager

(STM)。DGA 分佈於網路中,對經過封包做摘要處理後儲存起來;SCAR 管理 許多個 DGAs,也負責接收 STM 下的查詢指令要求,將 DGAs 回傳資訊做部份 重建;STM 相當於 ISP 管理者,管理此 ISP(AS)之下的 SPIE 系統,STM 管理 SCAR 並接收與發送受害者的查詢要求,因未封包的傳送常跨越許多 ISPs,STM 也和其他 STMs 互助合作完成查詢指令。

在路由器中儲存經過封包相關資訊,Snoeren 等人[13]的 Single Packet IP Traceback,屬於封包記錄儲存法,使用 Bloom Filter 在記錄封包資訊的資料結構 中,可大幅減少儲存與查詢所需的時間及空間。此防禦系統以 SPIE 作為基礎架 構,成員有: DGAs、SCARs 及 STM。DGA 可擷取封包資訊做摘要後,儲存在 本身記憶體中以待查詢,回報資料比對的結果;SCAR 負責管理 DGAs,並收集 DGA 回傳的資訊做攻擊路徑的重建;STM 管理整個 SPIE 系統,以及接受受害 端的查詢請求,告知各 SCARs,接收重建後的資訊。Log Based 的追蹤準確度依 賴著分佈率,分佈越多準確性越高,然而查詢及管理資訊卻需要花費許多時間空 間,硬體成本高昂,還需額外的記憶體儲存空間也是其缺點。

在 Cho Gong 等人提出的[14]佈建 Log Based 系統在部份 AS(Autonomous System)當中,如何達到追蹤的目的。作者假設 AS 中有佈建 SPIE 系統,則此 AS 中所有路由器都有支援 SPIE 系統的功能。當只有部份 AS 有佈建 SPIE 系統 時,表示攻擊封包的行經路徑中,並不一定都是有 SPIE 系統的 AS,而作者提出 的方法即是為了解決此種問題,追蹤至攻擊來源。若有攻擊發生時,受害端請求 本身 STM 提供查詢協助,再由此 STM 發出查詢請求給其他 AS 中的 STM,若 有佈建 SPIE 系統就可以提供追蹤記錄,無佈建則跳躍查詢其鄰近尚未請求查詢 過 AS 的 STM,藉由 STM 的接力查詢找出攻擊來源。

(24)

- 18 -

2.5 穿隧法(Tunneling)

穿隧法是來自穿隧通訊協定(Tunneling Protocol)[20][21]的構想,是指能將 封包轉送,或提供一種封包安全的傳輸模式傳送資訊,或在一個不相容的網路上 傳送封包,將封包再封裝(Encapsulation)一層新的標頭(Header)[22][23][24],

可能再對封包內容加密(Encryption),新標頭內有新的傳送端及目的端位址,目 的端或目的路由器至少需要有接收解讀(或解密 Decryption)含穿隧新標頭的能 力。穿隧的應用如 IPsec(Internet Protocol Security)[25][26],在 IPv4 的通訊協 定及封包標頭(Header)中,並沒有為了對傳送端的認證要求在 Header 保留位 置,而為了使 IPv6 的封包同樣的能夠在 IPv4 路由器中被傳輸,是將原本 IPv6 封包包上一層 IPv4 格式的 Header 以做傳輸,然而這可能使被包裝過後的封包,

同樣的有偽造來源位置(spoofed source address)的危隩,不論是包裝後的 IPv4 位置,或是包裝前的 IPv6 位置,因此 IPsec 的 Tunnel 傳送要求即是兩端點都有 對來源位置認證的功能,如嚴格反向路徑轉發(Strict Reverse Path Forwarding, RPF)檢查,確保封包 IPv4 Header 中來源位置(source address)是正確的 IPv4 端點位置才予以傳送。因此除了 Tunnel 的兩端點路由器需要有將封包拆解 Header 並辨認轉送原封包的能力,也確保不會有攻擊端偽造成 穿隧功能的路由器

(Tunneling-enabled router),發生對 Filter 發送大量封包攻擊的危隩。

Chang H.Y.等人提出的 DECIDUOUS [17],將網路中與受害端相同距離 hop 數的節點都縮合成一個群(Group),遞迴式地挑選中間距離的群建立安全區域

(Security Area, SA),區域看作是個通道(Tunnel),通道兩端接口節點傳送封包 所使用 IPsec[25][26]的穿隧方法,從安全區域通道外的節點傳送至受害端的封 包,均需經過安全區域的 IPsec 認證來源位置,才能將封包經過安全區域使用穿 隧送至受害端,如果受害端繼續收到攻擊封包,則表示攻擊不是位於安全區域

(25)

- 19 -

內,藉以分辨攻擊者是位於安全區域外或是安全區域之內,判斷區域後,再從攻 擊者位於區域中,再建立一個安全區域,重複建立安全區域可追查出攻擊者的位 置。但縮合節點需要知道網路結構,縮合節點的複雜度較高,以及網路上的多數 節點都能支援系統,並支援穿隧功能的 IPsec 技術建立安全區域,找出攻擊者位 於何處的精確度才較高。

(26)

- 20 -

第三章、論文方法

為了使用網路中少量的 Filters 盡早過濾掉攻擊封包,本篇使用多種異質性追 蹤器,以將封包穿隧轉送的方式,使用有穿隧功能的路由器將封包轉送至 Filters 做處理,增加 Filters 的過濾路徑範圍,讓攻擊路徑沒有經過 Filter 的攻擊封包也 會被過濾丟棄;利用封包標記區分非攻擊區域,使有穿隧功能的路由器繼續啟動 轉送,或是不用啟動轉送封包,可降低追蹤器啟動率。但因為有穿隧功能的路由 器無法判別封包是否為攻擊封包,因此轉送封包時,除了轉送攻擊封包到 Filters 被過濾,也可能會讓普通封包因轉送而走遠路,在無法知道攻擊封包所占比例的 情況下,我們提出四種穿隧方法的機制,減少因轉送過多的普通封包造成的網路 負擔:讓全部有穿隧功能的路由器都轉送所有封包,或依固定機率(50%)進行 封包的轉送,以及依照網路當前節點現況,由 Filter 回傳的資訊調整機率的轉送 封包,並加上使用有標記功能的路由器幫助分辨攻擊路徑,區分攻擊區域,找到 最靠近攻擊者的標記功能路由器,使該標記路由器上游的穿隧功能路由器啟動轉 送封包,或使沒有攻擊封包經過的路徑,讓這些非攻擊路徑上的穿隧功能路由器 不用啟動,可降低整體 Tracers 的啟動率(Active Ratio of Tracers),如此除了減 少路由器負擔,使穿隧機制有彈性的符合攻擊狀況,也降低了網路成本。

我們在網路中佈下各式防範的功能路由器節點,我們將這些具有支援追蹤功 能的路由器,稱為異質性追蹤器(Heterogeneous Tracers),借著這些 Tracers 攔 截住或標記封包,將封包轉送到能夠做過濾的 Filters 過濾攻擊封包,非攻擊封包 就繼續轉送,使攻擊封包在網路中的存活時間越短越好,以減輕攻擊封包對網路 造成的擁塞影響,以及路由器負擔。預設已知網路拓樸結構,穿隧功能的路由器 事先可探知鄰近的過濾路由器(Filter)。

(27)

- 21 -

3.1 路由器功能簡介

異質性追蹤器分為三種類型的路由器 Tracer:一種為成本較高、功能較多,

含有可分辨、過濾攻擊封包,以及接收各處 Tracers 轉送至自己需要過濾封包的 功能,這樣的 Tracer 我們稱為 Filter(Filtering-enabled tracer),但功能多相對價 格成本也較高,對於點數多的網路之內,不論是部份佈建或是全部佈建,都是價 格高、較為耗費成本的選擇,因此我們想利用第二種 Tracer,也就是穿隧路由器

(Tunneling-enabled router),雖然無法分辨是否為攻擊的封包,但是在有攻擊產 生時,能夠將經過的封包封裝上一層新的標頭(如圖 2),轉送到最鄰近的 Filter 做過濾,此種穿隧功能在路由器中容易提昇,因此佈置數量可以較多,但轉送封 包後走的路徑總長並非最短路徑,攻擊封包轉送後會被 Filter 丟棄,但普通封包 繼續傳送至接收端,因此穿隧動作將對普通封包造成一些網路負擔。最後是標記 路由器(Marking-enabled router),負責對經過的封包做標記,也能夠對經過的封 包做穿隧的動作;而封包標記在這的幫助,除了可以使受害端初步的對攻擊路徑 做出分辨外,可讓攻擊路徑上最靠近攻擊端的標記路由器,上游的穿隧路由器進 行封包轉送,確認為非攻擊路徑上的穿隧路由器可不啟動穿隧動作,不需要整個 網路的穿隧路由器都啟動進行穿隧,可減少路由器負擔,降低啟動率(Active Ratio of Tracers),減少需要穿隧的 Tracers 數量,也就是減少對普通封包穿隧造成的網 路成本增加。

圖 2 穿隧封包封裝新標頭示意圖

(28)

- 22 -

基本的穿隧功能容易在路由器被升級使用,穿隧路由器將經過的封包外包一 層有目的端為 Filter 的新標頭(Header),不另對封包內容作加密動作,使路由器 不會負載過重,新標頭將封包轉送到鄰近的 Filter 過濾,對 Filter 來說是增加其 可過濾的網路範圍,不再限制是攻擊路徑上有經過 Filter 的攻擊封包才會被過 濾。封包的標記方法在 3.3 有詳細說明,封包標記除了找出攻擊路徑外,可以知 道哪個是最靠近攻擊端的標記路由器,有了這項資訊,可以只讓此標記路由器上 游的穿隧路由器繼續啟動做穿隧,若收到某路徑有被標記過的封包都不是攻擊封 包,可初步斷定是非攻擊路徑上的標記路由器,可通知其上游不用繼續啟動穿隧 封包的動作。

這三種異質性追蹤器都能知道鄰近的其他追蹤器資訊,如標記路由器知道鄰 近的其他標記路由器及距離,以及可通知鄰近的穿隧路由器的功能啟動與否;穿 隧路由器能知道最近的 Filters 有哪些,以及選擇距離最近的 Filter 作為轉送目 標。因成本考量,有過濾功能的 Filter 的數量比例不多情況下,配合的穿隧路由 器功能較簡單、易升級,因此分佈比例數量上可以較多,而具有標記、穿隧功能 的標記路由器的數量亦是比 Filter 數量多,但以輔助的目的之下,不會把全部的 穿隧路由器都換成標記路由器。這三種的 Tracers 追蹤器的基本總數量是總節點 數的 50%,也就是點數 1000 點中有 500 點為 Tracers,均是隨機分佈的分式;除 了隨機佈建,也許會有比較好的佈置方式,像是佈置 Tracers 在邊際路由器(Edge router)會有較好的效果,也能節省更多的網路成本,將留給未來的研究方向,

我們在這將不討論佈置方式,以隨機佈建為主。

3.2 方法評估

當受害端的入侵偵測系統( Intrusion Detection System, IDS)或防火牆

(Firewall)發現有攻擊發生時,通知上游 Filter,使網路裡全部的穿隧路由器都

(29)

- 23 -

啟動做穿隧,轉送所有到受害端的封包至鄰近的 Filter(3.4.1 的方法 1),Filter 也會將轉送至自己且是攻擊的封包做過濾的動作,此時對攻擊封包來說,是從攻 擊端傳送到穿隧路由器後,被轉送至 Filter 後被過濾掉;然而對正常的封包來說,

從發送端到穿隧路由器後,被轉送到 Filter 後還會繼續傳送到接收端,因為都使 用最短路徑傳送,因此封包若決定要穿隧轉送至 Filter 後,封包在 Filter 沒有被 過濾掉而繼續傳送到接收端,封包的傳送路徑長度可能比原先的路徑要長,如圖 3,d(RT, V)為封包傳送最短路徑,可表示為 d RT, RF + d RF, V > d(RT, V):

對攻擊封包來說,因為被轉送後提前過濾掉了,在網路中的攻擊封包繞送成 本減少,行進 hop 數變少也就是總網路成本減少;但是對正常封包來說,卻是多 傳送了一段路,被繞送到 Filter 再送至接收端,因為會多走轉送繞的路,對網路 成本也有會些微的增加,至於總增加的幅度是憑著攻擊的封包占有多少總比例而 定,下面的變數與式子計算網路成本的變化:

所有流量:Wt

穿隧路由器(Tunneling-enabled router):Rt 過濾器(Filter):Rf

穿隧功能追蹤器轉送封包機率(穿隧機率):p 正常封包占總流量百分比:α%

圖 3 封包傳送路徑示意圖

(30)

- 24 -

攻擊封包占總流量百分比:β%,α% + β% = 100%

AB 兩點之間距離 hops 數:d( A , B )

d(Rt, V)為最短路徑,d Rt, Rf + d Rf, V > d(Rt, V)

原本路徑總長 以機率 p 挑選Rf後的路徑總長 正常封包 Wt ∙ α ∙ d(Rt, V) Wt ∙ α ∙ p ∙ d Rt, Rf + d Rf, V

+Wt ∙ α ∙ (1 − p) ∙ d(Rt, V) 異常封包 Wt ∙ β ∙ d(Rt, V) Wt ∙ β ∙ p ∙ d Rt, Rf

+Wt ∙ β ∙ (1 − p) ∙ d(Rt, V)

假設使用全部穿隧(3.4.1 方法 1)後,所有穿隧路由器的穿隧機率為 p=1,

穿隧路由器挑選最近 Filter:Rf,以正常封包與異常封包轉送的路徑成本總和,

扣除原所有封包的路徑成本,就是「穿隧後成本較穿隧前原成本增加量」:

Wt ∙ α ∙ d Rt, Rf + d Rf, V + Wt ∙ β ∙ d Rt, Rf

− Wt ∙ α ∙ d Rt, V + Wt ∙ β ∙ d(Rt, V)

在上述計算式中,若結果是正值,穿隧後的成本多於原成本,表示全部穿隧 後反而沒有改善網路成本,卻增加了網路負擔;若是負值,則表示穿隧後成本的 下降,改善了攻擊在網路中的影響,使總網路成本下降。

假設總流量中攻擊所占比例是 50%,全部穿隧的穿隧機率為 p=1,在這樣的 參數比例之下,繞送正常封包造成的成本增加量,會抵銷掉 Filter 事先過濾掉攻 擊封包而節省的成本,所以全部穿隧計算後的成本可能會約相同於原本的網路成 本。但在攻擊事件比例無法預知的情況下使用全部穿隧,單純的假設攻擊量是占 總流量較高比例,多數攻擊封包被提早過濾,而會獲得較好的總成本(「穿隧後 成本較穿隧前原成本增加量」為負值),是不符合實際狀況的假設,實際上無法 避免的可能會有因攻擊量少(如:攻擊比例只占 30%),被過濾掉攻擊封包數量 少,被轉送的封包大部份是普通封包,而造成總網路成本多過原成本之情況。

(31)

- 25 -

除了無法控制的未知攻擊量會影響總成本外,如果穿隧路由器挑選轉送的 Filter 方式相同,都是最近的 Filter,則依照上面計算的式子,能夠改善總網路成 本的因子就只有穿隧機率 p 了。3.4.1 方法 1:All-tunneling 中,全部穿隧時 p=1,

讓總網路成本增加的原因是過少的攻擊量(β%),使穿隧路由器轉送了過多的普 通封包(占 α%),造成增加過多網路成本。在 3.4.2 的方法 2:50%-tunneling,

50%機率穿隧時 p=0.5,從式子中可得到因為穿隧機率的降低,大幅減少了轉送 封包會增加的網路成本,因為經過穿隧路由器的封包,只有一半的機率會被選擇 轉送,p=0.5 可使低攻擊量情況出現時,也不會讓穿隧後總網路成本增加太多。

然而固定機會的穿隧(全部穿隧和 50%機率穿隧),仍會有或多或少的浪費網路 成本,以及攻擊封包未被轉送過濾的情況,最佳的決策是依照路由器當前狀況轉 送,3.4.3 方法 3 中,Filter 回報給穿隧路由器的穿隧機率 p,使穿隧路由器能依 照路徑上實際攻擊封包數量的情況而變更穿隧機率,能更符合各處攻擊比例不同 的狀況。

3.3 封包標記方法

為使受害端能從標記過的封包資訊中,快速辨別封包的來源,並回應給系 統,讓部份非攻擊路徑上的穿隧路由器不需要繼續啟動,本篇採用先前論文[18]

提出使用的標記方法,以幫助受害端快速得知離攻擊來源最近的標記路由器。

傳統的 IP 追蹤標記方法,常有下列問題,標記欄位大小、重組的錯誤率,

以及標記過封包被覆寫的問題。封包中常使用 16 bits 的 Identification(ID)欄位 作為標記之用,然而距離的記錄也需要約 5 bits 的空間(封包平均傳送長度 22 hops[6][8]),標記資訊的長度跟資訊重組的錯誤率息息相關,使用越多的 bits 記 錄經過資訊,可以使受害端不需要收集太多封包就能重組出原始的路由器資訊,

在這有限的空間中,作為標記資訊的長度,因為記錄距離的 bits 需要限制,常使

(32)

- 26 -

用在標記資訊的空間更受限制,甚至需要分段標記;而路由器做標記時,若無判 斷先前是否被標記過(如:因無保留欄位判定…等),就可能會產生已標記封包 被覆寫的情況,使得越靠近攻擊端的路由器資訊獲得越少,以上都是標記方法常 出現的問題。

我們使用的標記方式[18]有兩個特點,不使用 ID 欄位中的空間,而利用 TTL 欄位記錄距離,可節省下 ID 欄位中原本需要做距離欄位的空間,增加路由器資 訊的標記空間,也等於加強路由器資訊的正確度,再利用 ID 欄位中 1 bit 作為標 記與否的判斷之一(標記與否的判斷仍要再加上 D-TTL 的數值範圍),不會發生 封包標記被覆寫的機會。

當封包經過標記路由器時,都會將 TTL 欄位初始為 D,並以極低的機率(e.g.

0.04)對封包做標記,將封包 ID 欄位中 1 bit 設為”1”,作為已經被標記與否的旗 標,ID 欄位剩下的 15 bits 空間標記進 Identifier of Marking-enabled Tracer and Interface,以分別各標記路由器以及封包來自於哪個網路介面;標記路由器可知 道鄰近的其他標記路由器與距離,TTL 欄位值初始為 D,TTL 每經過一個路由 器的轉送就會被減 1,當下個標記路由器收到此封包,若依機率決定標記,可從 判定(D-TTL)的結果,對照距離自己(D-TTL)hops 是否有標記路由器,以及 ID 欄位中的 1 bit 旗標值(flag),由此判斷是不是被「真的」標記過的封包,若 是被標記過的封包就不再進行標記,因此不會有已標記封包被覆寫的問題。受害 端可從 ID 欄位的 Identifier of Marking-enabled Tracer and Interface 判斷,封包是 被哪個標記路由器標記以及來源網路介面。攻擊者若想以此模式偽造標記封包,

混淆重組的攻擊路徑資訊,也可以藉由改變 D 值避免此問題。標記格式如下圖 4,

使用 IPv4 封包 Header 中的 Identification(ID)欄位 16 bits 做標記。

1 bit 15 bits

Identifier of Marking-enabled Router and Interface flag

圖 4 封包標記資訊格式

(33)

- 27 -

3.4 穿隧方法

3.4.1 方法 1:All-tunneling

為了讓 Filter 增加對攻擊封包的過濾效果,即時的在網路中快速過濾掉攻擊 封包,使攻擊封包在網路上的存活時間越短越好,又由於較昂貴的 Filter 數量不 多,我們使用大量的穿隧路由器幫助其拓展過濾觸角,這樣形成一個基本穿隧方 法:由於隨機分佈的穿隧路由器無法辨認是否為攻擊封包,穿隧路由器將經過自 己,目的地是受害端的封包全部都轉送至鄰近的 Filter,由 Filter 來過濾封包。因 網路中所有的穿隧路由器都做轉送封包的動作,稱方法 1 為「全部穿隧」

(All-tunneling),但網路上所有的穿隧路由器對全部封包都做轉送也許不會遺漏 掉攻擊封包,但由另一面來看,穿隧路由器同樣也轉送了正常封包,對正常封包 來說,卻是要走多餘的路途才能到達目的端(請見 3.2 評估說明),因我們無法 預測得知攻擊量的多寡,全部的穿隧路由器都轉送經過的封包到鄰近 Filter,不 確定對網路總成本的影響是增加或是減少,如若攻擊量只占總網路流量百分之二 十,則 All-tunneling 就對百分之八十的正常封包造成困擾及負擔了,All-tunneling 有著這樣的隱憂,因此我們提出方法 2 解決這樣的問題。

3.4.2 方法 2:50%-tunneling

在無法知曉攻擊量多寡的情況下,穿隧路由器將所有目的端是受害端的封包 都加以轉送,如果是在攻擊量占總網路流量較多時,攻擊封包都會被穿隧至 Filter 而過濾掉,對普通封包造成影響較小;然而攻擊量少時,就會對占了大部分的普 通封包做了多餘的封包轉送動作,使普通封包多被傳送的路(以 hops 計算),也 是造成網路的成本負擔。因此提出改善此一情況的穿隧方法 2:「50%機率穿隧」

(50%-tunneling),讓所有的穿隧路由器對經過的封包,做固定 50%機率的篩選 選擇是否做轉送到 Filter,尤其在無法預測攻擊量的情況下,就算是攻擊流量占

(34)

- 28 -

網路總流量中比例較低的情況(如:30%),因為有機率選擇是否做封包穿隧的 關係,相較於將所有封包都全部做轉送,會有 50%機率可以直接的避免掉因穿隧 過多的普通封包而對網路增加的成本負擔。但缺點即是對攻擊封包有所遺漏,無 法快速減少最多的攻擊封包數量。

3.4.3 方法 3:Dynamic tunneling

雖然穿隧路由器無法對封包做辨認,但是單純的只對經過的封包做有機率的 轉送是不足的,無法徹底解決在低攻擊量下正常封包被穿隧的問題,固定機率的 穿隧不僅無法反應出攻擊的狀況,而 DDoS 攻擊發生時在網路中的攻擊流量也並 不是每處都相同,因此大略的使用「50%機率穿隧」,只是減緩了在攻擊比例不 高的條件下,因轉送占多數的普通封包造成網路多餘負擔的狀況,若要再仔細的 探討,將會發現 50%的穿隧有其限制性,也就是只能減少一定程度的網路成本(攻 擊封包),想要使用更符合「節點現況」的穿隧機率,也就是依照各穿隧路由器 的攻擊比例狀況,則使用動態機率的穿隧(Dynamic tunneling)將是一個最為即 時的選擇。

在攻擊情況中的網路各節點的攻擊封包經過比例並不都相同,如果是在完全 無過濾的情況下,攻擊封包在靠近攻擊端的收集量可能是最少的,靠近受害端收 集到的攻擊封包數量將匯集的最多,在沒有任何參考資料的情況下,全部 Tracers 都使用相同的機率對封包做轉送,並不符合實際的狀況,也就是使用固定機率的 穿隧轉送封包是不夠的,使用固定的機率穿隧封包,無法反映出攻擊現況,可能 會增加過多的轉送封包路徑及網路成本,因此,各節點路由器需要使用不同的機 率對封包做轉送,動態的改變穿隧機率將會更為符合當前路由器現況。在方法 3:動態穿隧(Dynamic tunneling),對於穿隧路由器已轉送至 Filter 的封包,Filter 將會統計最近 10 次傳送來的封包中有幾次是攻擊封包,再回傳給穿隧路由器作 為其穿隧機率的依據。這樣動態的改變穿隧機率,將更為符合在攻擊路徑上的路

(35)

- 29 -

由器會有攻擊封包經過,穿隧路由器需使用較高機率做穿隧;而不在主要攻擊路 徑上的路由器不會有很高攻擊封包數量的經過,穿隧路由器依照 Filter 回報的攻 擊封包次數後,就減低進行穿隧轉送封包的機率。穿隧路由器可以依照回報狀況 調整轉送封包機率的高低,亦可減輕原本會因穿隧正常封包造成的多餘網路成本 增加,也減少路由器負擔,讓網路上的攻擊封包數量越低越好。

3.4.4 方法 4:Marking Assistance

動態穿隧可讓穿隧機率可以因實際攻擊情況有所調整,但若使用 Marking Assistance 標記功能的援助,加上標記路由器(Marking-enabled router),是否就 可以對標記方法辨識出的非攻擊區塊不繼續啟動轉送封包,也就不用網路上所有 的穿隧路由器都處於啟動轉送封包狀態了。這裡我們加入標記路由器,標記法可 以幫助我們分辨出攻擊路徑,知道較靠近攻擊端的標記路由器,以及來自哪個傳 送介面(interface),當有這個資訊之後,可以呼叫這個標記路由器對應傳送介面 上游的穿隧路由器們,繼續對經過的封包轉送至 Filter 過濾,若收到某路徑上的 已標記封包中沒有攻擊封包,則該標記路由器上游為非攻擊區域,上游的穿隧路 由器可以不用繼續做轉送封包的動作,也能降低路由器的負擔。

在相同網路結構下,需要繼續啟動穿隧路由器的數目多寡,取決於標記路由 器的數量多寡,也就是標記路由器越多,將可以劃分攻擊區域得越細,不需要啟 動的穿隧路由器數量可以再增加,而在這裡若使用不同比例的三種追蹤器,對網 路中免於繼續啟動做穿隧封包的比例也會有所不同。在網路中隨機佈建標記路由 器,經由封包標記可以知道哪個標記路由器是在攻擊路徑上最靠近攻擊端,由標 記路由器呼叫上游穿隧路由器繼續啟動做穿隧,非攻擊路徑上的穿隧路由器不用 繼 續 做 封 包 轉 送 , 因此 將 可 以 降 低 穿 隧 路由 器 的 啟 動 率 ( Active Ratio of Tracers);若在標記路由器上游無穿隧路由器的情況下,則標記路由器就做穿隧 轉送封包到 Filter。經由標記路由器的幫助,對攻擊所在區域位置以及過濾都將

(36)

- 30 -

更為精確,雖然對網路成本的減少與動態通隧相當,但降低啟動率等於節省網路 成本,也減少路由器負擔。

3.5 攻擊追蹤與啟動穿隧流程

經由受害端的入侵偵測系統 IDS(Intrusion Detect System)或防火牆測 知有被攻擊情況後,受害者對上游的 Filters 請求協助過濾,並提供封包特徵 讓 Filters 過濾攻擊封包。Filters 通知鄰近所有穿隧路由器(Tunneling-enabled router)啟動封包轉送工作,穿隧路由器依照穿隧策略的轉送封包機率(穿隧機 率),將目的端是受害者的經過封包轉送到鄰近 Filter 過濾,若是動態機率的 穿隧(Dynamic tunneling),Filter 會回傳最近傳送次數的封包裡含有攻擊封包 的機率給穿隧路由器,穿隧路由器依照回報改變轉送封包的機率。在有標記路 由器(Marking-enabled router)幫助的時候,受害端可依照收集封包中標記的資 訊得知最靠近攻擊端的標記路由器,可通知該標記路由器,由此標記路由器通 知其對應網路介面上游的穿隧路由器,繼續啟動通隧轉送封包,若對應網路介 面上游沒有穿隧路由器或是距離較遠,則該標記路由器自行啟動穿隧功能轉送 封包到鄰近 Filter;若收集到已標記封包中無攻擊封包,表示該標記路由器上 游到標記路由器中間路徑無攻擊情況,也可通知該區域的穿隧路由器不需啟動 通隧工作。

參考文獻

相關文件

本計劃的目的是透過 發展具校本特 色的語文課程,以加強學生在文學 和中華文化的學習。學校可善用課 程提供的「建議篇章」

Direct Access Attack 直接訪問攻擊. 詳細的攻擊手段描述請閱附件一 SQL

™ 不過, 如果 DHCP 用戶端不接受 DHCP 伺服器 所提供的參數, 就會廣播一個 DHCP Decline (拒絕) 封包, 告知伺服器不接受所建議的 IP位 址 (或租用期限…等)。然後回到第一階段, 再度

進行 18 以內的加法和減法口算 學生須透過口算解主要以圖像闡述的應用 題,並以橫式作記錄。.. 加法和減法的直式在學習單位 1N4

武術的基本特徵包括踢、打、摔、拿、擊、刺等技 擊動作,不僅有變化多端的 徒手技法 ,還有多種令 人嘆為觀止的

在法國《查理》慘遭恐怖攻擊後,國際社會透過「我是查理」(JE SUIS

閉口端鉛直向上,用水銀柱將一定質量的空氣封在封 閉端氣柱長為 4cm ·水銀柱高為 45cm ·進入封閉端 的水銀柱長

卻不是恢復封建,而是將其中原來封建結構的理想成分,擴