隱藏彈出式窗口的處理方法、裝置及電子設(shè)備的制造方法
【專利摘要】本發(fā)明公開一種隱藏彈出式窗口的處理方法、裝置及電子設(shè)備,能夠解決現(xiàn)有技術(shù)不能防止惡意軟件隱藏彈出式窗口導(dǎo)致系統(tǒng)安全不能得到有效保護(hù)的問(wèn)題。所述方法包括:檢測(cè)軟件進(jìn)程調(diào)用禁用或啟用窗口功能函數(shù)的行為;當(dāng)檢測(cè)到有軟件進(jìn)程調(diào)用禁用或啟用窗口功能函數(shù)的行為時(shí),獲取所述軟件進(jìn)程調(diào)用禁用或啟用窗口功能函數(shù)時(shí)所傳入的第一功能索引號(hào);判斷所述第一功能索引號(hào)與隱藏彈出式窗口功能函數(shù)對(duì)應(yīng)內(nèi)核的第二功能索引號(hào)是否相同;若不相同,則調(diào)用禁用或啟用窗口功能函數(shù)執(zhí)行與所述第一功能索引號(hào)相對(duì)應(yīng)的操作,否則判斷所述軟件進(jìn)程是否為惡意軟件進(jìn)程;若所述軟件進(jìn)程為惡意軟件進(jìn)程,則拒絕進(jìn)行隱藏彈出式窗口操作,否則調(diào)用禁用或啟用窗口功能函數(shù)執(zhí)行隱藏彈出式窗口操作。本發(fā)明適用于對(duì)隱藏彈出式窗口的操作進(jìn)行處理。
【專利說(shuō)明】
隱藏彈出式窗口的處理方法、裝置及電子設(shè)備
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及系統(tǒng)安全技術(shù)領(lǐng)域,尤其涉及一種隱藏彈出式窗口的處理方法、裝置及電子設(shè)備。
【背景技術(shù)】
[0002]在計(jì)算機(jī)系統(tǒng)中,提供有ShowOwnedPopups函數(shù),用于顯示或隱藏屬于指定窗口的所有彈出式窗口。而惡意程序可以通過(guò)隱藏窗口的方式攻擊安全軟件,導(dǎo)致安全軟件的消息傳遞處理被中斷,防御功能失效,惡意程序就能危害計(jì)算機(jī)系統(tǒng)。
[0003]目前,為了防止惡意彈出式窗口不被隱藏,通常情況下是掛鉤應(yīng)用層的ShowOwnedPopups函數(shù),ShowOwnedPopups函數(shù)對(duì)應(yīng)于系統(tǒng)內(nèi)核的函數(shù)是NtUserCa I IHwndParamLock函數(shù)。NtUserCal IHwndParamLock 函數(shù)是一個(gè)公共函數(shù),很多應(yīng)用層的函數(shù)對(duì)應(yīng)內(nèi)核的函數(shù)都是它DNtUserCal IHwndParamLock函數(shù)用一個(gè)功能索引號(hào)來(lái)區(qū)分不同的應(yīng)用層函數(shù),惡意程序可以通過(guò)調(diào)用內(nèi)核的NtUserCal IHwndParamLock函數(shù),傳入相應(yīng)的功能索引號(hào),來(lái)隱藏指定窗口的所有彈出式窗口,這樣惡意程序就能夠破壞計(jì)算機(jī)系統(tǒng)環(huán)境。
[0004]因此,現(xiàn)有的隱藏彈出式窗口的處理方法,不能防止惡意軟件隱藏彈出式窗口,導(dǎo)致系統(tǒng)安全不能得到有效保護(hù)。
【發(fā)明內(nèi)容】
[0005]有鑒于此,本發(fā)明實(shí)施例提供一種隱藏彈出式窗口的處理方法、裝置及電子設(shè)備,能夠防止惡意軟件隱藏彈出式窗口,從而有效保護(hù)系統(tǒng)安全。
[0006]第一方面,本發(fā)明實(shí)施例提供一種隱藏彈出式窗口的處理方法,包括:
[0007]檢測(cè)軟件進(jìn)程調(diào)用禁用或啟用窗口功能函數(shù)的行為;
[0008]當(dāng)檢測(cè)到有軟件進(jìn)程調(diào)用禁用或啟用窗口功能函數(shù)的行為時(shí),獲取所述軟件進(jìn)程調(diào)用禁用或啟用窗口功能函數(shù)時(shí)所傳入的第一功能索引號(hào);
[0009]判斷所述第一功能索引號(hào)與隱藏彈出式窗口功能函數(shù)對(duì)應(yīng)內(nèi)核的第二功能索引號(hào)是否相同;
[0010]若不相同,則調(diào)用禁用或啟用窗口功能函數(shù)執(zhí)行與所述第一功能索引號(hào)相對(duì)應(yīng)的操作,否則判斷所述軟件進(jìn)程是否為惡意軟件進(jìn)程;
[0011 ]若所述軟件進(jìn)程為惡意軟件進(jìn)程,則拒絕進(jìn)行隱藏彈出式窗口操作,否則調(diào)用禁用或啟用窗口功能函數(shù)執(zhí)行隱藏彈出式窗口操作。
[0012]結(jié)合第一方面,在第一方面的第一種實(shí)施方式中,所述隱藏彈出式窗口功能函數(shù)對(duì)應(yīng)內(nèi)核的第二功能索引號(hào)在不同的系統(tǒng)下有所不同。
[0013]結(jié)合第一方面,在第一方面的第二種實(shí)施方式中,所述判斷所述軟件進(jìn)程是否為惡意軟件進(jìn)程包括:
[0014]獲取所述軟件進(jìn)程的特征信息;
[0015]在存儲(chǔ)有惡意軟件進(jìn)程特征信息的特征庫(kù)中查詢所述軟件進(jìn)程的特征信息;
[0016]若能查詢到所述軟件進(jìn)程的特征信息,則判定所述軟件進(jìn)程為惡意軟件進(jìn)程,否則判定所述軟件進(jìn)程不是惡意軟件進(jìn)程。
[0017]結(jié)合第一方面的第二種實(shí)施方式,在第一方面的第三種實(shí)施方式中,在所述檢測(cè)軟件進(jìn)程調(diào)用禁用或啟用窗口功能函數(shù)的行為之前,所述方法還包括:
[0018]建立特征庫(kù),將獲取到的惡意軟件進(jìn)程的特征信息存儲(chǔ)在所述特征庫(kù)中。
[0019]第二方面,本發(fā)明實(shí)施例提供一種隱藏彈出式窗口的處理裝置,包括:
[0020]檢測(cè)單元,用于檢測(cè)軟件進(jìn)程調(diào)用禁用或啟用窗口功能函數(shù)的行為;
[0021]獲取單元,用于當(dāng)所述檢測(cè)單元檢測(cè)到有軟件進(jìn)程調(diào)用禁用或啟用窗口功能函數(shù)的行為時(shí),獲取所述軟件進(jìn)程調(diào)用禁用或啟用窗口功能函數(shù)時(shí)所傳入的第一功能索引號(hào);
[0022]第一判斷單元,用于判斷所述第一功能索引號(hào)與隱藏彈出式窗口功能函數(shù)對(duì)應(yīng)內(nèi)核的第二功能索引號(hào)是否相同;
[0023]第一處理單元,用于當(dāng)所述第一判斷單元的判斷結(jié)果為不相同時(shí),調(diào)用禁用或啟用窗口功能函數(shù)執(zhí)行與所述第一功能索引號(hào)相對(duì)應(yīng)的操作;
[0024]第二判斷單元,用于當(dāng)所述第一判斷單元的判斷結(jié)果為相同時(shí),判斷所述軟件進(jìn)程是否為惡意軟件進(jìn)程;
[0025]第二處理單元,用于當(dāng)所述第二判斷單元判定所述軟件進(jìn)程為惡意軟件進(jìn)程時(shí),拒絕進(jìn)行隱藏彈出式窗口操作;
[0026]第三處理單元,用于當(dāng)所述第二判斷單元判定所述軟件進(jìn)程不是惡意軟件進(jìn)程時(shí),調(diào)用禁用或啟用窗口功能函數(shù)執(zhí)行隱藏彈出式窗口操作。
[0027]結(jié)合第二方面,在第二方面的第一種實(shí)施方式中,所述隱藏彈出式窗口功能函數(shù)對(duì)應(yīng)內(nèi)核的第二功能索引號(hào)在不同的系統(tǒng)下有所不同。
[0028]結(jié)合第二方面,在第二方面的第二種實(shí)施方式中,所述第二判斷單元包括:
[0029]獲取子單元,用于獲取所述軟件進(jìn)程的特征信息;
[0030]查詢子單元,用于在存儲(chǔ)有惡意軟件進(jìn)程特征信息的特征庫(kù)中查詢所述軟件進(jìn)程的特征信息;
[0031]判斷子單元,用于當(dāng)所述查詢子單元能查詢到所述軟件進(jìn)程的特征信息時(shí),判定所述軟件進(jìn)程為惡意軟件進(jìn)程,否則判定所述軟件進(jìn)程不是惡意軟件進(jìn)程。
[0032]結(jié)合第二方面的第二種實(shí)施方式,在第二方面的第三種實(shí)施方式中,所述裝置還包括:
[0033]建立單元,用于在所述檢測(cè)單元檢測(cè)軟件進(jìn)程調(diào)用禁用或啟用窗口功能函數(shù)的行為之前,建立特征庫(kù),將獲取到的惡意軟件進(jìn)程的特征信息存儲(chǔ)在所述特征庫(kù)中。
[0034]第三方面,本發(fā)明實(shí)施例提供一種電子設(shè)備,所述電子設(shè)備包括:殼體、處理器、存儲(chǔ)器、電路板和電源電路,其中,電路板安置在殼體圍成的空間內(nèi)部,處理器和存儲(chǔ)器設(shè)置在電路板上;電源電路,用于為上述電子設(shè)備的各個(gè)電路或器件供電;存儲(chǔ)器用于存儲(chǔ)可執(zhí)行程序代碼;處理器通過(guò)讀取存儲(chǔ)器中存儲(chǔ)的可執(zhí)行程序代碼來(lái)運(yùn)行與可執(zhí)行程序代碼對(duì)應(yīng)的程序,用于執(zhí)行前述任一所述的隱藏彈出式窗口的處理方法。
[0035]本發(fā)明實(shí)施例提供的一種隱藏彈出式窗口的處理方法、裝置及電子設(shè)備,當(dāng)檢測(cè)到有軟件進(jìn)程調(diào)用禁用或啟用窗口功能函數(shù)的行為時(shí),獲取所述軟件進(jìn)程調(diào)用禁用或啟用窗口功能函數(shù)時(shí)所傳入的第一功能索引號(hào),判斷所述第一功能索引號(hào)與隱藏彈出式窗口功能函數(shù)對(duì)應(yīng)內(nèi)核的第二功能索引號(hào)是否相同,若不相同,則調(diào)用禁用或啟用窗口功能函數(shù)執(zhí)行與所述第一功能索引號(hào)相對(duì)應(yīng)的操作,否則判斷所述軟件進(jìn)程是否為惡意軟件進(jìn)程,若是則拒絕進(jìn)行隱藏彈出式窗口操作,否則調(diào)用禁用或啟用窗口功能函數(shù)執(zhí)行隱藏彈出式窗口操作。與現(xiàn)有技術(shù)相比,本發(fā)明能夠通過(guò)掛鉤禁用或啟用窗口功能函數(shù)的方式,在禁用或啟用窗口功能函數(shù)執(zhí)行之前對(duì)惡意軟件進(jìn)程通過(guò)內(nèi)核的方式隱藏彈出式窗口的行為進(jìn)行攔截,防止惡意軟件隱藏彈出式窗口,從而有效保護(hù)系統(tǒng)安全。
【附圖說(shuō)明】
[0036]為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其它的附圖。
[0037]圖1為本發(fā)明隱藏彈出式窗口的處理方法實(shí)施例一的流程圖;
[0038]圖2為本發(fā)明隱藏彈出式窗口的處理方法實(shí)施例二的流程圖;
[0039]圖3為本發(fā)明隱藏彈出式窗口的處理裝置實(shí)施例一的結(jié)構(gòu)示意圖;
[0040]圖4為本發(fā)明隱藏彈出式窗口的處理裝置實(shí)施例二的結(jié)構(gòu)示意圖;
[0041]圖5為本發(fā)明電子設(shè)備實(shí)施例的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0042]下面結(jié)合附圖對(duì)本發(fā)明實(shí)施例進(jìn)行詳細(xì)描述。
[0043]應(yīng)當(dāng)明確,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其它實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0044]在下述本發(fā)明各實(shí)施例中,NtUserCallHwndParamLock函數(shù)為禁用或啟用窗口功能函數(shù),ShowOwnedPopups函數(shù)為隱藏彈出式窗口功能函數(shù)。
[0045]圖1為本發(fā)明隱藏彈出式窗口的處理方法實(shí)施例一的流程圖,如圖1所示,本實(shí)施例的方法可以包括:
[0046]步驟Sll、檢測(cè)軟件進(jìn)程調(diào)用NtUserCal IHwndParamLock函數(shù)的行為。
[0047]本實(shí)施例中,NtUserCalIHwndParamLock函數(shù)為內(nèi)核層的一個(gè)公共函數(shù),很多應(yīng)用層的函數(shù)對(duì)應(yīng)內(nèi)核的函數(shù)都是該NtUserCal IHwndParamLock函數(shù)。
[0048]步驟S12、當(dāng)檢測(cè)到有軟件進(jìn)程調(diào)用NtUserCallHwndParamLock函數(shù)的行為時(shí),獲取所述軟件進(jìn)程調(diào)用NtUserCal IHwndParamLock函數(shù)時(shí)所傳入的第一功能索引號(hào)。
[0049]本實(shí)施例中,軟件進(jìn)程在調(diào)用NtUserCallHwndParamLock函數(shù)時(shí),會(huì)向內(nèi)核層傳入第一功能索引號(hào)。
[0050]具體地,上述操作可以通過(guò)鉤子函數(shù)來(lái)實(shí)現(xiàn),該鉤子函數(shù)與NtUserCallHwndParamLock函數(shù)進(jìn)行掛鉤,當(dāng)檢測(cè)到有軟件進(jìn)程調(diào)用NtUserCal IHwndParamLock 函數(shù)時(shí),在執(zhí)行 NtUserCal IHwndParamLock 函數(shù)之前,該鉤子函數(shù)獲取軟件進(jìn)程傳入內(nèi)核層的第一功能索引號(hào)。[0051 ] 步驟S13、判斷所述第一功能索引號(hào)與ShowOwnedPopups函數(shù)對(duì)應(yīng)內(nèi)核的第二功能索引號(hào)是否相同,若不相同,則執(zhí)行步驟S14,否則執(zhí)行步驟S15。
[°°52]本實(shí)施例中,所述ShowOwnedPopups函數(shù)為應(yīng)用層函數(shù),對(duì)應(yīng)內(nèi)核的第二功能索引號(hào)在不同的系統(tǒng)下有所不同。具體地,所述ShowOwnedPopups函數(shù)對(duì)應(yīng)內(nèi)核的第二功能索引號(hào)在XP系統(tǒng)下為98,在Win7系統(tǒng)下為100,在Win8系統(tǒng)下為107,在Win8.1系統(tǒng)下為111,在WinlO系統(tǒng)下為118。
[0053]具體地,步驟S13的過(guò)程可以通過(guò)步驟S12中的鉤子函數(shù)來(lái)實(shí)現(xiàn)。
[0054]步驟S14、調(diào)用NtUserCallHwndParamLock函數(shù)執(zhí)行與所述第一功能索引號(hào)相對(duì)應(yīng)的操作。
[0055]本實(shí)施例中,若所述第一功能索引號(hào)與ShowOwnedPopups函數(shù)對(duì)應(yīng)內(nèi)核的第二功能索引號(hào)不相同,表明所述軟件進(jìn)程對(duì)應(yīng)的操作不是隱藏彈出式窗口,則可以執(zhí)行所述軟件進(jìn)程。
[0056]步驟S15、判斷所述軟件進(jìn)程是否為惡意軟件進(jìn)程,若所述軟件進(jìn)程為惡意軟件進(jìn)程,則執(zhí)行步驟S16,否則執(zhí)行步驟S17。
[0057]本實(shí)施例中,惡意軟件指在系統(tǒng)上執(zhí)行惡意任務(wù)的病毒、蠕蟲和特洛伊木馬的程序,通過(guò)破壞軟件進(jìn)程來(lái)對(duì)系統(tǒng)實(shí)施控制。
[0058]具體地,步驟S17的過(guò)程可以通過(guò)步驟S12中的鉤子函數(shù)來(lái)實(shí)現(xiàn)。
[0059]步驟S16、拒絕進(jìn)行隱藏彈出式窗口操作。
[0060]本實(shí)施例中,若所述軟件進(jìn)程為惡意軟件進(jìn)程,則執(zhí)行隱藏彈出式窗口操作可能會(huì)對(duì)系統(tǒng)安全造成破壞,因此需要對(duì)本次隱藏彈出式窗口操作進(jìn)行攔截,結(jié)束本次操作。
[0061]具體地,步驟S17的過(guò)程可以通過(guò)步驟S12中的鉤子函數(shù)來(lái)實(shí)現(xiàn)。
[0062]步驟S17、調(diào)用NtUserCal IHwndParamLock函數(shù)執(zhí)行隱藏彈出式窗口操作。
[0063]本實(shí)施例中,若所述軟件進(jìn)程不是惡意軟件進(jìn)程,則表明該軟件進(jìn)程對(duì)應(yīng)的隱藏彈出式窗口操作是正常操作,可以允許本次隱藏彈出式窗口操作進(jìn)行。
[0064]具體地,步驟S17的過(guò)程可以通過(guò)步驟S12中的鉤子函數(shù)來(lái)實(shí)現(xiàn)。
[0065]本實(shí)施例,當(dāng)檢測(cè)到有軟件進(jìn)程調(diào)用NtUserCallHwndParamLock函數(shù)的行為時(shí),獲取所述軟件進(jìn)程調(diào)用NtUserCal IHwndParamLock函數(shù)時(shí)所傳入的第一功能索引號(hào),判斷所述第一功能索引號(hào)與ShowOwnedPopups函數(shù)對(duì)應(yīng)內(nèi)核的第二功能索引號(hào)是否相同,若不相同,則調(diào)用NtUserCalIHwndParamLock函數(shù)執(zhí)行與所述第一功能索引號(hào)相對(duì)應(yīng)的操作,否則判斷所述軟件進(jìn)程是否為惡意軟件進(jìn)程,若是則拒絕進(jìn)行隱藏彈出式窗口操作,否則調(diào)用NtUserCalIHwndParamLock函數(shù)執(zhí)行隱藏彈出式窗口操作。與現(xiàn)有技術(shù)相比,本發(fā)明能夠通過(guò)掛鉤NtUserCal IHwndParamLock 函數(shù)的方式,在 NtUserCal IHwndParamLock 函數(shù)執(zhí)行之前對(duì)惡意軟件進(jìn)程通過(guò)內(nèi)核的方式隱藏彈出式窗口的行為進(jìn)行攔截,防止惡意軟件隱藏彈出式窗口,從而有效保護(hù)系統(tǒng)安全。
[0066]圖2為本發(fā)明隱藏彈出式窗口的處理方法實(shí)施例二的流程圖,如圖2所示,本實(shí)施例的方法可以包括:
[0067]步驟S21、建立特征庫(kù),將獲取到的惡意軟件進(jìn)程的特征信息存儲(chǔ)在所述特征庫(kù)中。
[0068]本實(shí)施例中,可以根據(jù)系統(tǒng)中安全軟件監(jiān)測(cè)到的惡意軟件進(jìn)程建立特征庫(kù),將已監(jiān)測(cè)到的惡意軟件進(jìn)程的特征信息存儲(chǔ)在所述特征庫(kù)中,或者,用戶可以手動(dòng)添加惡意軟件進(jìn)程的特征信息至所述特征庫(kù)中。其中,軟件進(jìn)程的特征信息可以為特征碼,每個(gè)軟件進(jìn)程具有唯一的特征碼。
[0069]進(jìn)一步地,還可以根據(jù)安全軟件的實(shí)時(shí)監(jiān)測(cè)情況對(duì)所述特征庫(kù)進(jìn)行更新。
[0070]步驟S22、檢測(cè)軟件進(jìn)程調(diào)用NtUserCal IHwndParamLock函數(shù)的行為。
[0071 ] 本實(shí)施例中,檢測(cè)軟件進(jìn)程調(diào)用NtUserCallHwndParamLock函數(shù)的行為的過(guò)程和上述方法實(shí)施例的步驟Sll類似,此處不再贅述。
[0072]步驟S23、當(dāng)檢測(cè)到有軟件進(jìn)程調(diào)用NtUserCallHwndParamLock函數(shù)的行為時(shí),獲取所述軟件進(jìn)程調(diào)用NtUserCal IHwndParamLock函數(shù)時(shí)所傳入的第一功能索引號(hào)。
[0073]本實(shí)施例中,獲取所述軟件進(jìn)程調(diào)用NtUserCalIHwndParamLock函數(shù)時(shí)所傳入的第一功能索引號(hào)的過(guò)程和上述方法實(shí)施例的步驟S12類似,此處不再贅述。
[0074]步驟S24、判斷所述第一功能索引號(hào)與ShowOwnedPopups函數(shù)對(duì)應(yīng)內(nèi)核的第二功能索引號(hào)是否相同,若不相同,則執(zhí)行步驟S25,否則執(zhí)行步驟S26和步驟S27。
[0075]本實(shí)施例中,判斷所述第一功能索引號(hào)與ShowOwnedPopups函數(shù)對(duì)應(yīng)內(nèi)核的第二功能索引號(hào)是否相同的過(guò)程和上述方法實(shí)施例的步驟S13類似,此處不再贅述。
[0076]步驟S25、調(diào)用NtUserCal IHwndParamLock函數(shù)執(zhí)行與所述第一功能索引號(hào)相對(duì)應(yīng)的操作。
[0077]本實(shí)施例中,調(diào)用NtUserCalIHwndParamLock函數(shù)執(zhí)行與所述第一功能索引號(hào)相對(duì)應(yīng)的操作的過(guò)程和上述方法實(shí)施例的步驟S14類似,此處不再贅述。
[0078]步驟S26、獲取所述軟件進(jìn)程的特征信息。
[0079]本實(shí)施例中,所述軟件進(jìn)程的特征信息可以為特征碼,每個(gè)軟件進(jìn)程具有唯一的特征碼。
[0080]具體地,步驟S26的過(guò)程可以通過(guò)步驟SI 2中的鉤子函數(shù)來(lái)實(shí)現(xiàn)。
[0081]步驟S27、在存儲(chǔ)有惡意軟件進(jìn)程特征信息的特征庫(kù)中查詢所述軟件進(jìn)程的特征信息,若能查詢到所述軟件進(jìn)程的特征信息,則判定所述軟件進(jìn)程為惡意軟件進(jìn)程,執(zhí)行步驟S28,否則判定所述軟件進(jìn)程不是惡意軟件進(jìn)程,執(zhí)行步驟S29。
[0082]本實(shí)施例中,惡意軟件指在系統(tǒng)上執(zhí)行惡意任務(wù)的病毒、蠕蟲和特洛伊木馬的程序,通過(guò)破壞軟件進(jìn)程來(lái)對(duì)系統(tǒng)實(shí)施控制。
[0083]具體地,步驟S27的過(guò)程可以通過(guò)步驟S12中的鉤子函數(shù)來(lái)實(shí)現(xiàn)。
[0084]步驟S28、拒絕進(jìn)行隱藏彈出式窗口操作。
[0085]本實(shí)施例中,拒絕進(jìn)行隱藏彈出式窗口操作的過(guò)程和上述方法實(shí)施例的步驟S16類似,此處不再贅述。
[0086]步驟S29、調(diào)用NtUserCal IHwndParamLock函數(shù)執(zhí)行隱藏彈出式窗口操作。
[0087]本實(shí)施例中,調(diào)用NtUserCallHwndParamLock函數(shù)執(zhí)行隱藏彈出式窗口操作的過(guò)程和上述方法實(shí)施例的步驟S17類似,此處不再贅述。
[0088]本實(shí)施例,當(dāng)檢測(cè)到有軟件進(jìn)程調(diào)用NtUserCallHwndParamLock函數(shù)的行為時(shí),獲取所述軟件進(jìn)程調(diào)用NtUserCal IHwndParamLock函數(shù)時(shí)所傳入的第一功能索引號(hào),判斷所述第一功能索引號(hào)與ShowOwnedPopups函數(shù)對(duì)應(yīng)內(nèi)核的第二功能索引號(hào)是否相同,若不相同,則調(diào)用NtUserCalIHwndParamLock函數(shù)執(zhí)行與所述第一功能索引號(hào)相對(duì)應(yīng)的操作,否則在存儲(chǔ)有惡意軟件進(jìn)程特征信息的特征庫(kù)中查詢所述軟件進(jìn)程的特征信息以判斷所述軟件進(jìn)程是否為惡意軟件進(jìn)程,若是則拒絕進(jìn)行隱藏彈出式窗口操作,否則調(diào)用NtUserCalIHwndParamLock函數(shù)執(zhí)行隱藏彈出式窗口操作。與現(xiàn)有技術(shù)相比,本發(fā)明能夠通過(guò)掛鉤NtUserCal IHwndParamLock 函數(shù)的方式,在 NtUserCal IHwndParamLock 函數(shù)執(zhí)行之前對(duì)惡意軟件進(jìn)程通過(guò)內(nèi)核的方式隱藏彈出式窗口的行為進(jìn)行攔截,防止惡意軟件隱藏彈出式窗口,從而有效保護(hù)系統(tǒng)安全。
[0089]圖3為本發(fā)明隱藏彈出式窗口的處理裝置實(shí)施例一的結(jié)構(gòu)示意圖,如圖3所示,本實(shí)施例的裝置可以包括:檢測(cè)單元11、獲取單元12、第一判斷單元13、第一處理單元14、第二判斷單元15、第二處理單元16、第三處理單元17,其中,檢測(cè)單元11,用于檢測(cè)軟件進(jìn)程調(diào)用NtUserCal IHwndParamLock函數(shù)的行為;獲取單元12,用于當(dāng)所述檢測(cè)單元11檢測(cè)到有軟件進(jìn)程調(diào)用NtUserCallHwndParamLock函數(shù)的行為時(shí),獲取所述軟件進(jìn)程調(diào)用NtUserCalIHwndParamLock函數(shù)時(shí)所傳入的第一功能索引號(hào);第一判斷單元13,用于判斷所述第一功能索引號(hào)與ShowOwnedPopups函數(shù)對(duì)應(yīng)內(nèi)核的第二功能索引號(hào)是否相同;第一處理單元I 4,用于當(dāng)所述第一判斷單元I 3的判斷結(jié)果為不相同時(shí),調(diào)用NtUserCallHwndParamLock函數(shù)執(zhí)行與所述第一功能索引號(hào)相對(duì)應(yīng)的操作;第二判斷單元15,用于當(dāng)所述第一判斷單元13的判斷結(jié)果為相同時(shí),判斷所述軟件進(jìn)程是否為惡意軟件進(jìn)程;第二處理單元16,用于當(dāng)所述第二判斷單元15判定所述軟件進(jìn)程為惡意軟件進(jìn)程時(shí),拒絕進(jìn)行隱藏彈出式窗口操作;第三處理單元17,用于當(dāng)所述第二判斷單元15判定所述軟件進(jìn)程不是惡意軟件進(jìn)程時(shí),調(diào)用NtUserCal IHwndParamLock函數(shù)執(zhí)行隱藏彈出式窗口操作。
[0090]本實(shí)施例的裝置,可以用于執(zhí)行圖1所示方法實(shí)施例的技術(shù)方案,其實(shí)現(xiàn)原理和技術(shù)效果類似,此處不再贅述。
[OO91 ]進(jìn)一步地,所述Sho wOwn edPopups函數(shù)對(duì)應(yīng)內(nèi)核的第二功能索引號(hào)在不同的系統(tǒng)下有所不同。
[0092]進(jìn)一步地,所述ShowOwnedPopups函數(shù)對(duì)應(yīng)內(nèi)核的第二功能索引號(hào)在XP系統(tǒng)下98,在Win7系統(tǒng)下為100,在Win8系統(tǒng)下為107,在Win8.1系統(tǒng)下為111,在WinlO系統(tǒng)下為118。
[0093]圖4為本發(fā)明隱藏彈出式窗口的處理裝置實(shí)施例二的結(jié)構(gòu)示意圖,如圖4所示,本實(shí)施例的裝置在圖3所示裝置結(jié)構(gòu)的基礎(chǔ)上,進(jìn)一步地,所述第二判斷單元15包括:
[0094]獲取子單元151,用于獲取所述軟件進(jìn)程的特征信息;
[0095]查詢子單元152,用于在存儲(chǔ)有惡意軟件進(jìn)程特征信息的特征庫(kù)中查詢所述軟件進(jìn)程的特征信息;
[0096]判斷子單元153,用于當(dāng)所述查詢子單元152能查詢到所述軟件進(jìn)程的特征信息時(shí),判定所述軟件進(jìn)程為惡意軟件進(jìn)程,否則判定所述軟件進(jìn)程不是惡意軟件進(jìn)程。
[0097]進(jìn)一步地,所述裝置還包括:
[0098]建立單元I8,用于在所述檢測(cè)單元I I檢測(cè)軟件進(jìn)程調(diào)用NtUserCal IHwndParamLock函數(shù)的行為之前,建立特征庫(kù),將獲取到的惡意軟件進(jìn)程的特征信息存儲(chǔ)在所述特征庫(kù)中。
[0099]本實(shí)施例的裝置,可以用于執(zhí)行圖1或圖2所示方法實(shí)施例的技術(shù)方案,其實(shí)現(xiàn)原理和技術(shù)效果類似,此處不再贅述。
[0100]需要說(shuō)明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語(yǔ)僅僅用來(lái)將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來(lái),而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過(guò)程、方法、物品或者設(shè)備中還存在另外的相同要素。
[0101]本說(shuō)明書中的各個(gè)實(shí)施例均采用相關(guān)的方式描述,各個(gè)實(shí)施例之間相同相似的部分互相參見即可,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處。
[0102]尤其,對(duì)于裝置實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述的比較簡(jiǎn)單,相關(guān)之處參見方法實(shí)施例的部分說(shuō)明即可。
[0103]在流程圖中表示或在此以其他方式描述的邏輯和/或步驟,例如,可以被認(rèn)為是用于實(shí)現(xiàn)邏輯功能的可執(zhí)行指令的定序列表,可以具體實(shí)現(xiàn)在任何計(jì)算機(jī)可讀介質(zhì)中,以供指令執(zhí)行系統(tǒng)、裝置或設(shè)備(如基于計(jì)算機(jī)的系統(tǒng)、包括處理器的系統(tǒng)或其他可以從指令執(zhí)行系統(tǒng)、裝置或設(shè)備取指令并執(zhí)行指令的系統(tǒng))使用,或結(jié)合這些指令執(zhí)行系統(tǒng)、裝置或設(shè)備而使用。就本說(shuō)明書而言,“計(jì)算機(jī)可讀介質(zhì)”可以是任何可以包含、存儲(chǔ)、通信、傳播或傳輸程序以供指令執(zhí)行系統(tǒng)、裝置或設(shè)備或結(jié)合這些指令執(zhí)行系統(tǒng)、裝置或設(shè)備而使用的裝置。計(jì)算機(jī)可讀介質(zhì)的更具體的示例(非窮盡性列表)包括以下:具有一個(gè)或多個(gè)布線的電連接部(電子裝置),便攜式計(jì)算機(jī)盤盒(磁裝置),隨機(jī)存取存儲(chǔ)器(RAM),只讀存儲(chǔ)器(ROM),可擦除可編輯只讀存儲(chǔ)器(EPR0M或閃速存儲(chǔ)器),光纖裝置,以及便攜式光盤只讀存儲(chǔ)器(CDR0M)。另外,計(jì)算機(jī)可讀介質(zhì)甚至可以是可在其上打印所述程序的紙或其他合適的介質(zhì),因?yàn)榭梢岳缤ㄟ^(guò)對(duì)紙或其他介質(zhì)進(jìn)行光學(xué)掃描,接著進(jìn)行編輯、解譯或必要時(shí)以其他合適方式進(jìn)行處理來(lái)以電子方式獲得所述程序,然后將其存儲(chǔ)在計(jì)算機(jī)存儲(chǔ)器中。
[0104]應(yīng)當(dāng)理解,本發(fā)明的各部分可以用硬件、軟件、固件或它們的組合來(lái)實(shí)現(xiàn)。
[0105]在上述實(shí)施方式中,多個(gè)步驟或方法可以用存儲(chǔ)在存儲(chǔ)器中且由合適的指令執(zhí)行系統(tǒng)執(zhí)行的軟件或固件來(lái)實(shí)現(xiàn)。例如,如果用硬件來(lái)實(shí)現(xiàn),和在另一實(shí)施方式中一樣,可用本領(lǐng)域公知的下列技術(shù)中的任一項(xiàng)或他們的組合來(lái)實(shí)現(xiàn):具有用于對(duì)數(shù)據(jù)信號(hào)實(shí)現(xiàn)邏輯功能的邏輯門電路的離散邏輯電路,具有合適的組合邏輯門電路的專用集成電路,可編程門陣列(PGA),現(xiàn)場(chǎng)可編程門陣列(FPGA)等。
[0106]本發(fā)明實(shí)施例還提供一種電子設(shè)備,所述電子設(shè)備包含前述前述任一實(shí)施例所述的裝置。
[0107]圖5為本發(fā)明電子設(shè)備實(shí)施例的結(jié)構(gòu)示意圖,可以實(shí)現(xiàn)本發(fā)明圖1或圖2所示實(shí)施例的流程,如圖5所示,上述電子設(shè)備可以包括:殼體31、處理器32、存儲(chǔ)器33、電路板34和電源電路35,其中,電路板34安置在殼體31圍成的空間內(nèi)部,處理器32和存儲(chǔ)器33設(shè)置在電路板34上;電源電路35,用于為上述電子設(shè)備的各個(gè)電路或器件供電;存儲(chǔ)器33用于存儲(chǔ)可執(zhí)行程序代碼;處理器32通過(guò)讀取存儲(chǔ)器33中存儲(chǔ)的可執(zhí)行程序代碼來(lái)運(yùn)行與可執(zhí)行程序代碼對(duì)應(yīng)的程序,用于執(zhí)行前述任一所述的隱藏彈出式窗口的處理方法。
[0108]處理器32對(duì)上述步驟的具體執(zhí)行過(guò)程以及處理器32通過(guò)運(yùn)行可執(zhí)行程序代碼來(lái)進(jìn)一步執(zhí)行的步驟,可以參見本發(fā)明圖1或圖2所示實(shí)施例的描述,在此不再贅述。
[0109]該電子設(shè)備以多種形式存在,包括但不限于:
[0110](I)移動(dòng)通信設(shè)備:這類設(shè)備的特點(diǎn)是具備移動(dòng)通信功能,并且以提供話音、數(shù)據(jù)通信為主要目標(biāo)。這類終端包括:智能手機(jī)(例如iPhone)、多媒體手機(jī)、功能性手機(jī),以及低端手機(jī)等。
[0111](2)超移動(dòng)個(gè)人計(jì)算機(jī)設(shè)備:這類設(shè)備屬于個(gè)人計(jì)算機(jī)的范疇,有計(jì)算和處理功能,一般也具備移動(dòng)上網(wǎng)特性。這類終端包括:PDA、MID和UMPC設(shè)備等,例如iPad。
[0112](3)便攜式娛樂(lè)設(shè)備:這類設(shè)備可以顯示和播放多媒體內(nèi)容。該類設(shè)備包括:音頻、視頻播放器(例如iPod),掌上游戲機(jī),電子書,以及智能玩具和便攜式車載導(dǎo)航設(shè)備。
[0113](4)服務(wù)器:提供計(jì)算服務(wù)的設(shè)備,服務(wù)器的構(gòu)成包括處理器、硬盤、內(nèi)存、系統(tǒng)總線等,服務(wù)器和通用的計(jì)算機(jī)架構(gòu)類似,但是由于需要提供高可靠的服務(wù),因此在處理能力、穩(wěn)定性、可靠性、安全性、可擴(kuò)展性、可管理性等方面要求較高。
[0114](5)其他具有數(shù)據(jù)交互功能的電子設(shè)備。
[0115]本技術(shù)領(lǐng)域的普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法攜帶的全部或部分步驟是可以通過(guò)程序來(lái)指令相關(guān)的硬件完成,所述的程序可以存儲(chǔ)于一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),包括方法實(shí)施例的步驟之一或其組合。
[0116]為了描述的方便,描述以上裝置是以功能分為各種單元/模塊分別描述。當(dāng)然,在實(shí)施本發(fā)明時(shí)可以把各單元/模塊的功能在同一個(gè)或多個(gè)軟件和/或硬件中實(shí)現(xiàn)。
[0117]通過(guò)以上的實(shí)施方式的描述可知,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn)?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品可以存儲(chǔ)在存儲(chǔ)介質(zhì)中,如R0M/RAM、磁碟、光盤等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例或者實(shí)施例的某些部分所述的方法。
【主權(quán)項(xiàng)】
1.一種隱藏彈出式窗口的處理方法,其特征在于,包括: 檢測(cè)軟件進(jìn)程調(diào)用禁用或啟用窗口功能函數(shù)的行為; 當(dāng)檢測(cè)到有軟件進(jìn)程調(diào)用禁用或啟用窗口功能函數(shù)的行為時(shí),獲取所述軟件進(jìn)程調(diào)用禁用或啟用窗口功能函數(shù)時(shí)所傳入的第一功能索引號(hào); 判斷所述第一功能索引號(hào)與隱藏彈出式窗口功能函數(shù)對(duì)應(yīng)內(nèi)核的第二功能索引號(hào)是否相同; 若不相同,則調(diào)用禁用或啟用窗口功能函數(shù)執(zhí)行與所述第一功能索引號(hào)相對(duì)應(yīng)的操作,否則判斷所述軟件進(jìn)程是否為惡意軟件進(jìn)程; 若所述軟件進(jìn)程為惡意軟件進(jìn)程,則拒絕進(jìn)行隱藏彈出式窗口操作,否則調(diào)用禁用或啟用窗口功能函數(shù)執(zhí)行隱藏彈出式窗口操作。2.根據(jù)權(quán)利要求1所述的隱藏彈出式窗口的處理方法,其特征在于,所述隱藏彈出式窗口功能函數(shù)對(duì)應(yīng)內(nèi)核的第二功能索引號(hào)在不同的系統(tǒng)下有所不同。3.根據(jù)權(quán)利要求1所述的隱藏彈出式窗口的處理方法,其特征在于,所述判斷所述軟件進(jìn)程是否為惡意軟件進(jìn)程包括: 獲取所述軟件進(jìn)程的特征信息; 在存儲(chǔ)有惡意軟件進(jìn)程特征信息的特征庫(kù)中查詢所述軟件進(jìn)程的特征信息; 若能查詢到所述軟件進(jìn)程的特征信息,則判定所述軟件進(jìn)程為惡意軟件進(jìn)程,否則判定所述軟件進(jìn)程不是惡意軟件進(jìn)程。4.根據(jù)權(quán)利要求3所述的隱藏彈出式窗口的處理方法,其特征在于,在所述檢測(cè)軟件進(jìn)程調(diào)用禁用或啟用窗口功能函數(shù)的行為之前,所述方法還包括: 建立特征庫(kù),將獲取到的惡意軟件進(jìn)程的特征信息存儲(chǔ)在所述特征庫(kù)中。5.一種隱藏彈出式窗口的處理裝置,其特征在于,包括: 檢測(cè)單元,用于檢測(cè)軟件進(jìn)程調(diào)用禁用或啟用窗口功能函數(shù)的行為; 獲取單元,用于當(dāng)所述檢測(cè)單元檢測(cè)到有軟件進(jìn)程調(diào)用禁用或啟用窗口功能函數(shù)的行為時(shí),獲取所述軟件進(jìn)程調(diào)用禁用或啟用窗口功能函數(shù)時(shí)所傳入的第一功能索引號(hào); 第一判斷單元,用于判斷所述第一功能索引號(hào)與隱藏彈出式窗口功能函數(shù)對(duì)應(yīng)內(nèi)核的第二功能索引號(hào)是否相同; 第一處理單元,用于當(dāng)所述第一判斷單元的判斷結(jié)果為不相同時(shí),調(diào)用禁用或啟用窗口功能函數(shù)執(zhí)行與所述第一功能索引號(hào)相對(duì)應(yīng)的操作; 第二判斷單元,用于當(dāng)所述第一判斷單元的判斷結(jié)果為相同時(shí),判斷所述軟件進(jìn)程是否為惡意軟件進(jìn)程; 第二處理單元,用于當(dāng)所述第二判斷單元判定所述軟件進(jìn)程為惡意軟件進(jìn)程時(shí),拒絕進(jìn)行隱藏彈出式窗口操作; 第三處理單元,用于當(dāng)所述第二判斷單元判定所述軟件進(jìn)程不是惡意軟件進(jìn)程時(shí),調(diào)用禁用或啟用窗口功能函數(shù)執(zhí)行隱藏彈出式窗口操作。6.根據(jù)權(quán)利要求5所述的隱藏彈出式窗口的處理裝置,其特征在于,所述隱藏彈出式窗口功能函數(shù)對(duì)應(yīng)內(nèi)核的第二功能索引號(hào)在不同的系統(tǒng)下有所不同。7.根據(jù)權(quán)利要求5所述的隱藏彈出式窗口的處理裝置,其特征在于,所述第二判斷單元包括: 獲取子單元,用于獲取所述軟件進(jìn)程的特征信息; 查詢子單元,用于在存儲(chǔ)有惡意軟件進(jìn)程特征信息的特征庫(kù)中查詢所述軟件進(jìn)程的特征信息; 判斷子單元,用于當(dāng)所述查詢子單元能查詢到所述軟件進(jìn)程的特征信息時(shí),判定所述軟件進(jìn)程為惡意軟件進(jìn)程,否則判定所述軟件進(jìn)程不是惡意軟件進(jìn)程。8.根據(jù)權(quán)利要求7所述的隱藏彈出式窗口的處理裝置,其特征在于,所述裝置還包括: 建立單元,用于在所述檢測(cè)單元檢測(cè)軟件進(jìn)程調(diào)用禁用或啟用窗口功能函數(shù)的行為之前,建立特征庫(kù),將獲取到的惡意軟件進(jìn)程的特征信息存儲(chǔ)在所述特征庫(kù)中。9.一種電子設(shè)備,其特征在于,所述電子設(shè)備包括:殼體、處理器、存儲(chǔ)器、電路板和電源電路,其中,電路板安置在殼體圍成的空間內(nèi)部,處理器和存儲(chǔ)器設(shè)置在電路板上;電源電路,用于為上述電子設(shè)備的各個(gè)電路或器件供電;存儲(chǔ)器用于存儲(chǔ)可執(zhí)行程序代碼;處理器通過(guò)讀取存儲(chǔ)器中存儲(chǔ)的可執(zhí)行程序代碼來(lái)運(yùn)行與可執(zhí)行程序代碼對(duì)應(yīng)的程序,用于執(zhí)行前述任一權(quán)利要求1-4所述的隱藏彈出式窗口的處理方法。
【文檔編號(hào)】G06F21/52GK106022111SQ201610552211
【公開日】2016年10月12日
【申請(qǐng)日】2016年7月13日
【發(fā)明人】楊峰
【申請(qǐng)人】北京金山安全軟件有限公司