- 相關推薦
基于云安全的主動防御系統多引擎檢測設計
特征碼掃描首先由反病毒廠商獲取病毒樣本,再提取樣本PE文件的關鍵特征,以下是小編搜集整理的一篇探究云防御系統多引擎檢測設計的論文范文,供大家閱讀查看。
引言
互聯網為惡意軟件提供了多樣化的傳播途徑.為了防范惡意軟件威脅,反病毒軟件是最常用的解決方案.然而反病毒軟件廣泛使用的基于特征碼的惡意軟件檢測技術無法應對病毒呈現爆炸式增長背景下的安全威脅.
當前,安全防御研究的趨勢是利用云計算技術的強大數據處理與存儲能力,提升安全服務.
例如,CloudAV通過在云端部署多個反病毒引擎為客戶端上傳的文件進行掃描,將傳統的反病毒轉變成對客戶端的云安全服務,但CloudAV對10個反病毒引擎獨立檢測的結果采用了最嚴格的決策,使得系統的誤報率較高.Ether實現了以透明及外部的方式進行惡意代碼分析的平臺.Ether系統的透明性使它具有很強的脫殼分析能力,此外,它還能有效抵御絕大部分反虛擬機(anti-VM)檢測攻擊.
但Ether的細粒度檢測方式使其性能開銷較高.CWSandbox構造了一個自動化的基于行為的惡意代碼分析工具,提供細粒度且較完整的監控.Lorenzo等人提出了一種基于行為的惡意代碼云端分析框架.它允許云端分析與用戶端相配合共同完成惡意代碼的行為分析工作.然而,這種方式的分析對用戶使用干擾較多,不適于惡意軟件實時防御,且惡意軟件可能會逃避這種行為分析.
本文所提出基于云安全的主動防御系統主要包括在云端使用多個殺毒引擎獨立對上傳的文件進行檢測,并對各殺毒引擎產生的結果進行綜合決策.
同時,結合硬件虛擬化技術,在云端構建基于系統調用序列的惡意代碼分析平臺.
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證據理論決策算法進行綜合決策,提高了云防御中多引擎的綜合檢測率.
【基于云安全的主動防御系統多引擎檢測設計】相關文章:
新時期信息安全主動防御系統研究論文08-30
基于GIS的多源地學信息系統設計09-03
基于PIC單片機的氣壓檢測顯示系統設計08-15
校園網絡安全防御系統的設計與實現10-17
基于ASP.NET的計算機安全檢測系統10-25
基于ZIGBEE技術的輪胎壓力檢測系統07-28
基于DSP的視頻檢測和遠程控制系統設計07-16
基于云計算的電力信息系統數據安全技術探討07-04