3. 研究方法與內容
3.3 系統架構
3.3.1 各模組功能說明 :
1. HC探測模組 : 在系統中,我們利用「HC 探測模組」掃描廣大 的主機網域,藉由模組所發送的 TCP SYN 標誌封包,我們能大 量的取得網路主機所返回的 SYN.ACK 或是 RST 封包,並經由 封包剖析探得本機與各個 IP 網域中途的 Hop Count,再與 MYSQL 資料庫進行連接,將所取得的 Hop Count 存入 MYSQL 資料庫中,以便將來進行封包過濾時所需進行之比對動作。
2. 狀態轉換模組 : 依據封包的比對錯誤率高低而將系統轉換為不 同之狀態。系統本身有三種狀態,Normal、Alert 與 Action 狀態,
當處在 Normal 狀態時,系統並不會丟棄任何封包,而只會判斷 流進封包的 Hop Count 範圍值,並計算封包比對錯誤率。當錯誤 率達管理者所設定的一「警告比例」x 後,系統便進入 Alert 狀 態。當系統狀態進入 Alert 狀態後,系統會發出警訊通知管理者 系統接收太多的不合理封包,系統管理者需注意是否有可疑狀 況發生,例如流量的爆增,或是路徑 router 受到改變等需更新 AHCT 資料之現象。而當封包比對錯誤率到達「臨界比例」y 後,
系統狀態將會轉換成 Action,在這狀態下的不合理封包,將被 進行丟棄動作。
3. 封包檢測過濾模組 : 藉由「封包檢測過濾模組」,我們能對所流 進系統的封包與資料庫內之探測資料(Hop Count 及 History Record)作一比對,如不在合理範圍之內則將之判斷為非法及偽 造的封包,必要時將之丟棄。
4. 位址解析模組 : 這個模組主要監控資料庫內的位址資料,當系 統處於 Normal 狀態時,經由封包檢測模組檢測通過後,判斷為 合理的 Hop Count 範圍之封包,便進行 IP 位址的「接觸記錄」,
其會在資料庫內的 Touch 欄位增加一定之積分值。而為了避免 攻擊者的事前準備動作,在攻擊前事先用假冒的 IP 位址來增加 History Record,所以必須是合理範圍的 Hop Count 封包資料才 給予記錄。當系統處於 Alert 狀態時,表示系統目前可能接收到 一些不尋常之 IP 封包,所以在這系統狀態下時,封包之 Hop Count 即使是在合理範圍內,我們也不進行 IP 位址的「接觸記 錄」。當系統處於 Action 狀態時,此時系統可能正處於大量偽 造封包接收之情況,所以對於未曾接觸過之 IP 位址將採取丟棄 之動作。
5. AHCT 資料庫 : 資料庫內容欄位如表 3-3 所示。
(1) IP Address 代表所掃描 IP 位址前 24 bits 網段位址。由於在 同一個子網段之主機其到達本機所要經過的 Hop Count 是相
同的,所以我們只記錄前 24 bits 網段位址,以節省儲存空間 及提升比對效率。
(2) Hop Count 為上述之 IP 網段到達本機時所要經過之路由數 (3) Range 為此 IP 網段之 Hop Count 可以容忍之誤差值,由於
封包路由過程是不固定的,其可能因路徑的不同或是路由器 的增減而使得所經過的路由器數有些許的變動,所以增加此 一欄位以提高比對命中率。
(4) Mismatch times 為該網段之累積錯誤次數。
(5) Time 為這筆資料記錄之產生時間。
(6) Touch 則為此 IP 位址所累計之積分值,當積分值為零時則 代表此 IP 位址從沒接觸過。
表 3-3 AHCT 欄位表
IP Address 所掃描之 IP 前 24 bit 網段位址 Hop Count 所對應之 Hop Count
Range 所容許之誤差範圍值 <0,1,2>
Mismatch times 該網段封包比對錯誤次數 Time 所掃描之時間
Touch 過去曾經接觸記錄