鄒航,陳莊,李雪平
(1.重慶理工大學計算機科學與工程學院,重慶 400054; 2.重慶遠衡科技發展有限公司,重慶 400039)
惡意代碼云主動防御系統設計與實現
鄒航1,陳莊1,李雪平2
(1.重慶理工大學計算機科學與工程學院,重慶 400054; 2.重慶遠衡科技發展有限公司,重慶 400039)
隨著海量變種及未知惡意病毒的泛濫,采用病毒特征碼匹配為核心的反病毒技術已難以實現有效和及時的防御。基于云計算模式,設計了一種惡意代碼云主動防御系統產品,采用程序行為跟蹤分析、模式識別、智能修復處理、操作系統等6大子系統主動防御技術,實現了智能有效檢測、辨識和清除已知與未知的惡意代碼的功能。該系統采用P2DR模型,由云客戶端軟件、云端服務器、管理控制臺3部分組成,實現了惡意代碼行為捕獲及主動防御、惡意代碼行為算法分析、全網主機安全態勢分析報告等功能,構建了網絡主機安全的縱深防御體系。
惡意代碼;病毒;云主動防御;云安全
當前的木馬黑客、惡意攻擊技術日新月異,其特點表現為趨利性、隱蔽性、針對性和抗殺性。黑客攻擊工具、蠕蟲、病毒、木馬后門、間諜軟件、惡意腳本和Web攻擊、高級持續性威脅(APT)等惡意代碼爆發式地增長,這些海量惡意代碼帶來的攻擊持續不斷地或周期性地困擾著用戶,給企事業的信息系統造成嚴重的破壞[1-2]。防范惡意代碼的速度往往不能同制造惡意代碼的速度同步。傳統殺毒軟件產品采用針對病毒體的特征碼匹配技術,盡管其執行效率很高,但存在兩方面局限:一是特征碼庫龐大;二是新型病毒普遍采用免殺技術。免殺技術主要采用針對病毒特征碼的指令等價替換、指令序列調換、加殼、加花等技術。因此,新型的、未知的惡意代碼對反病毒技術及產品提出了更高的要求[3-4]。
本項目研發的“云主動防御系統”在以上安全背景下,采用云計算模式提出一種基于Windows系統的智能安全產品。該產品采用程序行為跟蹤分析技術、模式識別技術、智能修復處理技術等新一代主動防御技術,自動檢測、辨識、清除已知或未知惡意代碼對計算機的入侵和深度攻擊。
1.1 設計思想
“主動防御”技術通過監控惡意代碼對操作系統的調用,獲取其程序行為。程序行為是指程序或代碼對操作系統資源如文件系統、注冊表、內存、內核、網絡、服務、進程等的訪問操作,具體到代碼層面就是一系列的Win32 API函數調用。監控方式一般采用基于修改SSDT表的API Hook機制。API Hook是用于改變API執行結果的技術。系統服務描述符表(system services descriptor table,SSDT)是一個將ring3的Win32 API和ring0的內核API聯系起來的表,Win32 API的系統調用一般都要最終通過內核API來實現。因此,通過將SSDT表的目標內核API函數地址修改為主動防御軟件的函數地址,即由主動防御軟件來接管系統調用,一方面對所有應用層系統調用進行監控,另一方面對可能判定為惡意行為的系統調用進行阻止。阻止的邏輯需要建立惡意代碼行為規則庫,包含單個API調用構成的惡意程序行為和多個API調用序列構成的惡意程序行為,惡意行為建模見2.1節。
“云主動防御系統”的設計思想是基于云計算模式,在云端建立海量惡意代碼行為分析系統,提取最新的惡意代碼行為,自動生成惡意代碼行為算法庫;加載各種惡意代碼和正常程序進行驗證測試,通過強大的分發系統,將最新的“行為算法庫”加載在云客戶端,使客戶端具有最新的主動防御能力[5]。
云主動防御系統關鍵構件由云客戶端的“主動防御系統”和云端的“惡意代碼行為自動分析系統(簡稱AMBA系統)”組成。云端同云客戶端通過數據加密的方式通信[6-7]。云端的AMBA系統通過對匯集到云端的大量惡意代碼行為進行分析,將歸納提取到的最新的惡意代碼行為加入到云端惡意代碼行為算法庫中。云端安全系統能根據行為算法庫的變動情況實時更新云客戶端的行為算法庫。云客戶端的“主動防御系統”以“程序行為分析判定技術”為基礎,依據程序的可信性模型判斷惡意代碼程序。采用傳統的惡意代碼識別技術是從病毒體中提取病毒特征值構成病毒特征庫,并進行特征比對識別惡意代碼。而云主動防御系統是采用動態行為跟蹤技術,依據惡意行為特征庫(惡意代碼行為算法庫)對程序進行可信性檢測,判定程序的性質和邏輯,預先判斷程序的危害行為和風險,實現對惡意代碼和惡意行為的預防和處理,進而自動、有效地檢測、辨識和清除已知和未知惡意代碼[8]。
云計算模型處理流程如圖1所示。
第1步通過云主動防御系統云端的“惡意代碼樣本及惡意代碼行為采集器”,綜合應用各種技術和數據收集方式(如云主動防御系統客戶端、蜜罐、合作伙伴、網絡爬蟲、主動防御實驗室)獲得最新威脅的各種情報,將惡意代碼和惡意代碼可疑行為分類關聯存儲。
第2步AMBA系統利用行為分析的聚類、關聯規則等算法確定其是否屬于惡意行為。程序單一可疑行為似乎沒有什么危害,但是如果同時進行多項行為(時序相關),就會導致惡意攻擊行為的產生。因此需要按照主動防御的觀點來判斷其是否實際存在入侵、攻擊等威脅,檢查存在潛在威脅的不同組件之間的相互關系。通過將可疑行為的不同部分關聯起來并不斷更新惡意代碼行為庫,最終確定惡意代碼的新型攻擊行為。
第3步將自動分析出的新型攻擊行為送入行為算法庫生成器,生成“惡意代碼行為算法庫”。
第4步加載惡意代碼程序和各類應用軟件,正向和反向驗證“惡意代碼行為算法庫”判斷惡意代碼的精準性。如果出現誤判或放過某些惡意行為,通過“惡意程序行為研究中心”的惡意代碼分析專家組對惡意行為進行準確定義,并生成“惡意代碼行為算法庫”;再次通過驗證后,形成正式“行為算法庫”版本并發布。

