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