《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 業(yè)界動態(tài) > 一種基于網(wǎng)絡(luò)處理器的入侵檢測防御系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

一種基于網(wǎng)絡(luò)處理器的入侵檢測防御系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

2008-03-31
作者:賈曉劍,余 榮,,梅順良

  摘 要: 入侵檢測" title="入侵檢測">入侵檢測防御(IDP)系統(tǒng)是一種新興的代表未來發(fā)展方向的維護(hù)網(wǎng)絡(luò)安全的重要工具,。首先提出一種由IDP系統(tǒng)構(gòu)建的網(wǎng)絡(luò)安全體系結(jié)構(gòu),進(jìn)而重點(diǎn)討論如何采用網(wǎng)絡(luò)處理器" title="網(wǎng)絡(luò)處理器">網(wǎng)絡(luò)處理器(NP)實(shí)現(xiàn)輕量級IDP系統(tǒng),。研究結(jié)果表明,基于IDP構(gòu)架的網(wǎng)絡(luò)安全系統(tǒng)" title="安全系統(tǒng)">安全系統(tǒng)更具安全性,由NP實(shí)現(xiàn)的輕量級IDP系統(tǒng)可滿足中小企業(yè)用戶對網(wǎng)絡(luò)安全的需求,。
  關(guān)鍵詞: 網(wǎng)絡(luò)處理器 入侵檢測防御系統(tǒng) 多線程并行編程 嵌入式實(shí)時(shí)操作系統(tǒng)

  隨著網(wǎng)絡(luò)應(yīng)用的普及,政府,、銀行,、大中小型企業(yè)等機(jī)構(gòu)都已經(jīng)逐步建立了內(nèi)部網(wǎng)絡(luò)資源,這些電子商務(wù),、電子政務(wù)和企業(yè)網(wǎng)絡(luò)中的商業(yè)秘密,,就是攻擊者的目標(biāo)。各種安全產(chǎn)品也相繼出現(xiàn),,如網(wǎng)絡(luò)防毒,、防火墻、入侵檢測系統(tǒng)" title="入侵檢測系統(tǒng)">入侵檢測系統(tǒng),、漏洞掃描系統(tǒng),、身份認(rèn)證和加密系統(tǒng)等。它們對防止系統(tǒng)被非法入侵都具有一定的效果,但是還不能完全防止對于應(yīng)用層的攻擊以及完全,、及時(shí)地阻止入侵,。所以對網(wǎng)絡(luò)系統(tǒng)提供良好的保障具有很強(qiáng)的現(xiàn)實(shí)性和緊迫性。
