當前位置:學問君>學習教育>畢業論文>

基於雲安全的主動防禦系統多引擎檢測設計

學問君 人氣:1.73W

特徵碼掃描首先由反病毒廠商獲取病毒樣本,再提取樣本PE檔案的關鍵特徵,以下是小編蒐集整理的一篇探究雲防禦系統多引擎檢測設計的論文範文,供大家閱讀檢視。

基於雲安全的主動防禦系統多引擎檢測設計

引言

互聯網爲惡意軟件提供了多樣化的傳播途徑.爲了防範惡意軟件威脅,反病毒軟件是最常用的解決方案.然而反病毒軟件廣泛使用的基於特徵碼的惡意軟件檢測技術無法應對病毒呈現爆炸式增長背景下的安全威脅.

當前,安全防禦研究的趨勢是利用雲計算技術的強大數據處理與存儲能力,提升安全服務.

例如,CloudAV透過在雲端部署多個反病毒引擎爲客戶端上傳的檔案進行掃描,將傳統的反病毒轉變成對客戶端的雲安全服務,但CloudAV對10個反病毒引擎獨立檢測的結果採用了最嚴格的決策,使得系統的誤報率較高r實現了以透明及外部的方式進行惡意代碼分析的平臺r系統的透明性使它具有很強的脫殼分析能力,此外,它還能有效抵禦絕大部分反虛擬機(anti-VM)檢測攻擊.

但Ether的細粒度檢測方式使其性能開銷較高ndbox構造了一個自動化的基於行爲的惡意代碼分析工具,提供細粒度且較完整的監控nzo等人提出了一種基於行爲的惡意代碼雲端分析框架.它允許雲端分析與用戶端相配合共同完成惡意代碼的行爲分析工作.然而,這種方式的分析對用戶使用干擾較多,不適於惡意軟件實時防禦,且惡意軟件可能會逃避這種行爲分析.

本文所提出基於雲安全的主動防禦系統主要包括在雲端使用多個殺毒引擎獨立對上傳的檔案進行檢測,並對各殺毒引擎產生的結果進行綜合決策.

同時,結合硬件虛擬化技術,在雲端構建基於系統調用序列的惡意代碼分析平臺.

 1雲防禦系統的多引擎檢測設計

1.1常用病毒檢測技術

特徵碼掃描首先由反病毒廠商獲取病毒樣本,再提取樣本PE檔案的關鍵特徵,一般是程序的關鍵性指令集合即一串二進制位資訊作爲特徵碼.將特徵碼儲存到特徵庫發佈後,反病毒軟件掃描檔案時用特徵碼比對被掃描的程序來辨別該檔案是否存在惡意代碼.啓發式掃描技術利用病毒的一般行爲特徵和結構特徵判斷檔案是否包含惡意代碼.

例如,病毒典型行爲包括訪問系統引導扇區、對EXE檔案執行寫操作或未提醒刪除硬盤上數據等。主動防禦技術使用基於主機的入侵防禦系統(host-basedintrusionpreventionsystem,HIPS)完成程序行爲的攔截和記錄.用戶透過制定規則(rule)控制操作系統中本地程序的執行、對註冊表的訪問和對檔案系統的訪問.

如果未知程序執行時觸發了既定的規則,HIPS會根據規則庫釋放並清除病毒,當規則庫無法識別病毒時會採用聯機檢測或人工鑑定,同時將新病毒添加到病毒庫.

1.2雲防禦系統多引擎檢測設計思想

雲防禦系統包括客戶端和雲服務兩個組成部分,如圖1所示.雲防禦系統客戶端是輕量級的.主機防禦程序,負責獲取本機檔案及報警資訊並上傳給雲端檢測.雲端則包括雲端管理、反病毒引擎(Avg,Avast,Duba和ESET4種)、分析引擎和黑白名單庫4個模組.其中,雲端管理作爲雲服務的前端模組與客戶端直接通信並調用和管理其他模組,反病毒引擎和分析引擎對客戶端上傳的檔案進行掃描和行爲分析,黑白名單庫存儲已被檢測過的檔案的MD5值及其安全性.雲防禦系統可以處理常規檔案掃描,檔案惡意代碼分析和網絡報警資訊.

其研究內容主要包括以下兩個方面.

1)由於單個引擎對可疑檔案進行檢測的檢出率不高,雲防禦系統採用多個不同類型檢測引擎進行獨立檢測.但是,當多種檢測引擎對單個可疑檔案進行檢測時,相互之間得到的結果可能不一致,因此在這種情況下需要對各個檢測結果進行綜合決策.雲防禦系統利用D-S證據理論(D-Sevidentialtheo-ry)對4個獨立的檢測結果進行綜合決策,當綜合決策的結果超過預定閾值時認定爲惡意程序,而低於該閾值時則認爲是正常檔案.