圖1 云主動防御系統的云計算模型
1.2 體系式主動防御技術模型
整個系統設計的技術原理采用P2DR模型: Policy(安全策略)、Protection(防護)、Detection(檢測)和Response(響應);安全策略采用程序行為算法庫實現,是一個自動升級更新的算法庫,實現系統的動態安全防御。本項目產品將操作系統分為6大子系統(通信系統、內核系統、服務系統、賬號系統、應用系統、資資源的源系統),并在每個子系統上建立P2DR模型,整個系統具有6個程序行為檢測引擎、6個程序行為辨識引擎、6個防御引擎; 6個P2DR模型相互聯動,提高系統的檢測率、惡意代碼清除率,降低系統的誤判率。主動防御系統P2DR模型如圖2所示。

圖2 主動防御系統P2DR模型
1.3 惡意代碼攻擊及主動防御攻防模型
惡意代碼攻擊及主動防御攻防模型如圖3所示。惡意代碼(如木馬、蠕蟲、病毒、惡意腳本、流氓間諜軟件等)利用感染、劫持、偽造、漏洞等方式入侵操作系統;通過文件頭、文件空隙、路徑劫持、dll劫持、驅動偽裝、應用程序偽裝、系統漏洞、應用漏洞、系統進程空間等方式對操作系統發起攻擊。本項目產品通過對主機的通信系統、內核系統、服務系統、賬號系統、應用系統、資源系統建立主動防御系統,防御惡意代碼各種形式的攻擊,保護主機安全。

