網(wǎng)絡(luò)處理器滿足更高安全性需求
各種調(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)槲覀儙缀鯖]有時(shí)間來進(jìn)行上述檢查。這種情況要求我們采用基于硬件的數(shù)據(jù)包監(jiān)測工具 (packet monitor) 來跟上線路傳輸速度的要求。同時(shí),路由器必須處理的簽名(或規(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í)讓大多數(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))同時(shí)向目標(biāo)服務(wù)供應(yīng)方系統(tǒng)進(jìn)行攻擊。針對這種攻擊,我們提出了相關(guān)解決方案 [6]。典型的方法是將合法信息流量與大量的 DdoS 流量相分離,忽略旨在消耗資源的非法流量,同時(shí)繼續(xù)為合法流量提供服務(wù)。我們可以通過同時(shí)采用以下技術(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ì)粒度流量測量功能來識別可疑的流量模式