1 現(xiàn)有網(wǎng)絡(luò)安全技術(shù)——IDS技術(shù)簡介
  當(dāng)前比較先進(jìn)和流行的網(wǎng)絡(luò)安全技術(shù)已經(jīng)進(jìn)入了防火墻與其他安全機(jī)能產(chǎn)品,,特別是入侵檢測系統(tǒng)IDS(Intrusion Detection System)[1~3]的智能化協(xié)防階段,。入侵檢測是指對計(jì)算機(jī)網(wǎng)絡(luò)上企圖入侵、正在進(jìn)行的入侵或已經(jīng)發(fā)生的入侵活動進(jìn)行識別和響應(yīng),。從數(shù)據(jù)來源看,,可以將入侵檢測系統(tǒng)分為基于主機(jī)的入侵檢測系統(tǒng)(HIDS)和基于網(wǎng)絡(luò)的入侵檢測系統(tǒng)(NIDS)。圖1所示是一種典型的網(wǎng)絡(luò)型入侵檢測系統(tǒng)[4],。
  圖1所示的網(wǎng)絡(luò)型IDS系統(tǒng)是在基于防火墻的基礎(chǔ)上,,利用網(wǎng)絡(luò)型IDS對防火墻的漏洞進(jìn)行彌補(bǔ)的一種網(wǎng)絡(luò)安全系統(tǒng)。


  首先,,防火墻作為一種獲取安全性的方法,,有著不可替代的作用。它可以確定允許提供的服務(wù),,對受保護(hù)的網(wǎng)絡(luò)(即網(wǎng)點(diǎn))的往返訪問進(jìn)行控制,,防止易受攻擊的協(xié)議的使用,對系統(tǒng)進(jìn)行了集中的安全防范,。
  其次,,IDS用來對網(wǎng)絡(luò)數(shù)據(jù)作深層次的檢測。如圖1所示,,利用IDS探測器連接在集線器上,,對一個(gè)網(wǎng)段進(jìn)行監(jiān)控,或者利用交換機(jī)端口拷貝的形式,,對一個(gè)交換機(jī)的輸出端口進(jìn)行監(jiān)控,,然后匯報(bào)給IDS服務(wù)器。一個(gè)IDS通常保存著已知攻擊特征庫,,而IDS的作用就是對網(wǎng)絡(luò)流量中的數(shù)據(jù)包內(nèi)容進(jìn)行檢測,尋找可能的攻擊,。當(dāng)所監(jiān)視的數(shù)據(jù)內(nèi)容和特征庫的內(nèi)容匹配時(shí),,IDS便發(fā)出報(bào)警信息。有些IDS系統(tǒng)能與其他設(shè)備相配合,,對入侵做出簡單的響應(yīng),。
  上述典型系統(tǒng)的缺陷在于:雖然IDS系統(tǒng)能夠檢測出深層次的入侵和攻擊,但是其結(jié)構(gòu)本身決定了它應(yīng)對攻擊的脆弱性,。它沒有能力直接防御入侵和攻擊,它對攻擊的反應(yīng),,需要第二方的設(shè)備的聯(lián)動,或者需要人為干預(yù)。當(dāng)它發(fā)現(xiàn)入侵攻擊的時(shí)候,,往往攻擊者早已經(jīng)得手撤退,。
2 IDP網(wǎng)絡(luò)安全系統(tǒng)設(shè)計(jì)構(gòu)想
  針對IDS系統(tǒng)防御能力弱的缺點(diǎn),IDP(Intrusion De-tection & Protection)系統(tǒng)的概念很快被提出來[4],。IDP是指對計(jì)算機(jī)網(wǎng)絡(luò)上企圖入侵,、正在進(jìn)行的入侵或已經(jīng)發(fā)生的入侵活動進(jìn)行識別并且做出主動響應(yīng)(阻止入侵活動或預(yù)先對攻擊性的流量進(jìn)行自動攔截)。IDP系統(tǒng)的概念雖然提出一段時(shí)間了,,但是一直沒有比較成型的方案,。下面提出一種網(wǎng)關(guān)型的IDP系統(tǒng)方案,并用它構(gòu)建網(wǎng)絡(luò)安全系統(tǒng),。
2.1 P2DR模型
  P2DR是Policy(策略),、Protection(防護(hù))、Detection(檢測)和Response(響應(yīng))的縮寫,,P2DR安全模型是一個(gè)被廣泛認(rèn)同的計(jì)算機(jī)系統(tǒng)的安全理論系統(tǒng),。它的指導(dǎo)思想比傳統(tǒng)靜態(tài)安全方案有突破性提高,特點(diǎn)是其動態(tài)性和基于時(shí)間性[3],。其結(jié)構(gòu)如圖2所示,。


  P2DR安全模型闡述了這樣一個(gè)結(jié)論:安全的目標(biāo)實(shí)際上就是盡可能地增大保護(hù)時(shí)間,盡量減少檢測時(shí)間和相應(yīng)時(shí)間,。入侵檢測技術(shù)就是實(shí)現(xiàn)P2DR安全模型中的“Detection”部分的主要技術(shù)手段,。積極的防御功能是“Protection”模塊的主要任務(wù)。在P2DR模型中,,安全策略處于中心位置,,安全策略是制定入侵檢測規(guī)則的一個(gè)重要信息來源,也是防御部分根據(jù)安全策略實(shí)現(xiàn)具體防御動作的準(zhǔn)則,。
  從P2DR安全模型的角度看,,IDS系統(tǒng)的缺點(diǎn)表現(xiàn)在雖然基本上實(shí)現(xiàn)了檢測和響應(yīng)兩大模塊,但是其響應(yīng)時(shí)間很長,,不能及時(shí),、完全地實(shí)現(xiàn)防御功能模塊。只有能夠及時(shí),、完全地實(shí)現(xiàn)響應(yīng)與防御功能模塊,,才能完整地實(shí)現(xiàn)P2DR安全模型。下面提出的網(wǎng)關(guān)型IDP正是較完整地實(shí)現(xiàn)P2DR安全模型的解決方案,。