圖3 惡意代碼攻擊及主動防御攻防模型
1.4 “云主動防御系統”的實現流程
第1步在計算機終端,運行或啟動任一程序,如.exe、.dll等程序;
第2步在主動防御系統的“程序行為監測引擎和可信任引擎”的作用下,捕獲程序在計算機的內核、服務、應用、賬號、通信、文件資源系統上的行為;
第3步在主動防御系統“惡意代碼行為算法庫”的作用下,將捕獲的行為進行辨識,正向辨識是否為惡意代碼。為了減少系統的誤判率,同時對程序進行反向算法辨識,確定其是否為正常程序;
第4步經正反行為算法庫的判定,判定該程序是否為惡意代碼;
第5步如果是惡意代碼,主動防御系統的惡意代碼處理系統會馬上處理并清除惡意代碼,如果不足以判斷,同時惡意行為超出“行為算法庫”的描述,則產生可疑行為邊界溢出;
第6步將溢出的可疑行為送入云端,通過云端AMBA系統處理,發現新的攻擊行為;
第7步將新的攻擊或惡意行為送入“惡意程序行為算法庫生成器”生成新的“惡意代碼行為算法庫”,加載足夠多的各類惡意代碼、正常軟件,對新生成的“行為算法庫”進行驗證,如驗證通過,生成正式版本號的“行為算法庫”,并分發到相應的云客戶端。

圖4 云主動防御系統的實現流程
2.1 惡意行為建模
主動防御系統的底層實現方法是惡意行為的建模與感知。Windows操作系統對外提供豐富的Win32 API接口,方便上層應用程序對系統資源的訪問[9]。惡意行為建模是首先存儲大量的惡意行為對系統API函數調用的集合,再通過定義單個行為或者多個行為序列來確定某一類惡意行為。惡意行為建模格式如表1所示。
一個典型的修改文件屬性的惡意行為的建模規則如表2所示。
惡意代碼為了逃避殺毒軟件的查殺,常采用進程隱藏、終止系統安全軟件進程等方法。遠程線程注入是實現惡意代碼進程隱藏的一種方法。遠程線程注入技術有別于惡意代碼創建自身獨立進程,其通過在另一合法進程中創建線程的方法進入到該進程的內存空間,該進程也稱為遠程進程。根據線程注入過程中調用系統API函數的序列建立其行為規則,如表3所示。

表1 惡意行為建模格式

表2 典型修改文件屬性的惡意行為建模規則

表3 進程隱藏的惡意行為建模規則
2.2 惡意行為的判定與分類
對惡意行為的判定和分類采用改進的K-最近鄰算法(簡稱KNN算法),該算法通過搜索N維模式空間,找出最接近未知樣本的K個訓練樣本,將未知樣本分配到K個最近鄰者中最公共的類。其近鄰性一般用歐氏距離或馬氏距離定義。本產品采用歐氏距離計算方法。用KNN算法進行預測的理由是基于以下假定:一個樣本的分類與在歐氏空間中它附近的樣本的分類相似,計算的準確度與操作序列的豐富程度有直接關系。
通過2.1節定義的惡意行為序列分析,獲取程序相應的代碼特征,得到樣本文件的特征向量x=(t1(x),t2(x),…,t10(x)),ti(x)={0,1},1≤i≤10,則任意兩個樣本xi,xj之間的距離為

由于程序行為的安全和可疑級別各有不同,為使dist(xi,xj)能更真實地反映兩樣本之間的距離,對各維屬性ti(x)授予不同的加權值wi,則式(1)改為

