入侵檢測基于虛擬化終端部署的方案
隨著網(wǎng)絡(luò)的飛速發(fā)展,網(wǎng)絡(luò)已經(jīng)成為計算機應(yīng)用中不可或缺的一部分。但是,網(wǎng)絡(luò)遭受攻擊的風(fēng)險和機會也相應(yīng)的快速增多。如何建立合理的網(wǎng)絡(luò)安全體系已經(jīng)成為網(wǎng)絡(luò)領(lǐng)域的熱點問題。
目前,要讓開發(fā)人員保證開發(fā)軟件不存在任何的漏洞是不可能的,同時要求網(wǎng)絡(luò)安全人員實時檢測網(wǎng)絡(luò)海量信息流并發(fā)現(xiàn)攻擊信息并作出有效地措施也有一定難度。本文為了解決以上問題,針對性的提出了使用虛擬化技術(shù)進行軟件的隔離,論述了使用隔離技術(shù)的利弊,并針對網(wǎng)絡(luò)安全提出了入侵檢測的解決方案,論述了幾種入侵檢測體系的利弊,闡述了一種針對大流量網(wǎng)絡(luò)入侵檢測的方案。最后結(jié)合虛擬化技術(shù),闡述了入侵檢測基于虛擬化終端部署的方案。
虛擬化技術(shù)
2.1虛擬化技術(shù)論述
一個程序存在漏洞就會影響其他程序乃至整個服務(wù)器的運行,因此在不能保證程序本身安全性的時候,我們就需要減弱或者切斷程序和其他程序乃至服務(wù)器的直接聯(lián)系,將程序作為獨立的個體。這樣即使程序崩潰也不會影響其余程序的運行。而MiU給出的一份關(guān)于如今的操作系統(tǒng)和應(yīng)用軟件的研究報告顯示:軟件之中不可能沒有漏洞。
因此我們將應(yīng)用很廣的虛擬機技術(shù)引入到服務(wù)器的安全維護中。虛擬機為應(yīng)用程序提供了一個與操作系統(tǒng)相同但是又獨立的運行環(huán)境。
虛擬化保護的優(yōu)點如下:
1.通過為每個程序虛擬出其運行環(huán)境。直接消除了程序間的相互影響。所有的操作都僅僅局限于每個虛擬化環(huán)境中,因此即使某個程序崩潰最多也只是導(dǎo)致這個虛擬環(huán)境崩潰,而不會對其他的程序產(chǎn)生影響。
2.由于程序的運行環(huán)境是虛擬出來的,因此可以針對某個程序虛擬出其適應(yīng)的運行環(huán)境,并且分配足夠其運行的系統(tǒng)資源,從而避免了程序間的不兼容性。
3.由于程序所能使用的最大資源是由其虛擬環(huán)境所決定的,因此避免了某個程序搶占資源而導(dǎo)致其他程序無法運行的情況,很好的保證了程序的穩(wěn)定性和并行性。
4.由于程序都是運行在虛擬環(huán)境中,因此具備了很好的可移植性。只要其余平臺有其相同的虛擬環(huán)境都可以穩(wěn)定的移植。
5.虛擬化的環(huán)境可以記錄下每個時刻這個環(huán)境的運行信息,通過這些運行信息可以很方便的回退虛擬環(huán)境到某一個曾經(jīng)的時刻,由于虛擬環(huán)境的獨立性,這個回退不會對其他的程序造成影響。
但是虛擬化技術(shù)由于要為每個程序配置虛擬環(huán)境。因此從客觀上增加了系統(tǒng)資源的開銷。
2、應(yīng)用部署
在具體應(yīng)用中我們可以使用VMware,Sandboxie和Returnil Virtual System搭建一個多層虛擬環(huán)境。
VMware可以使你在一臺機器上同時運行二個或更多Windows、DOS、LINUX系統(tǒng)。
Returnil Virtual System來自歐洲著名的安全公司Retumil SIA,它是一個基于虛擬機原理的影子系統(tǒng)軟件,可以瞬間把您的計算機用隔離罩保護起來。同時用一個內(nèi)存中的虛假替身“影子”系統(tǒng)來接管真實的操作系統(tǒng),任何操作都被限制在虛擬系統(tǒng)中使用。無法感染你真實的操作系統(tǒng)。
Sandboxie可以為運行程序構(gòu)建沙盤環(huán)境,所以程序的操作都被局限于Sandboxie為這個程序所構(gòu)建的虛擬環(huán)境中。不會對其他的軟件造成影響。
于是我們對于單個的服務(wù)器,首先使用VMware構(gòu)建使用不同操作系統(tǒng)的虛擬計算機。然后對于每個VM環(huán)境使用Returnil Virtual System構(gòu)建一個影子系統(tǒng)。之后在這個影子系統(tǒng)上使用Sandboxie運行我們所需要啟動的服務(wù)或者程序。
程序運行在沙箱中。相互間不會互相影響,如果需要和操作系統(tǒng)進行交互或者需要執(zhí)行操作系統(tǒng)級別的命令,則也只能訪問影子系統(tǒng)。而虛擬計算機則提供了不同程序所需要的不同操作系統(tǒng)環(huán)境。這樣無論如何。
真實的操作系統(tǒng)都不會受到影響。
本文選取了aDache在正常訪問時間時候的數(shù)據(jù)比較。在犧牲了有限的計算機資源的同時獲得了較高的安全系數(shù)。本文認為還是有價值的。#p#
二、入侵檢測
(一)、入侵檢測概述
入侵檢測(Intrusi0n Detection),顧名思義,就是對入侵行為的發(fā)覺。他通過對計算機網(wǎng)絡(luò)或計算機系統(tǒng)中若干關(guān)鍵點收集信息并對其進行分析。從中發(fā)現(xiàn)網(wǎng)絡(luò)或系統(tǒng)中是否有違反安全策略的行為和被攻擊的跡象。
入侵檢測可以作為防火墻后的第二道防護措施,通過對網(wǎng)絡(luò)狀況的實時監(jiān)聽,從而能夠與對于內(nèi)部攻擊,誤操作,外部攻擊等進行防護,從而大大提高網(wǎng)絡(luò)的安全性。具有監(jiān)視分析用戶和系統(tǒng)的行為、審計系統(tǒng)配置和漏洞、評估敏感系統(tǒng)和數(shù)據(jù)的完整性、識別攻擊行為、對異常行為進行統(tǒng)計、自動地收集和系統(tǒng)相關(guān)的補丁、進行審計跟蹤識別違反安全法規(guī)的行為、使用誘騙服務(wù)器記錄黑客行為等功能,在不影響網(wǎng)絡(luò)性能的前提下,使系統(tǒng)管理員可以較有效地監(jiān)視、審計、評估自己的系統(tǒng)。
入侵檢測的實現(xiàn)方法有如下幾種:
1.基于日志和審計數(shù)據(jù)的入侵檢測
針對單一的主機,可以使用對于主機的審計數(shù)據(jù)和系統(tǒng)的運行日志來發(fā)現(xiàn)攻擊的發(fā)生。檢測系統(tǒng)一般建立于待檢測的主機上,這種檢測方式必須保證審計數(shù)據(jù)和運行日志是安全并且可靠的。并且更加攻擊方式和審計數(shù)據(jù)和日志的組織方式定義規(guī)則。
由于日志是系統(tǒng)運行時自動產(chǎn)生以紀錄系統(tǒng)運行狀態(tài)的文檔,因此系統(tǒng)管理員往往可以通過分析日志得出系統(tǒng)發(fā)生了什么。然而在系統(tǒng)的高速運行下,日志的紀錄數(shù)目屬于高速增長中,海量的日志紀錄使得管理員無法有效的分析日志,而標準的日志功能并不能自動檢查過濾日志以提供給管理員需要的信息。而基于審計數(shù)據(jù)和日志的入侵檢測系統(tǒng)則可以自動分析即時增長的數(shù)據(jù)并提供給管理員分析的結(jié)果,通過系統(tǒng)自動處理或者管理員手動處理以阻止非法攻擊。
這種方式的弱點也是顯而易見的。
1)攻擊者可以試圖獲取到更高的權(quán)限來控制改變審計數(shù)據(jù)和運行日志
2)不能通過檢測審計數(shù)據(jù)和運行日志得出網(wǎng)絡(luò)欺騙攻擊。
因此我們認為基于日志的入侵檢測不是一個安全系數(shù)高的自動防御方案,其適用于一般的服務(wù)器安全防護以及作為服務(wù)器管理員分析服務(wù)器運行情況的補充。
2.基于網(wǎng)絡(luò)數(shù)據(jù)流監(jiān)聽的入侵檢測
這種人侵檢測是指分布于網(wǎng)絡(luò)線路上,被動的無聲息的接受其所需要的報文,對所收集來的報文,入侵檢測系統(tǒng)根據(jù)提取的特征值和對應(yīng)的規(guī)則庫,根據(jù)智能匹配方法判斷報文是否反映了某種入侵行為,然后決定是否進行報警或者適當?shù)姆佬l(wèi)或者反擊。
由于入侵檢測系統(tǒng)需要分布在網(wǎng)絡(luò)環(huán)境中進行監(jiān)聽,因此可以有兩種方式接入到被保護的網(wǎng)絡(luò)中。
1)將入侵檢測系統(tǒng)分布配置在網(wǎng)絡(luò)中的每一個單機節(jié)點中,通過檢測每個單機進出的網(wǎng)絡(luò)數(shù)據(jù)流。并進行匯總判斷以檢測整個網(wǎng)絡(luò)上的異常現(xiàn)象。
2)以分布式檢測網(wǎng)絡(luò)的形式將各入侵檢測系統(tǒng)分布式布設(shè)在受保護網(wǎng)絡(luò)的各被保護網(wǎng)段的網(wǎng)關(guān)處,通過對網(wǎng)關(guān)數(shù)據(jù)報的分析得出整個網(wǎng)絡(luò)的狀況。用于檢測整個單一網(wǎng)絡(luò)上的異常現(xiàn)象。
通過對網(wǎng)絡(luò)流數(shù)據(jù)進行監(jiān)聽以檢測攻擊,這種方式的核心就在于數(shù)據(jù)包的截獲和分析。入侵檢測系統(tǒng)通過截取網(wǎng)絡(luò)流中的數(shù)據(jù)包,得到網(wǎng)絡(luò)中系統(tǒng)的運行信息,用戶信息,和操作信息等等。然后根據(jù)設(shè)定好的規(guī)則進行分析。但是基于網(wǎng)絡(luò)數(shù)據(jù)流監(jiān)聽的入侵檢測都面臨著一個問題。由于數(shù)據(jù)包需要經(jīng)過入侵檢測系統(tǒng)的過濾,因此入侵檢測系統(tǒng)的效率直接對網(wǎng)絡(luò)產(chǎn)生影響 特別是隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,現(xiàn)在網(wǎng)絡(luò)中的通行流量已經(jīng)越來越大。入侵檢測系統(tǒng)必須有效率的處理1000M 甚至更大的數(shù)據(jù)流并且不會對網(wǎng)絡(luò)通信造成明顯影響。
(二)、基于大流量網(wǎng)絡(luò)的入侵檢測方案
經(jīng)過調(diào)查。在網(wǎng)絡(luò)運行中網(wǎng)絡(luò)數(shù)據(jù)流往往是波動的,在一個較長的時間段內(nèi),數(shù)據(jù)量的大小是變化的,網(wǎng)絡(luò)中不會時時刻刻都存在大數(shù)據(jù)量的流動。而由于網(wǎng)絡(luò)通信往往是基于交互的,通信的雙方一般都要經(jīng)歷一次的發(fā)送接收的過程,因此本文基于以上現(xiàn)狀提出一種延遲異步的數(shù)據(jù)量處理方案以緩解大數(shù)據(jù)流對于入侵檢測系統(tǒng)的壓力。
1.對于第一次通過數(shù)據(jù)檢查系統(tǒng)的數(shù)據(jù)包,入侵檢測系統(tǒng)為這個數(shù)據(jù)包標記上ID并記錄,然后無論這個數(shù)據(jù)包是否經(jīng)過分析都直接轉(zhuǎn)發(fā)至目標計算機上。
2.入侵檢測系統(tǒng)按照記錄中的順序分析處理數(shù)據(jù)包后將數(shù)據(jù)包的分析結(jié)果根據(jù)其ID記錄至查詢系統(tǒng)。
3.目標計算機接收到并準備處理帶有標記ID的數(shù)據(jù)包時,根據(jù)其ID向查詢系統(tǒng)詢問其安全性。如果查詢系統(tǒng)返回安全的提示則執(zhí)行這個數(shù)據(jù)包,如果查詢系統(tǒng)返回攻擊信息則將數(shù)據(jù)包提交給處理系統(tǒng),在得不到查詢系統(tǒng)答復(fù)未處理時掛起這個數(shù)據(jù)包操作這種方案的優(yōu)點如下:
1.不會在網(wǎng)絡(luò)繁忙時由于入侵檢測系統(tǒng)的分析處理而導(dǎo)致網(wǎng)絡(luò)延遲甚至堵塞
2.由于網(wǎng)絡(luò)的流量處于波動中,入侵檢測系統(tǒng)可以在流量小的時候處理大流量時為處理完的信息。而不會造成大流量時不堪重負。小流量時空閑的情況。提高了系統(tǒng)的效率。
3.由于網(wǎng)絡(luò)通信的延遲和每個節(jié)點對于數(shù)據(jù)處理順序存在調(diào)度機制。數(shù)據(jù)不一定會在節(jié)點接收到的時候就被馬上處理,因此當節(jié)點提交查詢的時候,這個數(shù)據(jù)包往往是已經(jīng)分析完畢的,因此這種方式對于節(jié)點的數(shù)據(jù)處理影響是比較小的。
結(jié)合虛擬化技術(shù)的入侵檢測系統(tǒng)
由于虛擬化技術(shù)模擬了程序的運行環(huán)境,因此完全可以把每個虛擬環(huán)境看成網(wǎng)絡(luò)中的一個節(jié)點。
(三)、結(jié)合虛擬化的入侵檢測方案
結(jié)合虛擬化可以改進之前提出的延遲異步方案如下:
其1.2步相同
3.虛擬環(huán)境中的程序向查詢系統(tǒng)提交查詢,如果查詢系統(tǒng)返回安全的提示則執(zhí)行這個數(shù)據(jù)包,如果查詢系統(tǒng)返回攻擊信息則將數(shù)據(jù)包提交給處理系統(tǒng),如果查詢系統(tǒng)答復(fù)未處理則不等待直接執(zhí)行這個數(shù)據(jù)包,并回饋給入侵檢測系統(tǒng)這個ID數(shù)據(jù)包執(zhí)行時間。
4.數(shù)據(jù)包的執(zhí)行結(jié)果如果有反饋信息則標上和執(zhí)行數(shù)據(jù)包同樣的ID發(fā)給入侵檢測系統(tǒng),若入侵檢測系統(tǒng)已分析完畢這個ID的數(shù)據(jù)包是合法的則通過,否則則截留這個數(shù)據(jù)包。如果還未分析則掛起這個數(shù)據(jù)包等待分析。
5.若檢測系統(tǒng)檢測出某個非法攻擊數(shù)據(jù)包。并且這個數(shù)據(jù)包在X時已經(jīng)被K虛擬環(huán)境執(zhí)行,則通知虛擬環(huán)境K回退到X時。并提交警告給管理人員。
結(jié)合虛擬環(huán)境后,虛擬環(huán)境中的程序可以在不等待入侵檢測系統(tǒng)的數(shù)據(jù)包分析反饋的時候就預(yù)先執(zhí)行數(shù)據(jù)包。如果執(zhí)行的是非法數(shù)據(jù)包則進行系統(tǒng)回退。在日常運行中,提高了大流量期間的運行效率。
綜上所述,我們可以使用虛擬化技術(shù)封閉程序的運行環(huán)境,消除程序間的相互影響。并且把外部攻擊也局限在某一個封閉虛擬環(huán)境中。通過入侵檢測,我們可以及時的發(fā)現(xiàn)并且解決網(wǎng)絡(luò)中的異常,并且通過延遲異步方案和與虛擬化結(jié)合的的異步方案可以一定程度上提高入侵檢測在大流量網(wǎng)絡(luò)中的效率。