2)雲端對反病毒引擎不能檢出的可疑檔案進行基於行爲的動態分析.很多惡意程序能夠檢測是否在虛擬環境或調試狀態下被執行,從而具備對抗動態分析的能力.爲了能充分檢測程序的行爲,雲防禦系統結合硬件虛擬化技術,在全虛擬化環境下透明監控可疑程序的執行,根據程序執行的系統調用序列判斷程序的安全性.

1.3雲防禦系統總體設計

雲防禦系統的客戶端採用輕量級主機防禦設計,其功能模組如圖2所示,客戶端程序分爲內核層(Ring0)和應用層(Ring3)兩個部分.

內核層有進程監控、註冊表監控和檔案系統監控3個驅動模組分別完成進程活動、註冊表訪問和檔案訪問的監控功能.雲防禦系統的雲端管理程序採用了多線程異步通信的網絡框架.

系統架構使得雲防禦系統能夠實現高併發能力,並具有很強的可擴展性.

如圖3所示,I/O服務用來執行實際的I/O操作,即用TCP/IP讀寫網絡流與客戶端直接交互,客戶端發送的服務器請求由I/O服務接收.I/O服務接收字節流後轉交給I/O過濾器處理,I/O過濾器根據網絡通信協議將字節流編碼成消息並把消息發送給I/O控制器處理.I/O控制器根據消息類型調用不同的處理模組,比如消息類型是檔案請求時,控制器會調用掃描引擎掃描檔案.

處理程序處理完畢後則經過與此前過程相反的過程,I/O控制器將處理程序的結果以消息的形式發給I/O過濾器,I/O過濾器則將消息解碼爲字節流並轉發給I/O服務,I/O服務最後將字節流透過網絡返回給客戶端(如圖3).

2雲防禦系統的多引擎檢測實現

2.1多引擎檢測的綜合決策

證據理論也被稱爲D-S證據理論,是一種不確定推理方法,用集合來表示命題,將對命題的不確定性描述轉化爲對集合的不確定性描述,它的主要特點是在證據中引入不確定性,具有直接表達“不確定”和“不知道”的能力.

當各殺毒引擎檢測結果不一致時,雲防禦系統將利用D-S證據理論進行決策,主要描述爲:將在由算法計算得到的可信區間中選取一個數值作爲對命題的最終信度,所有候選命題中信度最高者即爲決策結果.

D-S證據理論的Dempster合成規則如下:【公式】

2.2報警資訊聚類與關聯

當客戶端向服務器端請求報警資訊時,服務端從數據庫中讀取最近一段時間內的報警資訊並從中篩選出具有相同源IP位址或目的IP位址的報警資訊集合,以此爲數據集使用Apriori算法進行關聯運算.

利用Apriori算法,挖掘規則集分爲兩步:

1)找出報警資訊數據集中所有的頻繁項集.把支援度大於最小支援度的minSupport的項集(Itemset)稱爲頻繁項集(frequentitemset).可以以迭代的方式找出頻繁集.算法僞代碼如圖4所示.

2)挖掘頻繁關聯規則置信度大於給定最小置信度minConf的關聯規則稱爲頻繁關聯規則,利用上一步得到的頻繁項集,挖掘出全部的關聯規則,如果該關聯規則的置信度大於或等於最小置信度,則該規則屬於頻繁關聯規則.

透過Apriori算法處理後的報警資訊剔除了誤報警,更能反映實際攻擊的內部邏輯關聯.將這些頻繁關聯規則返回到客戶端,同時在服務端由系統管理員分析關聯後的報警資訊並做出相應決策.

2.3基於行爲的惡意代碼分析

惡意軟件要廣泛傳播必然要調用Windows系統API,因而其惡意行爲可以表現爲各種API調用,最後歸結爲系統調用.

爲了保證上述監控系統調用判斷程序的安全性,需要預先生成威脅規則庫,對程序進行動態分析時將程序的系統調用序列與規則庫中的規則匹配以達到自動化分析的目的.

以一個病毒的典型感染過程爲例,病毒爲了實現感染要實現以下兩個功能:

1)病毒要隱藏自己.

病毒在執行時常常將它真正的程序釋放到系統檔案夾中,並且與系統檔案名稱類似以避免被刪除,此時使用的系統API可能爲CreateFileA或Move-FileA;

2)自動執行.病毒爲了使自己在開機時隨系統啓動,會篡改註冊表相應的表項,對應的系統API分別爲RegCreateKey,RegSetValue等等.將一個系統調用或系統調用序列定義爲一條基本規則,一條或多條規則定義爲程序的行爲.將一條規則定義爲下面的4元組(威脅規則):{ID,Threat,Syscall_length,Syscall_squence}

其中每個字段的解釋如表1所示.

