入侵檢測是網(wǎng)絡(luò)安全的重要組成部分。根據(jù)信息的來源可將入侵檢測系統(tǒng)分為基于網(wǎng)絡(luò)的入侵檢測系統(tǒng)和基于主機(jī)的入侵檢測系統(tǒng)。目前采用的入侵檢測技術(shù)主要有異常檢測和誤用檢測兩種,同時科技人員正在研究一些新的入侵檢測技術(shù),例如,基于免疫系統(tǒng)的檢測方法、遺傳算法和基于內(nèi)核系統(tǒng)的檢測方法等。
1、入侵檢測的概念
入侵檢測(Intrusion Detection)的概念首先是由詹姆斯·安德森(James Anderson)于1980年提出來的。入侵是指在信息系統(tǒng)中進(jìn)行非授權(quán)的訪問或活動,不僅指非系統(tǒng)用戶非授權(quán)登錄系統(tǒng)和使用系統(tǒng)資源,還包括系統(tǒng)內(nèi)的用戶濫用權(quán)利對系統(tǒng)造成的破壞,如非法盜用他人的賬戶、非法獲得系統(tǒng)管理員權(quán)限、修改或刪除系統(tǒng)文件等。
入侵檢測可以被定義為識別出正在發(fā)生的入侵企圖或已經(jīng)發(fā)生的入侵活動的過程。入侵檢測包含兩層意思:一是對外部入侵(非授權(quán)使用)行為的檢測;二是對內(nèi)部用戶(合法用戶)濫用自身權(quán)利的檢測。
入侵檢測的內(nèi)容包括:試圖闖入、成功闖入、冒充其他用戶、違反安全策略、合法用戶賬戶信息的泄露、獨占資源以及惡意使用。進(jìn)行入侵檢測的軟件與硬件的組合便是入侵檢測系統(tǒng)(Intrusion Detection System,IDS)。它通過從計算機(jī)網(wǎng)絡(luò)或計算機(jī)系統(tǒng)的關(guān)鍵點收集信息并進(jìn)行分析,從中發(fā)現(xiàn)網(wǎng)絡(luò)或系統(tǒng)中是否有違反安全策略的行為和被攻擊的跡象并且對其做出反應(yīng)。入侵檢測系統(tǒng)的有些反應(yīng)是自動的,如(通過控制臺或電子郵件)通知網(wǎng)絡(luò)安全管理員,中止入侵進(jìn)程,關(guān)閉系統(tǒng),斷開與互聯(lián)網(wǎng)的連接,使該用戶無效,執(zhí)行一個準(zhǔn)備好的命令等。
入侵檢測被認(rèn)為是防火墻之后的第二道安全閘門,提供對內(nèi)部攻擊、外部攻擊和誤操作的實時防護(hù)。這些防護(hù)都通過它執(zhí)行以下任務(wù)來實現(xiàn):
① 監(jiān)視、分析用戶及系統(tǒng)活動,查找非法用戶和合法用戶的越權(quán)操作;
② 審計系統(tǒng)構(gòu)造和弱點,并提示管理員修補(bǔ)漏洞;
③ 識別反映已知進(jìn)攻的活動模式并向相關(guān)人士報警,實時對檢測到的入侵行為進(jìn)行反應(yīng);
④ 統(tǒng)計分析異常行為模式,發(fā)現(xiàn)入侵行為的規(guī)律;
⑤ 評估重要系統(tǒng)和數(shù)據(jù)文件的完整性,如計算和比較文件系統(tǒng)的校驗和;
⑥ 審計跟蹤管理操作系統(tǒng),并識別用戶違反安全策略的行為。
2、入侵檢測系統(tǒng)
圖1描述了一個入侵檢測系統(tǒng)中的各部分之間的關(guān)系。
圖1 入侵檢測系統(tǒng)
數(shù)據(jù)源為入侵檢測系統(tǒng)提供最初的數(shù)據(jù)來源,入侵檢測系統(tǒng)利用這些數(shù)據(jù)來檢測入侵。數(shù)據(jù)源包括網(wǎng)絡(luò)包、審計日志、系統(tǒng)日志和應(yīng)用程序日志等。
探測器從數(shù)據(jù)源中提取出與安全相關(guān)的數(shù)據(jù)和活動,如不希望的網(wǎng)絡(luò)連接(Telnet)或系統(tǒng)日志中用戶的越權(quán)訪問等,并將這些數(shù)據(jù)傳送給分析器做進(jìn)一步分析。
分析器的職責(zé)是對探測器傳來的數(shù)據(jù)進(jìn)行分析,如果發(fā)現(xiàn)未授權(quán)或不期望的活動,就產(chǎn)生警報并將其報告給管理器。
管理器是入侵檢測系統(tǒng)的管理部件,其主要功能有配置探測器、分析器,通知操作員發(fā)生了入侵,采取應(yīng)對措施等。管理器接收到分析器的警報后,便通知操作員并向其報告情況,通知的方式有聲音、E-mail、SNMP Trap等。同時管理器還可以主動采取應(yīng)對措施,如結(jié)束進(jìn)程、切斷連接、改變文件和網(wǎng)絡(luò)的訪問權(quán)等。操作員利用管理器來管理入侵檢測系統(tǒng),并根據(jù)管理器的報告采取進(jìn)一步的措施。
管理員是網(wǎng)絡(luò)和信息系統(tǒng)的管理者,負(fù)責(zé)制定安全策略和部署入侵檢測系統(tǒng)。
安全策略是預(yù)先定義的一些規(guī)則,這些規(guī)則規(guī)定了網(wǎng)絡(luò)中哪些活動可以允許發(fā)生或者外部的哪些主機(jī)可以訪問內(nèi)部的網(wǎng)絡(luò)等。安全策略通過被應(yīng)用到探測器、分析器和管理器上來發(fā)揮作用。
依據(jù)不同的標(biāo)準(zhǔn),可以將入侵檢測系統(tǒng)劃分成不同的類別??梢砸勒諜z測方法、對入侵的響應(yīng)方式和信息的來源等不同的標(biāo)準(zhǔn)來劃分入侵檢測系統(tǒng)。但傳統(tǒng)的劃分方法根據(jù)信息的來源將入侵檢測系統(tǒng)分為基于網(wǎng)絡(luò)的入侵檢測系統(tǒng)和基于主機(jī)的入侵檢測系統(tǒng)兩大類。
(1)基于網(wǎng)絡(luò)的入侵檢測系統(tǒng)
基于網(wǎng)絡(luò)的入侵檢測系統(tǒng)的信息來源為網(wǎng)絡(luò)中的數(shù)據(jù)包?;诰W(wǎng)絡(luò)的入侵檢測系統(tǒng)通常通過在網(wǎng)絡(luò)層監(jiān)聽并分析網(wǎng)絡(luò)包來檢測入侵,其可以檢測到非授權(quán)訪問、盜用數(shù)據(jù)資源、盜取口令文件等入侵行為。
基于網(wǎng)絡(luò)的入侵檢測系統(tǒng)不需要改變服務(wù)器等主機(jī)的配置,不會在業(yè)務(wù)系統(tǒng)的主機(jī)中安裝額外的軟件,從而不會影響這些機(jī)器的CPU、I/O接口與磁盤等資源的使用?;诰W(wǎng)絡(luò)的入侵檢測系統(tǒng)不像路由器、防火墻等關(guān)鍵設(shè)備,其不會成為系統(tǒng)中的關(guān)鍵路徑。基于網(wǎng)絡(luò)的入侵檢測系統(tǒng)發(fā)生故障不會影響到正常的業(yè)務(wù)運(yùn)行,而且部署一個基于網(wǎng)絡(luò)的入侵檢測系統(tǒng)的風(fēng)險比基于主機(jī)的入侵檢測系統(tǒng)的風(fēng)險小得多。
基于網(wǎng)絡(luò)的入侵檢測系統(tǒng)的優(yōu)勢在于它的實時性,當(dāng)檢測到攻擊時,其能很快做出反應(yīng)。另外,基于網(wǎng)絡(luò)的入侵檢測系統(tǒng)可以在一個點上監(jiān)測整個網(wǎng)絡(luò)中的數(shù)據(jù)包,不必像基于主機(jī)的入侵檢測系統(tǒng)那樣,需要在每一臺主機(jī)上都安裝檢測系統(tǒng),因此,基于網(wǎng)絡(luò)的入侵檢測系統(tǒng)是一種經(jīng)濟(jì)的解決方案。并且,基于網(wǎng)絡(luò)的入侵檢測系統(tǒng)檢測網(wǎng)絡(luò)包時并不依靠操作系統(tǒng)來提供數(shù)據(jù),因此它有著對操作系統(tǒng)的獨立性。
但基于網(wǎng)絡(luò)的入侵檢測系統(tǒng)也有一些缺陷,因此也面臨著以下挑戰(zhàn)。
① 網(wǎng)絡(luò)入侵檢測系統(tǒng)可能會將大量的數(shù)據(jù)傳回分析系統(tǒng)。
② 不同網(wǎng)絡(luò)的最大傳輸單元(Maximum Transmission Unit,MTU)不同,一些大的網(wǎng)絡(luò)包常常被分成小的網(wǎng)絡(luò)包來傳遞。當(dāng)大的網(wǎng)絡(luò)包被拆分時,其中的攻擊特征有可能被分拆?;诰W(wǎng)絡(luò)的入侵檢測系統(tǒng)在網(wǎng)絡(luò)層無法檢測到這些特征,而在上層這些被拆分的包又會重新裝配起來,引發(fā)攻擊與破壞。
③ 隨著VPN、SSH和SSL的應(yīng)用,數(shù)據(jù)加密越來越普遍,傳統(tǒng)的基于網(wǎng)絡(luò)的入侵檢測系統(tǒng)工作在網(wǎng)絡(luò)層,無法分析上層的加密數(shù)據(jù),從而也無法檢測到加密后的入侵網(wǎng)絡(luò)包。
④ 在百兆甚至是千兆網(wǎng)上,僅僅通過在一個點上分析整個網(wǎng)絡(luò)上的數(shù)據(jù)包是不可行的,那樣必然會引發(fā)丟包問題,從而造成漏報或誤報。
⑤ 異步傳輸模式(ATM)網(wǎng)絡(luò)以小的、固定長度的包(信元)傳送信息。53字節(jié)定長的信元與以往的包技術(shù)相比具有一些優(yōu)點:短的信元可以快速交換,硬件實現(xiàn)容易。但是,交換網(wǎng)絡(luò)不能被傳統(tǒng)網(wǎng)絡(luò)偵聽器監(jiān)視,從而無法對數(shù)據(jù)包進(jìn)行分析。
(2)基于主機(jī)的入侵檢測系統(tǒng)
基于主機(jī)的入侵檢測系統(tǒng)的信息來源為操作系統(tǒng)事件日志、管理工具審計記錄和應(yīng)用程序?qū)徲嬘涗洝Kㄟ^監(jiān)視系統(tǒng)運(yùn)行情況(文件的打開和訪問、文件權(quán)限的改變、用戶的登錄和特權(quán)服務(wù)的訪問等)、審計系統(tǒng)日志文件(Syslog)以及應(yīng)用程序(關(guān)系數(shù)據(jù)庫、Web服務(wù)器)日志文件來檢測入侵?;谥鳈C(jī)的入侵檢測系統(tǒng)可以檢測到用戶濫用權(quán)限、創(chuàng)建后門賬戶、修改重要數(shù)據(jù)和改變安全配置等入侵行為,同時還可以定期對系統(tǒng)關(guān)鍵文件進(jìn)行檢查,計算其校驗值以確信其完整性。
基于主機(jī)的入侵檢測系統(tǒng)檢測發(fā)生在主機(jī)上的活動,處理的都是操作系統(tǒng)事件或應(yīng)用程序事件而不是網(wǎng)絡(luò)包,所以高速網(wǎng)絡(luò)對它沒有影響。同時它使用的是操作系統(tǒng)提供的信息,經(jīng)過加密的數(shù)據(jù)包在到達(dá)操作系統(tǒng)后,都已經(jīng)被解密,所以基于主機(jī)的入侵檢測系統(tǒng)能很好地處理包加密的問題。并且,基于主機(jī)的入侵檢測系統(tǒng)還可以綜合多個數(shù)據(jù)源進(jìn)行進(jìn)一步的分析,利用數(shù)據(jù)挖掘技術(shù)來發(fā)現(xiàn)入侵。
但是,基于主機(jī)的入侵檢測系統(tǒng)也有自身的缺陷,主要有以下5點。
① 降低系統(tǒng)性能:原始數(shù)據(jù)要經(jīng)過集中、分析和歸檔處理,這些都需要占用系統(tǒng)資源,因此,基于主機(jī)的入侵檢測系統(tǒng)會在一定程度上降低系統(tǒng)性能。
② 配置和維護(hù)困難:每臺被檢測的主機(jī)上都需要安裝檢測系統(tǒng),每個系統(tǒng)都有維護(hù)和升級的任務(wù),安裝和維護(hù)需要一筆不小的費(fèi)用。
③ 存在被關(guān)閉的可能:由于基于主機(jī)的入侵檢測系統(tǒng)安裝在被檢測的主機(jī)上,因此有權(quán)限的用戶或攻擊者可以關(guān)閉檢測程序以使自己的行為在系統(tǒng)中沒有記錄,進(jìn)而來逃避檢測。
④ 存在數(shù)據(jù)欺騙問題:攻擊者或有權(quán)限的用戶可以插入、修改或刪除審計記錄,逃避基于主機(jī)的入侵檢測系統(tǒng)的檢測。
⑤ 實時性較差:基于主機(jī)的入侵檢測系統(tǒng)進(jìn)行的多是事后檢測,因此,當(dāng)發(fā)現(xiàn)入侵時,系統(tǒng)多數(shù)已經(jīng)遭到了破壞。
(3)分布式入侵檢測系統(tǒng)
目前這種技術(shù)在ISS的RealSecure等產(chǎn)品中已經(jīng)有所應(yīng)用。分布式入侵檢測系統(tǒng)檢測的數(shù)據(jù)也是來源于網(wǎng)絡(luò)中的數(shù)據(jù)包,不同的是,它采用分布式檢測、集中管理的方法,即在每個網(wǎng)段安裝一個黑匣子。該黑匣子相當(dāng)于基于網(wǎng)絡(luò)的入侵檢測系統(tǒng),只是沒有用戶操作界面;黑匣子用來檢測其所在網(wǎng)段上的數(shù)據(jù)流,并根據(jù)集中安全管理中心制定的安全策略、響應(yīng)規(guī)則等來分析檢測到的網(wǎng)絡(luò)數(shù)據(jù),同時向集中安全管理中心發(fā)回安全事件信息。集中安全管理中心是整個分布式入侵檢測系統(tǒng)面向用戶的界面,它的特點是對數(shù)據(jù)保護(hù)的范圍比較大,但對網(wǎng)絡(luò)流量有一定的影響。
此外,根據(jù)工作方式可將入侵檢測系統(tǒng)分為離線檢測系統(tǒng)與在線檢測系統(tǒng)。離線檢測系統(tǒng)是非實時工作的系統(tǒng),離線檢測系統(tǒng)在事后分析審計事件,從中檢查入侵活動。在線檢測系統(tǒng)是實時聯(lián)機(jī)的檢測系統(tǒng)。在線檢測系統(tǒng)的工作包含對實時網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行分析,對實時主機(jī)審計進(jìn)行分析。其工作過程是在網(wǎng)絡(luò)連接過程中實時檢測入侵,一旦發(fā)現(xiàn)入侵跡象立即斷開入侵者與主機(jī)的連接,并收集證據(jù)和實施數(shù)據(jù)恢復(fù)。這個檢測過程是不斷循環(huán)進(jìn)行的。
3、入侵檢測方法
入侵檢測系統(tǒng)常用的檢測方法有特征檢測、統(tǒng)計檢測與專家系統(tǒng)。目前入侵檢測系統(tǒng)絕大多數(shù)屬于使用入侵模板進(jìn)行模式匹配的特征檢測系統(tǒng),其他少量是采用概率統(tǒng)計的統(tǒng)計檢測系統(tǒng)與基于日志的專家系統(tǒng)。
(1)特征檢測
特征檢測對已知的攻擊或入侵的方式做出確定性的描述,形成相應(yīng)的事件模式。當(dāng)被審計的事件與已知的入侵事件模式相匹配時,即報警。原理上與專家系統(tǒng)相仿。其檢測方法與計算機(jī)病毒的檢測方式類似。目前基于對包特征描述的模式匹配應(yīng)用較為廣泛。
該方法預(yù)報檢測的準(zhǔn)確率較高,但對于無經(jīng)驗知識的入侵與攻擊行為無能為力。
(2)統(tǒng)計檢測
統(tǒng)計模型常用異常檢測,在統(tǒng)計模型中常用的測量參數(shù)包括:審計事件的數(shù)量、間隔時間、資源消耗情況等。常用的入侵檢測的統(tǒng)計模型有:馬爾可夫過程模型和時間序列分析模型。統(tǒng)計檢測是基于對用戶的歷史行為進(jìn)行建模以及在早期的證據(jù)或模型的基礎(chǔ)上,審計系統(tǒng)實時地檢測用戶對系統(tǒng)的使用情況,根據(jù)系統(tǒng)內(nèi)部保存的用戶行為概率統(tǒng)計模型進(jìn)行檢測,當(dāng)發(fā)現(xiàn)有可疑的用戶行為發(fā)生時,保持跟蹤并監(jiān)測、記錄該用戶的行為。
統(tǒng)計檢測的最大優(yōu)點是它可以“學(xué)習(xí)”用戶的使用習(xí)慣,從而獲得較高的檢出率與可用性。但是它的“學(xué)習(xí)”能力也給入侵者提供了機(jī)會。入侵者可以通過逐步“訓(xùn)練”使入侵事件符合正常操作的統(tǒng)計規(guī)律,從而透過入侵檢測系統(tǒng)。
(3)專家系統(tǒng)
使用專家系統(tǒng)對入侵進(jìn)行檢測,經(jīng)常針對的是有特征入侵的行為。所謂的規(guī)則即知識,不同的系統(tǒng)與設(shè)置具有不同的規(guī)則,且規(guī)則之間往往無通用性。專家系統(tǒng)的建立依賴于知識庫的完備性,知識庫的完備性又取決于審計記錄的完備性與實時性。入侵的特征抽取與表達(dá),是入侵檢測專家系統(tǒng)的關(guān)鍵。
該技術(shù)根據(jù)安全專家對可疑行為的分析經(jīng)驗來建立一套推理規(guī)則,然后在此基礎(chǔ)上建立相應(yīng)的專家系統(tǒng),由此專家系統(tǒng)即可自動進(jìn)行對所涉及的入侵行為的分析工作。該系統(tǒng)應(yīng)當(dāng)能夠隨著經(jīng)驗的積累而利用其自學(xué)能力進(jìn)行規(guī)則的擴(kuò)充和修正。
另外,入侵檢測技術(shù)可以分為異常檢測(anomaly detection)和誤用檢測(misuse detection)。異常檢測是提取正常模式下審計數(shù)據(jù)的數(shù)學(xué)特征,檢查事件數(shù)據(jù)中是否存在與之相違背的異常模式。誤用檢測是搜索審計事件數(shù)據(jù),查看其中是否存在預(yù)先定義好的誤用模式。為了提高準(zhǔn)確性,入侵檢測又引入了數(shù)據(jù)挖掘、人工智能、遺傳算法等技術(shù)。但是,入侵檢測技術(shù)還沒有達(dá)到盡善盡美的程度,該領(lǐng)域的許多問題還有待解決。
(4)其他入侵檢測方法
隨著入侵檢測系統(tǒng)的不斷發(fā)展,研究人員又提出了一些新的入侵檢測技術(shù),這些技術(shù)不能簡單地歸結(jié)為誤用檢測或異常檢測,它們提供了一些具有普遍意義的分析技術(shù)。這些技術(shù)具體包括基于免疫系統(tǒng)的檢測方法、遺傳算法和基于內(nèi)核的檢測方法等。
1)基于免疫系統(tǒng)的檢測方法
免疫系統(tǒng)是保護(hù)生命機(jī)體不受病原體侵害的系統(tǒng),它對病原體和非自身組織的檢測是相當(dāng)準(zhǔn)確的,不但能夠記憶曾經(jīng)感染過的病原體的特征,還能夠有效地檢測未知的病原體。免疫系統(tǒng)具有分層保護(hù)、分布式檢測、各部分相互獨立和檢測未知病原體的特性,這些都是計算機(jī)安全系統(tǒng)所缺乏和迫切需要的。
免疫系統(tǒng)最重要的能力就是識別自我(Self)和非我(Nonself)的能力,這個概念和入侵檢測中的異常檢測的概念很相似。因此,研究人員從免疫學(xué)的角度對入侵檢測問題進(jìn)行了探討。
2)遺傳算法
另一種較為復(fù)雜的檢測技術(shù)是使用遺傳算法對審計事件記錄進(jìn)行分析。遺傳算法是進(jìn)化算法(evolutionary algorithms)的一種,通過引入達(dá)爾文在進(jìn)化論里提出的“自然選擇”概念對系統(tǒng)進(jìn)行優(yōu)化。遺傳算法通常針對需要進(jìn)行優(yōu)化的系統(tǒng)變量進(jìn)行編碼,并將它們作為構(gòu)成個體的“染色體”,再利用相應(yīng)的變異和組合,形成新的個體。
在遺傳算法的研究人員看來,入侵的檢測過程可以抽象為:為審計記錄定義一種向量表示形式,這種向量或者表示攻擊行為,或者表示正常行為。通過對所定義的向量進(jìn)行測試,提出改進(jìn)后的向量表示形式,并不斷重復(fù)這一過程,直至得到令人滿意的結(jié)果(攻擊或正常)。
3)基于內(nèi)核的檢測方法
隨著開放源代碼的操作系統(tǒng)Linux的流行,基于內(nèi)核的檢測方法成為了入侵檢測的新方向。這種方法的核心是從操作系統(tǒng)的層次上看待安全漏洞,并采取措施避免甚至杜絕安全隱患。該方法主要通過修改操作系統(tǒng)源代碼或向內(nèi)核中加入安全模塊來保護(hù)重要的系統(tǒng)文件和系統(tǒng)進(jìn)程等。OpenWall和LIDS就是基于內(nèi)核的入侵檢測系統(tǒng)。
4、蜜罐和蜜網(wǎng)
現(xiàn)行入侵檢測系統(tǒng)及其入侵檢測技術(shù),都存在一些缺陷。為了避免這一問題,科技人員引入了網(wǎng)絡(luò)誘騙技術(shù),即蜜罐(Honeypot)和蜜網(wǎng)(Honeynet)技術(shù)。
(1)蜜罐(Honeypot)
Honeypot是一種全新的基于網(wǎng)絡(luò)的入侵檢測系統(tǒng),它誘導(dǎo)攻擊者訪問預(yù)先設(shè)置的Honeypot而不是工作中的網(wǎng)絡(luò),可以提高檢測攻擊和攻擊者行為的能力,降低攻擊帶來的破壞。
Honeypot的目的有兩個:一是在不被攻擊者察覺的情況下監(jiān)視他們的活動、收集與攻擊者有關(guān)的所有信息;二是牽制攻擊者,讓攻擊者將時間和資源都耗費(fèi)在攻擊Honeypot上,使攻擊者遠(yuǎn)離實際的工作網(wǎng)絡(luò)。為了達(dá)到這兩個目的,Honeypot的設(shè)計方式必須與實際的系統(tǒng)一樣,還應(yīng)包括一系列能夠以假亂真的文件、目錄及其他信息。這樣,攻擊者一旦入侵Honeypot,就會以為自己控制了一個很重要的系統(tǒng),并會充分施展“才能”。而Honeypot就像監(jiān)視器一樣監(jiān)視攻擊者的所有行動:記錄攻擊者的訪問企圖,捕獲擊鍵,確定被訪問、修改或刪除的文件,指出被攻擊者運(yùn)行的程序等。Honeypot會從捕獲的數(shù)據(jù)中學(xué)習(xí)攻擊者的技術(shù),分析系統(tǒng)存在的脆弱性和受害程序,以便做出準(zhǔn)確、快速的響應(yīng)。
Honeypot可以是這樣的一個系統(tǒng):模擬某些已知的漏洞或服務(wù)、模擬各種操作系統(tǒng)、在某個系統(tǒng)上進(jìn)行設(shè)置以使它變成“牢籠”環(huán)境或者是一個標(biāo)準(zhǔn)的操作系統(tǒng),在上面可以打開各種服務(wù)。
Honeypot與基于網(wǎng)絡(luò)的入侵檢測系統(tǒng)相比,具有以下特點。
1)較小的數(shù)據(jù)量
Honeypot僅收集那些對它進(jìn)行訪問的數(shù)據(jù)。在同樣的條件下,基于網(wǎng)絡(luò)的入侵檢測系統(tǒng)可能會記錄成千上萬的報警信息,而Honeypot卻只記錄幾百條。這就使得Honeypot收集信息更容易,分析信息也更方便。
2)減少誤報率
Honeypot能顯著減少誤報率。任何對Honeypot的訪問都是未授權(quán)的、非法的,這樣,Honeypot檢測攻擊就非常有效,從而可以大大減少甚至避免錯誤的報警信息。網(wǎng)絡(luò)安全人員可以集中精力采取其他的安全措施,如及時添加軟件補(bǔ)丁等。
3)捕獲漏報
Honeypot可以很容易地鑒別并捕獲針對它的新的攻擊行為。由于針對Honeypot的任何操作都不是正常的,因此任何新的、以前沒有過的攻擊很容易暴露。
4)資源最小化
Honeypot所需要的資源很少,即使工作在一個大型網(wǎng)絡(luò)環(huán)境中也是如此。一個簡單的Pentium主機(jī)可以模擬具有多個IP地址的C類網(wǎng)絡(luò)。
(2)蜜網(wǎng)(Honeynet)
Honeynet的概念是由Honeypot發(fā)展而來的。起初人們?yōu)榱搜芯亢诳偷娜肭中袨?,在網(wǎng)絡(luò)上放置了一些專門的計算機(jī),并在上面運(yùn)行專用的模擬軟件,以使這些計算機(jī)在外界看來就是網(wǎng)絡(luò)上運(yùn)行某些操作系統(tǒng)的主機(jī)。把這些計算機(jī)放在網(wǎng)絡(luò)上,并為之設(shè)置較低的安全防護(hù)等級,可使入侵者比較容易地進(jìn)入系統(tǒng)。入侵者進(jìn)入系統(tǒng)后,其一切行為都會在系統(tǒng)軟件的監(jiān)控和記錄之下。系統(tǒng)軟件通過收集描述入侵者行為的數(shù)據(jù),可以對入侵者的行為進(jìn)行分析。目前Honeypot 的軟件已經(jīng)有很多,可以模擬各種各樣的操作系統(tǒng),如Windows、RadHat、FreeBSD,甚至Cisco路由器的iOS,但是模擬軟件不能完全反映真實的網(wǎng)絡(luò)狀況,也不可能模擬實際網(wǎng)絡(luò)中所出現(xiàn)的各種情況,在其上收集到的數(shù)據(jù)有很大的局限性,因此就出現(xiàn)了由真實計算機(jī)組成的網(wǎng)絡(luò)Honeynet。
1)Honeynet與Honeypot的區(qū)別
Honeynet與傳統(tǒng)意義上的Honeypot有3個最大的不同。
① 一個Honeynet是一個網(wǎng)絡(luò)系統(tǒng),而并非某臺單一主機(jī)。這一網(wǎng)絡(luò)系統(tǒng)是隱藏在防火墻后面的,所有進(jìn)出的數(shù)據(jù)都會被其關(guān)注、捕獲并控制。這些被捕獲的數(shù)據(jù)可以幫助我們研究分析入侵者使用的工具、方法及動機(jī)。在這個Honeynet中,可以使用各種不同的操作系統(tǒng)及設(shè)備,如Solaris、Linux、Windows NT、Cisco Switch等。這樣建立的網(wǎng)絡(luò)環(huán)境看上去會更加真實可信,同時我們還在不同的系統(tǒng)平臺上運(yùn)行著不同的服務(wù),如Linux的DNS server,Windows NT的Web server或者一個Solaris的FTP server。我們可以學(xué)習(xí)不同的工具以及不同的策略,或許某些入侵者僅把目標(biāo)定于幾個特定的系統(tǒng)漏洞上,而多樣化的系統(tǒng)可能會揭示出關(guān)于入侵者更多的特性。
② Honeynet中的所有系統(tǒng)都是標(biāo)準(zhǔn)的機(jī)器,上面運(yùn)行的都是真實完整的操作系統(tǒng)及應(yīng)用程序。Honeynet不會刻意地模擬某種環(huán)境或者故意地使系統(tǒng)不安全。在Honeynet里面找到的存在風(fēng)險的系統(tǒng),與互聯(lián)網(wǎng)上的一些系統(tǒng)別無二致。將普通的操作系統(tǒng)放入Honeynet中,并不會對整個網(wǎng)絡(luò)造成影響。
③ Honeypot通過把系統(tǒng)的脆弱性暴露給入侵者或是故意使用一些具有強(qiáng)烈誘惑性的假信息(如戰(zhàn)略性目標(biāo)、年度報表等)來誘騙入侵者。這樣雖然可以對入侵者進(jìn)行跟蹤,但也會引來更多的潛在入侵者(他們因好奇而來)。而更進(jìn)一步,應(yīng)該在實際的系統(tǒng)中運(yùn)行入侵檢測系統(tǒng),當(dāng)檢測到入侵行為時,才能進(jìn)行誘騙,這樣才能更好地保護(hù)系統(tǒng)。Honeynet是在入侵檢測的基礎(chǔ)上實現(xiàn)入侵誘騙的,這與目前Honeypot的理論差別很大。
2)Honeynet原型系統(tǒng)
圖2所示為將防火墻、入侵檢測系統(tǒng)、二層網(wǎng)關(guān)和Honeynet有機(jī)地結(jié)合起來,設(shè)計了一個Honeynet的原型系統(tǒng)。
圖2 Honeynet原型系統(tǒng)
在圖2中,外部防火墻與系統(tǒng)原有安全措施兼容,只需對其安全策略進(jìn)行調(diào)整,使之適應(yīng)加入的Honeynet誘騙系統(tǒng)即可。在原型系統(tǒng)中實現(xiàn)Honeynet的入侵檢測子系統(tǒng)和入侵行為重定向子系統(tǒng)。
圖2中采用了最新Honeynet技術(shù),即二層網(wǎng)關(guān)(也稱網(wǎng)橋)。由于網(wǎng)橋沒有IP協(xié)議棧,也就沒有IP地址、路由通信量及TTL縮減等特征,因此入侵者很難發(fā)現(xiàn)網(wǎng)橋的存在,也永遠(yuǎn)不知道自己正處于被分析和監(jiān)控之中。而且所有出入Honeynet的通信量必須通過網(wǎng)橋,這意味著在單一的網(wǎng)橋設(shè)備上就可以實現(xiàn)對全部出入通信量的數(shù)據(jù)控制和捕獲。通過對網(wǎng)橋上的rc.firewall和snort.sh等腳本進(jìn)行配置可以實現(xiàn)Honeynet的防火墻與入侵檢測系統(tǒng)的智能連接控制、防火墻日志以及入侵檢測系統(tǒng)日志功能。
網(wǎng)橋有A、B、C三個網(wǎng)絡(luò)接口。A接口用于和外部防火墻相連,接收重定向進(jìn)來的屬于可疑或真正入侵的網(wǎng)絡(luò)連接;B接口用于Honeynet內(nèi)部管理以及遠(yuǎn)程日志等功能;C接口用于和Honeypot主機(jī)相連,進(jìn)行基于網(wǎng)絡(luò)的入侵檢測,實時記錄Honeynet系統(tǒng)中的入侵行為。網(wǎng)橋上可以根據(jù)需要運(yùn)行網(wǎng)絡(luò)流量仿真軟件,通過仿真流量來麻痹入侵者。路由器、外部防火墻和網(wǎng)橋為Honeynet提供了較高的安全保障。
兩臺Honeypot主機(jī)各自虛擬兩個客戶操作系統(tǒng),4個客戶操作系統(tǒng)分別擁有各自的網(wǎng)絡(luò)接口,根據(jù)DMA區(qū)的應(yīng)用服務(wù)來模擬部署脆弱性服務(wù),并應(yīng)用IP空間欺騙技術(shù)來增加入侵者的搜索空間,運(yùn)用網(wǎng)絡(luò)流量仿真、網(wǎng)絡(luò)動態(tài)配置和組織信息欺騙等多種網(wǎng)絡(luò)攻擊誘騙技術(shù)來提高Honeynet的誘騙質(zhì)量。通過這種虛實結(jié)合的方式來構(gòu)建一個虛擬Honeynet脆弱性模擬子系統(tǒng),使其與入侵者進(jìn)行交互周旋。
為了進(jìn)行隱蔽的遠(yuǎn)程日志和Honeynet管理工作,在Honeypot主機(jī)的宿主操作系統(tǒng)、網(wǎng)橋和遠(yuǎn)程日志服務(wù)器上分別添加一個網(wǎng)卡,使它們互連成一個對入侵者透明的私有網(wǎng)絡(luò)。遠(yuǎn)程日志服務(wù)器除了承擔(dān)遠(yuǎn)程傳來的防火墻日志、入侵檢測系統(tǒng)日志以及Honeypot系統(tǒng)日志三重日志的數(shù)據(jù)融合工作以外,還充當(dāng)了Honeynet的入侵行為控制中心,對Honeynet各個子系統(tǒng)進(jìn)行協(xié)調(diào)、控制和管理。遠(yuǎn)程日志服務(wù)器的安全級別最高,可以令所有不需要的服務(wù)關(guān)閉。
5、惡意軟件檢測
計算機(jī)病毒是人為制造的、能夠進(jìn)行自我復(fù)制的、具有破壞計算機(jī)資源作用的一組程序或指令的集合。計算機(jī)病毒把自身附著在各種類型的文件上或寄生在存儲媒介中,能對計算機(jī)系統(tǒng)和網(wǎng)絡(luò)進(jìn)行各種破壞,同時有獨特的復(fù)制能力和傳染性,能夠自我復(fù)制和傳染。
計算機(jī)病毒種類繁多、特征各異,但一般具有自我復(fù)制能力、感染性、潛伏性、觸發(fā)性和破壞性。目前典型的病毒檢測方法的介紹如下。
1)直接檢查法
感染了病毒的計算機(jī)系統(tǒng)的內(nèi)部會發(fā)生某些變化,并會在一定的條件下表現(xiàn)出來,因而可以通過直接觀察法來判斷系統(tǒng)是否感染病毒。
2)特征代碼法
特征代碼法是檢測已知病毒的最簡單、最經(jīng)濟(jì)的方法。為了實現(xiàn)特征代碼法,需要采集已知病毒樣本,依據(jù)如下原則抽取特征代碼:抽取的代碼比較特殊,不大可能與普通的正常程序代碼吻合;抽取的代碼要有適當(dāng)?shù)拈L度,一方面要維持特征代碼的唯一性,另一方面要盡量使特征代碼長度短些,以減少空間與時間開銷。
特征代碼法的優(yōu)點是:檢測準(zhǔn)確快速、可識別病毒的名稱、誤報警率低、依據(jù)檢測結(jié)果做解毒處理。缺點是:一方面,不能檢測未知病毒;另一方面,搜集已知病毒的特征代碼的開銷大,在網(wǎng)絡(luò)上的運(yùn)行效率低(在網(wǎng)絡(luò)上,長時間檢索會使整個網(wǎng)絡(luò)性能變差)。
3)校驗和法
校驗和法是指計算正常文件內(nèi)容的校驗和,并將該校驗和寫入文件中或?qū)懭雱e的文件中進(jìn)行保存。在文件使用過程中,定期地或每次使用文件前,檢查文件當(dāng)前內(nèi)容算出的校驗和與原來保存的校驗和是否一致,從而發(fā)現(xiàn)文件是否被感染。
雖然病毒感染會引起文件內(nèi)容變化,但是校驗和法對文件內(nèi)容的變化太過敏感,又不能區(qū)分是否是正常程序引起的變化,因而會頻繁報警。當(dāng)遇到軟件版本更新、口令變更、運(yùn)行參數(shù)修改時,校驗和法都會誤報警;校驗和法對隱蔽性病毒無效。隱蔽性病毒進(jìn)駐內(nèi)存后,會自動剝?nèi)ト径境绦蛑械牟《敬a,使校驗和法受騙(對一個有毒文件算出正常校驗和)。
運(yùn)用校驗和法查病毒可采用3種方式:在檢測病毒工具中納入校驗和法、在應(yīng)用程序中放入校驗和法自我檢查功能、使校驗和檢查程序常駐內(nèi)存以實時檢查待運(yùn)行的應(yīng)用程序。
校驗和法的優(yōu)點:方法簡單,能發(fā)現(xiàn)未知病毒,被查文件的細(xì)微變化也能被發(fā)現(xiàn)。
校驗和法的缺點:發(fā)布通信記錄正常態(tài)的校驗和,誤報警,無法識別病毒名稱,無法對付隱蔽型病毒。
4)行為監(jiān)測法
利用病毒的特有行為來監(jiān)測病毒的方法,稱為行為監(jiān)測法。通過對病毒多年的觀察和研究發(fā)現(xiàn),有一些行為是病毒的共同行為,而且比較特殊。在正常程序中,這些行為比較罕見。當(dāng)程序運(yùn)行時,監(jiān)視其行為,如果發(fā)現(xiàn)了病毒行為,立即報警。
行為監(jiān)測法的優(yōu)點:可發(fā)現(xiàn)未知病毒,可相當(dāng)準(zhǔn)確地預(yù)報未知的多數(shù)病毒。
行為監(jiān)測法的缺點:可能誤報警,無法識別病毒名稱,實現(xiàn)時有一定難度。
5)軟件模擬法
多態(tài)性病毒在每次感染時都會變化其病毒密碼,對付這種病毒,特征代碼法將失效。因為多態(tài)性病毒代碼實施密碼化,而且每次所用密鑰不同,所以即使將感染了病毒的代碼相互比較,也無法找出相同的可能作為特征的穩(wěn)定代碼。雖然行為檢測法可以檢測多態(tài)性病毒,但是在檢測出病毒后,因為不清楚病毒的種類,所以難以做消毒處理。為了檢測多態(tài)性病毒,可應(yīng)用新的檢測方法——軟件模擬法,即用軟件方法來模擬和分析程序的運(yùn)行。
新型檢測工具納入了軟件模擬法,該類工具開始運(yùn)行時,使用特征代碼法檢測病毒,如果發(fā)現(xiàn)隱蔽病毒或多態(tài)性病毒嫌疑時,則啟動軟件模擬模塊,監(jiān)視病毒的運(yùn)行,待病毒自身的密碼譯碼后,再運(yùn)用特征代碼法來識別病毒的種類。
來源:計算機(jī)與網(wǎng)絡(luò)安全