2.2 基于網(wǎng)絡(luò)處理器的網(wǎng)關(guān)型IDP設(shè)計(jì)
  本文提出的網(wǎng)關(guān)型IDP的設(shè)計(jì)是從IDS技術(shù)發(fā)展延伸而來的,。設(shè)計(jì)的目標(biāo)就是將其如同透明網(wǎng)關(guān)一樣,可以放置在需要保護(hù)的網(wǎng)段前,,也可以放置在一臺特殊需要的服務(wù)器前,。它對流過它的所有數(shù)據(jù)都進(jìn)行檢測,,并且根據(jù)安全策略和具體的規(guī)則體,做出是否容許通過的具體決定以及相應(yīng)的回復(fù)與防御機(jī)制,。
  網(wǎng)關(guān)型IDP在設(shè)計(jì)上的難點(diǎn)在于需要對大量的數(shù)據(jù)作深層次的檢測處理,,并且對檢測結(jié)果及時(shí)地做出反應(yīng)。網(wǎng)絡(luò)處理器NP(Network Processor)的出現(xiàn)為解決這一難題提供了很好的手段,。
  網(wǎng)絡(luò)處理器NP是一種為網(wǎng)絡(luò)應(yīng)用領(lǐng)域設(shè)計(jì)的專用指令處理器(ASIP),。它具備通用處理器(GPP)的編程靈活性,又擁有專用集成電路(ASIC)的高處理速度,。目前NP是通過多個(gè)獨(dú)立總線的微引擎" title="微引擎">微引擎以及Push-Pull引擎來實(shí)現(xiàn)內(nèi)部大量數(shù)據(jù)的交換的,。這樣,內(nèi)部的數(shù)據(jù)通道瓶頸就不復(fù)存在了,。Intel公司IXP系列NP的級聯(lián)設(shè)計(jì)可以很容易地提高數(shù)據(jù)流處理能力[6],。
  基于NP的IDP系統(tǒng)采用嵌入式實(shí)時(shí)操作系統(tǒng),軟件系統(tǒng)設(shè)計(jì)基本延續(xù)IDS的CIDF模型[3](由以下組件組成:事件產(chǎn)生器,,事件分析器,,響應(yīng)單元,事件數(shù)據(jù)庫)的設(shè)計(jì),。在設(shè)計(jì)中應(yīng)該考慮如下幾個(gè)關(guān)鍵點(diǎn):
  (1)在MAC層增加對數(shù)據(jù)的標(biāo)記模式,,以便在響應(yīng)單元能夠采取積極防御手段。
  (2)大型IDP應(yīng)考慮網(wǎng)絡(luò)時(shí)延和全局時(shí)鐘,。
  (3)保證設(shè)備本身的安全性,。
  (4)預(yù)留控制臺接口,以便報(bào)告日志信息,,及時(shí)升級特征庫和修改檢測與防御策略,。
2.3 用網(wǎng)關(guān)型IDP構(gòu)建安全系統(tǒng)
  用網(wǎng)關(guān)型IDP構(gòu)建的安全網(wǎng)絡(luò)系統(tǒng)結(jié)構(gòu)如圖3所示。


  在圖3中,,路由器作為外網(wǎng)的入口,,起著網(wǎng)絡(luò)接口轉(zhuǎn)換以及屏蔽廣播包的作用。系統(tǒng)采用網(wǎng)關(guān)型IDP與防火墻協(xié)防的構(gòu)架,。
  網(wǎng)關(guān)型IDP放置在網(wǎng)絡(luò)中需要檢測數(shù)據(jù)的通道,,其檢測和防御規(guī)則根據(jù)安全策略預(yù)先設(shè)定,也可根據(jù)IDP控制臺安全策略的決定而設(shè)置,。IDP控制臺和網(wǎng)關(guān)型IDP形成相對獨(dú)立的局域網(wǎng),。IDP控制臺作為管理窗口,也可以連接在內(nèi)部網(wǎng)絡(luò)中,,其安全保證這里不做詳述。
