- 相關推薦
基于云安全的主動防御系統(tǒng)多引擎檢測設計
特征碼掃描首先由反病毒廠商獲取病毒樣本,再提取樣本PE文件的關鍵特征,以下是小編搜集整理的一篇探究云防御系統(tǒng)多引擎檢測設計的論文范文,供大家閱讀查看。
引言
互聯(lián)網(wǎng)為惡意軟件提供了多樣化的傳播途徑.為了防范惡意軟件威脅,反病毒軟件是最常用的解決方案.然而反病毒軟件廣泛使用的基于特征碼的惡意軟件檢測技術無法應對病毒呈現(xiàn)爆炸式增長背景下的安全威脅.
當前,安全防御研究的趨勢是利用云計算技術的強大數(shù)據(jù)處理與存儲能力,提升安全服務.
例如,CloudAV通過在云端部署多個反病毒引擎為客戶端上傳的文件進行掃描,將傳統(tǒng)的反病毒轉變成對客戶端的云安全服務,但CloudAV對10個反病毒引擎獨立檢測的結果采用了最嚴格的決策,使得系統(tǒng)的誤報率較高.Ether實現(xiàn)了以透明及外部的方式進行惡意代碼分析的平臺.Ether系統(tǒng)的透明性使它具有很強的脫殼分析能力,此外,它還能有效抵御絕大部分反虛擬機(anti-VM)檢測攻擊.
但Ether的細粒度檢測方式使其性能開銷較高.CWSandbox構造了一個自動化的基于行為的惡意代碼分析工具,提供細粒度且較完整的監(jiān)控.Lorenzo等人提出了一種基于行為的惡意代碼云端分析框架.它允許云端分析與用戶端相配合共同完成惡意代碼的行為分析工作.然而,這種方式的分析對用戶使用干擾較多,不適于惡意軟件實時防御,且惡意軟件可能會逃避這種行為分析.
本文所提出基于云安全的主動防御系統(tǒng)主要包括在云端使用多個殺毒引擎獨立對上傳的文件進行檢測,并對各殺毒引擎產(chǎn)生的結果進行綜合決策.
同時,結合硬件虛擬化技術,在云端構建基于系統(tǒng)調(diào)用序列的惡意代碼分析平臺.
1云防御系統(tǒng)的多引擎檢測設計
1.1常用病毒檢測技術
特征碼掃描首先由反病毒廠商獲取病毒樣本,再提取樣本PE文件的關鍵特征,一般是程序的關鍵性指令集合即一串二進制位信息作為特征碼.將特征碼保存到特征庫發(fā)布后,反病毒軟件掃描文件時用特征碼比對被掃描的程序來辨別該文件是否存在惡意代碼.啟發(fā)式掃描技術利用病毒的一般行為特征和結構特征判斷文件是否包含惡意代碼.
例如,病毒典型行為包括訪問系統(tǒng)引導扇區(qū)、對EXE文件執(zhí)行寫操作或未提醒刪除硬盤上數(shù)據(jù)等。主動防御技術使用基于主機的入侵防御系統(tǒng)(host-basedintrusionpreventionsystem,HIPS)完成程序行為的攔截和記錄.用戶通過制定規(guī)則(rule)控制操作系統(tǒng)中本地程序的執(zhí)行、對注冊表的訪問和對文件系統(tǒng)的訪問.
如果未知程序執(zhí)行時觸發(fā)了既定的規(guī)則,HIPS會根據(jù)規(guī)則庫釋放并清除病毒,當規(guī)則庫無法識別病毒時會采用聯(lián)機檢測或人工鑒定,同時將新病毒添加到病毒庫.
1.2云防御系統(tǒng)多引擎檢測設計思想
云防御系統(tǒng)包括客戶端和云服務兩個組成部分,如圖1所示.云防御系統(tǒng)客戶端是輕量級的主機防御程序,負責獲取本機文件及報警信息并上傳給云端檢測.云端則包括云端管理、反病毒引擎(Avg,Avast,Duba和ESET4種)、分析引擎和黑白名單庫4個模塊.其中,云端管理作為云服務的前端模塊與客戶端直接通信并調(diào)用和管理其他模塊,反病毒引擎和分析引擎對客戶端上傳的文件進行掃描和行為分析,黑白名單庫存儲已被檢測過的文件的MD5值及其安全性.云防御系統(tǒng)可以處理常規(guī)文件掃描,文件惡意代碼分析和網(wǎng)絡報警信息.
其研究內(nèi)容主要包括以下兩個方面.
1)由于單個引擎對可疑文件進行檢測的檢出率不高,云防御系統(tǒng)采用多個不同類型檢測引擎進行獨立檢測.但是,當多種檢測引擎對單個可疑文件進行檢測時,相互之間得到的結果可能不一致,因此在這種情況下需要對各個檢測結果進行綜合決策.云防御系統(tǒng)利用D-S證據(jù)理論(D-Sevidentialtheo-ry)對4個獨立的檢測結果進行綜合決策,當綜合決策的結果超過預定閾值時認定為惡意程序,而低于該閾值時則認為是正常文件.
2)云端對反病毒引擎不能檢出的可疑文件進行基于行為的動態(tài)分析.很多惡意程序能夠檢測是否在虛擬環(huán)境或調(diào)試狀態(tài)下被執(zhí)行,從而具備對抗動態(tài)分析的能力.為了能充分檢測程序的行為,云防御系統(tǒng)結合硬件虛擬化技術,在全虛擬化環(huán)境下透明監(jiān)控可疑程序的執(zhí)行,根據(jù)程序執(zhí)行的系統(tǒng)調(diào)用序列判斷程序的安全性.
1.3云防御系統(tǒng)總體設計
云防御系統(tǒng)的客戶端采用輕量級主機防御設計,其功能模塊如圖2所示,客戶端程序分為內(nèi)核層(Ring0)和應用層(Ring3)兩個部分.
內(nèi)核層有進程監(jiān)控、注冊表監(jiān)控和文件系統(tǒng)監(jiān)控3個驅(qū)動模塊分別完成進程活動、注冊表訪問和文件訪問的監(jiān)控功能.云防御系統(tǒng)的云端管理程序采用了多線程異步通信的網(wǎng)絡框架.
系統(tǒng)架構使得云防御系統(tǒng)能夠?qū)崿F(xiàn)高并發(fā)能力,并具有很強的可擴展性.
如圖3所示,I/O服務用來執(zhí)行實際的I/O操作,即用TCP/IP讀寫網(wǎng)絡流與客戶端直接交互,客戶端發(fā)送的服務器請求由I/O服務接收.I/O服務接收字節(jié)流后轉交給I/O過濾器處理,I/O過濾器根據(jù)網(wǎng)絡通信協(xié)議將字節(jié)流編碼成消息并把消息發(fā)送給I/O控制器處理.I/O控制器根據(jù)消息類型調(diào)用不同的處理模塊,比如消息類型是文件請求時,控制器會調(diào)用掃描引擎掃描文件.
處理程序處理完畢后則經(jīng)過與此前過程相反的過程,I/O控制器將處理程序的結果以消息的形式發(fā)給I/O過濾器,I/O過濾器則將消息解碼為字節(jié)流并轉發(fā)給I/O服務,I/O服務最后將字節(jié)流通過網(wǎng)絡返回給客戶端(如圖3).
2云防御系統(tǒng)的多引擎檢測實現(xiàn)
2.1多引擎檢測的綜合決策
證據(jù)理論也被稱為D-S證據(jù)理論,是一種不確定推理方法,用集合來表示命題,將對命題的不確定性描述轉化為對集合的不確定性描述,它的主要特點是在證據(jù)中引入不確定性,具有直接表達“不確定”和“不知道”的能力.
當各殺毒引擎檢測結果不一致時,云防御系統(tǒng)將利用D-S證據(jù)理論進行決策,主要描述為:將在由算法計算得到的可信區(qū)間中選取一個數(shù)值作為對命題的最終信度,所有候選命題中信度最高者即為決策結果.
D-S證據(jù)理論的Dempster合成規(guī)則如下:【公式】
2.2報警信息聚類與關聯(lián)
當客戶端向服務器端請求報警信息時,服務端從數(shù)據(jù)庫中讀取最近一段時間內(nèi)的報警信息并從中篩選出具有相同源IP地址或目的IP地址的報警信息集合,以此為數(shù)據(jù)集使用Apriori算法進行關聯(lián)運算.
利用Apriori算法,挖掘規(guī)則集分為兩步:
1)找出報警信息數(shù)據(jù)集中所有的頻繁項集.把支持度大于最小支持度的minSupport的項集(Itemset)稱為頻繁項集(frequentitemset).可以以迭代的方式找出頻繁集.算法偽代碼如圖4所示.
2)挖掘頻繁關聯(lián)規(guī)則置信度大于給定最小置信度minConf的關聯(lián)規(guī)則稱為頻繁關聯(lián)規(guī)則,利用上一步得到的頻繁項集,挖掘出全部的關聯(lián)規(guī)則,如果該關聯(lián)規(guī)則的置信度大于或等于最小置信度,則該規(guī)則屬于頻繁關聯(lián)規(guī)則.
通過Apriori算法處理后的報警信息剔除了誤報警,更能反映實際攻擊的內(nèi)部邏輯關聯(lián).將這些頻繁關聯(lián)規(guī)則返回到客戶端,同時在服務端由系統(tǒng)管理員分析關聯(lián)后的報警信息并做出相應決策.
2.3基于行為的惡意代碼分析
惡意軟件要廣泛傳播必然要調(diào)用Windows系統(tǒng)API,因而其惡意行為可以表現(xiàn)為各種API調(diào)用,最后歸結為系統(tǒng)調(diào)用.
為了保證上述監(jiān)控系統(tǒng)調(diào)用判斷程序的安全性,需要預先生成威脅規(guī)則庫,對程序進行動態(tài)分析時將程序的系統(tǒng)調(diào)用序列與規(guī)則庫中的規(guī)則匹配以達到自動化分析的目的.
以一個病毒的典型感染過程為例,病毒為了實現(xiàn)感染要實現(xiàn)以下兩個功能:
1)病毒要隱藏自己.
病毒在運行時常常將它真正的程序釋放到系統(tǒng)文件夾中,并且與系統(tǒng)文件名稱類似以避免被刪除,此時使用的系統(tǒng)API可能為CreateFileA或Move-FileA;
2)自動運行.病毒為了使自己在開機時隨系統(tǒng)啟動,會篡改注冊表相應的表項,對應的系統(tǒng)API分別為RegCreateKey,RegSetValue等等.將一個系統(tǒng)調(diào)用或系統(tǒng)調(diào)用序列定義為一條基本規(guī)則,一條或多條規(guī)則定義為程序的行為.將一條規(guī)則定義為下面的4元組(威脅規(guī)則):{ID,Threat,Syscall_length,Syscall_squence}
其中每個字段的解釋如表1所示.
惡意代碼可以使用變形技術輕易逃避系統(tǒng)規(guī)則的匹配檢測,例如惡意軟件只需將自身的系統(tǒng)調(diào)用順序變換或在原有系統(tǒng)調(diào)用序列中插入無意義的系統(tǒng)調(diào)用就可以改變自己的系統(tǒng)調(diào)用序列.
為此,本系統(tǒng)只關注程序與安全相關的特定系統(tǒng)調(diào)用,如表2所示,具體包括讀寫文件,讀寫注冊表,網(wǎng)絡活動以及開啟或結束進程和服務的系統(tǒng)調(diào)用,而且在檢測的時候,將程序的系統(tǒng)調(diào)用序列也劃分為關于文件,注冊表,網(wǎng)絡及進程的相關系統(tǒng)調(diào)用序列,同一類型的系統(tǒng)調(diào)用序列只在規(guī)則庫中匹配相同類型的規(guī)則.
監(jiān)控程序在可疑程序在虛擬機中執(zhí)行完畢后,利用其記錄的系統(tǒng)調(diào)用序列完成判定識別惡意程序的過程,包括以下幾步:
1)將樣本的威脅度賦初值為0;2)從威脅規(guī)則庫中讀取規(guī)則,如果讀取成功進入步驟3),否則進入步驟6);3)將程序的系統(tǒng)調(diào)用序列與規(guī)則庫中的規(guī)則相匹配,只匹配系統(tǒng)調(diào)用,如果匹配成功轉到步驟4),否則轉到步驟2);4)將系統(tǒng)調(diào)用的參數(shù)與規(guī)則庫中系統(tǒng)調(diào)用參數(shù)進行匹配,如果匹配成功進入步驟5),否則進入步驟6);5)進入本步驟表明程序的系統(tǒng)調(diào)用與規(guī)則庫中惡意行為在調(diào)用序列和調(diào)用參數(shù)上都匹配,可以判定該程序為惡意程序;6)如果只存在系統(tǒng)調(diào)用序列的匹配,而系統(tǒng)調(diào)用參數(shù)不能匹配,則將每次匹配的威脅規(guī)則的威脅度累加,若超過閾值則判定為惡意程序,否則判定該程序為正常程序.
3系統(tǒng)測試及結果與分析
3.1功能測試
客戶端及服務器端的軟硬件環(huán)境分別如下:
1)云防御系統(tǒng)客戶機的軟件環(huán)境:操作系統(tǒng)WindowsXPSP3,集成開發(fā)環(huán)境VS2010并安裝云防御系統(tǒng)的客戶端程序;硬件環(huán)境:CPU為奔騰雙核E5300,主頻2.6GHz,內(nèi)存2GB,硬盤500GB.
2)云防御系統(tǒng)服務器端的軟件環(huán)境:操作系統(tǒng)為Fedora8,虛擬機管理器(VMM)Xen3.1,Java運行環(huán)境JDK1.6,Tomcat6Web服務器及MySql5數(shù)據(jù)庫;硬件環(huán)境:CPU為至強(Xeon)8核E5405,主頻2.0GHz,內(nèi)存8GB,硬盤1TB;虛擬機軟件環(huán)境:操作系統(tǒng)為WindowsXPSP3,內(nèi)存512MB,JAVA運行環(huán)境JDK1.6,并分別安裝A-vast、AVG、金山毒霸和ESET殺毒軟件.
在測試云防御系統(tǒng)的病毒檢測率時,使用1789個惡意軟件樣本讓云防御系統(tǒng)的客戶端程序進行掃描,耗時約3h.
測試結果如表3所示.4種殺毒引擎的單獨檢測率分別為88.9%,36.6%,48.9%和76.2%,但是云防御系統(tǒng)的綜合決策算法利用這4種引擎的的檢測結果取得了95.6%的檢測率.
云防御系統(tǒng)的病毒平均檢測時間達到11s,這是由于綜合決策等待所有引擎檢測完畢后才開始運算.
可利用改進的策略進行決策,如系統(tǒng)可以先接受Avast的檢測結果作為臨時的檢測結果,然后等待其他引擎檢測完畢再進行綜合決策,由于Avast的檢測率較高,這樣使平均檢測時間可以大大縮短而對檢測結果沒有太大影響.
3.2性能測試
對網(wǎng)絡延時進行的測試結果如表4所示.
其中,首次提交響應時間是指云端沒有現(xiàn)成的病毒樣本,從本地上傳文件并檢測出結果所需的時間.傳輸時間是指客戶端與云端通信傳輸病毒樣本所需的時間.首次提交響應時間包括傳輸時間和云端掃描響應時間.命中時間是指云端有現(xiàn)成的樣本時,通過上傳文件MD5值來判斷可疑文件所需的時間,由于在云端數(shù)據(jù)庫中已有保存,查詢時間很短.
在大規(guī)模應用的環(huán)境下,由于云端數(shù)據(jù)庫中保存有大量的樣本MD5值及其掃描結果,而各個系統(tǒng)的常用軟件基本類似,因而在實際使用中,掃描命中的概率可高達90%以上,不會影響用戶正常使用程序.
為了測試云防御系統(tǒng)整體性能(見表5),本文使用標準測試集PCMark05,并選取與CPU和內(nèi)存相關的10項測試作為基準,以原生操作系統(tǒng)作為對比參考,運行了云防御系統(tǒng)的PCMark05,測試結果如表5所示,相比于原生操作系統(tǒng),云防御系統(tǒng)系統(tǒng)在其中8項測試中的性能損耗都低于1%,PC-Mark05測試結果顯示云防御系統(tǒng)客戶端整體性能表現(xiàn)較好.
4結論
本文在基于云的主動安全防御上做了初步的探索和嘗試,將客戶端的主動防御技術與云端安全檢測相結合,為用戶提供了更全面的安全防御.在服務器端使用多個反病毒引擎獨立檢測上傳的文件,并采用D-S證據(jù)理論決策算法進行綜合決策,提高了云防御中多引擎的綜合檢測率.
【基于云安全的主動防御系統(tǒng)多引擎檢測設計】相關文章:
基于PIC單片機的氣壓檢測顯示系統(tǒng)設計08-15
基于VxWorks的多DSP系統(tǒng)的多任務程序設計10-22
校園網(wǎng)絡安全防御系統(tǒng)的設計與實現(xiàn)10-17
基于ASP.NET的計算機安全檢測系統(tǒng)10-25
基于ZIGBEE技術的輪胎壓力檢測系統(tǒng)07-28