一種惡意程序觸發(fā)藍屏的攔截方法、裝置及電子設(shè)備的制造方法
【專利摘要】本發(fā)明的實施例公開一種惡意程序觸發(fā)藍屏的攔截方法、裝置及電子設(shè)備,涉及互聯(lián)網(wǎng)反病毒安全技術(shù)領(lǐng)域,結(jié)束惡意進程和清理惡意文件,并且不會造成系統(tǒng)藍屏,解決了現(xiàn)有的反病毒安全軟件考慮到用戶體驗不會輕易結(jié)束這類惡意軟件,系統(tǒng)安全性低的問題,所述方法包括:創(chuàng)建掛鉤于第二缺陷檢測函數(shù)的鉤子函數(shù),所述第二缺陷函數(shù)用于檢測系統(tǒng)缺陷并產(chǎn)生藍屏;判斷是否為惡意程序觸發(fā)藍屏;當確定為是意程序觸發(fā)藍屏?xí)r,調(diào)用所述鉤子函數(shù),攔截惡意程序觸發(fā)的藍屏。本發(fā)明適用于惡意程序的攔截。
【專利說明】
一種惡意程序觸發(fā)藍屏的攔截方法、裝置及電子設(shè)備
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及互聯(lián)網(wǎng)反病毒安全技術(shù)領(lǐng)域,尤其涉及一種惡意程序觸發(fā)藍屏的攔截方法、裝置及電子設(shè)備。
【背景技術(shù)】
[0002]電腦藍屏,又叫藍屏死機(Blue Screen of Death,簡稱BSOD),是微軟的Windows系列操作系統(tǒng)在無法從一個系統(tǒng)錯誤中恢復(fù)過來時,為保護電腦數(shù)據(jù)文件不被破壞而強制顯示的屏幕圖像。
[0003]隨著科技的進步,以及互聯(lián)網(wǎng)技術(shù)的發(fā)展,病毒、木馬等惡意程序?qū)映霾桓F。個別惡意程序的進程會加載自身的驅(qū)動程序,當反病毒安全軟件發(fā)現(xiàn)這類惡意軟件有惡意行為時,會結(jié)束惡意軟件的進程,并刪除它的文件。然而由于惡意程序自身的驅(qū)動會檢測其進程是否存在,當其進程不存在時,會直接觸發(fā)一個電腦藍屏,造成系統(tǒng)崩潰,使得用戶無法正常使用電腦??紤]到用戶體驗,為了保證用戶能夠繼續(xù)正常使用電腦,現(xiàn)有技術(shù)的病毒安全軟件往往不會輕易結(jié)束這類惡意軟件的進程,這就會對系統(tǒng)安全,用戶使用電腦安全都有不可估量的影響。
【發(fā)明內(nèi)容】
[0004]有鑒于此,本發(fā)明實施例提供一種惡意程序觸發(fā)藍屏的攔截方法、裝置及電子設(shè)備,以解決現(xiàn)有的反病毒安全軟件考慮到用戶體驗不會輕易結(jié)束這類惡意軟件,系統(tǒng)安全性低的問題。
[0005]第一方面,本發(fā)明實施例提供一種惡意程序觸發(fā)藍屏的攔截方法,包括:
[0006]創(chuàng)建掛鉤于第二缺陷檢測函數(shù)的鉤子函數(shù),所述第二缺陷函數(shù)用于檢測系統(tǒng)缺陷并產(chǎn)生藍屏;
[0007]判斷是否為惡意程序觸發(fā)藍屏;
[0008]當確定為惡意程序觸發(fā)藍屏?xí)r,調(diào)用所述鉤子函數(shù),攔截惡意程序觸發(fā)的藍屏。
[0009]結(jié)合第一方面,在第一方面的第一種實施方式中,所述創(chuàng)建掛鉤于第二缺陷檢測函數(shù)的鉤子函數(shù)包括:
[0010]獲取第二缺陷檢測函數(shù)的函數(shù)地址,并保存一個全局的第二缺陷檢測函數(shù)的原始函數(shù)地址;
[0011]定義一個鉤子函數(shù),在所述鉤子函數(shù)中調(diào)用所述全局的第二缺陷檢測函數(shù)的原始函數(shù)地址。
[0012]結(jié)合第一方面,在第一方面的第二種實施方式中,所述獲取第二缺陷檢測函數(shù)的函數(shù)地址包括:
[0013]調(diào)用獲取函數(shù)地址的函數(shù),獲取到用于檢測系統(tǒng)缺陷的第一缺陷檢測函數(shù)的函數(shù)地址;
[0014]通過所述第一缺陷檢測函數(shù)的函數(shù)地址,查找到所述第二缺陷檢測函數(shù)的函數(shù)地址。
[0015]結(jié)合第一方面、第一方面的第一種實施方式或第一方面的第二種實施方式,在第一方面的第三種實施方式中,所述判斷是否為惡意程序觸發(fā)藍屏包括:
[0016]調(diào)用一個獲取調(diào)用棧函數(shù),獲取前八個調(diào)用棧;
[0017]若所述前八個調(diào)用棧的地址中存在于預(yù)設(shè)的惡意模塊地址區(qū)間內(nèi),則確定為惡意程序在觸發(fā)藍屏。
[0018]結(jié)合第一方面的第三種實施方式,在第一方面的第四種實施方式中,所述判斷是否為惡意程序觸發(fā)藍屏還包括:
[0019]若所述鉤子函數(shù)中的參數(shù)值命中預(yù)設(shè)值,則確定為惡意程序在觸發(fā)藍屏,所述預(yù)設(shè)值為惡意程序在調(diào)用第一缺陷檢測函數(shù)引發(fā)一個藍屏?xí)r傳入的錯誤碼。
[0020]第二方面,本發(fā)明實施例提供一種惡意程序觸發(fā)藍屏的攔截裝置,包括:
[0021]創(chuàng)建單元,用于創(chuàng)建掛鉤于第二缺陷檢測函數(shù)的鉤子函數(shù),所述第二缺陷函數(shù)用于檢測系統(tǒng)缺陷并產(chǎn)生藍屏;
[0022]判斷單元,用于判斷是否為惡意程序觸發(fā)藍屏;
[0023]攔截單元,用于當確定為惡意程序觸發(fā)藍屏?xí)r,調(diào)用所述鉤子函數(shù),攔截惡意程序觸發(fā)的藍屏。
[0024]結(jié)合第二方面,在第二方面的第一種實施方式中,所述創(chuàng)建單元包括:
[0025]地址獲取模塊,用于獲取第二缺陷檢測函數(shù)的函數(shù)地址,并保存一個全局的第二缺陷檢測函數(shù)的原始函數(shù)地址;
[0026]地址調(diào)用模塊,用于定義一個鉤子函數(shù),在所述鉤子函數(shù)中調(diào)用所述全局的第二缺陷檢測函數(shù)的原始函數(shù)地址。
[0027]結(jié)合第二方面的第一種實施方式,在第二方面的第二種實施方式中,所述地址獲取模塊包括:
[0028]第一地址獲取子模塊,用于調(diào)用獲取函數(shù)地址的函數(shù),獲取到用于檢測系統(tǒng)缺陷的第一缺陷檢測函數(shù)的函數(shù)地址;第二地址獲取子模塊,用于通過所述第一缺陷檢測函數(shù)的函數(shù)地址,查找到所述第二缺陷檢測函數(shù)的函數(shù)地址。
[0029]結(jié)合第二方面、第二方面的第一種實施方式或第二方面的第二種實施方式,在第二方面的第三種實施方式中,所述判斷單元包括:
[0030]調(diào)用棧模塊,用于調(diào)用一個獲取調(diào)用棧函數(shù),獲取前八個調(diào)用棧;
[0031]第一判斷模塊,用于若所述前八個調(diào)用棧的地址中存在于預(yù)設(shè)的惡意模塊地址區(qū)間內(nèi),則確定為惡意程序在觸發(fā)藍屏。
[0032]結(jié)合第二方面的第三種實施方式,在第二方面的第四種實施方式中,所述地址獲取模塊還包括:
[0033]第二判斷模塊,用于若所述鉤子函數(shù)中的參數(shù)值命中預(yù)設(shè)值,則確定為惡意程序在觸發(fā)藍屏,所述預(yù)設(shè)值為惡意程序在調(diào)用第一缺陷檢測函數(shù)引發(fā)一個藍屏?xí)r傳入的錯誤碼。
[0034]第三方面,本發(fā)明實施例提供一種電子設(shè)備,所述電子設(shè)備包括:殼體、處理器、存儲器、電路板和電源電路,其中,電路板安置在殼體圍成的空間內(nèi)部,處理器和存儲器設(shè)置在電路板上;電源電路,用于為上述電子設(shè)備的各個電路或器件供電;存儲器用于存儲可執(zhí)行程序代碼;處理器通過讀取存儲器中存儲的可執(zhí)行程序代碼來運行與可執(zhí)行程序代碼對應(yīng)的程序,用于執(zhí)行以下操作:
[0035]創(chuàng)建掛鉤于第二缺陷檢測函數(shù)的鉤子函數(shù),所述第二缺陷函數(shù)用于檢測系統(tǒng)缺陷并產(chǎn)生藍屏;
[0036]判斷是否為惡意程序觸發(fā)藍屏;
[0037]當確定為惡意程序觸發(fā)藍屏?xí)r,調(diào)用所述鉤子函數(shù),攔截惡意程序觸發(fā)的藍屏。
[0038]第四方面,本發(fā)明實施例還提供了一種存儲介質(zhì),用于存儲應(yīng)用程序,所述應(yīng)用程序用于執(zhí)行本發(fā)明實施例所提供的一種惡意程序觸發(fā)藍屏的攔截方法。
[0039]第五方面,本發(fā)明實施例還提供了一種應(yīng)用程序,用于執(zhí)行本發(fā)明實施例所提供的一種惡意程序觸發(fā)藍屏的攔截方法。
[0040]本發(fā)明實施例提供的一種惡意程序觸發(fā)藍屏的攔截方法、裝置及電子設(shè)備,通過創(chuàng)建掛鉤于第二缺陷檢測函數(shù)的鉤子函數(shù),當判斷為惡意程序觸發(fā)藍屏?xí)r調(diào)用鉤子函數(shù)進行惡意程序觸發(fā)藍屏的攔截,可以穩(wěn)定地結(jié)束惡意程序進程,提高了反病毒安全軟件對病毒、木馬等惡意程序的清理能力,實現(xiàn)方法穩(wěn)定可靠,確保了系統(tǒng)的安全性,也保證了用戶的用戶體驗。
【附圖說明】
[0041]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其它的附圖。
[0042]圖1為本發(fā)明實施例一種惡意程序觸發(fā)藍屏的攔截方法的流程圖;
[0043]圖2為本發(fā)明實施例一種惡意程序觸發(fā)藍屏的攔截方法中引發(fā)藍屏執(zhí)行示意圖;
[0044]圖3為本發(fā)明實施例一種惡意程序觸發(fā)藍屏的攔截裝置示意圖;
[0045]圖4為本發(fā)明電子設(shè)備一個實施例的結(jié)構(gòu)不意圖。
【具體實施方式】
[0046]下面結(jié)合附圖對本發(fā)明實施例一種惡意程序觸發(fā)藍屏的攔截方法及裝置進行詳細描述。
[0047]應(yīng)當明確,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其它實施例,都屬于本發(fā)明保護的范圍。
[0048]圖1為本發(fā)明實施例一種惡意程序觸發(fā)藍屏的攔截方法的流程圖之一,如圖1所示,本實施例的方法可以包括:
[0049]步驟101、創(chuàng)建掛鉤于第二缺陷檢測函數(shù)的鉤子函數(shù),所述第二缺陷函數(shù)用于檢測系統(tǒng)缺陷并產(chǎn)生藍屏;
[0050]在本實施例中,第二缺陷檢測函數(shù)為windows操作系統(tǒng)中的用于檢測系統(tǒng)缺陷并產(chǎn)生藍屏的KeBugCheck2,而掛鉤于第二缺陷檢測函數(shù)KeBugCheck2的鉤子函數(shù)即為NewKeBugCheck2。
[0051]需要說明的是,在驅(qū)動程序引發(fā)藍屏的函數(shù)執(zhí)行流程中,不同系統(tǒng)流程有所區(qū)別,具體如下所示:
[0052]Win7 系統(tǒng):
[0053]驅(qū)動模塊(如38sek)—>KeBugCheck—>KeBugCheckEx—>KeBugCheck2
[0054]XP 系統(tǒng):
[0055]驅(qū)動模塊一>KeBugCheck—> KeBugChe ck2
[0056]WinlO 系統(tǒng):
[0057 ]驅(qū)動模塊一>KiBugCheck2—>KeBugCheck2
[0058]為了實現(xiàn)一種通用的攔截方案,本技術(shù)方案選擇掛鉤KeBugCheCk2內(nèi)核函數(shù),因為此函數(shù)主流系統(tǒng)在驅(qū)動程序觸發(fā)藍屏?xí)r都會執(zhí)行到,可以實現(xiàn)通用攔截方案。
[0059]但是第二缺陷檢測函數(shù)KeBUgCheCk2并不是導(dǎo)出函數(shù),需要先查出第二缺陷檢測函數(shù)KeBugCheck2的函數(shù)地址,才可以inline hook掛鉤它,本方案以XP系統(tǒng)為例,實現(xiàn)一個掛鉤并攔截的方法,其它系統(tǒng)原理一樣,實現(xiàn)方法相差不大。
[0060]如圖2所示,從執(zhí)行流程中可以看出,第二缺陷檢測函數(shù)KeBugCheCk2是由用于檢測系統(tǒng)缺陷的第一缺陷檢測函數(shù)KeBugCheck調(diào)用而來的,而第一缺陷檢測函數(shù)KeBugCheck是系統(tǒng)導(dǎo)出的,可調(diào)用內(nèi)核函數(shù):獲取函數(shù)地址的函數(shù)MmGetSystemRoutineAddress獲取到第一缺陷檢測函數(shù)KeBugCheck的函數(shù)地址,從反匯編代碼可以看出:第一缺陷檢測函數(shù)KeBugCheck會調(diào)用到第二缺陷檢測函數(shù)KeBugCheCk2,那么,從第一缺陷檢測函數(shù)KeBugCheck的函數(shù)地址,向下查找,找出第二缺陷檢測函數(shù)KeBugCheck2未導(dǎo)出函數(shù)的地址。查找到ff75 08 e8特征,并通過虛擬地址轉(zhuǎn)換可以得到第二缺陷檢測函數(shù)KeBugCheck2的函數(shù)地址。因此,上述獲取第二缺陷檢測函數(shù)KeBugCheck2的函數(shù)地址的方法具體為:調(diào)用內(nèi)核函數(shù):獲取函數(shù)地址的函數(shù)MmGetSy stemRout ineAddress,獲取到第一缺陷檢測函數(shù)KeBugCheck的函數(shù)地址;通過所述第一缺陷檢測函數(shù)KeBugCheck的函數(shù)地址,查找到所述第二缺陷檢測函數(shù)KeBugCheCk2的函數(shù)地址。
[0061]有了函數(shù)地址,就方便掛鉤了,定義一個鉤子函數(shù)NewKeBugCheck2,保存好一個全局的第一缺陷檢測函數(shù)KeBugCheck2的原始函數(shù)地址,在鉤子函數(shù)NewKeBugCheck2函數(shù)中調(diào)用這個全局的原始函數(shù)地址,實現(xiàn)原有的系統(tǒng)功能。再把第二缺陷檢測函數(shù)KeBUgCheCk2的函數(shù)地址替換為鉤子函數(shù)NewKeBugCheck的2函數(shù)地址,實現(xiàn)inline hook。系統(tǒng)在觸發(fā)藍屏?xí)r,都會執(zhí)行到鉤子函數(shù)NewKeBugCheck〗,那么本方案就可以實現(xiàn)惡意觸發(fā)藍屏的攔截。
[0062]步驟102、判斷是否為惡意程序觸發(fā)藍屏;
[0063]在本方案的鉤子函數(shù)NeWKeBugCheCk2中,當有觸發(fā)藍屏?xí)r,調(diào)用一個獲取調(diào)用棧函數(shù)RtlWalkFrameChain,本方案只獲取前八個調(diào)用棧。
[0064]調(diào)用內(nèi)核函數(shù)ZwQuerySystemlnformat1n(SystemModuIeInformat1n),可獲取模塊在虛擬內(nèi)存上的地址區(qū)間,獲取預(yù)設(shè)的惡意程序模塊區(qū)間,所知的惡意程序驅(qū)動有38sek.sys,37sek.sys 模塊。
[0065]有了這些預(yù)設(shè)的模塊地址區(qū)間,對比通過調(diào)用取調(diào)用桟函數(shù)RtlWalkFrameChain獲取的八個調(diào)用棧地址,看這八個地址中是否存在于這預(yù)設(shè)的模塊地址區(qū)間內(nèi),是就確定是惡意驅(qū)動在觸發(fā)藍屏。
[0066]由于惡意驅(qū)動有可能也會是由常規(guī)的代碼穩(wěn)定性造成的藍屏,所以還得區(qū)分一個第二缺陷檢測函數(shù)NewKeBugCheck〗中的參數(shù)值,惡意驅(qū)動會調(diào)用第一缺陷檢測函數(shù)KeBugCheck引發(fā)一個藍屏,并傳入一個錯誤碼值為參數(shù),若鉤子函數(shù)NewKeBugCheck2中的參數(shù)值命中預(yù)設(shè)值,則確定為惡意程序在觸發(fā)藍屏,該所述預(yù)設(shè)值為惡意程序在調(diào)用第一缺陷檢測函數(shù)KeBugCheck引發(fā)一個藍屏?xí)r傳入的錯誤碼。已知的惡意程序傳入自定義的錯誤碼為0x7和0x8,在鉤子函數(shù)NewKeBugCheck2中,命中這兩預(yù)設(shè)值,即為可攔截。
[0067]步驟103、當確定為惡意程序觸發(fā)藍屏?xí)r,調(diào)用所述鉤子函數(shù),攔截惡意程序觸發(fā)的藍屏。
[0068]攔截方法是,在鉤子函數(shù)NewKeBugCheck2中,直接返回,不執(zhí)行原始的鉤子函數(shù)KeBUgCheCk2的函數(shù)地址,使得系統(tǒng)無法執(zhí)行真正的藍屏動作,達到攔截的效果。
[0069]本發(fā)明實施例,通過創(chuàng)建掛鉤于第二缺陷檢測函數(shù)的鉤子函數(shù),當判斷為惡意程序觸發(fā)藍屏?xí)r調(diào)用鉤子函數(shù)進行惡意程序觸發(fā)藍屏的攔截,可以穩(wěn)定地結(jié)束惡意程序進程,提高了反病毒安全軟件對病毒、木馬等惡意程序的清理能力,實現(xiàn)方法穩(wěn)定可靠,對系統(tǒng)安全有積極意義。
[0070]具體來講,可通過查找未導(dǎo)出函數(shù)地址,并掛鉤,使用棧回溯技術(shù)查找出調(diào)用者的驅(qū)動模塊,并根據(jù)特定的藍屏錯誤碼來準確攔截由惡意程序觸發(fā)的藍屏,在保證用戶體驗的情況下,可以穩(wěn)定地結(jié)束惡意程序進程,提高了反病毒安全軟件對病毒、木馬等惡意程序的清理能力,實現(xiàn)方法穩(wěn)定可靠,對系統(tǒng)安全有積極意義。
[0071]圖3為本發(fā)明實施例一種惡意程序觸發(fā)藍屏的攔截裝置的結(jié)構(gòu)示意圖,如圖3所示,本實施例的惡意程序觸發(fā)藍屏的攔截裝置包括:創(chuàng)建單元1、判斷單元2和攔截單元3,其中,創(chuàng)建單元I,用于創(chuàng)建掛鉤于第二缺陷檢測函數(shù)KeBugCheCk2的鉤子函數(shù)NewKeBugCheck2,第二缺陷函數(shù)KeBugCheck2用于檢測系統(tǒng)缺陷并產(chǎn)生藍屏;判斷單元2,用于判斷是否為惡意程序觸發(fā)藍屏;攔截單元3,用于當確定為惡意程序觸發(fā)藍屏?xí)r,調(diào)用所述鉤子函數(shù)NewKeBugCheck2,攔截惡意程序觸發(fā)的藍屏。
[0072]進一步地,創(chuàng)建單元包括:地址獲取模塊,用于獲取第二缺陷檢測函數(shù)KeBugCheCk2的函數(shù)地址,并保存一個全局的第二缺陷檢測函數(shù)KeBugCheCk2的原始函數(shù)地址;地址調(diào)用模塊,用于定義一個鉤子函數(shù)NewKeBugCheck2,在所述鉤子函數(shù)NewKeBugCheck2中調(diào)用所述全局的第二缺陷檢測函數(shù)KeBugCheck2的原始函數(shù)地址。
[0073]進一步地,地址獲取模塊包括:第一地址獲取子模塊,用于調(diào)用獲取函數(shù)地址的函數(shù)MmGetSy stemRout ineAddress,獲取到用于檢測系統(tǒng)缺陷的第一缺陷檢測函數(shù)KeBugCheck的函數(shù)地址;第二地址獲取子模塊,用于通過所述第一缺陷檢測函數(shù)KeBugCheck的函數(shù)地址,查找到所述第二缺陷檢測函數(shù)KeBugCheck2的函數(shù)地址。
[0074]進一步地,判斷單元包括:調(diào)用棧模塊,用于調(diào)用一個獲取調(diào)用棧函數(shù)RtlWalkFrameChain,獲取前八個調(diào)用棧;第一判斷模塊,用于若所述前八個調(diào)用棧的地址中存在于預(yù)設(shè)的惡意模塊地址區(qū)間內(nèi),則確定為惡意程序在觸發(fā)藍屏。
[0075]進一步地,地址獲取模塊還包括:第二判斷模塊,用于若所述鉤子函數(shù)NeWKeBUgCheCk2中的參數(shù)值命中預(yù)設(shè)值,則確定為惡意程序在觸發(fā)藍屏,所述預(yù)設(shè)值為惡意程序在調(diào)用第一缺陷檢測函數(shù)KeBugCheck引發(fā)一個藍屏?xí)r傳入的錯誤碼。
[0076]本實施例的裝置,可以用于執(zhí)行圖1所示方法實施例的技術(shù)方案,其實現(xiàn)原理和技術(shù)效果類似,此處不再贅述。
[0077]本發(fā)明實施例還提供一種電子設(shè)備。圖4為本發(fā)明電子設(shè)備一個實施例的結(jié)構(gòu)不意圖,可以實現(xiàn)本發(fā)明圖1所示實施例的流程,如圖4所示,上述電子設(shè)備可以包括:殼體31、處理器32、存儲器33、電路板34和電源電路35,其中,電路板34安置在殼體31圍成的空間內(nèi)部,處理器32和存儲器33設(shè)置在電路板34上;電源電路35,用于為上述電子設(shè)備的各個電路或器件供電;存儲器33用于存儲可執(zhí)行程序代碼;處理器32通過讀取存儲器33中存儲的可執(zhí)行程序代碼來運行與可執(zhí)行程序代碼對應(yīng)的程序,用于執(zhí)行前述任一實施例所述的惡意程序觸發(fā)藍屏的攔截方法。
[0078]該電子設(shè)備以多種形式存在,包括但不限于:
[0079](I)移動通信設(shè)備:這類設(shè)備的特點是具備移動通信功能,并且以提供話音、數(shù)據(jù)通信為主要目標。這類終端包括:智能手機(例如iPhone)、多媒體手機、功能性手機,以及低端手機等。
[0080](2)超移動個人計算機設(shè)備:這類設(shè)備屬于個人計算機的范疇,有計算和處理功能,一般也具備移動上網(wǎng)特性。這類終端包括:PDA、MID和UMPC設(shè)備等,例如iPad。
[0081](3)便攜式娛樂設(shè)備:這類設(shè)備可以顯示和播放多媒體內(nèi)容。該類設(shè)備包括:音頻、視頻播放模塊(例如iPod),掌上游戲機,電子書,以及智能玩具和便攜式車載導(dǎo)航設(shè)備。
[0082](4)服務(wù)器:提供計算服務(wù)的設(shè)備,服務(wù)器的構(gòu)成包括處理器、硬盤、內(nèi)存、系統(tǒng)總線等,服務(wù)器和通用的計算機架構(gòu)類似,但是由于需要提供高可靠的服務(wù),因此在處理能力、穩(wěn)定性、可靠性、安全性、可擴展性、可管理性等方面要求較高。
[0083](5)其他具有數(shù)據(jù)交互功能的電子設(shè)備。
[0084]本發(fā)明實施例還提供了一種存儲介質(zhì),用于存儲應(yīng)用程序,所述應(yīng)用程序用于執(zhí)行本發(fā)明前述任一實施例所述的惡意程序觸發(fā)藍屏的攔截方法
[0085]本發(fā)明實施例還提供了一種應(yīng)用程序,用于執(zhí)行本發(fā)明前述任一實施例所述的惡意程序觸發(fā)藍屏的攔截方法。
[0086]需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個......”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
[0087]本發(fā)明實施例,可通過查找未導(dǎo)出函數(shù)地址,并掛鉤,使用棧回溯技術(shù)查找出調(diào)用者的驅(qū)動模塊,并根據(jù)特定的藍屏錯誤碼來準確攔截由惡意程序觸發(fā)的藍屏,可以穩(wěn)定地結(jié)束惡意程序進程,提高了反病毒安全軟件對病毒、木馬等惡意程序的清理能力,實現(xiàn)方法穩(wěn)定可靠,確保了系統(tǒng)的安全性,也保證了用戶的用戶體驗。
[0088]本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例方法中的全部或部分流程,是可以通過計算機程序來指令相關(guān)的硬件來完成,所述的程序可存儲于一計算機可讀取存儲介質(zhì)中,該程序在執(zhí)行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質(zhì)可為磁碟、光盤、只讀存儲記憶體(Read-Only Memory,ROM)或隨機存儲記憶體(Random AccessMemory,RAM)等。
[0089]以上所述,僅為本發(fā)明的【具體實施方式】,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應(yīng)以權(quán)利要求的保護范圍為準。
【主權(quán)項】
1.一種惡意程序觸發(fā)藍屏的攔截方法,其特征在于,包括: 創(chuàng)建掛鉤于第二缺陷檢測函數(shù)的鉤子函數(shù),所述第二缺陷函數(shù)用于檢測系統(tǒng)缺陷并產(chǎn)生藍屏; 判斷是否為惡意程序觸發(fā)藍屏; 當確定為惡意程序觸發(fā)藍屏?xí)r,調(diào)用所述鉤子函數(shù),攔截惡意程序觸發(fā)的藍屏。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述創(chuàng)建掛鉤于第二缺陷檢測函數(shù)的鉤子函數(shù)包括: 獲取第二缺陷檢測函數(shù)的函數(shù)地址,并保存一個全局的第二缺陷檢測函數(shù)的原始函數(shù)地址; 定義一個鉤子函數(shù),在所述鉤子函數(shù)中調(diào)用所述全局的第二缺陷檢測函數(shù)的原始函數(shù)地址。3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述獲取第二缺陷檢測函數(shù)的函數(shù)地址包括: 調(diào)用獲取函數(shù)地址的函數(shù),獲取到用于檢測系統(tǒng)缺陷的第一缺陷檢測函數(shù)的函數(shù)地址; 通過所述第一缺陷檢測函數(shù)的函數(shù)地址,查找到所述第二缺陷檢測函數(shù)的函數(shù)地址。4.根據(jù)權(quán)利要求1-3任一項所述的方法,其特征在于,所述判斷是否為惡意程序觸發(fā)藍屏包括: 調(diào)用一個獲取調(diào)用棧函數(shù),獲取前八個調(diào)用棧; 若所述前八個調(diào)用棧的地址中存在于預(yù)設(shè)的惡意模塊地址區(qū)間內(nèi),則確定為惡意程序在觸發(fā)藍屏。5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述判斷是否為惡意程序觸發(fā)藍屏還包括: 若所述鉤子函數(shù)中的參數(shù)值命中預(yù)設(shè)值,則確定為惡意程序在觸發(fā)藍屏,所述預(yù)設(shè)值為惡意程序在調(diào)用第一缺陷檢測函數(shù)引發(fā)一個藍屏?xí)r傳入的錯誤碼。6.一種惡意程序觸發(fā)藍屏的攔截裝置,其特征在于,包括: 創(chuàng)建單元,用于創(chuàng)建掛鉤于第二缺陷檢測函數(shù)的鉤子函數(shù),所述第二缺陷函數(shù)用于檢測系統(tǒng)缺陷并產(chǎn)生藍屏; 判斷單元,用于判斷是否為惡意程序觸發(fā)藍屏; 攔截單元,用于當確定為惡意程序觸發(fā)藍屏?xí)r,調(diào)用所述鉤子函數(shù),攔截惡意程序觸發(fā)的藍屏。7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述創(chuàng)建單元包括: 地址獲取模塊,用于獲取第二缺陷檢測函數(shù)的函數(shù)地址,并保存一個全局的第二缺陷檢測函數(shù)的原始函數(shù)地址; 地址調(diào)用模塊,用于定義一個鉤子函數(shù),在所述鉤子函數(shù)中調(diào)用所述全局的第二缺陷檢測函數(shù)的原始函數(shù)地址。8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述地址獲取模塊包括: 第一地址獲取子模塊,用于調(diào)用獲取函數(shù)地址的函數(shù),獲取到用于檢測系統(tǒng)缺陷的第一缺陷檢測函數(shù)的函數(shù)地址; 第二地址獲取子模塊,用于通過所述第一缺陷檢測函數(shù)的函數(shù)地址,查找到所述第二缺陷檢測函數(shù)的函數(shù)地址。9.根據(jù)權(quán)利要求6-8任一項所述的裝置,其特征在于,所述判斷單元包括: 調(diào)用棧模塊,用于調(diào)用一個獲取調(diào)用棧函數(shù),獲取前八個調(diào)用棧; 第一判斷模塊,用于若所述前八個調(diào)用棧的地址中存在于預(yù)設(shè)的惡意模塊地址區(qū)間內(nèi),則確定為惡意程序在觸發(fā)藍屏。10.—種電子設(shè)備,其特征在于,所述電子設(shè)備包括:殼體、處理器、存儲器、電路板和電源電路,其中,電路板安置在殼體圍成的空間內(nèi)部,處理器和存儲器設(shè)置在電路板上;電源電路,用于為上述電子設(shè)備的各個電路或器件供電;存儲器用于存儲可執(zhí)行程序代碼;處理器通過讀取存儲器中存儲的可執(zhí)行程序代碼來運行與可執(zhí)行程序代碼對應(yīng)的程序,用于執(zhí)行如下操作: 創(chuàng)建掛鉤于第二缺陷檢測函數(shù)的鉤子函數(shù),所述第二缺陷函數(shù)用于檢測系統(tǒng)缺陷并產(chǎn)生藍屏; 判斷是否為惡意程序觸發(fā)藍屏; 當確定為惡意程序觸發(fā)藍屏?xí)r,調(diào)用所述鉤子函數(shù),攔截惡意程序觸發(fā)的藍屏。
【文檔編號】G06F21/56GK106055982SQ201610498582
【公開日】2016年10月26日
【申請日】2016年6月29日
【發(fā)明人】李文靖
【申請人】北京金山安全軟件有限公司