各種調(diào)查、眾多事例以及媒體報(bào)道都在關(guān)注同樣一個重大問題,即電信與計(jì)算機(jī)網(wǎng)絡(luò)的安全性需求日益增長。
《CSO》-《首席安全官》雜志、美國聯(lián)邦經(jīng)濟(jì)情報(bào)局以及 CERT 協(xié)調(diào)中心于 2004 年進(jìn)行的一項(xiàng)調(diào)查[1]顯示,受調(diào)查的網(wǎng)絡(luò)安全或IT部門的管理人員及執(zhí)法部門人員中有 77% 稱其所在機(jī)構(gòu)遭受過電子犯罪(特別是惡意軟件代碼的攻擊)。這種代碼的范圍十分廣泛,其中包括病毒、蠕蟲、特洛伊木馬、間諜軟件以及后門軟件等。
第二種常見的電子犯罪是拒絕服務(wù) (DoS) 攻擊,約有 44% 的受調(diào)查者受到過其影響。 Cisco 近期收購了一家剛成立一年的新創(chuàng)公司 NetSift,這進(jìn)一步說明電子犯罪迫切需要我們的高度重視 [2]。
與有關(guān)電子犯罪進(jìn)行斗爭,通常采取的方法是簽名模式匹配 (signature pattern matching),即掃描進(jìn)入流量是否包含已知的惡意代碼。隨著網(wǎng)絡(luò)的訪問節(jié)點(diǎn)從快速以太網(wǎng)發(fā)展到千兆以太網(wǎng),骨干網(wǎng)絡(luò)連接速度也從 OC-192 (10 Gbits/s) 上升到 OC-768 (40 Gbits/s)。
對于這種線路速度而言,采用軟件檢查數(shù)據(jù)包的方法已經(jīng)很不實(shí)用了,因?yàn)槲覀儙缀鯖]有時間來進(jìn)行上述檢查。這種情況要求我們采用基于硬件的數(shù)據(jù)包監(jiān)測工具 (packet monitor) 來跟上線路傳輸速度的要求。同時,路由器必須處理的簽名(或規(guī)則)數(shù)量也從 10 年前的約 1,000 個增長到了目前支持細(xì)分服務(wù)的網(wǎng)絡(luò)中的數(shù)千個。
規(guī)則數(shù)據(jù)庫規(guī)定應(yīng)如何對進(jìn)入的數(shù)據(jù)包進(jìn)行分類、細(xì)分服務(wù)、安全性、負(fù)載平衡以及流量測量等方面的處理。這些數(shù)據(jù)庫包含有10萬條規(guī)則,目前正處于探討之中,在今后一兩年內(nèi)預(yù)計(jì)就可以應(yīng)用于網(wǎng)絡(luò)中[3]。由于網(wǎng)絡(luò)處理器本身就是高度優(yōu)化的專用集成電路 (ASIC) 器件,根據(jù)數(shù)據(jù)庫中規(guī)定的規(guī)則執(zhí)行高速模式匹配工作,因此其能夠很好地滿足打擊電子犯罪的要求。
以上的圖 1 顯示了典型的入侵檢測系統(tǒng),該系統(tǒng)在 IDS 中采用網(wǎng)絡(luò)處理器,用于進(jìn)行簽名匹配。
以下圖 2 顯示的簡單 (Aho ? Corasick) 算法采用狀態(tài)機(jī)在進(jìn)入流量中搜索所有已知的惡意簽名。搜索從根節(jié)點(diǎn) (root node) 開始。只要有新的字符抵達(dá),就會根據(jù)到達(dá)字符來改變狀態(tài)。如果出現(xiàn)紅色節(jié)點(diǎn),就意味著找到了簽名,并隨之采取糾正措施,如避免該數(shù)據(jù)包進(jìn)入 LAN,將其存儲用作隨后的分析并向有關(guān)管理部門發(fā)出告警等。
如果新字符未發(fā)現(xiàn)問題,也沒有出現(xiàn)在目錄樹中,則搜索會重置為 START 節(jié)點(diǎn)。我們還采用 Bloom 過濾器等技術(shù)來提高效率,從而改善上述工作方法 [4]。 Bloom 過濾器作為預(yù)處理器工作,在識別可能有害的代碼的同時讓大多數(shù)正常信息流通過,查到的潛在有害的代碼要進(jìn)行全面檢查,從而降低檢查系統(tǒng)的負(fù)荷。
DDoS 攻擊
拒絕服務(wù) (DoS) 攻擊會使合法用戶不能從所需的資源處獲得服務(wù),這種攻擊手段通常使用大量無用信息流量使網(wǎng)絡(luò)處于癱瘓狀態(tài)。大量無用信息會使服務(wù)供應(yīng)方(如 web 服務(wù)器)過載,從而導(dǎo)致無法交付服務(wù)。DoS 攻擊還有可能導(dǎo)致系統(tǒng)之間不能實(shí)現(xiàn)彼此通信。
分布式拒絕服務(wù) (DDoS) 攻擊采用“多對一”的方式進(jìn)行攻擊,通常會控制數(shù)臺僵尸機(jī) (zombie machine)(即在主人不知情的情況下被控制用來進(jìn)行攻擊的系統(tǒng))同時向目標(biāo)服務(wù)供應(yīng)方系統(tǒng)進(jìn)行攻擊。針對這種攻擊,我們提出了相關(guān)解決方案 [6]。典型的方法是將合法信息流量與大量的 DdoS 流量相分離,忽略旨在消耗資源的非法流量,同時繼續(xù)為合法流量提供服務(wù)。我們可以通過同時采用以下技術(shù)來實(shí)現(xiàn)上述目的:
- 將客戶端(如 web 瀏覽器)重新指向新的服務(wù)器 IP 地址與端口號,從而識別包含真實(shí) IP 源地址的數(shù)據(jù)包,并剔除欺騙性數(shù)據(jù)包。由于重定向進(jìn)程可針對客戶端的IP 源地址采用消息認(rèn)證代碼 (MAC),因此我們能夠識別并剔除欺騙性數(shù)據(jù)包。
- 如攻擊者用合法 IP 地址進(jìn)行攻擊,則應(yīng)采取配額系統(tǒng) (quota system) 來應(yīng)對。這可確保所有客戶端系統(tǒng)不會非法消耗大量可用資源,從而避免了客戶端不能獲得服務(wù)的情況發(fā)生(即拒絕服務(wù))。
- 讓客戶端(如 web 瀏覽器)“解決”密碼問題。該技術(shù)讓客戶端(如本例中的 web 瀏覽器)必須承擔(dān)一定的計(jì)算任務(wù)才能獲得所需的服務(wù)(如下載網(wǎng)頁)。相關(guān)可行性算法[5]能夠確保讓請求服務(wù)的客戶端(通常為終用戶的計(jì)算機(jī)終端)執(zhí)行適量的計(jì)算任務(wù),這樣就能避免過載。我們強(qiáng)制客戶端計(jì)算機(jī)終端每次都為獲得所請求的服務(wù)執(zhí)行小量的計(jì)算,這樣就能查出黑客是否已經(jīng)控制僵尸機(jī)來進(jìn)行攻擊。
有鑒于此,只要系統(tǒng)發(fā)生危險(xiǎn),就會向系統(tǒng)主人與主管部門發(fā)出告警。只要實(shí)施良好的 IT 策略,企業(yè)就能解決攻擊者控制僵尸機(jī)的問題,從而贏得打擊電子犯罪的戰(zhàn)斗。
-盡管我們事先不能確切了解會發(fā)生什么情況,但采用算法可測量通信流量是否正常[7]。我們可用網(wǎng)絡(luò)處理器中提供的精細(xì)粒度流量測量功能來識別可疑的流量模式,一旦發(fā)現(xiàn)便可進(jìn)行隔離檢查,避免其進(jìn)入本地網(wǎng)絡(luò)。
攻擊復(fù)雜化
由于在 web 上很容易就能獲得惡意代碼,造成攻擊技術(shù)不斷升級,在此情況下,惡意代碼簽名常常分散在多個數(shù)據(jù)包內(nèi)(因此只檢測單個數(shù)據(jù)包的機(jī)制再也滿足不了目前需求),有些簽名還會加密,這使檢測工作的難度不斷加大。這些情況要求 IDS 設(shè)備能夠保持良好狀態(tài),即在各種數(shù)據(jù)包中跟蹤惡意代碼簽名,同時還要對進(jìn)入流量進(jìn)行解密。IDS 設(shè)備還應(yīng)在檢測后對正常流量進(jìn)行加密,這樣才能確保按需到達(dá)目的地。
過去一兩年間,還出現(xiàn)了幾種組合型威脅(稱作“多重攻擊 (Blended Threat)”)的情況。這些攻擊會同時采用一系列病毒、蠕蟲、特洛伊木馬技術(shù)的組合,使惡意代碼能夠利用服務(wù)器與因特網(wǎng)的薄弱環(huán)節(jié)。這種混合式威脅用多樣化的手段進(jìn)行擴(kuò)散式攻擊。因此,上述攻擊更難檢測和預(yù)防。這些多重攻擊的情形多樣,其中包括在 web服務(wù)器中嵌入軟件代碼,從而造成訪客感染;發(fā)送帶有蠕蟲附件的垃圾郵件;以及無需人工干預(yù)就能自動擴(kuò)散傳播。這種攻擊在會話開始時就檢測到,否則很難打敗它。
在上述情況下,能夠?qū)M(jìn)入的惡意通信流量進(jìn)行分類以快速避免進(jìn)一步檢測的網(wǎng)絡(luò)處理器會發(fā)揮極高的防止效率。由于安全需要,對 NP 的要求越來越高,這就為專門用于安全性目的的獨(dú)立 ASIC 設(shè)備推廣帶來了市場。
不過,長遠(yuǎn)說來,我們應(yīng)既充分利用模式匹配技術(shù),又要結(jié)合采用 NP 中具備精細(xì)粒度的流量管理特性,這才是高效解決安全問題的合適方法,而不是依靠多個 ASIC 安全設(shè)備并讓每個設(shè)備專門去處理某種具體領(lǐng)域的安全威脅。
異常協(xié)議檢測
進(jìn)行異常協(xié)議檢測時應(yīng)遵循網(wǎng)絡(luò)通信會話的進(jìn)程,識別各種異常情況。如果瀏覽器或文件傳輸協(xié)議 (FTP) 會話等應(yīng)用嘗試打開與該應(yīng)用協(xié)議無關(guān)的端口,那么我們就會制止該會話,并將其標(biāo)記為“需要進(jìn)一步檢查”。
此外,我們還需要對上述技術(shù)進(jìn)行擴(kuò)展,在數(shù)據(jù)庫中建立用法描述。如果有的會話與數(shù)據(jù)庫中規(guī)定的用法描述不匹配,那么 IDS 系統(tǒng)就會發(fā)出告警,或密切“監(jiān)視”該會話,或強(qiáng)制終止該會話。
證實(shí)入侵的步驟
網(wǎng)絡(luò)上證實(shí)入侵的系統(tǒng)分為四個階段:檢測、預(yù)防、保護(hù)及薄弱環(huán)節(jié)檢測。專為模式匹配設(shè)計(jì)的語言,如用于監(jiān)視簽名的環(huán)境模式識別語言(CPRL)以及杰爾系統(tǒng)的函數(shù)編程語言 (FPL) 等,均可提高掃描效率,從而幫助證實(shí)入侵是否發(fā)生。
盡管這些工作任務(wù)看起來繁重,但網(wǎng)絡(luò)處理器或路由器制造業(yè)并不必為確保網(wǎng)絡(luò)安全而給所有的網(wǎng)絡(luò)路由器添加大量計(jì)算功能。只要網(wǎng)絡(luò)上10% 的路由器能夠進(jìn)行內(nèi)容過濾,我們就可以靈活而熟練地將這些設(shè)備布置在恰當(dāng)?shù)奈恢蒙?,從而確保檢查到通過網(wǎng)絡(luò)的所有數(shù)據(jù)包[9]。
總結(jié)
打擊電子犯罪常常要求高速度的模式匹配功能來檢測是否有非法簽名入侵網(wǎng)絡(luò)。此外,我們還應(yīng)采用流量測量技術(shù)來監(jiān)控流量模式的微妙變化,從而發(fā)現(xiàn)攻擊會話是否已經(jīng)啟動,盡管事先并不了解相關(guān)攻擊模式。
我們采用成熟穩(wěn)定的基于 ASIC 的 IDS 技術(shù)可實(shí)現(xiàn)上述功能,因?yàn)樵摷夹g(shù)既支持高速模式匹配,又支持精細(xì)粒度的流量管理以及統(tǒng)計(jì)數(shù)據(jù)收集功能。
綜上所述,網(wǎng)絡(luò)處理器在打擊電子犯罪領(lǐng)域發(fā)揮著重要作用,因?yàn)檫@些 ASIC設(shè)備經(jīng)優(yōu)化后能夠以精細(xì)粒度級性能快速進(jìn)行模式處理操作、流量管理以及統(tǒng)計(jì)數(shù)據(jù)收集。
參考資料:
1. http://www.csoonline.com/read/090104/2004ecrimewatchsummary.pdf; 2.http://www.calit2.net/articles/article.php?id=630;
3.作者:F. Baboescu 與 G. Varghese,摘自《IEEE/ACM 網(wǎng)絡(luò)匯刊》“可擴(kuò)展數(shù)據(jù)包分類”,2005 年 2 月第 1 版第 13 卷;
4.作者:S. Dharmapurikar 等,摘自 2003年 8 月版《高性能互連會議文集 (HotI)》44 至 51 頁部分“用并行 Bloom 過濾器進(jìn)行深入的數(shù)據(jù)包檢查”,美國加利福尼亞州斯坦福;
5.作者:X.F. Wang 與 M.K. Reiter,摘自《2003 年 IEEE安全與隱私會議文集 (SP’03)》“用計(jì)算任務(wù)防止拒絕服務(wù)攻擊”;
6.作者:J. Xu 與 W. Lee,摘自《IEEE 計(jì)算機(jī)匯刊》“預(yù)防分布式服務(wù)攻擊,維持 Web 服務(wù)的可用性”,2003 年 2 月第 2 版,第 52 卷第 195 頁至 208 頁;
7.作者:F. Hao 與 M. Kodialam T.V. Lakshman,摘自《第 12 屆 IEEE網(wǎng)絡(luò)協(xié)議國際會議備忘錄 (ICNP’04)》“實(shí)時檢測隱藏的流量模式”;
8.作者:F. Hao 等,摘自《IEEE INFOCOM 2005》2080 頁至2090 頁部分的“通過計(jì)算重合情況用存儲器的方式快速高效地估算流量”;
9.作者:M. Kodialam、T.V.Lakshman 及 S. Sengupta,“用內(nèi)容過濾節(jié)點(diǎn)配置網(wǎng)絡(luò),實(shí)施網(wǎng)絡(luò)安全應(yīng)用”。