惡意代碼可以使用變形技術輕易逃避系統規則的匹配檢測,例如惡意軟件只需將自身的系統調用順序變換或在原有系統調用序列中插入無意義的系統調用就可以改變自己的系統調用序列.

爲此,本系統只關注程序與安全相關的特定系統調用,如表2所示,具體包括讀寫檔案,讀寫註冊表,網絡活動以及開啓或結束進程和服務的系統調用,而且在檢測的時候,將程序的系統調用序列也劃分爲關於檔案,註冊表,網絡及進程的相關係統調用序列,同一類型的系統調用序列只在規則庫中匹配相同類型的規則.

監控程序在可疑程序在虛擬機中執行完畢後,利用其記錄的系統調用序列完成判定識別惡意程序的過程,包括以下幾步:

1)將樣本的威脅度賦初值爲0;2)從威脅規則庫中讀取規則,如果讀取成功進入步驟3),否則進入步驟6);3)將程序的系統調用序列與規則庫中的規則相匹配,只匹配系統調用,如果匹配成功轉到步驟4),否則轉到步驟2);4)將系統調用的參數與規則庫中系統調用參數進行匹配,如果匹配成功進入步驟5),否則進入步驟6);5)進入本步驟表明程序的系統調用與規則庫中惡意行爲在調用序列和調用參數上都匹配,可以判定該程序爲惡意程序;6)如果只存在系統調用序列的匹配,而系統調用參數不能匹配,則將每次匹配的威脅規則的威脅度累加,若超過閾值則判定爲惡意程序,否則判定該程序爲正常程序.

 3系統測試及結果與分析

3.1功能測試

客戶端及服務器端的軟硬件環境分別如下:

1)雲防禦系統客戶機的軟件環境:操作系統WindowsXPSP3,集成開發環境VS2010並安裝雲防禦系統的客戶端程序;硬件環境:CPU爲奔騰雙核E5300,主頻2.6GHz,內存2GB,硬盤500GB.

2)雲防禦系統服務器端的軟件環境:操作系統爲Fedora8,虛擬機管理器(VMM)Xen3.1,Java執行環境JDK1.6,Tomcat6Web服務器及MySql5數據庫;硬件環境:CPU爲至強(Xeon)8核E5405,主頻2.0GHz,內存8GB,硬盤1TB;虛擬機軟件環境:操作系統爲WindowsXPSP3,內存512MB,JAVA執行環境JDK1.6,並分別安裝A-vast、AVG、金山毒霸和ESET殺毒軟件.

在測試雲防禦系統的病毒檢測率時,使用1789個惡意軟件樣本讓雲防禦系統的客戶端程序進行掃描,耗時約3h.

測試結果如表3所示.4種殺毒引擎的單獨檢測率分別爲88.9%,36.6%,48.9%和76.2%,但是雲防禦系統的綜合決策算法利用這4種引擎的的檢測結果取得了95.6%的檢測率.

雲防禦系統的病毒平均檢測時間達到11s,這是由於綜合決策等待所有引擎檢測完畢後纔開始運算.

可利用改進的策略進行決策,如系統可以先接受Avast的檢測結果作爲臨時的檢測結果,然後等待其他引擎檢測完畢再進行綜合決策,由於Avast的檢測率較高,這樣使平均檢測時間可以大大縮短而對檢測結果沒有太大影響.

3.2性能測試

對網絡延時進行的測試結果如表4所示.

其中,首次提交響應時間是指雲端沒有現成的病毒樣本,從本地上傳檔案並檢測出結果所需的時間.傳輸時間是指客戶端與雲端通信傳輸病毒樣本所需的時間.首次提交響應時間包括傳輸時間和雲端掃描響應時間.命中時間是指雲端有現成的樣本時,透過上傳檔案MD5值來判斷可疑檔案所需的時間,由於在雲端數據庫中已有儲存,查詢時間很短.

在大規模應用的環境下,由於雲端數據庫中儲存有大量的樣本MD5值及其掃描結果,而各個系統的常用軟件基本類似,因而在實際使用中,掃描命中的概率可高達90%以上,不會影響用戶正常使用程序.

爲了測試雲防禦系統整體性能(見表5),本文使用標準測試集PCMark05,並選取與CPU和內存相關的10項測試作爲基準,以原生操作系統作爲對比參考,執行了雲防禦系統的PCMark05,測試結果如表5所示,相比於原生操作系統,雲防禦系統系統在其中8項測試中的性能損耗都低於1%,PC-Mark05測試結果顯示雲防禦系統客戶端整體性能表現較好.

 4結論

本文在基於雲的主動安全防禦上做了初步的探索和嘗試,將客戶端的主動防禦技術與雲端安全檢測相結合,爲用戶提供了更全面的安全防禦.在服務器端使用多個反病毒引擎獨立檢測上傳的檔案,並採用D-S證據理論決策算法進行綜合決策,提高了雲防禦中多引擎的綜合檢測率.