一種Windows下智能化主動(dòng)防御系統(tǒng)及方法
【專(zhuān)利摘要】本發(fā)明涉及一種Windows下智能化主動(dòng)防御系統(tǒng)和方法。所述系統(tǒng)包括主動(dòng)防御子系統(tǒng)和機(jī)器學(xué)習(xí)子系統(tǒng)。主動(dòng)防御子系統(tǒng)利用內(nèi)核Hook過(guò)濾驅(qū)動(dòng)等方式,進(jìn)行程序關(guān)鍵行為的監(jiān)視和過(guò)濾;惡意程序清除功能依靠一些常見(jiàn)的Anti?Rootkit手段,通過(guò)獲取到最高的系統(tǒng)權(quán)限,對(duì)惡意程序進(jìn)行有效的清除;機(jī)器學(xué)習(xí)子系統(tǒng)還包括機(jī)器學(xué)習(xí)引擎和沙盒,用于實(shí)現(xiàn)自我學(xué)習(xí)、惡意行為智能化判定的功能。本發(fā)明所述系統(tǒng)和方法能夠智能化地自動(dòng)識(shí)別惡意行為,無(wú)需過(guò)多人工判斷,可以有效地減少人工操作,無(wú)論是對(duì)于專(zhuān)業(yè)的病毒分析人員還是普通用戶(hù),都減輕了使用的負(fù)擔(dān)。并且在使用的過(guò)程中可以自動(dòng)地提高準(zhǔn)確率,實(shí)現(xiàn)了無(wú)需升級(jí)越用越準(zhǔn)確的目標(biāo)。
【專(zhuān)利說(shuō)明】—種Windows下智能化主動(dòng)防御系統(tǒng)及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明針對(duì)于惡意軟件的防范,提出了一種新的系統(tǒng)和方法,目的在于改進(jìn)現(xiàn)有的惡意軟件防范技術(shù),增加防御的自動(dòng)化和智能化,有效地識(shí)別惡意行為并進(jìn)行良好的清除。
【背景技術(shù)】
[0002]當(dāng)今互聯(lián)網(wǎng)技術(shù)迅速發(fā)展,應(yīng)用也越來(lái)越廣泛,遍布整個(gè)社會(huì)的各個(gè)行業(yè)各個(gè)方面。同時(shí),互聯(lián)網(wǎng)的安全形勢(shì)十分嚴(yán)峻,不容忽視。各種惡意程序泛濫,造成的數(shù)據(jù)泄露與網(wǎng)絡(luò)欺詐數(shù)不勝數(shù),使公民個(gè)人和國(guó)家財(cái)產(chǎn)受到了巨大的損失。然而,整個(gè)安全行業(yè)對(duì)于惡意程序的處理策略整體還較為落后,沒(méi)有跟上形勢(shì)的發(fā)展,主要的技術(shù)還處于查殺病毒這一種被動(dòng)的傳統(tǒng)方法。雖然已不僅是簡(jiǎn)單地依賴(lài)于特征碼的識(shí)別,也采用了主動(dòng)防御等技術(shù),但仍然過(guò)分依賴(lài)于人的作用。特征碼需要病毒分析人員去提取,十分耗費(fèi)腦力和時(shí)間,一個(gè)工作日不過(guò)處理三、五十個(gè)樣本,而且現(xiàn)在的惡意程序很多采用了變形等保護(hù)技術(shù),使得特征碼難以提取,且結(jié)果遠(yuǎn)不如行為分析準(zhǔn)確;主動(dòng)防御系統(tǒng)監(jiān)測(cè)到程序的敏感行為,最終還需報(bào)告給用戶(hù),由用戶(hù)做決斷,用戶(hù)又缺乏相關(guān)的知識(shí)和技術(shù),而且誤報(bào)的幾率也比較高,將決斷的責(zé)任又推給了用戶(hù)??傊?,對(duì)于防范惡意程序的行為還是需要不斷地投入人力,難以做到一勞永逸,沒(méi)有發(fā)揮出計(jì)算機(jī)的自主學(xué)習(xí)能力。
【發(fā)明內(nèi)容】
[0003]針對(duì)當(dāng)前的主動(dòng)防御系統(tǒng)的依賴(lài)人工決斷的缺陷,本發(fā)明提供一種Windows下智能化主動(dòng)防御系統(tǒng)及方法,既符合主動(dòng)防御系統(tǒng)的功能等要求,還提高了主動(dòng)防御的智能化和準(zhǔn)確率,使其可以自主準(zhǔn)確地判斷惡意程序的存在并有效地清除,而且可以在使用的過(guò)程中不斷提高系統(tǒng)的識(shí)別能力。
[0004]為實(shí)現(xiàn)上述目的,本發(fā)明采用如下技術(shù)方案。
[0005]—種Windows下智能化主動(dòng)防御系統(tǒng),包括:主動(dòng)防御子系統(tǒng),機(jī)器學(xué)習(xí)子系統(tǒng)。主動(dòng)防御子系統(tǒng),用于監(jiān)測(cè)系統(tǒng)中程序的關(guān)鍵行為;機(jī)器學(xué)習(xí)子系統(tǒng),用于實(shí)現(xiàn)自我學(xué)習(xí)、惡意行為智能化判定的功能。
[0006]主動(dòng)防御子系統(tǒng)具有惡意程序監(jiān)視和惡意程序清除兩部分功能。主動(dòng)防御子系統(tǒng)利用內(nèi)核Hook過(guò)濾驅(qū)動(dòng)等方式,進(jìn)行程序關(guān)鍵行為的監(jiān)視和過(guò)濾。惡意程序清除功能依靠一些常見(jiàn)的Anti Rootkit手段,通過(guò)獲取到最高的系統(tǒng)權(quán)限,對(duì)惡意程序進(jìn)行有效的清除。
[0007]機(jī)器學(xué)習(xí)子系統(tǒng)包括:機(jī)器學(xué)習(xí)引擎,沙盒(Sandbox)。其中,
[0008]機(jī)器學(xué)習(xí)引擎,是機(jī)器學(xué)習(xí)子系統(tǒng)的核心,用于進(jìn)行惡意行為的自我學(xué)習(xí)和智能化判定,通過(guò)主動(dòng)防御系統(tǒng)生成的行為狀態(tài)序列,交給機(jī)器學(xué)習(xí)引擎進(jìn)行以學(xué)習(xí)到的知識(shí)進(jìn)行判定,并可以人工進(jìn)行結(jié)果的檢驗(yàn)和校正。
[0009]Sandbox主要是創(chuàng)建一個(gè)虛擬化的執(zhí)行環(huán)境,用于生成初始的調(diào)用狀態(tài)序列以便于機(jī)器學(xué)習(xí)引擎進(jìn)行訓(xùn)練。也是通過(guò)一些內(nèi)核掛鉤和過(guò)濾驅(qū)動(dòng),但不僅需要進(jìn)行監(jiān)視程序行為,為了保證對(duì)真實(shí)的系統(tǒng)不產(chǎn)生影響,還需要對(duì)一些程序的關(guān)鍵行為重定向到可控制的存儲(chǔ)區(qū),在程序結(jié)束后可進(jìn)行清除。
[0010]應(yīng)用所述系統(tǒng)進(jìn)行防御的方法,包括以下內(nèi)容:
[0011]首先,系統(tǒng)實(shí)現(xiàn)主動(dòng)防御系統(tǒng)的主要功能,利用多種手段實(shí)現(xiàn)對(duì)Windows下應(yīng)用程序行為的監(jiān)控,例如進(jìn)程創(chuàng)建,磁盤(pán)讀寫(xiě),網(wǎng)絡(luò)訪問(wèn)及注冊(cè)表修改等。采用比較可靠的內(nèi)核 Hook 技術(shù),對(duì) SSDT (System Services Descriptor Table,系統(tǒng)服務(wù)描述符表)、ShadowSSDT等關(guān)鍵內(nèi)核結(jié)構(gòu)進(jìn)行掛鉤;對(duì)于I/O等外部設(shè)備利用過(guò)濾設(shè)備對(duì)象進(jìn)行附加,從而加入相關(guān)的監(jiān)控和記錄代碼,可以獲取到程序的系統(tǒng)調(diào)用行為和外部設(shè)備使用行為,并將其行為整理為相關(guān)的馬爾科夫狀態(tài)序列。對(duì)于已識(shí)別到的惡意程序,將其徹底清除,包括終止相關(guān)進(jìn)程、清除其創(chuàng)建的相關(guān)文件、恢復(fù)其修改的注冊(cè)表數(shù)據(jù);對(duì)于采用了 Rootkit等自我保護(hù)手段的頑固惡意程序,還需要獲取系統(tǒng)的高級(jí)權(quán)限破除程序的自我保護(hù)徹底將其清除。
[0012]其次,為了實(shí)現(xiàn)智能化的主動(dòng)防御,準(zhǔn)確地自動(dòng)識(shí)別出程序的異常惡意行為,需要采用機(jī)器學(xué)習(xí)的理論,設(shè)計(jì)并實(shí)現(xiàn)一個(gè)機(jī)器學(xué)習(xí)引擎,并且需要實(shí)現(xiàn)一個(gè)Sandbox系統(tǒng)為機(jī)器學(xué)習(xí)引擎產(chǎn)生初始的訓(xùn)練數(shù)據(jù)。機(jī)器學(xué)習(xí)算法采用狀態(tài)遷移模型,基于馬爾科夫鏈理論,比較符合程序的指令執(zhí)行過(guò)程化的特點(diǎn)。通過(guò)對(duì)機(jī)器學(xué)習(xí)引擎進(jìn)行初始化的訓(xùn)練,使其具有初步的判斷能力,然后可以與主動(dòng)防御系統(tǒng)相結(jié)合,并由主動(dòng)防御系統(tǒng)提供程序的行為狀態(tài)序列交由機(jī)器學(xué)習(xí)引擎,判斷程序是否存在惡意的目的。在此過(guò)程中,同時(shí)是在對(duì)機(jī)器學(xué)習(xí)引擎不斷地進(jìn)行訓(xùn)練,以主動(dòng)防御系統(tǒng)代替了 Sandbox的作用,實(shí)現(xiàn)了自我的反饋優(yōu)化升級(jí)。
[0013]與現(xiàn)有技術(shù)相比,本發(fā)明具有以下明顯優(yōu)勢(shì):
[0014]本發(fā)明所述系統(tǒng)和方法能夠智能化地自動(dòng)識(shí)別惡意行為,無(wú)需過(guò)多人工判斷,可以有效地減少人工操作,無(wú)論是對(duì)于專(zhuān)業(yè)的病毒分析人員還是普通用戶(hù),都減輕了使用的負(fù)擔(dān)。并且在使用的過(guò)程中可以自動(dòng)地提高準(zhǔn)確率,實(shí)現(xiàn)了無(wú)需升級(jí)越用越準(zhǔn)確的目標(biāo)。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0015]圖1為本發(fā)明所涉及系統(tǒng)設(shè)計(jì)結(jié)構(gòu)圖;
[0016]圖2為本發(fā)明所涉及系統(tǒng)部署結(jié)構(gòu)圖。
【具體實(shí)施方式】
[0017]下面結(jié)合附圖與實(shí)例對(duì)本發(fā)明做進(jìn)一步說(shuō)明。
[0018]本系統(tǒng)的具體的框架結(jié)構(gòu)圖如圖1所示。總體上可以分為兩個(gè)方向:一是主動(dòng)防御系統(tǒng);另一是機(jī)器學(xué)習(xí)子系統(tǒng)。
[0019]針對(duì)傳統(tǒng)的主動(dòng)防御系統(tǒng),本系統(tǒng)做了以下的優(yōu)化處理,以適應(yīng)新的要求:
[0020]在監(jiān)控程序的具體行為的基礎(chǔ)上,完成對(duì)程序的關(guān)鍵行為狀態(tài)的跟蹤記錄和抽象化描述,將生成的數(shù)據(jù)輸入到經(jīng)過(guò)訓(xùn)練的機(jī)器學(xué)習(xí)引擎,為與機(jī)器學(xué)習(xí)子系統(tǒng)交互留下數(shù)據(jù)接口。
[0021]從機(jī)器學(xué)習(xí)子系統(tǒng)得到分析的結(jié)果,并根據(jù)結(jié)果自動(dòng)地采取所需要的相應(yīng)措施,一切均是靜默的執(zhí)行,無(wú)需用戶(hù)的參與,無(wú)需用戶(hù)承擔(dān)判斷的責(zé)任。[0022]總而言之,升級(jí)了傳統(tǒng)的主動(dòng)防御系統(tǒng)起到的監(jiān)測(cè)報(bào)告然后再依賴(lài)于人的處理這一流程,留出了與機(jī)器學(xué)習(xí)子系統(tǒng)交互的通道,代替了人的作用,實(shí)現(xiàn)了整個(gè)過(guò)程的自動(dòng)化。
[0023]機(jī)器學(xué)習(xí)子系統(tǒng),是整個(gè)體系的核心,與主動(dòng)防御子系統(tǒng)進(jìn)行著密切的交互,并不斷地進(jìn)行著自我學(xué)習(xí)。
[0024]本發(fā)明所涉及系統(tǒng)部署結(jié)構(gòu)圖如圖2所示。本系統(tǒng)部署在一個(gè)局域網(wǎng)或廣域網(wǎng)環(huán)境中,需要部署好一臺(tái)服務(wù)器,并需要客戶(hù)機(jī)能夠連接到服務(wù)器上,另外需要部署一臺(tái)后臺(tái)控制機(jī),只需與服務(wù)器相連接,不與客戶(hù)機(jī)直接連接。
[0025]應(yīng)用本系統(tǒng)進(jìn)行防御的方法包括以下步驟:
[0026]步驟1,首先在服務(wù)器上部署整個(gè)機(jī)器學(xué)習(xí)引擎核心,并將服務(wù)器為中心與客戶(hù)機(jī)和后臺(tái)控制機(jī)連接。
[0027]步驟2,在后臺(tái)控制器上部署Sandbox模塊,并建立黑名單與白名單列表庫(kù),并將已知的系統(tǒng)文件MD5值寫(xiě)入白名單,將常見(jiàn)的惡意程序的MD5值寫(xiě)入黑名單。
[0028]步驟3,在Sandbox中運(yùn)行1000個(gè)左右的樣本,將產(chǎn)生的結(jié)果報(bào)告?zhèn)鬏數(shù)綑C(jī)器學(xué)習(xí)引擎核心服務(wù)器,作為初始輸入。根據(jù)機(jī)器學(xué)習(xí)的結(jié)果與已知的樣本性質(zhì)進(jìn)行對(duì)比,將不一致的強(qiáng)制寫(xiě)入黑白名單中,進(jìn)行人工校準(zhǔn),保證訓(xùn)練的準(zhǔn)確性。
[0029]步驟4,完成初始化訓(xùn)練后,可以在每個(gè)客戶(hù)機(jī)上部署主動(dòng)防御系統(tǒng),部署完畢即可隨系統(tǒng)而啟動(dòng)。
[0030]步驟5,在部署的客戶(hù)機(jī)上由主動(dòng)防御系統(tǒng)進(jìn)行實(shí)時(shí)監(jiān)控,對(duì)于當(dāng)前內(nèi)存中存在的所有可執(zhí)行代碼文件的MD5值上傳至后臺(tái)控制器中。對(duì)于白名單中存在的文件直接放過(guò),對(duì)于黑名單中存在的文件直接進(jìn)行清除。
[0031]步驟6,將存在未知可執(zhí)行文件的進(jìn)程的狀態(tài)序列報(bào)告上傳至機(jī)器學(xué)習(xí)引擎服務(wù)器,由機(jī)器學(xué)習(xí)引擎進(jìn)行智能判斷。如果屬于正常狀態(tài)轉(zhuǎn)至步驟7,存在異常行為轉(zhuǎn)至步驟8。
[0032]步驟7,將狀態(tài)正常的信息反饋給主動(dòng)防御系統(tǒng),系統(tǒng)放過(guò)該進(jìn)程所有行為,并將未知文件上傳至后臺(tái)控制器中的隔離區(qū)。
[0033]步驟8,將異常的信息反饋給客戶(hù)機(jī),由主動(dòng)防御系統(tǒng)定位發(fā)生異常行為的可執(zhí)行文件,并將其MD5寫(xiě)入黑名單,然后再把所有未知的文件上傳至后臺(tái)控制器的隔離區(qū)。
[0034]步驟9,定期由技術(shù)人員檢查抽樣隔離區(qū)中的文件,并與機(jī)器學(xué)習(xí)的結(jié)果作對(duì)比,并修正黑白名單,保證機(jī)器學(xué)習(xí)訓(xùn)練過(guò)程中的正確性,使其識(shí)別率愈來(lái)愈準(zhǔn)確,越少需要人為干涉,只需少量的人力即可維護(hù)整個(gè)系統(tǒng)的正確性。
[0035]這樣的部署模式,可以減少每個(gè)客戶(hù)機(jī)的負(fù)擔(dān),在局域網(wǎng)的環(huán)境下也能保證其工作效率,提高了系統(tǒng)的復(fù)用性,同時(shí)兼顧了系統(tǒng)的性能與正確。
【權(quán)利要求】
1.一種Windows下智能化主動(dòng)防御系統(tǒng),其特征在于包括主動(dòng)防御子系統(tǒng)和機(jī)器學(xué)習(xí)子系統(tǒng);主動(dòng)防御子系統(tǒng)用于監(jiān)測(cè)系統(tǒng)中程序的關(guān)鍵行為;機(jī)器學(xué)習(xí)子系統(tǒng)用于實(shí)現(xiàn)自我學(xué)習(xí)、惡意行為智能化判定的功能; 主動(dòng)防御子系統(tǒng)具有惡意程序監(jiān)視和惡意程序清除功能;主動(dòng)防御子系統(tǒng)利用內(nèi)核Hook過(guò)濾驅(qū)動(dòng)等方式,進(jìn)行程序關(guān)鍵行為的監(jiān)視和過(guò)濾;惡意程序清除功能依靠一些常見(jiàn)的Anti Rootkit手段,通過(guò)獲取到最高的系統(tǒng)權(quán)限,對(duì)惡意程序進(jìn)行有效的清除; 機(jī)器學(xué)習(xí)子系統(tǒng)還包括機(jī)器學(xué)習(xí)引擎和沙盒Sandbox ;其中, 機(jī)器學(xué)習(xí)引擎,是機(jī)器學(xué)習(xí)子系統(tǒng)的核心,用于進(jìn)行惡意行為的自我學(xué)習(xí)和智能化判定,通過(guò)主動(dòng)防御系統(tǒng)生成的行為狀態(tài)序列,交給機(jī)器學(xué)習(xí)引擎進(jìn)行以學(xué)習(xí)到的知識(shí)進(jìn)行判定,并可以人工進(jìn)行結(jié)果的檢驗(yàn)和校正; Sandbox主要是創(chuàng)建一個(gè)虛擬化的執(zhí)行環(huán)境,用于生成初始的調(diào)用狀態(tài)序列以便于機(jī)器學(xué)習(xí)引擎進(jìn)行訓(xùn)練;也是通過(guò)一些內(nèi)核掛鉤和過(guò)濾驅(qū)動(dòng),但不僅需要進(jìn)行監(jiān)視程序行為,為了保證對(duì)真實(shí)的系統(tǒng)不產(chǎn)生影響,還需要對(duì)一些程序的關(guān)鍵行為重定向到可控制的存儲(chǔ)區(qū),在程序結(jié)束后可進(jìn)行清除。
2.應(yīng)用權(quán)利要求1所述智能化主動(dòng)防御系統(tǒng)進(jìn)行防御的方法,其特征在于包括以下步驟: 步驟1,首先在服務(wù)器上部署整個(gè)機(jī)器學(xué)習(xí)引擎核心,并將服務(wù)器為中心與客戶(hù)機(jī)和后臺(tái)控制機(jī)連接; 步驟2,在后臺(tái)控制器上部署Sandbox模塊,并建立黑名單與白名單列表庫(kù),并將已知的系統(tǒng)文件MD5值寫(xiě)入白名單,將常見(jiàn)的惡意程序的MD5值寫(xiě)入黑名單; 步驟3,在Sandbox中運(yùn)行1000個(gè)左右的樣本,將產(chǎn)生的結(jié)果報(bào)告?zhèn)鬏數(shù)綑C(jī)器學(xué)習(xí)引擎核心服務(wù)器,作為初始輸入;根據(jù)機(jī)器學(xué)習(xí)的結(jié)果與已知的樣本性質(zhì)進(jìn)行對(duì)比,將不一致的強(qiáng)制寫(xiě)入黑白名單中,進(jìn)行人工校準(zhǔn),保證訓(xùn)練的準(zhǔn)確性; 步驟4,完成初始化訓(xùn)練后,可以在每個(gè)客戶(hù)機(jī)上部署主動(dòng)防御系統(tǒng),部署完畢即可隨系統(tǒng)而啟動(dòng); 步驟5,在部署的客戶(hù)機(jī)上由主動(dòng)防御系統(tǒng)進(jìn)行實(shí)時(shí)監(jiān)控,對(duì)于當(dāng)前內(nèi)存中存在的所有可執(zhí)行代碼文件的MD5值上傳至后臺(tái)控制器中;對(duì)于白名單中存在的文件直接放過(guò),對(duì)于黑名單中存在的文件直接進(jìn)行清除; 步驟6,將存在未知可執(zhí)行文件的進(jìn)程的狀態(tài)序列報(bào)告上傳至機(jī)器學(xué)習(xí)引擎服務(wù)器,由機(jī)器學(xué)習(xí)引擎進(jìn)行智能判斷;如果屬于正常狀態(tài)轉(zhuǎn)至步驟7,存在異常行為轉(zhuǎn)至步驟8 ; 步驟7,將狀態(tài)正常的信息反饋給主動(dòng)防御系統(tǒng),系統(tǒng)放過(guò)該進(jìn)程所有行為,并將未知文件上傳至后臺(tái)控制器中的隔離區(qū); 步驟8,將異常的信息反饋給客戶(hù)機(jī),由主動(dòng)防御系統(tǒng)定位發(fā)生異常行為的可執(zhí)行文件,并將其MD5寫(xiě)入黑名單,然后再把所有未知的文件上傳至后臺(tái)控制器的隔離區(qū); 步驟9,定期由技術(shù)人員檢查抽樣隔離區(qū)中的文件,并與機(jī)器學(xué)習(xí)的結(jié)果作對(duì)比,并修正黑白名單,保證機(jī)器學(xué)習(xí)訓(xùn)練過(guò)程中的正確性,使其識(shí)別率愈來(lái)愈準(zhǔn)確,越少需要人為干涉,只需少量的人力即可維護(hù)整個(gè)系統(tǒng)的正確性。
【文檔編號(hào)】H04L29/06GK103942493SQ201410123616
【公開(kāi)日】2014年7月23日 申請(qǐng)日期:2014年3月28日 優(yōu)先權(quán)日:2014年3月28日
【發(fā)明者】何涇沙, 張躍騫, 張伊璇 申請(qǐng)人:北京工業(yè)大學(xué)