一種基于程序行為算法的主動防御方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種基于程序行為算法的主動防御方法。
【背景技術(shù)】
[0002]操作系統(tǒng)向外提供豐富的系統(tǒng)API接口,方便上層應用程序?qū)ο到y(tǒng)資源的訪問,開發(fā)各類功能軟件,程序行為指程序或代碼對操作系統(tǒng)資源如文件系統(tǒng)、注冊表、內(nèi)存、內(nèi)核、網(wǎng)絡、服務、進程等的訪問操作。雖然殺毒軟件在消費和企業(yè)市場得到了廣泛普及,但在病毒種類不斷激增的當下,這種被動保護機制已經(jīng)過時,無法滿足日益增長的安全需求。現(xiàn)有的自我保護方式已經(jīng)不起作用,但殺毒行業(yè)的整個理念已經(jīng)失效。
[0003]加州數(shù)據(jù)安全公司Imperva與以色列理工學院共同展開的一項最新研宄也佐證了這一點。Imperva CTO阿米才?舒爾曼及研宄人員收集并分析了 82種新電腦病毒,并在40種傳統(tǒng)殺毒軟件產(chǎn)品中進行了測試。盡管這些產(chǎn)品多數(shù)都來自微軟、賽門鐵克、McAfee和卡巴斯基,但其初始探測率卻不足5%。
[0004]源于殺毒產(chǎn)品與生俱來的被動性,這一流程最少需要幾小時,最長甚至可以達到數(shù)年。例如,卡巴斯基2012年5月發(fā)現(xiàn)了火焰病毒,這是一種復雜的病毒,大約5年前就開始竊取電腦數(shù)據(jù)。
[0005]因此需要一種可以實時防御未知攻擊的能力的防御方法。
【發(fā)明內(nèi)容】
[0006]本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,提供一種基于程序行為算法的主動防御方法,采用行為算法能夠達到實時防御未知攻擊的能力,通過對程序的行為方式、行為目的進行感知、識別和處理,實時保護主機、服務器免受病毒、木馬、黑客攻擊,滿足事中防御實時對抗的要求。
[0007]本發(fā)明的目的是通過以下技術(shù)方案來實現(xiàn)的:一種基于程序行為算法的主動防御方法,它包括以下步驟:
通過行為算法對程序的行為方式、行為目的進行識別,當程序行為觸發(fā)系統(tǒng)API接口上的惡意行為感知點,對以該惡意行為目的的惡意程序行為進行主動感知并建模;
所述的惡意程序行為包括遍歷磁盤文件的惡意行為、修改文件屬性的惡意行為、訪問注冊表的惡意行為、服務活動的惡意行為、終止系統(tǒng)進程的惡意行為和掛鉤行為的惡意行為;
所述的修改文件屬性的惡意行為包括將系統(tǒng)目錄下的文件或可執(zhí)行文件的時間設置為系統(tǒng)文件時間和將未見屬性為改為系統(tǒng)文件或隱藏文件;所述的訪問注冊表的惡意行為包括修改系統(tǒng)的啟動關(guān)聯(lián)、獲取IE房間信息和將操作系統(tǒng)的顯示系統(tǒng)隱藏文件功能屏蔽;所述的服務活動的惡意行為包括創(chuàng)建自啟動服務程序、啟動服務程序、刪除服務程序和改變服務程序的狀態(tài);所述的終止系統(tǒng)進程的惡意行為包括終止系統(tǒng)正在運行的進程;
所述的行為目的包括以破壞為目的、以控制為目的、以竊密為目的、以資源消耗為目的、以滲透為目的和以欺騙為目的;
對復雜行為的識別只能用算法識別;
S2:對惡意程序行為進行識別,判斷為單個惡意行為或者是惡意行為序列,并進行相應的處理,決定是否對該程序行為進行攔截、終止執(zhí)行該程序或清理該程序:
(1)若觸發(fā)的是單個惡意行為,則對用戶進行提醒:是否需要組織該惡意程序行為;
(2)若觸發(fā)的是惡意行為序列,則阻止該惡意程序行為。
[0008]步驟S2中所述的相應的處理包括行為智能處理、行為防御加固。
[0009]所述的建模包括單個行為的規(guī)則建模和多個行為組成的行為序列的規(guī)則建模,
所述的單個行為的規(guī)則建模的格式為:行為::行為描述::威脅等級〈函數(shù)名1,參數(shù)I,參數(shù)取值特征,…參數(shù)m,參數(shù)取值特征> ;
所述的多個行為組成的行為序列的規(guī)則建模的格式為:行為序列::行為描述::威脅等級〈行為IX行為2>…〈行為n> ;
其中m表示函數(shù)的參數(shù)個數(shù),η表示行為序列包含的行為個數(shù);所述的威脅等級代表不同級別的惡意程序;所述的參數(shù)取值特征為對應的函數(shù)調(diào)用行為表現(xiàn)出惡意性時的參數(shù)的具體取值。
[0010]所述的修改文件屬性的惡意行為包括將系統(tǒng)目錄下的文件或可執(zhí)行文件的時間設置為系統(tǒng)文件時間和將未見屬性為改為系統(tǒng)文件或隱藏文件。
[0011]所述的訪問注冊表的惡意行為包括修改系統(tǒng)的啟動關(guān)聯(lián)、獲取IE房間信息和將操作系統(tǒng)的顯示系統(tǒng)隱藏文件功能屏蔽。
[0012]所述的服務活動的惡意行為包括創(chuàng)建自啟動服務程序、啟動服務程序、刪除服務程序和改變服務程序的狀態(tài)。
[0013]所述的終止系統(tǒng)進程的惡意行為包括終止系統(tǒng)正在運行的進程。
[0014]一種基于程序行為算法的主動防御方法還包括一個惡意程序行為數(shù)據(jù)收集與展示步驟:對惡意程序行為發(fā)生的時間、地點、攻擊手段、攻擊目標和攻擊效果進行收集與展不O
[0015]本發(fā)明的有益效果是:(I)本發(fā)明采用行為算法能夠達到實時防御未知攻擊的能力,通過對程序的行為方式、行為目的進行感知、識別和處理,實時保護主機、服務器免受病毒、木馬、黑客攻擊,滿足事中防御實時對抗的要求;(2)使用該方法的防御系統(tǒng)部署于可能攻擊目標的服務器上以及可能成為攻擊地點的用戶PC機上,客戶端直接處理安全事件,只是將處理結(jié)果上報控制臺,避免控制臺泄密問題。
【附圖說明】
[0016]圖1為本發(fā)明方法流程圖。
【具體實施方式】
[0017]下面結(jié)合附圖進一步詳細描述本發(fā)明的技術(shù)方案:如圖1所示,一種基于程序行為算法的主動防御方法,它包括以下步驟:
S1:在系統(tǒng)API接口,對惡意程序行為進行主動感知并建模;
所述的惡意程序行為包括遍歷磁盤文件的惡意行為、修改文件屬性的惡意行為、訪問注冊表的惡意行為、服務活動的惡意行為、終止系統(tǒng)進程的惡意行為和掛鉤行為的惡意行為;
S2:對惡意程序行為進行識別,判斷為單個惡意行為或者是惡意行為序列,并進行相應的處理,決定是否對該程序行為進行攔截、終止執(zhí)行該程序或清理該程序:
(1)若觸發(fā)的是單個惡意行為,則對用戶進行提醒:是否需要組織該惡意程序行為;
(2)若觸發(fā)的是惡意行為序列,則阻止該惡意程序行為:
即當惡意程序在系統(tǒng)API接口上連續(xù)觸發(fā)惡意行為,依次觸發(fā)惡意行為1、惡意行為2、惡意行為3、惡意行為5,則判定為惡意行為序列,阻止該惡意程序行為。
[0018]步驟S2中所述的相應的處理包括行為智能處理、行為防御加固。
[0019]對于復雜的目的是通過行為完成的,而通常來講,有6類目的:1、破壞為目的的攻擊、2、以控制為目的的攻擊,3、以竊密為目的的攻擊,4、以資源消耗為目的的攻擊,5、以滲透為目的的攻擊,6、以欺騙為目的的攻擊。不同的目的以相應不同的行為去完成。比如破換性攻擊,有文件破換性行為、破壞系統(tǒng)功能的行為,破壞網(wǎng)絡功能性行為。又如滲透為目的的攻擊,如果通過WEB攻擊,可能有注入行為,有SQL注入、系統(tǒng)命令注入、腳本注入,也可能有攻擊賬號的行為,如賬號破解、會話劫持、會話偽造等行為。
[0020]對復雜行為的識別只能用算法識別。
[0021]所述的建模包括單個行為的規(guī)則建模和多個行為組成的行為序列的規(guī)則建模,
所述的單個行為的規(guī)則建模的格式為:行為::行為描述::威脅等級〈函數(shù)名1,參數(shù)I,參數(shù)取值特征,…參數(shù)m,參數(shù)取值特征> ;
所述的多個行為組成的行為序列的規(guī)則建模的格式為:行為序列::行為描述::威脅等級〈行為1>〈行為2>…〈行為n> ;
其中m表示函數(shù)的參數(shù)個數(shù),η表示行為序列包含的行為個數(shù);所述的威脅等級有4級,分別為低、中、較高和極高,代表不同級別的惡意程序;所述的參數(shù)取值特征為對應的函數(shù)調(diào)用行為表現(xiàn)出惡意性時的參數(shù)的具體取值。
[0022]在本實施例中,所述的遍歷磁盤文件的惡意行為的建模具體為三種情況:
(1)行為::查找文件::中等〈FindNextFile,參數(shù)1,“*.*”>;
(2)行為::查找文件::中等〈FindNextFile,參數(shù)0,NULL〉;
(3)行為序列::遍歷所有磁盤文件::較高〈CreateFileXWriteFile〉。
[0023]其中,參數(shù)O表示無需分析該行為的參數(shù)信息,對應的參數(shù)取值特征設置為NULL。
[0024]所述的修改文件屬性的惡意行為包括將系統(tǒng)目下的文件或