3 一個(gè)輕量級網(wǎng)關(guān)型IDP的設(shè)計(jì)
  對多家中小企業(yè)的網(wǎng)絡(luò)使用情況進(jìn)行了調(diào)查,,其結(jié)果如下:
  (1)網(wǎng)絡(luò)業(yè)務(wù)相對比較簡單:收發(fā)郵件,,瀏覽網(wǎng)頁,https,telnet,,ftp,。
  (2)對外帶寬一般不會超過10M,內(nèi)部網(wǎng)絡(luò)一般采用百兆以太網(wǎng)組網(wǎng),。
  (3)網(wǎng)絡(luò)安全需求明顯,,但硬件成本投入較少,一般都有一個(gè)防火墻,。
  (4)人力成本投入較少,,一般只有一個(gè)網(wǎng)絡(luò)管理員。
  根據(jù)調(diào)查結(jié)果,,針對中小企業(yè)網(wǎng)絡(luò)安全提出防火墻協(xié)同一個(gè)輕量級的網(wǎng)關(guān)型IDP的網(wǎng)絡(luò)安全系統(tǒng)方案,。
  防火墻采用只開放必要服務(wù)的策略(可以ping,收發(fā)郵件,,瀏覽網(wǎng)頁,,ssh,https,,telnet,,ftp),其他的訪問則全部丟棄,,所有缺省的安全策略是拒絕所有(Deny All)的,。輕量級的網(wǎng)關(guān)型IDP系統(tǒng)安裝時(shí)可考慮只安裝針對這些業(yè)務(wù)的規(guī)則體插件。
  下面介紹輕量級網(wǎng)關(guān)型IDP的設(shè)計(jì)方案,。
3.1 硬件結(jié)構(gòu)
  IXP1200是Intel公司生產(chǎn)的第一代網(wǎng)絡(luò)處理器,。芯片內(nèi)部集成了7個(gè)RSIC處理器,包括1個(gè)StrongArm和6個(gè)可編程的微引擎(MicroEngine),。其中,,StrongArm最高可工作在232 MHz的主頻上,每個(gè)微引擎內(nèi)部提供多個(gè)硬件線程,,可用于任何要求高速信息包檢查,、數(shù)據(jù)處理以及數(shù)據(jù)傳送的場合。IXP1200中使用的多線程是由硬件實(shí)現(xiàn)的,,但是能夠通過軟件控制,。由硬件實(shí)現(xiàn)多線程使得線程切換的零開銷成為可能。
  以IXP1200為核心處理器提出的輕量級網(wǎng)關(guān)型IDP的硬件構(gòu)架如圖4所示,。


  在圖4中,,A口和B口作為需要檢測的以太網(wǎng)數(shù)據(jù)的入口和出口,對數(shù)據(jù)流的吞吐能力為100M,;C口作為控制臺通訊接口,;串口專門用于調(diào)試,。
  IX bus是Intel公司為網(wǎng)絡(luò)處理器特殊設(shè)計(jì)的總線,能夠在IXP1200和網(wǎng)絡(luò)設(shè)備(如MACs和SARs)間傳送數(shù)據(jù)塊,。每條IX Bus的數(shù)據(jù)容量約為5.12Gbit(64×80Mbit),。
  SDRAM的容量選為128MB(參考Snort2.0內(nèi)存占用大約為78MB);SRAM的容量選為4MB,。