將樣本集KN分成兩個相互獨立的子集:測試集KT和參考集KR。首先對KT中的每一個Xi在KR中找到最近鄰的樣本Yi(Xi)。如果Yi與Xi不屬于同一類別,則從KT中刪除Xi,最后得到1個剪輯樣本集KTE以取代原樣本集,對識別樣本進行分類。
將可疑文件數據庫作為測試集,將安全文件數據庫(簡稱安全庫)和惡意代碼特征數據庫(簡稱惡意代碼庫)作為參考集,按照上述方法提取特征向量,并通過KNN算法對可疑程序進行檢測,以判定其是否為惡意代碼。判定方法采用如下兩種方式:第一,根據KNN算法將可疑文件與安全庫中的文件求最小距離,記為Ls,再求可疑文件與惡意代碼庫中文件的最小距離,記為Lv。如果Ls<Lv,則認為可疑文件為安全文件;如果Ls>Lv,則認為可疑文件為惡意代碼文件。第二,通過經驗取得一個中間值M,如果可疑文件與安全庫中文件的距離小于M,則認為此文件為正常文件,否則為惡意代碼。若為惡意代碼,則將可疑文件數據庫中的相應記錄移至惡意代碼庫中,并結束該進程;否則移至安全庫,并允許進程執行[10]。
2.3 產品功能
產品采用終端安全管理三位一體解決方案。“三位”是指病毒風險管理的3個基礎環節:病毒事前靜態預防、病毒事中動態防護、病毒事后統計評估;“一體”是指整個解決過程采用閉環的形式將3個基礎環節聯接成一體,實現對終端病毒防范的循環管理。
1)事前靜態預防
本環節的目標是從源頭上減少終端安全威脅的幾率,通過對終端主機漏洞掃描、補丁安裝、安全屬性配置、重要資源保護、分布式防火墻的部署,提升終端的安全免疫力,降低終端病毒、木馬、后門程序、流氓軟件等惡意代碼的感染幾率,防御常見網絡攻擊,提高終端的風險靜態防御能力。具體功能如下:
①漏洞掃描與補丁安裝
實現操作系統安全漏洞掃描與補丁安裝功能。
②系統安全配置加固
對終端主機系統的安全配置進行監控和分析,可根據安全策略對系統安全配置進行調整、優化。加固對象包括賬號及密碼、網絡與服務、核心文件、日志系統、瀏覽器、網絡通信層、注冊表主要安全配置項、網絡配置項等。
③系統健壯性保護
提供終端主機系統健壯性保護功能,可保護操作系統核心資源,自動修復惡意代碼對系統配置的破壞,降低系統故障發生概率。保護對象包括系統文件、系統驅動、系統服務、系統重要目錄、系統進程、網絡進程、網絡通信協議、系統各類啟動項共享系統、插件、賬號系統等。
2)事中動態防護
本環節的目標是實現系統實時防護、加強終端動態防御能力。終端主機面臨的安全威脅會隨著用戶對各種應用程序(尤其是WEB應用、共享應用、移動存儲介質)的不斷使用而發生動態變化。本產品客戶端集成“程序行為分析判定”技術,可針對終端主機的使用環境,從主機流量、文件系統、進程、注冊表、賬號與權限等層面,提供不同力度的動態安全防護,以有效控制各種惡意病毒的網絡傳播,清除各類網絡暗流。具體功能如下:
①文件系統安全監控
采用事件觸發機制監控終端主機文件系統的安全狀態,新文件被創建時即觸發分析、處理。
②進程安全監控
以惡意代碼“程序行為分析判定”技術為基礎,對終端主機進程進行實時監控和安全防護。
③注冊表安全監控
實現對終端主機注冊表資源的監控和安全管理。以事件觸發機制為基礎,當出現注冊表修改事件時,根據注冊表的修改信息和修改發起者的行為特征,綜合分析事件的合法性,智能判斷是正常改動還是惡意修改,其過程對用戶而言是完全透明的。
④賬號與權限安全監控
對賬號與權限系統進行安全監控,根據賬號變化等多方面因素綜合分析當前賬號與權限系統的安全狀態,實時阻止各類非正常賬號的生成。
3)事后統計評估
本環節的目標是進行終端主機的安全檢測、自動生成安全報表。通過提供完備的終端主機安全報表,使網絡管理員對整個網絡系統的病毒、木馬、后門程序、流氓軟件等惡意代碼的安全管理變得透明,網絡管理員可隨時掌握整個網絡的安全情況,安全管理不再處于混沌狀態。具體功能如下:
①安全檢測——數據采集
客戶端通過開機安全自檢,自動收集終端主機的安全狀態。其檢測指標包括:
a.系統安全檢測:系統驅動、系統服務、系統重要目錄、系統進程、網絡進程、各類啟動項、文件關聯項等。
b.插件安全檢測:BHO插件、系統插件、流氓軟件等。
c.資源安全檢測:賬號系統、共享系統、文件系統、重要網絡端口、上網環境、計劃任務等。
d.流量安全檢測:廣播流量、IP流量、ICMP流量、UDP流量、應用進程流量、應用進程會話連接數、TCP連接等。
e.第三方安全軟件檢測:殺毒軟件安裝信息及啟/停狀態,終端防火墻安裝信息及啟/停狀態等。
②安全分析——數據處理
a.終端主機安全事件本地處理:客戶端按事件關鍵字及風險等級進行事件關聯、過濾、精簡,傳送給系統的安全中心;
b.安全中心數據整合:將終端主機上傳數據進行事件聯合分析、安全評估并轉數據庫存儲,如發現安全異常或重大安全隱患,即觸發報警。
c.安全報表——數據展現:從數據庫讀取安全數據,形成網絡安全評估報表。報表具有多種展現方式:詳細事件列表、柱狀對比分析圖、曲線趨勢圖、風險比例分析圖等,幫助網絡管理員準確而真實地把握安全風險分布狀況。
4)安全策略管理中心
通過安全策略管理中心實現全網所有終端主機的統一安全管理。安全策略管理中心內設終端安全防護的所有安全管理參數,提供終端主機安全規則設定、安全策略開/關、安全策略執行范圍、周期設定等功能,幫助網絡管理員快速實現全網安全策略的統一部署和管理。
2.4 產品結構
云主動防御系統主要由以下3個組件構成:
1)云主動防御系統硬件設備
功能主要包括用戶認證安裝控制中心、客戶端安裝軟件、行為特征庫升級、行為特征庫分發、用戶主機威脅檢查和處理情況數據采集、用戶主機威脅檢查和處理情況數據存儲等。
2)客戶端軟件
主要包括自動升級、惡意代碼處理、客戶端日志、主動防御檢測狀態、安全運行狀態趨勢圖、資源保護圖、最新檢測報表等。產品界面如圖5所示。
3)安全管理監管平臺軟件
主要包括系統登陸事件實時監控、系統環境安全事件實時監控、系統運行安全事件實時監控、客戶端安全分析查詢、客戶端文件分析查詢、客戶端自動檢測查詢等。產品界面如圖6,7所示。

