https://newera17031.activehosted.com/index.php?action=social&chash=01e9565cecc4e989123f9620c1d09c09.2117&nosocial=1

觀點

從入侵偵測走向入侵預防

2003 / 05 / 05
江其杰
從入侵偵測走向入侵預防

現行入侵偵測技術的限制 目前網路型與主機型入侵偵測系統普遍有下列潛在不足之處:
只能偵測出已知的攻擊模式
以比對特徵為基礎﹙Signature-based﹚的安全機制只能辨識出資料庫中有相對應的攻擊特徵之非法行為,所以攻擊特徵(Signature)的開發速度會影響安全機制的有效性。針對每一種不同的攻擊,Signature-based的入侵偵測產品都需要一個相對應的攻擊特徵,在2001年,每一天至少需增加6個攻擊特徵到資料庫中,相信這個數字在現在已增加到每一天至少需增加12個攻擊特徵。Signature-based的安全機制無法跟上已知漏洞增加的速度。以安全漏洞的數目之多,再加上以驚人的速度增加,極有可能目前已知的安全漏洞中並沒有相對應的攻擊特徵。

誤判率
現行的攻擊模式與特徵比對的技術,常出現誤判(將正常的網路存取行為誤認為攻擊行為)的狀況,當誤判率過高,管理人員疲於調查追蹤錯誤的警訊,會造成安全設備與安全管理人員的效率降低。誤判的狀況,在軟體式的網路型入侵偵測系統最為嚴重。因軟體式網路型入侵偵測系統多半有效能上的瓶頸,當效能跟不上網路流量的速度,就會開始掉封包﹙Drop packets﹚,導致封包資訊不完全而容易造成誤判。

缺乏立即有效的回應
入侵偵測系統,顧名思義強調偵測監控的功能。目前的入侵偵測系統如果偵測到攻擊行為,能夠馬上通知管理者並提供即時分析,但卻普遍缺乏立即回應與阻止攻擊的能力,所以比較不容易顯示出它的效益,也限制了它對網路系統所提供的防護功能。

新的解決方案—入侵預防技術﹙Intrusion Prevention﹚
針對上述現有入侵偵測系統的不足,一種可偵測出未知、未曾出現過的攻擊行為,並能有效的阻止攻擊、預防系統受到損害之新技術一入侵預防已問世。有趣的是,新的技術是參考、利用駭客攻擊程序來達成的。

駭客攻擊程序
1. 探測﹙Probe﹚階段-在一開始,駭客最主要的目的是找出有安全漏洞、可以下手攻擊的主機。
2. 滲透﹙Penetrate﹚階段-在這個階段,駭客最主要的目的是利用特定攻擊手法,例如記憶體溢位﹙Buffer overflow﹚,將攻擊程式傳送到攻擊目的地主機,並執行此程式。
3. 常駐﹙Persist﹚階段-當攻擊程式成功的在受害主機上執行,攻擊程式會讓自己可以常駐在受害主機上,即使受害主機重新開機也能持續運作,供遠端搖控的駭客使用。
4. 擴張﹙Propagate﹚階段-攻擊程式會特續擴張的時候,駭客利用已經成功侵入並常駐在受害者電腦的攻擊程式尋找鄰近網路上是否有可以攻擊的新目標。
5. 癱瘓﹙Paralyze﹚階段-真正的傷害會在此時發生,受害者電腦的檔案被刪除,系統當機、DDOS攻擊開始進行。

在“滲透”與“常駐”這兩個階段之間有一條很清楚的分界線。前兩個階段會有許多“變形”產生,也就是同一個攻擊程式會利用不同的方式滲透,而且攻擊程式在前兩個階段中多會利用迴避偵測(Evasion)的技術,例如將攻擊程式隱藏在URL的Unicode中,讓防火牆誤以為是正常的網頁存取,並迴避入侵偵測系統。因此在駭客攻擊的前兩階段,傳統入侵偵測系統除非有確切的攻擊特徵,否則不易偵測出實際的攻擊手法﹙假設此為一個新的攻擊方式﹚,也極易造成誤判。