3.2 軟件結(jié)構(gòu)
  操作系統(tǒng)采用pSOSystem嵌入式實(shí)時(shí)操作系統(tǒng),。使用嵌入式實(shí)時(shí)操作系統(tǒng)有以下優(yōu)點(diǎn):
  (1)對數(shù)據(jù)流處理的高效性,可以讓NP多線程并行處理的優(yōu)勢得以發(fā)揮,。
  (2)系統(tǒng)本身的安全性很高,,幾乎不會發(fā)生對嵌入式實(shí)時(shí)系統(tǒng)的攻擊。
  本系統(tǒng)的處理流程圖如圖5所示,。


  圖5所示的處理流程基本上延續(xù)IDS的CIDF模型的機(jī)制處理數(shù)據(jù),。網(wǎng)絡(luò)處理器接收到的以太網(wǎng)數(shù)據(jù)幀存儲時(shí),應(yīng)在數(shù)據(jù)幀前增加標(biāo)簽,。標(biāo)簽由兩部分構(gòu)成,,端口號A或者B以及序列號,序列號以65535循環(huán)使用,。包解碼引擎需要處理此數(shù)據(jù)時(shí),,應(yīng)對此數(shù)據(jù)采用拷貝的形式使用。此以太網(wǎng)數(shù)據(jù)經(jīng)過預(yù)處理,、檢測后,,雖然已經(jīng)解析、重組為應(yīng)用層數(shù)據(jù)流,,但是此標(biāo)簽作為對原始以太網(wǎng)數(shù)據(jù)的辨認(rèn)依然隨數(shù)據(jù)流存在,。利用此標(biāo)簽可以決定原始以太網(wǎng)數(shù)據(jù)幀是否通過以及應(yīng)當(dāng)轉(zhuǎn)發(fā)的端口。檢測出非法數(shù)據(jù)后,,可以根據(jù)識別出的IP地址,,依據(jù)安全策略做出相應(yīng)回復(fù)。
3.3 資源分配
  IXP1200內(nèi)部有6個(gè)微引擎,,每個(gè)微引擎擁有4個(gè)硬件線程,。其中1個(gè)微引擎共4個(gè)線程執(zhí)行接收數(shù)據(jù);1個(gè)微引擎共4個(gè)線程執(zhí)行包解碼,;1個(gè)微引擎共4個(gè)線程執(zhí)行包預(yù)處理和對有非法記錄的IP的預(yù)攔截,;2個(gè)微引擎共8個(gè)線程用來對規(guī)則體進(jìn)行快速、便利的匹配檢測,;1個(gè)微引擎共4個(gè)線程執(zhí)行數(shù)據(jù)發(fā)送,。Strong Arm則負(fù)責(zé)規(guī)則體設(shè)定、異常記錄和對異常數(shù)據(jù)的回復(fù)以及控制臺的代理[6],。
3.4 接收和存儲策略
  采用如下的數(shù)據(jù)接收,、存儲和轉(zhuǎn)發(fā)策略,。
  接收策略:不管端口上是否出現(xiàn)有效數(shù)據(jù),都讓4個(gè)線程輪流去接收數(shù)據(jù),,若數(shù)據(jù)無效則丟棄。這樣,,一旦端口上出現(xiàn)有效數(shù)據(jù),,就會在第一時(shí)間被接收到。
存儲策略:由于以太網(wǎng)幀的長度并不固定(最大為1500B),,考慮到對存儲速度的要求,,采用固定分配存儲單元的辦法。無論整個(gè)數(shù)據(jù)幀多長,,都存放在大小為2048B的存儲器單元中[7],。
3.5 檢測引擎多線程協(xié)同工作
  檢測引擎中的模式匹配算法是檢測引擎工作的關(guān)鍵,利用IXP1200多線程協(xié)同工作完成快速遍歷規(guī)則匹配是設(shè)計(jì)中的難點(diǎn),。多線程并發(fā)調(diào)度的設(shè)計(jì)要對調(diào)度要求,、存儲器響應(yīng)時(shí)間、存儲空間大小等多方面因素綜合考慮,。進(jìn)一步的設(shè)計(jì)要考慮接收請求預(yù)測,、內(nèi)存延遲隱藏等優(yōu)化技術(shù)的應(yīng)用,以完成高效的應(yīng)用開發(fā),。
