王澤東
(中國電力工程顧問集團有限公司,北京 100120)
隨著計算機互聯網技術的迅速發展,信息化技術已經廣泛應用到政府民生、科研、制造等領域,信息化帶來了種種便捷的同時,隨之而來諸如惡意軟件、病毒等許多安全問題。尤其是惡意軟件,由于其攻擊具有強隱蔽性、危害大等特點,嚴重威脅信息系統安全。本文設計了基于行為分析的惡意軟件防護系統,通過實時動態監測信息系統,提高系統的安全防護能力。
調研分析傳統的分析惡意軟件技術和惡意軟件檢測方法,重點分析惡意軟件在信息搜索、信息獲取、信息轉移、信息發送等各個環節中的行為特征,設計行為特征模型,形成行為特征庫,用于對惡意軟件進行自動檢查和分析。常用的惡意軟件檢測方法主要有以下三種:(1)靜態惡意軟件檢測;(2)基于信息流的惡意軟件檢測;(3)動態惡意軟件監測。
靜態惡意軟件檢測技術主要通過檢測程序的靜態特征行為判斷,包括惡意軟件程序在計算機中放置的靜態生成文件特征字符串、注冊表信息、運行時打開的固定TCP/IP端口、在目標系統中的文件名、文件大小及所在目錄、啟動加載方式等。
基于信息流的惡意軟件檢測。監聽通信信息上的接收報文,根據網絡通信協議進行內容分析,把網絡數據按照標準協議細分,如按照IP分解出源IP、目的IP等,按TCP協議分解出源端口、目的端口等,按照HTTP協議分解出URL、HTTP命令等數據。
動態行為分析技術就是監控惡意軟件對注冊表修改,對外通信信息行為,啟動系統的進程,調用應用程序接口等行為。綜合監控到的行為,結合特征庫對可疑程序是否是惡意軟件作出判斷。

圖1 結構示意圖

圖2 流程圖
惡意軟件防護系統為系統的常駐進程,實時保護計算機并對所有進程行為實時監控,再綜合利用行為分析技術,根據監測到的特征和貝葉斯惡意軟件行為分析算法,檢測出可疑進程。系統框架結構分為:分析器、日志器,處理器、隔離恢復器、行為特征庫等五個部分,如下圖1所示。
惡意軟件特征庫就是一個關于可疑惡意軟件行為的數據庫,其可疑行為可用一個三元組描述:<ID,可疑操作,類別>。根據可疑行為來源不同,惡意軟件的可疑行為有五類:
對注冊表可疑操作。自啟動項操作,關聯項寫操作,安全配置修改操作。
常用端口的可疑開放,即此端口資源在正常情況下應由策略中定義的系統服務和應用占用,但系統中沒有提供此服務和應用。
創建、隱藏進程,遠程注入進程、關閉安全相關進程;
修改系統文件,創建、刪除文件,往系統目錄寫可執行文件或DLL文件。
運行隱蔽功能的常用函數調用、通信隱蔽功能常用函數調用、惡意操作功能常用函數調用,木馬常用來進行隱蔽操作和惡意操作的函數調用。
基于行為的惡意軟件檢測方法主要是監測惡意軟件啟動過程、運行狀態、通信信息等行為和操作,流程如圖2所示。再經過行為分析模型對行為操作進行判斷分析,下面詳細介紹利用鉤子機制監測可疑程序和貝葉斯行為分析算法等關鍵技術。
惡意軟件分析器實時對系統調用、目錄操作、進程端口、注冊表變化、通信詳細等監控。對這些操作的監控采用的是API HOOK技術。當系統把進程模塊加載到內存中時,PE文件映射到程序進程地址空間,通過模塊句柄返回模塊映像在內存中的地址。從模塊句柄返回開始,使用API函數定位IAT輸入地址表。找到IAT輸入地址表并遍歷就可找到所需地址,再通過自定義函數地址覆蓋表項中函數調用地址,實現API調用攔截。
由于貝葉斯算法簡單實用、高效的特點,被廣泛應用各種監測分類系統中,本文將貝葉斯算法引入到對可疑惡意軟件行為結果的分析。目標程序有惡意軟件程序、不確定程序、非惡意軟件程序三類。對于每一個樣本程序M,將反映M是否存在異常行為的特征用向量表示為:A=(a1,a2,…,an),an為行為庫中的行為特征。定義C為分類結果集合,C1為正常,C2為不確定,C3為惡意軟件。貝葉斯行為分析模型目標是:在獲得給定樣本程序文件中的特征集F后,計算出該樣本是否木馬程序的概率,即計算P(C|A)。
P(C|A)的最大值來確定A最大概率類。待測樣本X類別Cx:

在惡意軟件查殺器中根據Cx值來判斷程序的類別。惡意軟件處理器將對分析模型結果處理,有以下三種處理方式:(1)確定是惡意軟件,直接終止運行,釋放占用的進程資源,再刪除宿主中的惡意軟件及其副本,最后解除惡意軟件啟動方式。(2)對于明確確定不是惡意軟件的,讓其正常運行,不再監測。(3)隔離可疑惡意軟件。對于可疑惡意軟件程序,系統無法準確判斷,系統會將其隔離到隔離區域,用戶人工分析后可恢復或者刪除之。
本文設計了采用行為分析的惡意軟件安全防護系統。首先介紹了幾種常用檢測技術,設計了安全防護系統的基本框架:分析器,記錄器,處理器,恢復器以及特征庫,對其中的api 鉤子調用技術和基于貝葉斯行為分析算法等核心技術進行了分析說明。
[1]朱明,徐騫,劉春明.木馬病毒分析及其檢測方法研究[J].計算機工程與應用,2003,(28):176-179.
[2]朱建軍,熊兵.網絡安全防范手冊[M].北京:人民郵電出版社,2007.
[3]孫鑫,余安萍.VC++深入詳解[M].北京:電子工業出版社,2006.
[4]陳福志,史杏榮.基于改進貝葉斯算法的信息安全模型[J].計算機工程,2003,(20):116-118.