第一章 簡 介
1.1 研究背景
網際網路的快速成長,和出現一些嶄新的應用,如 P2P 檔案共享、視訊點播,
以及電子商務的興起,大大地提升了使用者在網路上的網路流量。網路的速度和 頻寬也迅速地增加,以滿足使用者的需求。正因如此,網路上的一些惡意攻擊,
如拒絕服務(Denial of Service, DoS)、電子郵件病毒(E-mail virus)以及網際網路 蠕蟲(Internet worm),可以更快和更具破壞性的進行攻擊。例如,Code Red 蠕蟲 和 SQL Slammer 蠕蟲在數分鐘到數小時間就造成世界上數十億美金的損失。
字樣比對(Pattern matching)是電腦科學中的一個基本問題,其研究內容在資 訊檢索、資料壓縮、搜尋引擎、入侵偵測、內容過濾以及基因排序等都佔據了重 要的一環。在字樣比對演算法中常被提及的有 KMP, D.E. Knuth, J.H. Morris and V.R. Pratt [1]、Boyer-Moore (BM), R.S. Boyer and J.S. Moore[2]、 Wu-Manber, S.
Wu and U. Manber [3]、Aho-Corasick (AC), A.V. Aho and M.J. Corasick [4]。而當 我們在探討字樣比對演算法時,經常將它們區分成,
以複雜度的觀點:
可分為『線性(linear)』/『子線性(sub-linear)』字樣比對演算法。
AC 字樣比對演算法是一種典型且常見的線性時間演算法,它將字 樣(pattern)建構成有限狀態機(Finite state automaton),然後在輸入端一個 接一個(one by one)輸入字元(character),再根據現在狀態(current state) 與輸入的字元(input character),將狀態轉移至下一個狀態(next state)。
AC 演算法的時間複雜度為 O(n),因此它在最壞情況(worst case)的表現
第一章 簡介
尤佳。
BM 字樣比對演算法則是典型的子線性時間的演算法,在很多情況 (時間)下,它每次移動時,都跳躍(移動)一段長距離的位置,使得它就 時間複雜度而言優過於線性時間複雜度,我們稱之為子線性時間複雜 度。此演算法的設計在一般情況(average case)下的表現突出,時間複雜 度為 O(n+m),其中 n 為輸入欲比對之字串(string)的長度,m 為字樣長 度;但在最壞情況下的表現就差強人意,時間複雜度為 O(n*m)。
以可比對字樣多寡的觀點:
可分為『單一(single)』/『多(multiple)』字樣比對演算法。
上述,BM 演算法為單一字樣比對演算法,意指當輸入字串餵進 時,僅單一字樣與其進行比對工作。
AC 則為多字樣比對演算法,意指當輸入字串餵進時,由多字樣所 建構成的有限狀態機會與其進行比對工作,因此,我們可能會在輸入字 串掃描完畢後,同時偵測到多個字樣。正如所述,AC 演算法同時具備
『線性』及『多』的好處,因此經常被運用作為字樣比對中的搜尋引擎。
在第二章中,我們會再詳細的解說 AC 的動作/操作原理。
實現於軟體的字樣比對也正因網際網路的快速成長,無法跟上日益增加的網 路速度,使其無法有效與即時地替我們防堵網路上的惡意攻擊。由於無法快速的 處理網路上的流量,這個先天性的缺憾,使得人們開始將注意力轉移至以硬體化 的方式實現字樣比對的工作。相關的論文有如雨後般的春筍,絡繹不絕。
第一章 簡介
1.2 研究動機
幾乎當前市場上的網路入侵檢測系統(Network Intrusion Detection System, NIDS)都是依賴一種資料收集(data collection)的機制,此機制屬於被動協定分析 (passive protocol analysis),這種模式在本質上是有先天性的缺陷。被動協定分析 的意思是說,入侵偵測系統在網路上是處於被動地觀看網路流量,並詳細地檢查 流量中是否有可疑字樣的蹤跡。因此,我們可以大致上歸類出下列幾個主要的問 題:
(1) 入侵偵測系統是否有足夠的訊息去偵測網路上流量?
(2) 入侵偵測系統對於可疑字樣的操作模式是屬於 fail open,意指當入侵偵 測系統失敗時,網路仍是會通的,不會因為入侵偵測系統的失敗,而造 成網路中斷的情形,但是此時網路的安全性是有疑慮的。這種操作模式 與防火牆相異,防火牆對於可疑字樣的操作模式是屬於 fail close,意指 當防火牆失敗時,網路是不通的,以保護使用端的安全。
(3) 基於軟體的入侵偵測系統是否能夠在網際網路的快速發展以及網路速 度與頻寬日益增加下,還能有效地與即時地偵測出可疑的活動?
本論文的研究重心將致力於解決上述第三個問題。很明顯地,基於軟體的入 侵偵測系統在處理速度上遇到了瓶頸,這激發我們去為這問題找到一個新的答 案。在 NTL 實驗室,李 程輝 教授和黃 迺倫 學姐的通力合作下,開發出一個 新穎的可延展之字樣比對架構,此新穎的字樣比對架構不僅在比對的速度上有著 優越的表現,且所需儲存的空間也非常的節省,若以總和效能來進行比較,我們 的可延展之字樣比對架構是現今的字樣比對領域中的領頭者。在有著優秀的字樣 比對演算法下,我們更進一步地將它實現於硬體之上,以嚴謹和謹慎的觀點去評 估其實際實現於 FPGA 的可延展之字樣比對架構能有著如何的表現。