圖5 云主動防御系統客戶端軟件

圖6 全局主機安全狀態評分

圖7 主機安全檢測報告
2.5 產品檢驗與橫向比較
計算機病毒防治產品檢驗中心(天津市質量監督檢驗站第70站)是目前我國計算機病毒防治領域唯一獲得公安部授權的病毒防治產品檢驗機構。本產品通過該檢驗中心的檢驗結論(檢驗報告NO:2010-112)為“該產品屬于具有部分功能的病毒防治產品,經檢驗,判定為合格品”。檢測結果表明:本產品“木馬軟件樣本庫檢測率為97.9%,誤報率小于等于0.1%,木馬樣本庫檢測率達到二級品標準”。根據文獻[11-12]統計,2010年通過該檢驗中心檢驗合格的計算機病毒防治產品共91個,其中一級品13個,二級品13個,合格品65個;產品類型包括以下9類:單機防病毒產品、網絡版防病毒產品、郵件防病毒產品、網關防病毒產品、在線防病毒產品、反間諜木馬類產品、移動終端安全產品。檢驗合格的產品不乏360、微點、金山、江民、卡巴斯基等知名安全產品。本產品被該檢驗中心劃定為反間諜木馬類產品。雖然檢驗中心網站(文獻[12])中并沒有公布所有受檢產品的樣本檢測率、誤報率等具體指標,但是從“木馬樣本庫檢測率達到二級品標準”這一指標來分析,本產品橫向對比當年度的全部91個受檢病毒防治產品,受檢技術指標位居合格品的前列。
本產品申請了計算機軟件著作權登記(登記號:2010SR056316),并獲得了由國家公安部頒發的計算機信息系統安全專用產品銷售許可證(證書編號:XKA10680),在政府、金融機構、大型國企等進行了初步推廣和應用。本產品的不足之處包括:一是由于采用動態的程序行為分析判定技術,一旦惡意代碼沒有在操作系統中動態運行(獨立進程、注入線程等方式)即不會產生系統API調用,產品將不會主動對惡意代碼文件本身進行靜態的查殺;二是對驅動級惡意代碼的防御可能出現異常。由于當前一些惡意代碼在系統中安裝驅動程序,恢復或者修改系統SSDT表,并與主動防御軟件爭奪系統ring0層控制權,產品在處理惡意代碼中可能會出現異常。針對此問題,產品將在版本升級中采用自定義的驅動過濾層等技術來進行改進。
[1]Salah K,Alcaraz Calero J M,Zeadally S,et al.UsingCloud Computing to Implement a Security Overlay Network[J].IEEE Security&Privacy,2013,11(1):44-53.
[2]Hsu Fu-Hau,Wu Min-Hao,Tso Chang-Kuo,et al.Antivirus Software Shield Against Antivirus Terminators[J].IEEE Transactions on Information Forensics and Security,2012,7(5):1439-1447.
[3]Wang Hsun,Wang King-Hang,Chen Chien-Ming.A N-ative APIs Protection Mechanism in the Kernel Mode against Malicious Code[J].IEEE Transactions on Computers,2011,60(6):813-823.
[4]Shabtai,Asaf.F-Sign:Automatic,Function-Based Signature Generation for Malware[J].IEEE Transactions on Systems,Man,and Cybernetics,Part C:Applications and Reviews,2011,41(4):494-508.
[5]馮登國,張敏,張妍,等.云計算安全研究[J].軟件學報,2011,22(1):71-83.
[6]許蓉,吳灝,張航.“云安全”檢測技術安全性分析[J].計算機工程與設計,2012,33(9):3309-3312.
[7]郭強,孫大為,常桂然.一種基于虛擬化技術增強云安全的可信賴模型[J].東北大學學報:自然科學版,2011,32(6):786-790.
[8]李曉勇,周麗濤,石勇,等.虛擬行為機制下的惡意代碼檢測與預防[J].國防科技大學學報,2010,32(1): 101-106.
[9]陳亮,鄭寧,郭艷華,等.基于Win32API的未知病毒檢測[J].計算機應用,2008,28(11):2829-2831.
[10]楊阿輝,陳鑫昕.基于SSDT的病毒主動防御技術研究[J].計算機應用與軟件,2010,27(10):288-290.
[11]曹鵬,張健,陳建民.我國計算機病毒防治產品現狀及發展趨勢[J].信息網絡安全,2011(9):116-119.
[12]計算機病毒防治產品檢驗中心[EB/OL].[2013-10-10].http://www.antivirus-china.org.cn/head/jianyanjieguo_2010.htm.
(責任編輯 楊黎麗)
Design and Implementation of Security Cloud Active Defense System Against Malicious Code
ZOU Hang1,CHEN Zhuang1,LI Xue-ping2(1.Department of Computer Science and Engineering,
Chongqing University of Technology,Chongqing 400054,China;
2.Chongqing Yuanheng Technology Development Co.,Ltd.,Chongqing 400039,China)
As we know that it has been increasingly difficult to effectively and timely detect the mass and unknown malicious virus with the conventional virus feature code detection-and matching-based antivirus technologies.Using the cloud computing model,this paper proposes a security cloud active defense system against the malicious codes,on the basis of the program behavior analysis,pattern recognition,intelligent processing,and six sub-systems of operating system with active defense technology.This scheme can intelligently detect,identify,and remove the known and unknown malicious codes.Our system uses the P2DR model provided by the client software and cloud server,and themanagement console is composed of three parts.It also includes the functionality of capturing the malicious code behaviors for active defense and analyzing the malicious code behaviors,which can offer the security situation analysis report of the whole network,thus resulting in an efficient security defense-in-depth system.
malicious code;computer virus;security cloud active defense system;cloud security
TP309.5
A
1674-8425(2014)05-0084-09
10.3969/j.issn.1674-8425(z).2014.05.017
2013-09-04
國家科技部科技型中小企業技術創新基金項目(12C26115116106)
鄒航(1979—),男,重慶人,碩士,實驗師,主要從事網絡與信息安全研究;陳莊(1964—),男,重慶人,博士,教授,主要從事信息安全和人工智能研究。
鄒航,陳莊,李雪平.惡意代碼云主動防御系統設計與實現[J].重慶理工大學學報:自然科學版,2014(5): 84-92.
format:ZOU Hang,CHEN Zhuang,LI Xue-ping.Design and Implementation of Security Cloud Active Defense System Against Malicious Code[J].Journal of Chongqing University of Technology:Natural Science,2014(5): 84-92.