馬 麗
〔摘 要〕入侵防御系統(tǒng)是繼防火墻和入侵檢測(cè)技術(shù)之后的新一代信息安全保障技術(shù)。針對(duì)高校圖書(shū)館日益增加的數(shù)字資源及存在的網(wǎng)絡(luò)安全問(wèn)題,文章將資源入侵檢測(cè)軟件Snort和Linux防火墻Netfilter有機(jī)結(jié)合在一起,提出一種基于行為的入侵防御系統(tǒng)模型,以木馬攻擊為例,給出系統(tǒng)的具體解決方案及關(guān)鍵技術(shù),并對(duì)其在圖書(shū)館網(wǎng)絡(luò)中的應(yīng)用進(jìn)行了研究。
〔關(guān)鍵詞〕入侵防御系統(tǒng);木馬;圖書(shū)館數(shù)字資源;Snort預(yù)處理器;行為分析
〔中圖分類(lèi)號(hào)〕G250.72 〔文獻(xiàn)標(biāo)識(shí)碼〕A 〔文章編號(hào)〕1008-0821(2009)07-0166-03
Application Research in the Library of Intrusion
Prevention System Based on BehaviorMa Li
(Library,Beijing Institute of Technology,Beijing 100081,China)
〔Abstract〕Intrusion Prevention System(IPS)is a new information security technology following the firewall and intrusion detection system.To counter the increased digital resources of university library and the problems of network security,this paper brought forward a intrusion prevention system frameworks based on behavior combining Snort and Netfilter.In the end,taking the case of Trojan horse,it presented the solution in detail and key technologies,and has carried on research in the application in the network security of the library.
〔Key words〕intrusion prevention system;trojan horse;library digital resources;Snort preprocessor;behavior analysis
隨著Internet技術(shù)的快速發(fā)展,數(shù)字圖書(shū)館已經(jīng)成為高校圖書(shū)館的重要部分,為讀者提供了便利的信息查找方式,在使計(jì)算機(jī)網(wǎng)絡(luò)資源共享有了進(jìn)一步加強(qiáng)的同時(shí),隨之而來(lái)的圖書(shū)館網(wǎng)絡(luò)安全問(wèn)題也日益嚴(yán)重。尤其是電子出版物和網(wǎng)絡(luò)出版物的推出,高校圖書(shū)館的數(shù)字資源也日益增加,而服務(wù)器又是信息資源管理與存儲(chǔ)的核心,由于它的應(yīng)用特性,內(nèi)部網(wǎng)的非法訪問(wèn)、濫用等問(wèn)題很?chē)?yán)重[1],此外還有一些不法分子大批量下載數(shù)字資源,嚴(yán)重侵犯版權(quán)問(wèn)題,所以加強(qiáng)服務(wù)器的安全就尤為重要。
圖書(shū)館傳統(tǒng)的安全保護(hù)方法是對(duì)操作系統(tǒng)進(jìn)行安全加固,通過(guò)各種各樣的安全補(bǔ)丁來(lái)提高服務(wù)器操作系統(tǒng)自身的抗攻擊能力。防火墻和入侵檢測(cè)系統(tǒng)一直是圖書(shū)館界維護(hù)網(wǎng)絡(luò)安全的主要工具,然而,它們并不能完全滿足縱深防御對(duì)檢測(cè)和反應(yīng)能力的要求[2]。其中,防火墻是粗粒度的訪問(wèn)控制產(chǎn)品,只能對(duì)網(wǎng)絡(luò)層的數(shù)據(jù)包進(jìn)行過(guò)濾,對(duì)于應(yīng)用級(jí)攻擊不具備阻止能力,而且對(duì)于內(nèi)部網(wǎng)的攻擊也無(wú)能為力。IDS是一種被動(dòng)型的防御措施,它監(jiān)聽(tīng)網(wǎng)絡(luò)或系統(tǒng)的活動(dòng),并收集相關(guān)信息進(jìn)行分析以判斷是否有入侵行為發(fā)生,它的致命缺點(diǎn)是只能報(bào)警而無(wú)法阻止攻擊。
防火墻、入侵檢測(cè)技術(shù)雖然在不同程度上加強(qiáng)了圖書(shū)館的網(wǎng)絡(luò)信息安全,但是這些技術(shù)相對(duì)獨(dú)立,都存在著局限性。文章旨在針對(duì)防火墻和IDS所存在的缺陷,根據(jù)網(wǎng)絡(luò)動(dòng)態(tài)安全模型理念,將防火墻、入侵檢測(cè)及行為分析技術(shù)相結(jié)合,提出一個(gè)基于行為的入侵防御系統(tǒng)模型,針對(duì)目前猖獗的木馬攻擊進(jìn)行防御研究,并將其應(yīng)用在圖書(shū)館網(wǎng)絡(luò)中,用以保護(hù)數(shù)字資源。
1 入侵防御系統(tǒng)概述
入侵防御系統(tǒng)IPS(Intrusion Prevention System)也稱(chēng)為IDP(Intrusion Detection & Prevention,入侵檢測(cè)和防御系統(tǒng)),是指不但能檢測(cè)入侵的發(fā)生,而且能通過(guò)一定的響應(yīng)方式,實(shí)時(shí)地中止入侵行為的發(fā)生和發(fā)展,實(shí)時(shí)地保護(hù)信息系統(tǒng)不受實(shí)質(zhì)性攻擊的一種智能化的安全產(chǎn)品[3]。
入侵防御系統(tǒng)(IPS)的主要運(yùn)行特征如下:
(1)深層檢測(cè)。IPS突破傳統(tǒng)防火墻的限制,檢測(cè)對(duì)應(yīng)OSI模型4到7層里的封包內(nèi)容(相當(dāng)于TCP/IP模型的應(yīng)用層)。由于新型攻擊的程式碼資料便隱藏在TCP/IP通訊協(xié)議的應(yīng)用層里,IPS必須具有深入分析能力,以確定哪些惡意流量已經(jīng)被攔截,根據(jù)攻擊類(lèi)型、策略等來(lái)確定哪些流量應(yīng)該被攔截。
(2)串連模式。IPS必須置于受保護(hù)網(wǎng)絡(luò)入口的閘道位置,所有進(jìn)出內(nèi)部網(wǎng)路的封包都需經(jīng)過(guò)IPS作深層檢測(cè)。該特征是IPS與IDS在運(yùn)行上的最大不同之處。
(3)即時(shí)監(jiān)測(cè)。IPS必須要能對(duì)所有進(jìn)出受保護(hù)內(nèi)部網(wǎng)絡(luò)的數(shù)據(jù)包做到即時(shí)監(jiān)測(cè)。若無(wú)法實(shí)時(shí)檢測(cè),當(dāng)攻擊包穿過(guò)IPS欲再采取防御措施時(shí)就為時(shí)已晚。
(4)線速運(yùn)行。由于IPS以嵌入模式串接在內(nèi)外網(wǎng)之間,它一方面必須對(duì)過(guò)往的數(shù)據(jù)包做即時(shí)且深層的檢查和丟棄工作,一方面又讓受保護(hù)網(wǎng)絡(luò)使用者不能因?yàn)镮PS的存在而覺(jué)得傳輸延遲的情形,所以IPS必須具有高效處理數(shù)據(jù)包的能力。
(5)豐富的入侵檢測(cè)手段。IPS必須建立豐富且盡量完備的病毒特征庫(kù)和入侵特征庫(kù)。在檢測(cè)手段上,需將基于特征的方法與基于統(tǒng)計(jì)的方法相結(jié)合。同時(shí),應(yīng)采取智能化的方法來(lái)提高對(duì)未知病毒或未知模式攻擊的預(yù)警能力。
2 基于行為的入侵防御系統(tǒng)
2.1 系統(tǒng)設(shè)計(jì)思想
系統(tǒng)選用Linux操作系統(tǒng)作為開(kāi)發(fā)平臺(tái),將入侵檢測(cè)軟件Snort和Linux防火墻有機(jī)結(jié)合在一起,包含防火墻包過(guò)濾技術(shù)、入侵檢測(cè)技術(shù)和行為分析技術(shù)。引入行為分析技術(shù)主要是為了減少入侵檢測(cè)的漏報(bào)率。系統(tǒng)主要包括包過(guò)濾器、事件分析單元和響應(yīng)單元。包過(guò)濾器根據(jù)防火墻規(guī)則進(jìn)行包過(guò)濾,將不匹配規(guī)則的數(shù)據(jù)包送到用戶空間排隊(duì),入侵檢測(cè)系統(tǒng)Snort抓取用戶空間的數(shù)據(jù)包進(jìn)行包解碼,然后經(jīng)過(guò)預(yù)處理器檢測(cè),最后再送入入侵檢測(cè)引擎,根據(jù)優(yōu)化的檢測(cè)規(guī)則庫(kù)判斷是否為網(wǎng)絡(luò)攻擊以及攻擊的類(lèi)型,并將其寫(xiě)入報(bào)警事件數(shù)據(jù)庫(kù)。
本研究以木馬為例,設(shè)計(jì)編寫(xiě)木馬行為分析預(yù)處理器作為Snort的插件。該預(yù)處理器對(duì)數(shù)據(jù)包進(jìn)行初步檢測(cè),將檢測(cè)結(jié)果傳遞給行為分析模塊。然后行為分析模塊進(jìn)行詳細(xì)檢測(cè)并將事件結(jié)果傳遞給響應(yīng)單元進(jìn)行處理。
2.2 系統(tǒng)模型
本入侵防御系統(tǒng)采用通用入侵檢測(cè)框架(CIDF)結(jié)構(gòu),由事件產(chǎn)生器、事件分析器、響應(yīng)單元和事件數(shù)據(jù)庫(kù)組成[4],系統(tǒng)結(jié)構(gòu)模型如圖1所示。
系統(tǒng)結(jié)構(gòu)說(shuō)明如下:
(1)事件產(chǎn)生器:由Netfilter、iptables、ip_queue內(nèi)核模
塊及netlink接口組成,對(duì)網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行過(guò)濾并將數(shù)據(jù)包從內(nèi)核態(tài)傳送到用戶態(tài)。
(2)事件分析器:由Snort預(yù)處理器、行為分析模塊及入侵檢測(cè)規(guī)則構(gòu)成,使用異常檢測(cè)技術(shù)和模式匹配技術(shù)對(duì)事件產(chǎn)生器傳遞過(guò)來(lái)的數(shù)據(jù)包進(jìn)行檢測(cè),將事件分類(lèi)。
(3)事件數(shù)據(jù)庫(kù):采用MySQL數(shù)據(jù)庫(kù)儲(chǔ)存作為判斷行為正常的標(biāo)準(zhǔn)數(shù)據(jù)及入侵事件的結(jié)果信息。
(4)響應(yīng)單元:根據(jù)事件分析器產(chǎn)生的事件結(jié)果分別進(jìn)行響應(yīng)處理。
2.3 系統(tǒng)的關(guān)鍵模塊
2.3.1 木馬行為分析預(yù)處理器
木馬行為分析預(yù)處理器作為Snort的一個(gè)插件,將包解碼后的數(shù)據(jù)包按照以下方法產(chǎn)生一個(gè)鏈表:當(dāng)主機(jī)對(duì)外發(fā)送一個(gè)TCP或UDP數(shù)據(jù)包時(shí),獲取到對(duì)外通信數(shù)據(jù)包中的源端口,然后在歷史通信端口鏈表中查找是否存在該端口,如果存在只需要將這次對(duì)外通信的字節(jié)總數(shù)增加到該端口對(duì)應(yīng)的通信字節(jié)總數(shù)上,如果不存在就把該端口增加到鏈表中,并把此次通信字節(jié)數(shù)增加到對(duì)應(yīng)的通信字節(jié)總數(shù)上。然后判斷每個(gè)端口的通信字節(jié)總數(shù)是否大于設(shè)定的閾值,大于閾值的端口被列為可疑端口,最后將TCP和UDP報(bào)警端口列表寫(xiě)入有名管道文件供行為分析模塊讀取,并按時(shí)間周期清空鏈表。
2.3.2 行為檢測(cè)分析及處理模塊
行為檢測(cè)分析及處理模塊是用Perl編寫(xiě)的獨(dú)立進(jìn)程,通過(guò)有名管道FIFO實(shí)現(xiàn)其和Snort木馬行為分析預(yù)處理器通信。
數(shù)據(jù)包經(jīng)過(guò)預(yù)處理器分析后,得到可疑端口列表,對(duì)于木馬攻擊,行為檢測(cè)分析模塊通過(guò)監(jiān)控系統(tǒng)上的所有報(bào)警通信端口,并把端口與它相對(duì)應(yīng)的應(yīng)用程序和操作用戶關(guān)聯(lián)起來(lái),一旦發(fā)現(xiàn)某個(gè)監(jiān)聽(tīng)端口開(kāi)始對(duì)外通信,就可以跟蹤該端口所對(duì)應(yīng)的應(yīng)用程序的操作行為[5]。如果是一個(gè)未知用戶操作應(yīng)用程序或一個(gè)合法用戶進(jìn)行非法通信,接著將應(yīng)用程序的通信端口與數(shù)據(jù)庫(kù)中的已知木馬通信端口進(jìn)行匹配,如果端口號(hào)相同,則確定該應(yīng)用程序是木馬,事件響應(yīng)單元向防火墻添加一條規(guī)則,如果端口號(hào)不同,則把該進(jìn)程列為可疑進(jìn)程,交給事件響應(yīng)單元處理。如果是合法用戶在操作合法進(jìn)程,進(jìn)一步比較進(jìn)程的路徑和合法進(jìn)程數(shù)據(jù)庫(kù)中對(duì)應(yīng)的路徑是否一致,如果一致就允許通信,反之則說(shuō)明是個(gè)假冒進(jìn)程,也是由事件響應(yīng)單元處理。程序在控制臺(tái)運(yùn)行結(jié)果如圖2所示。
事件響應(yīng)單元根據(jù)檢測(cè)結(jié)果進(jìn)行處理:對(duì)于合法進(jìn)程直接放行,對(duì)于可疑進(jìn)程、假冒進(jìn)程和已知木馬預(yù)處理默認(rèn)為禁止通信,最終決定權(quán)交給用戶處理,提供給用戶三個(gè)選項(xiàng):允許本次通信,將該進(jìn)程對(duì)應(yīng)端口加入可信端口和禁止通信。事件響應(yīng)單元根據(jù)選項(xiàng)通過(guò)更新Linux防火墻iptables規(guī)則實(shí)時(shí)處理事件。
2.4 基于行為的入侵防御系統(tǒng)在圖書(shū)館的應(yīng)用
配置入侵防御系統(tǒng)工作于串連模式,如圖3所示。所有去往圖書(shū)館數(shù)字資源服務(wù)器的數(shù)據(jù)包或網(wǎng)絡(luò)流量都經(jīng)過(guò)入侵防御系統(tǒng)檢查,如果發(fā)現(xiàn)可疑的攻擊數(shù)據(jù)流,就采取行動(dòng),丟棄或阻斷網(wǎng)絡(luò)數(shù)據(jù)包,達(dá)到防御的目的。
3 結(jié) 語(yǔ)
將該基于行為的入侵防御系統(tǒng)應(yīng)用在圖書(shū)館網(wǎng)絡(luò)中,對(duì)于受保護(hù)的數(shù)字資源服務(wù)器可以準(zhǔn)確地檢測(cè)到已知的木馬并且將其禁止通信;對(duì)于未知的木馬,本系統(tǒng)也具有預(yù)測(cè)能力,能夠根據(jù)其行為特征將其準(zhǔn)確地檢測(cè)出來(lái),并阻斷其通信;該系統(tǒng)還可以防御假冒合法進(jìn)程進(jìn)行通信的惡意攻擊。
高校圖書(shū)館數(shù)字信息資源的安全是一項(xiàng)復(fù)雜的工程,除了應(yīng)用各種技術(shù)手段防范外,還需要加強(qiáng)圖書(shū)館的內(nèi)部管理,制定相應(yīng)的規(guī)章制度,共同維護(hù)和諧安全的圖書(shū)館網(wǎng)絡(luò)。
參考文獻(xiàn)
[1]曾星媛.高校圖書(shū)館數(shù)字信息資源系統(tǒng)的安全及解決策略[J].現(xiàn)代情報(bào),2007,(2):90-91,94.
[2]于明.異軍突起的IPS[J].網(wǎng)管員世界,2004,(11):97-99.
[3]馮洪亮.IDP讓防火墻與IDS走向統(tǒng)一融合后的優(yōu)生[N].中國(guó)計(jì)算機(jī)報(bào),2003-04-14.
[4]潘玲,黃云森.一種基于SNORT的入侵防御系統(tǒng)[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2005,(6):29-31.
[5]陳桂清,伍乃騏,滕少華.通過(guò)進(jìn)程監(jiān)視檢測(cè)木馬攻擊[J].計(jì)算機(jī)應(yīng)用,2003,23(11):130-133.