3.6 系統(tǒng)規(guī)格,、規(guī)則體以及Snort的移植
  系統(tǒng)采用濫用檢測模型、Snort 2.0的規(guī)則體及其穩(wěn)定高效的內(nèi)核以及基本框架,,并根據(jù)pSOS的架構(gòu)更改相應(yīng)的應(yīng)用程序接口(API)以及語言格式,。針對標(biāo)簽機(jī)制,在對Snort的包解碼引擎以及快速規(guī)則匹配引擎移植時(shí)[5],,這些標(biāo)簽需要保留,。除了可以阻斷惡意數(shù)據(jù)流外,IDP也可以作一些其他積極的防御機(jī)制,,例如,,當(dāng)發(fā)現(xiàn)某些惡意數(shù)據(jù)包時(shí),可以通過向攻擊者和目標(biāo)主機(jī)發(fā)送TCP復(fù)位包,,以終止入侵會話[7],。
3.7 控制臺終端代理
  網(wǎng)關(guān)型IDP上的軟件由主程序和控制臺終端代理軟件兩部分組成。終端代理軟件和控制臺之間采用 SNMP 協(xié)議,,終端代理軟件將來自控制臺的命令解析成相應(yīng)的操作,,并通過調(diào)用內(nèi)部函數(shù)接口將操作傳給IDP主程序來具體執(zhí)行;同時(shí),主程序產(chǎn)生的日志,、告警消息以SNMP Trap的形式通知給控制臺,,控制臺通過駐留在IDP上的終端代理軟件來配置,、升級規(guī)則體并獲取檢測和回復(fù)的信息??刂婆_的管理信息庫MIB(Management Information Base)用于對所有IDP的記錄和日志分類,,呈現(xiàn)出網(wǎng)絡(luò)運(yùn)行細(xì)節(jié)。
  在完成基本檢測和防御規(guī)則配置的前提下,,控制臺軟件也是提供給網(wǎng)管人員的一個(gè)分析工具,。網(wǎng)管人員作為安全防御中的一個(gè)重要因素,對一些未知情況,,可以利用這個(gè)工具提供的數(shù)據(jù),、手段,并根據(jù)自己的知識,,更為靈活地處理各種入侵動作,。
  本文所提出的網(wǎng)關(guān)型IDP系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)方法,即基于網(wǎng)絡(luò)處理器的網(wǎng)關(guān)型IDP系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn),,基本上實(shí)現(xiàn)了P2DR安全模型,,一個(gè)輕量級的IDP的設(shè)計(jì)即可滿足中小型企業(yè)網(wǎng)絡(luò)對入侵檢測防御的要求。
參考文獻(xiàn)
1 S Axelsson.Research in Intrusion Detection Systems:A Survey[R].TR-98-17,,Sweden:Chalmers Uni of Technology,,1998
2 Julia Allen,Alan Christie,,William Fithen et al.State of the practice of intrusion detection technologies[R].MU/SEI-99-TR-028 ESC-99-028,,U.S.:Carnegie Mellon Uni,2000
3 唐正軍,,李建華.入侵檢測技術(shù)[M].北京:清華大學(xué)出版社,,2004
4 網(wǎng)絡(luò)產(chǎn)品新概念.http://www.dataworld.com.cn
5 B Caswell,J Beale,,J C Foster et al.Snort 2.0 Intrusion Detection.National Defence industrial Press,,2003
6 Erik Johnson,Aaron Kunze.IXP1200 programming[M].U.S.:Intel,,2002
7 宋獻(xiàn)濤,,紀(jì) 勇.網(wǎng)絡(luò)維護(hù):從IDS到IPS.計(jì)算機(jī)安全,2003,;(11)

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn),。轉(zhuǎn)載的所有的文章,、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者,。如涉及作品內(nèi)容,、版權(quán)和其它問題,請及時(shí)通過電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118,;郵箱:[email protected],。