但攻擊的後三個階段剛好與前兩個階段相反。在後三個階段中,攻擊的模式相當固定,幾乎沒有任何變化。例如改變受害者主機電腦的作業系統、增加未被授權的使用者帳戶、啟動新的網路連線、刪除檔案。1988年著名的Morris Worm與2001年的NIMDA Worm,在後三個階段所執行的事幾乎一模一樣。再者,在這三個階段中的破壞行為,例如在“癱瘓”階段中攻擊程式可能會竄改作業系統核心,這對安全機制來說是相當明顯的攻擊事件,比較容易被正確的辨識出來。 如果要在攻擊程序的早期偵測出攻擊行為,每一個攻擊看起來都不一樣,若要做出正確判斷,每一個攻擊都需要一個各別相對應的攻擊特徵,如此一來便會陷入無止盡的攻擊特徵更新比賽。但駭客的攻擊手法不斷翻新,攻擊特徵的開發幾乎是處於被動的劣勢。

一個新的,以分析攻擊行為為基礎(Behavior-based)的安全技術能更有效的辨識與防止攻擊。相較於針對攻擊前期的動作開發比對的攻擊特徵,Behavior-based的安全機制,則是專注在防止攻擊後期的破壞行為。因為如前所述,攻擊後期的行為能被更有效而精準的辨識出來,且真正的破壞行為也都是在攻擊最後期發生。

Behavior-based的安全機制忽略攻擊程式是利用何種手法進入內部網路,而專注在分析攻擊程式在攻擊後期的破壞行為。舉例來說,如果以一個攻擊後期的破壞行為是「網頁伺服器增加了一個未被授權的使用者帳戶」,有很多種攻擊手法都會進行此種非法行為,以比對特徵為基礎的安全機制,需要好幾個攻擊特徵才能偵測出所有可能導致此種非法行為的攻擊,但是以分析攻擊行為為基礎的安全技術卻不需要如此麻煩,便能有效阻止此種非法行為的攻擊。

以分析攻擊行為為基礎的安全機制不單只是偵測出攻擊行為,還能主動防止攻擊所產生的傷害。以比對特徵為基礎的安全機制由於誤判率太高,即使有主動回應的功能,使用者也要小心規劃,因為有可能阻止的是正常的網路連線。以分析攻擊行為為基礎的安全機制,藉著分析與交叉比對(Correlation)整個駭客攻擊程序,可以精確的從所有「可疑」的連線中辨識出真正的攻擊,也能夠辨識出加過密的攻擊程式,即使是經過SSL加密。

當應用程式(包括攻擊程式)要開始執行時,會存取所需要的系統資源,如記憶體。由於系統資源是由系統核心(kernel)來分配,因此應用程式(包括攻擊程式)會向系統核心來取得所需的資源,而應用程式與系統核心之間的溝通稱為Operating System call(或API call)。以分析攻擊行為為基礎(Behavior-based)的安全機制便會攔截分析OS call,並與所有來自同一應用程式的OS calls做交叉比對以辨識出攻擊程式,即時的允許一般應用程式正常以及拒絕攻擊程式的執行。
以分析攻擊行為為基礎的安全機制主要優勢在:
1. 可以有效回應已知與未知的攻擊,預防對伺服 器與一般個人電腦造成損害。
2. 對攻擊的預防近乎零誤判率。
3. 不需陷入攻擊特徵與安全漏洞數目上的競爭。
4. 無須更新,因為入侵預防系統並不會使用到攻擊特徵。

以分析攻擊行為為基礎的安全機制真正做到入侵的防範而非只是偵測到攻擊,於是也稱之為入侵預防,藉此提供更實質的保障。

(本文作者現職為聚碩科技產品經理)