一種運行應(yīng)用程序的方法
【專利摘要】本發(fā)明實施例提供了一種運行應(yīng)用程序的方法,包括:掃描到當(dāng)前操作系統(tǒng)中指定類型的應(yīng)用程序;檢測到指定類型的應(yīng)用程序的啟動操作;在所述應(yīng)用程序啟動前,對所述應(yīng)用程序所在運行環(huán)境的進(jìn)行第一安全檢測;在第一安全檢測的結(jié)果為所述運行環(huán)境安全后,啟動所述應(yīng)用程序;檢測到所述應(yīng)用程序運行過程中的預(yù)定事件,觸發(fā)對所述應(yīng)用程序中的預(yù)定事件的第二安全檢測。本發(fā)明實施例有效保證了應(yīng)用程序在啟動時的運行環(huán)境的安全性,有效保證了應(yīng)用程序在運行時的安全性,為應(yīng)用程序提供了全面的安全保護(hù),使應(yīng)用程序安全地啟動、運行。
【專利說明】一種運行應(yīng)用程序的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機的【技術(shù)領(lǐng)域】,尤其涉及一種運行應(yīng)用程序的方法。
【背景技術(shù)】
[0002]目前,隨著互聯(lián)網(wǎng)的高速發(fā)展,網(wǎng)絡(luò)應(yīng)用趨向多元化,諸如即時通訊工具、電子郵箱、網(wǎng)上銀行等等應(yīng)用程序,被廣泛應(yīng)用在用戶生活和工作的各個方面。
[0003]用戶若想在多種應(yīng)用程序的應(yīng)用中獲取更多的個性化服務(wù),通常需要注冊對應(yīng)服務(wù)器的賬號,為了保證賬號的安全,則需要用戶編輯一個與賬號對應(yīng)的密碼。
[0004]如圖1所示,支持應(yīng)用程序運行的Windows操作系統(tǒng)按照可訪問內(nèi)存地址的權(quán)限為RingO, Ringl, Ring2, Ring3四層。之后逐漸衍生為RingO, Ring3兩層。應(yīng)用程序通常運行在Ring3層,即用戶模式;驅(qū)動程序通常運行在RingO層,即內(nèi)核模式。
[0005]Windows操作系統(tǒng)借助分層的設(shè)計思想解決復(fù)雜的問題,這一做法帶來了可移植性、可擴(kuò)展性等優(yōu)點。不過,由于在設(shè)計理論上存在著安全性缺陷(例如缺乏完整性校驗機制等),高可擴(kuò)展性的另一方面也意味著系統(tǒng)存在大量的被篡改可能。
[0006]通常惡意程序會以用戶模式的應(yīng)用程序為主,對已經(jīng)或或?qū)拥膽?yīng)用程序進(jìn)行破壞和非法盜取應(yīng)用程序中的信息等,主要表現(xiàn)在:
[0007]1、用戶模式下的進(jìn)程或應(yīng)用程序易被破壞;
[0008]2、用戶模式下的進(jìn)程或應(yīng)用程序中的信息易被盜取;
[0009]3、惡意程序啟動不受限制;
[0010]4、用戶模式中運行的應(yīng)用程序可能會被惡意程序注入;
[0011]5、用戶模式中應(yīng)用程序在網(wǎng)絡(luò)通信時的數(shù)據(jù)可能被截取或被篡改。
【發(fā)明內(nèi)容】
[0012]鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的一種運行應(yīng)用程序的方法。
[0013]依據(jù)本發(fā)明的一個方面,提供了一種運行應(yīng)用程序的方法,包括:
[0014]掃描到當(dāng)前操作系統(tǒng)中指定類型的應(yīng)用程序;
[0015]檢測到指定類型的應(yīng)用程序的啟動操作;
[0016]在所述應(yīng)用程序啟動前,對所述應(yīng)用程序所在運行環(huán)境的進(jìn)行第一安全檢測;
[0017]在第一安全檢測的結(jié)果為所述運行環(huán)境安全后,啟動所述應(yīng)用程序;
[0018]檢測到所述應(yīng)用程序運行過程中的預(yù)定事件,觸發(fā)對所述應(yīng)用程序中的預(yù)定事件的第二安全檢測。
[0019]可選地,所述掃描到當(dāng)前操作系統(tǒng)中指定類型的應(yīng)用程序的步驟包括:
[0020]獲取被觸發(fā)的當(dāng)前應(yīng)用程序的進(jìn)程的名稱;
[0021]判斷所述名稱是否與預(yù)設(shè)的第一文件名相同;若是,則采用所述應(yīng)用程序的指定屬性判斷所述應(yīng)用程序是否為指定類型的應(yīng)用程序。
[0022]可選地,所述指定屬性包括注冊表信息;
[0023]所述采用所述應(yīng)用程序的指定屬性判斷所述應(yīng)用程序是否為指定類型的應(yīng)用程序的步驟包括:
[0024]判斷所述應(yīng)用程序的注冊表信息是否與預(yù)置的特征注冊表信息匹配;若是,則判斷所述應(yīng)用程序為指定類型的應(yīng)用程序。
[0025]可選地,所述指定屬性包括圖標(biāo);
[0026]所述采用所述應(yīng)用程序的指定屬性判斷所述應(yīng)用程序是否為指定類型的應(yīng)用程序的步驟包括:
[0027]判斷所述應(yīng)用程序的圖標(biāo)是否與預(yù)置的特征圖標(biāo)匹配;若是,則判斷所述應(yīng)用程序為指定類型的應(yīng)用程序。
[0028]可選地,所述指定屬性包括第二文件名和所屬的平臺名稱;
[0029]所述采用所述應(yīng)用程序的指定屬性判斷所述應(yīng)用程序是否為指定類型的應(yīng)用程序的步驟包括:
[0030]判斷預(yù)置的第二文件名是否在所述應(yīng)用程序的文件中存在,且,所述應(yīng)用程序所屬的平臺名稱與預(yù)置的特征平臺名稱匹配;若是,則判斷所述應(yīng)用程序為指定類型的應(yīng)用程序。
[0031]可選地,所述檢測到指定類型的應(yīng)用程序的啟動操作的步驟包括:
[0032]獲取待檢測應(yīng)用程序在啟動時的進(jìn)程信息;
[0033]判斷所述進(jìn)程信息與預(yù)置的第一特征進(jìn)程信息是否匹配;若是,則判斷所述進(jìn)程信息與預(yù)置的第二特征進(jìn)程信息是否匹配;
[0034]當(dāng)所述進(jìn)程信息與預(yù)置的第二特征進(jìn)程信息匹配時,判斷檢測到指定類型的應(yīng)用程序的啟動操作。
[0035]可選地,所述指定類型的應(yīng)用程序包括瀏覽器;所述檢測到指定類型的應(yīng)用程序的啟動操作的步驟包括:
[0036]接收到一網(wǎng)址安全組件攔截到的、所述瀏覽器所請求的網(wǎng)頁標(biāo)識;
[0037]判斷所述網(wǎng)頁標(biāo)識是否與預(yù)置的特征網(wǎng)頁標(biāo)識匹配;若是,則判斷檢測到瀏覽器的啟動操作。
[0038]可選地,所述在所述應(yīng)用程序啟動前,對所述應(yīng)用程序所在運行環(huán)境的進(jìn)行第一安全檢測的步驟包括:
[0039]阻斷所述應(yīng)用程序的啟動操作;
[0040]對阻斷啟動操作的應(yīng)用程序所在的運行環(huán)境進(jìn)行第一安全檢測。
[0041]可選地,所述阻斷所述應(yīng)用程序的啟動操作的步驟包括:
[0042]判斷所述應(yīng)用程序啟動操作對應(yīng)的啟動方式;
[0043]當(dāng)所述啟動方式為由一特定程序以外的方式啟動時,阻斷所述應(yīng)用程序的進(jìn)程的啟動。
[0044]可選地,所述對阻斷啟動操作的應(yīng)用程序所在的運行環(huán)境進(jìn)行第一安全檢測的步驟包括:
[0045]調(diào)用內(nèi)置的云安全組件對阻斷啟動操作的應(yīng)用程序所在的運行環(huán)境進(jìn)行第一安全檢測。
[0046]可選地,所述對阻斷啟動操作的應(yīng)用程序所在的運行環(huán)境進(jìn)行第一安全檢測的步驟包括:
[0047]調(diào)用第三方的安全組件對阻斷啟動操作的應(yīng)用程序所在的運行環(huán)境進(jìn)行第一安全檢測。
[0048]可選地,所述第一安全檢測包括木馬檢測和病毒檢測中的至少一種檢測。
[0049]可選地,所述對所述應(yīng)用程序所在運行環(huán)境的進(jìn)行第一安全檢測的步驟還包括:
[0050]根據(jù)所述第一安全檢測的結(jié)果判斷所述操作系統(tǒng)的安全等級;
[0051]展示所述第一安全檢測的結(jié)果和所述操作系統(tǒng)的安全等級。
[0052]可選地,所述啟動所述應(yīng)用程序的步驟包括:
[0053]觸發(fā)所述掃描到的應(yīng)用程序在操作系統(tǒng)界面中的快捷啟動方式,從而啟動所述應(yīng)用程序;或者
[0054]觸發(fā)所述掃描到的應(yīng)用程序在一特定程序中的啟動入口,從而啟動所述應(yīng)用程序。
[0055]可選地,所述預(yù)定事件包括指定的窗口事件;所述檢測到所述應(yīng)用程序運行過程中的預(yù)定事件的步驟包括:
[0056]遍歷當(dāng)前操作系統(tǒng)中的窗口是否存在預(yù)置的特征值;若是,則判斷檢測到所述應(yīng)用程序運行過程中的指定的窗口事件。
[0057]可選地,所述觸發(fā)對所述應(yīng)用程序中的預(yù)定事件的第二安全檢測的步驟包括:
[0058]觸發(fā)對所述應(yīng)用程序中的窗口事件關(guān)聯(lián)加載的業(yè)務(wù)對象的第二安全檢測。
[0059]可選地,所述第二安全檢測包括木馬檢測。
[0060]可選地,所述觸發(fā)對所述應(yīng)用程序中的預(yù)定事件的第二安全檢測的步驟還包括:
[0061]根據(jù)所述第二安全檢測的結(jié)果判斷所述應(yīng)用程序的安全等級;
[0062]展示所述第二安全檢測的結(jié)果和所述應(yīng)用程序的安全等級。
[0063]可選地,所述預(yù)定事件包括注入操作事件;所述檢測到所述應(yīng)用程序運行過程中的預(yù)定事件的步驟包括:
[0064]掛鉤指定的系統(tǒng)函數(shù);
[0065]在所述系統(tǒng)函數(shù)調(diào)用時,判斷所述系統(tǒng)函數(shù)是否為外部的應(yīng)用程序調(diào)用;若是,則判斷檢測到所述應(yīng)用程序運行過程中的注入操作事件。
[0066]可選地,所述觸發(fā)對所述應(yīng)用程序中的預(yù)定事件的第二安全檢測的步驟包括:
[0067]阻斷執(zhí)行針對所述應(yīng)用程序的注入操作;
[0068]觸發(fā)對所述應(yīng)用程序中的注入操作進(jìn)行第二安全檢測;
[0069]當(dāng)所述注入操作通過所述第二安全檢測時,允許執(zhí)行針對所述應(yīng)用程序的進(jìn)程的注入操作;
[0070]當(dāng)所述注入操作未通過所述第二安全檢測時,過濾執(zhí)行針對所述應(yīng)用程序的進(jìn)程的注入操作。
[0071]可選地,所述觸發(fā)對所述應(yīng)用程序中的注入操作進(jìn)行第二安全檢測的步驟包括:
[0072]當(dāng)所述外部的應(yīng)用程序在預(yù)置的白名單中匹配成功時,判斷所述注入操作通過所述第二安全檢測;
[0073]當(dāng)所述外部的應(yīng)用程序在預(yù)置的黑名單中匹配成功時,判斷所述注入操作未通過所述第二安全檢測。
[0074]可選地,所述觸發(fā)對所述應(yīng)用程序中的注入操作進(jìn)行第二安全檢測的步驟還包括:
[0075]展示對所述應(yīng)用程序中的注入操作的第二安全檢測的結(jié)果。
[0076]可選地,所述預(yù)定事件包括內(nèi)存讀寫操作事件;所述檢測到所述應(yīng)用程序運行過程中的預(yù)定事件的步驟包括:
[0077]在預(yù)置的函數(shù)表中查找所述定類型的應(yīng)用程序?qū)?yīng)的系統(tǒng)函數(shù);
[0078]掛鉤所述應(yīng)用程序?qū)?yīng)的系統(tǒng)函數(shù);
[0079]在所述應(yīng)用程序?qū)?yīng)的系統(tǒng)函數(shù)被調(diào)用時,判斷所述系統(tǒng)函數(shù)是否為外部的應(yīng)用程序調(diào)用;若是,則判斷檢測到所述應(yīng)用程序運行過程中的內(nèi)存讀寫操作事件。
[0080]可選地,所述觸發(fā)對所述應(yīng)用程序中的預(yù)定事件的第二安全檢測的步驟包括:
[0081]阻斷執(zhí)行針對所述應(yīng)用程序的內(nèi)存讀寫操作;
[0082]觸發(fā)對所述應(yīng)用程序中的讀寫操作的第二安全檢測;
[0083]當(dāng)所述內(nèi)存讀寫操作通過所述第二安全檢測時,允許執(zhí)行針對所述應(yīng)用程序的內(nèi)存讀寫操作;
[0084]當(dāng)所述內(nèi)存讀寫操作未通過所述第二安全檢測時,過濾執(zhí)行針對所述應(yīng)用程序的內(nèi)存讀寫操作。
[0085]可選地,所述觸發(fā)對所述應(yīng)用程序中的讀寫操作的第二安全檢測的步驟包括:
[0086]當(dāng)所述外部的應(yīng)用程序在預(yù)置的白名單中匹配成功時,判斷所述內(nèi)存讀寫操作通過所述第二安全檢測;
[0087]當(dāng)所述外部的應(yīng)用程序在預(yù)置的黑名單中匹配成功時,判斷所述內(nèi)存讀寫操作未通過所述第二安全檢測。
[0088]可選地,所述觸發(fā)對所述應(yīng)用程序中的讀寫操作的第二安全檢測的步驟還包括:
[0089]展示對所述應(yīng)用程序的內(nèi)存讀寫操作的第二安全檢測的結(jié)果。
[0090]本發(fā)明實施例識別出指定類型的應(yīng)用程序,在該應(yīng)用程序啟動之前進(jìn)行第一安全檢測,有效保證了應(yīng)用程序在啟動時的運行環(huán)境的安全性,在安全的運行環(huán)境中啟動應(yīng)用程序,在檢測到應(yīng)用程序運行過程中的預(yù)定事件時,觸發(fā)對應(yīng)用程序中的預(yù)定事件的第二安全檢測,有效保證了應(yīng)用程序在運行時的安全性,為應(yīng)用程序提供了全面的安全保護(hù),使應(yīng)用程序安全地啟動、運行。
[0091]本發(fā)明實施例在通過第一文件名識別指定類型的應(yīng)用程序的基礎(chǔ)之上,配合注冊表信息、圖標(biāo)、第二文件名與所述平臺的名稱等指定屬性進(jìn)行識別指定類型的應(yīng)用程序,可以有效識別篡改偽裝的應(yīng)用程序,大大提高了指定類型的應(yīng)用程序的識別成功率。
[0092]本發(fā)明實施例在應(yīng)用程序啟動前,對應(yīng)用程序所在運行環(huán)境的進(jìn)行快速掃描,減少掛鉤鍵盤的木馬/病毒、其他惡意應(yīng)用程序、攔截或吸怪通信數(shù)據(jù)包的目標(biāo)/病毒等運行環(huán)境中存在的危險,提高了應(yīng)用程序在啟動時的運行環(huán)境的安全性。
[0093]本發(fā)明實施例觸發(fā)述應(yīng)用程序中的窗口事件關(guān)聯(lián)加載的業(yè)務(wù)對象的專項掃描,對快速掃描進(jìn)行補充,在應(yīng)用程序運行之后,在支付、登錄、收發(fā)數(shù)據(jù)等操作之前,對應(yīng)用程序加載的功能模塊進(jìn)行掃描,確保了木馬不會隨應(yīng)用程序啟動,由于很多木馬會修改應(yīng)用程序文件,并隨應(yīng)用程序啟動,實施盜取賬號、密碼、關(guān)鍵數(shù)據(jù)等惡意行為,專項掃描可以有效解決木馬歲應(yīng)用程序啟動的問題,避免盜取賬號、密碼、關(guān)鍵數(shù)據(jù)等惡意行為,大大提高了應(yīng)用程序在支付、登錄、網(wǎng)絡(luò)通信等操作的安全性。
[0094]本發(fā)明實施例在檢測對到應(yīng)用程序進(jìn)行注入操作時,對注入操作進(jìn)行安全檢測,在判斷注入操作安全時,允許注入操作繼續(xù)執(zhí)行,在判斷該注入操作危險時,過濾該注入操作,防止應(yīng)用程序被惡意注入,大大提高了應(yīng)用程序運行中的安全性。
[0095]本發(fā)明實施例在檢測對到應(yīng)用程序進(jìn)行內(nèi)存讀寫操作時,對內(nèi)存讀寫操作進(jìn)行安全檢測,在判斷內(nèi)存讀寫操作安全時,允許內(nèi)存讀寫操作繼續(xù)執(zhí)行,在判斷內(nèi)存讀寫操作危險時,過濾內(nèi)存讀寫操作,防止內(nèi)存被惡意讀寫,提高了應(yīng)用程序在運行中內(nèi)存及其他私有信息的安全性,大大提高了應(yīng)用程序運行中的安全性。
[0096]上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點能夠更明顯易懂,以下特舉本發(fā)明的【具體實施方式】。
【專利附圖】
【附圖說明】
[0097]通過閱讀下文可選實施方式的詳細(xì)描述,各種其他的優(yōu)點和益處對于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出可選實施方式的目的,而并不認(rèn)為是對本發(fā)明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:
[0098]圖1示意性示出了一種操作系統(tǒng)的架構(gòu)圖;
[0099]圖2示意性示出了根據(jù)本發(fā)明一個實施例的一種運行應(yīng)用程序的方法實施例的步驟流程圖;以及
[0100]圖3示意性示出了根據(jù)本發(fā)明一個實施例的一種操作系統(tǒng)的架構(gòu)圖。
【具體實施方式】
[0101]下面將參照附圖更詳細(xì)地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應(yīng)當(dāng)理解,可以以各種形式實現(xiàn)本公開而不應(yīng)被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
[0102]參照圖2,示意性示出了根據(jù)本發(fā)明一個實施例的一種運行應(yīng)用程序的方法實施例的步驟流程圖,具體可以包括如下步驟:
[0103]步驟201,掃描到當(dāng)前操作系統(tǒng)中指定類型的應(yīng)用程序;
[0104]需要說明的是,本發(fā)明實施例可以應(yīng)用于一特定程序,如圖3所示,該特定程序可形象地稱為保險箱,以保護(hù)指定類型的應(yīng)用程序,具體可以包括兩部分,一部分為位于用戶模式(即第3特權(quán)級Ring3)的保險箱進(jìn)程,另一部分為位于內(nèi)核模式(即第O特權(quán)級RingO)的保險箱驅(qū)動。
[0105]在保險箱進(jìn)程中,可以識別當(dāng)前操作系統(tǒng)中指定類型的應(yīng)用程序,即可以在第3特權(quán)級Ring3中掃描到當(dāng)前操作系統(tǒng)中指定類型的應(yīng)用程序。
[0106]應(yīng)用本發(fā)明實施例,可以自動識別出當(dāng)前操作系統(tǒng)中指定類型的應(yīng)用程序,例如,通訊類的應(yīng)用程序(如即時通訊工具、郵箱客戶端等等)、游戲、銀行類的應(yīng)用程序(如支付工具、U盾等等)、瀏覽器或者其他應(yīng)用程序,從而為之后的該應(yīng)用程序的進(jìn)程主動或者被動的某些行為進(jìn)行保護(hù)。
[0107]在本發(fā)明的一種可選實施例中,步驟201可以包括如下子步驟:
[0108]子步驟S11,獲取被觸發(fā)的當(dāng)前應(yīng)用程序的進(jìn)程的名稱;
[0109]在具體實現(xiàn)中,當(dāng)操作系統(tǒng)中任意一個應(yīng)用程序的進(jìn)程被觸發(fā)開啟時,可以對判斷該進(jìn)程對應(yīng)的應(yīng)用程序是否為指定類型的應(yīng)用程序。
[0110]其中,該應(yīng)用程序的進(jìn)程可以為用戶主動觸發(fā),例如,用戶點擊該應(yīng)用程序的快捷方式;該應(yīng)用程序的進(jìn)程也可以為其他應(yīng)用程序/服務(wù)所調(diào)用觸發(fā),例如,用戶點擊在即時通訊工具的會話窗口中接收的網(wǎng)址,即時通訊工具調(diào)用瀏覽器加載該網(wǎng)址指示的網(wǎng)頁。
[0111]子步驟S12,判斷所述名稱是否與預(yù)設(shè)的第一文件名相同;若是,則執(zhí)行子步驟S13 ;
[0112]在具體實現(xiàn)中,獲取被觸發(fā)的當(dāng)前應(yīng)用程序的進(jìn)程的名稱,則可以檢測當(dāng)前應(yīng)用程序的進(jìn)程的名稱是否與預(yù)設(shè)的第一文件名相同;若相同,則可以繼續(xù)進(jìn)行指定屬性的掃描;若不相同,則可以認(rèn)為當(dāng)前被觸發(fā)的應(yīng)用程序不為指定類型的應(yīng)用程序。
[0113]應(yīng)用本發(fā)明實施例,可以在本地預(yù)置一文件名列表,在該文件名列表存儲有一個或多個第一文件名,將獲取被觸發(fā)的當(dāng)前應(yīng)用程序的進(jìn)程的名稱在該文件名列表中進(jìn)行匹配,以檢測當(dāng)前應(yīng)用程序的進(jìn)程的名稱是否與預(yù)設(shè)的第一文件名相同。
[0114]在本發(fā)明實施例的一種可選示例中,對于游戲類的應(yīng)用程序,第一文件名可以包括兩種類型:
[0115]預(yù)設(shè)的游戲的主程序的名稱或者預(yù)設(shè)的瀏覽器進(jìn)程的名稱,分別可以運行游戲和網(wǎng)頁游戲。
[0116]例如,若當(dāng)前應(yīng)用程序的進(jìn)程的名稱為“war.exe”,該名稱為一游戲的主程序的名稱,可以表明當(dāng)前可能打開了魔獸爭霸這款游戲;
[0117]又例如,若當(dāng)前應(yīng)用程序的進(jìn)程的名稱為“360se.exe”,該名稱為一瀏覽器進(jìn)程的名稱,可以表明可能打開了瀏覽器。
[0118]當(dāng)然,本發(fā)明實施例也可以預(yù)設(shè)通訊類的應(yīng)用程序的進(jìn)程名稱、銀行類的應(yīng)用程序的進(jìn)程名稱等等,本發(fā)明實施例對此不加以限制。
[0119]子步驟S13,采用所述應(yīng)用程序的指定屬性判斷所述應(yīng)用程序是否為指定類型的應(yīng)用程序。
[0120]由于程序的名稱容易被修改,因此通過進(jìn)程的名稱一般不能十分準(zhǔn)確地判斷是否掃描到指定類型的應(yīng)用程序。
[0121]本發(fā)明實施例中,可以在檢測應(yīng)用程序的進(jìn)程的名稱的基礎(chǔ)之上,采用應(yīng)用程序所特有的性質(zhì)(即指定屬性)繼續(xù)判斷,以保障對游戲、瀏覽器等指定類型的應(yīng)用程序的識別的準(zhǔn)確率。
[0122]在本發(fā)明實施例的一種可選示例中,所述指定屬性可以包括注冊表信息,則在本示例中,子步驟S13可以包括如下子步驟:
[0123]子步驟S131,判斷所述應(yīng)用程序的注冊表信息是否與預(yù)置的特征注冊表信息匹配;若是,則執(zhí)行子步驟S132 ;
[0124]子步驟S132,判斷所述應(yīng)用程序為指定類型的應(yīng)用程序。
[0125]注冊表(Registry,又稱登錄檔)是操作系統(tǒng)中的一個重要的數(shù)據(jù)庫,可以用于存儲系統(tǒng)和應(yīng)用程序的設(shè)置信息。
[0126]當(dāng)準(zhǔn)備運行一個應(yīng)用程序時,注冊表可以提供應(yīng)用程序信息給操作系統(tǒng),這樣應(yīng)用程序可以被找到,正確數(shù)據(jù)文件的位置被規(guī)定,其他設(shè)置也都可以被使用。
[0127]應(yīng)用本發(fā)明實施例,可以預(yù)先采集指定類型的應(yīng)用程序的注冊表信息(即特征注冊表信息),通過應(yīng)用程序的注冊表信息與預(yù)置的特征注冊表進(jìn)行匹配,從而可以快速識別出指定類型的應(yīng)用程序。
[0128]由于應(yīng)用程序在操作系統(tǒng)安裝時,其注冊表路徑可以是唯一的。因此,當(dāng)該應(yīng)用程序的注冊表路徑與特征注冊表信息匹配時,說明在操作系統(tǒng)中安裝有該應(yīng)用程序,若注冊表路徑與特征注冊表信息不匹配,則被觸發(fā)的應(yīng)用程序不一定是指定類型的應(yīng)用程序。
[0129]在本發(fā)明實施例的一種可選示例中,所述指定屬性可以包括圖標(biāo),則在本示例中,子步驟S13可以包括如下子步驟:
[0130]子步驟S133,判斷所述應(yīng)用程序的圖標(biāo)是否與預(yù)置的特征圖標(biāo)匹配;若是,則執(zhí)行子步驟S134 ;
[0131]子步驟S134,判斷所述應(yīng)用程序為指定類型的應(yīng)用程序。
[0132]圖標(biāo)(如Icon),可以指計算機軟件編程中為使人機界面更加易于操作和人性化而設(shè)計出的標(biāo)識特定功能的圖形標(biāo)志。
[0133]一般而言,每個應(yīng)用程序的圖標(biāo)(如Icon)可以是獨特、唯一的,即不同的應(yīng)用程序采用的圖標(biāo)(如Icon)可以不相同,因此,可以依靠圖標(biāo)(如Icon)作為指定類型的應(yīng)用程序的識別手段。
[0134]應(yīng)用本發(fā)明實施例,可以預(yù)先采集指定類型的應(yīng)用程序的圖標(biāo)(即特征圖標(biāo)),通過應(yīng)用程序的圖標(biāo)(如Icon)與預(yù)置的特征圖標(biāo)進(jìn)行匹配,從而可以快速識別出指定類型的應(yīng)用程序。
[0135]在實際應(yīng)用中,可以解析當(dāng)前應(yīng)用程序的圖標(biāo),獲得第一矩陣,解析特征圖標(biāo),獲得第二矩陣,判斷第一矩陣和第二矩陣是否匹配;若匹配,則可以判斷當(dāng)前應(yīng)用程序的圖標(biāo)與特征圖標(biāo)匹配;若不匹配,則可以判斷當(dāng)前應(yīng)用程序的圖標(biāo)與特征圖標(biāo)不匹配。
[0136]其中,第一矩陣中可以保存有當(dāng)前應(yīng)用程序的圖標(biāo)的顏色值,第二矩陣保存有特征圖標(biāo)的顏色值。
[0137]在本發(fā)明實施例的一種可選示例中,所述指定屬性可以包括第二文件名和所屬的平臺名稱,則在本示例中,子步驟S13可以包括如下子步驟:
[0138]子步驟S135,判斷預(yù)置的第二文件名是否在所述應(yīng)用程序的文件中存在,且,所述應(yīng)用程序所屬的平臺名稱與預(yù)置的特征平臺名稱匹配;若是,則執(zhí)行子步驟S136 ;
[0139]子步驟S136,判斷所述應(yīng)用程序為指定類型的應(yīng)用程序。
[0140]在具體實現(xiàn)中,第二文件可以為與當(dāng)前進(jìn)程對應(yīng)的應(yīng)用程序中唯一存在的文件。
[0141]例如,在某個射擊類游戲中,第二文件可以為某一預(yù)置的地圖文件,“cs_bloodstrike.nav,,。
[0142]應(yīng)用程序所屬的平臺可以為開發(fā)或者擁有該應(yīng)用程序的公司。
[0143]應(yīng)用本發(fā)明實施例,可以預(yù)先采集指定類型的應(yīng)用程序的第二文件名和所屬的平臺名稱,通過應(yīng)用程序的所屬的平臺與預(yù)置的特征圖標(biāo)進(jìn)行匹配,以及,查找第二文件名是否在應(yīng)用程序的文件中存在,從而可以快速識別出指定類型的應(yīng)用程序。
[0144]需要說明的是,本發(fā)明實施例可以應(yīng)用注冊表信息、圖標(biāo)、第二文件名與所屬平臺名稱中的至少一個進(jìn)行匹配,判斷應(yīng)用程序是否為指定類型的應(yīng)用程序。
[0145]例如,先匹配注冊表,若判斷應(yīng)用程序的注冊表信息與預(yù)置的特征注冊表信息不匹配,則可以匹配圖標(biāo),若判斷應(yīng)用程序的圖標(biāo)與預(yù)置的特征圖標(biāo)不匹配,則可以匹配第二文件名和所屬的平臺名稱。
[0146]當(dāng)然,上述指定屬性只是作為示例,在實施本發(fā)明實施例時,可以根據(jù)實際情況設(shè)置其他指定屬性,本發(fā)明實施例對此不加以限制。另外,除了上述指定屬性外,本領(lǐng)域技術(shù)人員還可以根據(jù)實際需要采用其指定屬性,本發(fā)明實施例對此也不加以限制。
[0147]本發(fā)明實施例在通過第一文件名識別指定類型的應(yīng)用程序的基礎(chǔ)之上,配合注冊表信息、圖標(biāo)、第二文件名與所述平臺的名稱等指定屬性進(jìn)行識別指定類型的應(yīng)用程序,可以有效識別篡改偽裝的應(yīng)用程序,大大提高了指定類型的應(yīng)用程序的識別成功率。
[0148]步驟202,檢測到指定類型的應(yīng)用程序的啟動操作;
[0149]在保險箱中,可以檢測到指定類型的應(yīng)用程序的啟動操作,即可以在第O特權(quán)級RingO和第3特權(quán)級Ring3的交互中檢測到指定類型的應(yīng)用程序的啟動操作。
[0150]在本發(fā)明的一種可選實施例中,步驟202可以包括如下子步驟:
[0151]子步驟S21,獲取待檢測應(yīng)用程序在啟動時的進(jìn)程信息;
[0152]子步驟S22,判斷所述進(jìn)程信息與預(yù)置的第一特征進(jìn)程信息是否匹配;若是,則判斷所述進(jìn)程信息與預(yù)置的第二特征進(jìn)程信息是否匹配;
[0153]子步驟S23,當(dāng)所述進(jìn)程信息與預(yù)置的第二特征進(jìn)程信息匹配時,判斷檢測到指定類型的應(yīng)用程序的啟動操作。
[0154]在具體實現(xiàn)中,保險箱驅(qū)動可以獲取到應(yīng)用程序的進(jìn)程啟動的時機和信息。
[0155]例如,保險箱驅(qū)動可以通過回調(diào)操作系統(tǒng)中指定的系統(tǒng)函數(shù),如PsSetCreateProcessNotifyRoutine等,讓操作系統(tǒng)通知該系統(tǒng)函數(shù),以獲知應(yīng)用程序的進(jìn)程啟動、退出等信息。
[0156]當(dāng)然,本發(fā)明實施例中還可以掛鉤(Hook)CreateProcess等系統(tǒng)函數(shù)獲取到應(yīng)用程序的進(jìn)程啟動的時機和信息,本發(fā)明實施例對此不加以限制。
[0157]該特定程序可以在啟動時把一些已經(jīng)識別到的進(jìn)程信息隨保險箱驅(qū)動存入到驅(qū)動層(即第O特權(quán)級RingO)的內(nèi)存中。
[0158]例如,已經(jīng)識別到已經(jīng)識別到的進(jìn)程信息可以包括的一些進(jìn)程的名稱,如A.exe,B.exe 等。
[0159]保險箱驅(qū)動本身運行在系統(tǒng)內(nèi)核層(即第O特權(quán)級RingO),可以在得到某個應(yīng)用程序啟動時獲取到其進(jìn)程將要啟動的進(jìn)程信息,包括進(jìn)程ID、進(jìn)程全路徑、進(jìn)程名稱等等,和之前存入的進(jìn)程信息進(jìn)行過濾。
[0160]如果保險箱驅(qū)動判斷第一特征進(jìn)程信息(如進(jìn)程名稱等)一樣,則將進(jìn)程信息傳輸?shù)綉?yīng)用層(第3特權(quán)級Ring3)的保險箱進(jìn)程進(jìn)行第二特征信息(如進(jìn)程全路徑等)的判斷,如果第一特征進(jìn)程信息和第二特征進(jìn)程信息都匹配,那么可以判斷啟動的應(yīng)用程序是已經(jīng)識別過的,即檢測到指定類型的應(yīng)用程序啟動。
[0161]在本發(fā)明的一種可選實施例中,所述指定類型的應(yīng)用程序可以包括瀏覽器;步驟202可以包括如下子步驟:
[0162]子步驟S41,接收到一網(wǎng)址安全組件攔截到的、所述瀏覽器所請求的網(wǎng)頁標(biāo)識;
[0163]子步驟S42,判斷所述網(wǎng)頁標(biāo)識是否與預(yù)置的特征網(wǎng)頁標(biāo)識匹配;若是,則判斷檢測到瀏覽器的啟動操作。
[0164]在保險箱進(jìn)程中可以接收到一網(wǎng)址安全組件攔截到的、所述瀏覽器所請求的網(wǎng)頁標(biāo)識,判斷所述網(wǎng)頁標(biāo)識是否與預(yù)置的特征網(wǎng)頁標(biāo)識匹配;若是,則判斷檢測到瀏覽器的啟動操作。
[0165]即可以在第3特權(quán)級Ring3中接收到一網(wǎng)址安全組件攔截到的、所述瀏覽器所請求的網(wǎng)頁標(biāo)識,判斷所述網(wǎng)頁標(biāo)識是否與預(yù)置的特征網(wǎng)頁標(biāo)識匹配;若是,則判斷檢測到瀏覽器的啟動操作。
[0166]需要說明的是,該網(wǎng)址安全組件可以集成在該特定程序中,也是可以單獨作為另一個安全程序中的一個網(wǎng)址安全組件,本發(fā)明實施例對此不加以限制。
[0167]網(wǎng)頁標(biāo)識可以是能夠代表一個唯一確定的網(wǎng)頁的信息,例如統(tǒng)一資源標(biāo)識符(Uniform Resource Identifier, URI),統(tǒng)一資源標(biāo)識符又具體可以包括統(tǒng)一資源定位符(Uniform Resource Locator, URL),或者統(tǒng)一資源名稱(Uniform Resource Name, URN)等坐寸ο
[0168]應(yīng)用本發(fā)明實施例,可以預(yù)先采集瀏覽器中加載的網(wǎng)頁標(biāo)識(即特征網(wǎng)頁標(biāo)識),例如,網(wǎng)頁游戲的網(wǎng)頁、網(wǎng)上銀行的網(wǎng)頁等等,通過在瀏覽器請求的網(wǎng)頁標(biāo)識與預(yù)置的特征網(wǎng)頁標(biāo)識匹配,從而可以快速檢測到指定類型的應(yīng)用程序的啟動操作。
[0169]步驟203,在所述應(yīng)用程序啟動前,對所述應(yīng)用程序所在運行環(huán)境的進(jìn)行第一安全檢測;
[0170]本發(fā)明實施例中,對即將運行的應(yīng)用程序(包括從桌面啟動或者應(yīng)用程序被自動運行的),為確保應(yīng)用程序的運行環(huán)境安全,可以采取對當(dāng)前系統(tǒng)環(huán)境進(jìn)行安全檢測,又可以稱為快速掃描。
[0171]在保險箱中,可以在所述應(yīng)用程序啟動前,對所述應(yīng)用程序所在運行環(huán)境的進(jìn)行第一安全檢測,即可以在第O特權(quán)級RingO和第3特權(quán)級Ring3的交互中對所述應(yīng)用程序所在運行環(huán)境的進(jìn)行第一安全檢測。
[0172]在本發(fā)明的一種可選實施例中,步驟203可以包括如下子步驟:
[0173]子步驟S51,阻斷所述應(yīng)用程序的啟動操作;
[0174]在保險箱驅(qū)動中,可以阻斷所述應(yīng)用程序的啟動操作,即可以在第O特權(quán)級RingO中阻斷所述應(yīng)用程序的啟動操作。
[0175]在本發(fā)明實施例的一種可選示例中,子步驟S51可以包括如下子步驟:
[0176]子步驟S511,判斷所述應(yīng)用程序啟動操作對應(yīng)的啟動方式;
[0177]子步驟S512,當(dāng)所述啟動方式為由一特定程序以外的方式啟動時,阻斷所述應(yīng)用程序的進(jìn)程的啟動。
[0178]保險箱進(jìn)程可以在后臺判斷應(yīng)用程序啟動操作對應(yīng)的啟動方式,是由該特定程序啟動的,還是外部(如桌面,快捷方式,其它程序調(diào)用等特定程序以外的方式)啟動的。
[0179]如果是外部啟動,則保險箱驅(qū)動可以調(diào)用對應(yīng)的操作系統(tǒng)的API (AppIicat1nProgramming Interface,應(yīng)用程序編程接口)阻斷該應(yīng)用程序的進(jìn)程的啟動。
[0180]子步驟S52,對阻斷啟動操作的應(yīng)用程序所在的運行環(huán)境進(jìn)行第一安全檢測。
[0181]保險箱進(jìn)程可以對阻斷啟動操作的應(yīng)用程序所在的運行環(huán)境進(jìn)行第一安全檢測,即可以在第3特權(quán)級Ring3中對阻斷啟動操作的應(yīng)用程序所在的運行環(huán)境進(jìn)行第一安全檢測。
[0182]在本發(fā)明實施例的一種可選示例中,子步驟S52可以包括如下子步驟:
[0183]子步驟S521,調(diào)用內(nèi)置的云安全組件對阻斷啟動操作的應(yīng)用程序所在的運行環(huán)境進(jìn)行第一安全檢測。
[0184]在本發(fā)明實施例中,進(jìn)行第一安全檢測的云安全組件可以內(nèi)置在特定進(jìn)程中。
[0185]在本發(fā)明實施例的另一種可選示例中,子步驟S52可以包括如下子步驟:
[0186]子步驟S522,調(diào)用第三方的安全組件對阻斷啟動操作的應(yīng)用程序所在的運行環(huán)境進(jìn)行第一安全檢測。
[0187]在本發(fā)明實施例中,進(jìn)行第一安全檢測的安全組件可以位于在第三方中,特定程序可以通過指定的API接口進(jìn)行調(diào)用。
[0188]在實際應(yīng)用中,安全組件(如云安全組件或第三方的安全組件)可以把操作系統(tǒng)的環(huán)境信息(例如,操作系統(tǒng)版本,系統(tǒng)補丁安裝信息,軟件安裝信息,驅(qū)動安裝信息,活動進(jìn)程和服務(wù)等)發(fā)送給服務(wù)器,服務(wù)器端根據(jù)安全組件發(fā)送的系統(tǒng)環(huán)境信息與服務(wù)器中預(yù)先配置的條件進(jìn)行判斷,然后決定給安全組件返回哪些掃描內(nèi)容,掃描內(nèi)容通常是本領(lǐng)域技術(shù)人員根據(jù)新生惡意程序利用的位置(如某游戲安裝目錄、常用軟件的安裝目錄等)編寫的一段文本或腳本,安全組件收到服務(wù)器端返回的掃描內(nèi)容后執(zhí)行掃描,掃描本地引擎內(nèi)置的掃描位置和服務(wù)器返回的個性化的掃描內(nèi)容。為了加快掃描效率,服務(wù)器端返回給安全組件的掃描內(nèi)容中可以指定掃描條件,只有滿足條件時客戶端才掃描指定的內(nèi)容。
[0189]安全組件把掃描到的程序文件的特征信息發(fā)送給服務(wù)器,該特征信息可以是程序文件的 MD5 (Message Digest Algorithm,消息摘要算法第五版)、SHAl (Secure HashAlgorithm,安全哈希算法)或從文件中抽取某些內(nèi)容計算出的特征信息,安全組件端根據(jù)客戶端發(fā)來的程序文件的特征信息在其數(shù)據(jù)庫中進(jìn)行分析比對,如果發(fā)現(xiàn)匹配記錄就把對應(yīng)的查殺方法返回給安全組件,安全組件根據(jù)服務(wù)器端返回的查殺方法執(zhí)行相應(yīng)的動作。
[0190]如果服務(wù)器根據(jù)安全組件發(fā)來的程序文件的特征信息無法準(zhǔn)確匹配,會把進(jìn)一步需要檢查的條件(判斷條件可以是指定文件/目錄是否存在,文件屬性是否滿足條件,如文件的MD5是否為指定的值;指定注冊表鍵/值是否存在,注冊表鍵/值內(nèi)容是否滿足條件,指定進(jìn)程/服務(wù)是否存在等)發(fā)送給安全組件,安全組件根據(jù)服務(wù)器端返回的檢查條件收集需要的程序文件的屬性和其上下文環(huán)境的屬性,然后發(fā)送給服務(wù)器端,服務(wù)器端再根據(jù)這些屬性在其數(shù)據(jù)庫中進(jìn)行分析比對,如果發(fā)現(xiàn)匹配記錄就把對應(yīng)的查殺方法返回給客戶端,安全組件根據(jù)服務(wù)器端返回的查殺方法執(zhí)行相應(yīng)的動作。
[0191]其中,查殺方法是技術(shù)人員根據(jù)惡意程序的行為特征編寫的一段腳本,用于檢測和修復(fù)惡意程序。查殺方法分為掃描/判定動作和修復(fù)動作,掃描/判定動作即對程序文件屬性及程序文件的上下文環(huán)境的掃描和判定,當(dāng)判定為惡意程序時執(zhí)行相應(yīng)的修復(fù)動作,修復(fù)動作包括刪除指定的注冊表鍵/值、修改注冊表鍵/值為指定內(nèi)容、刪除指定系統(tǒng)服務(wù)項、修復(fù)/刪除指定程序文件等。
[0192]在具體實現(xiàn)中,所述第一安全檢測可以包括木馬檢測和病毒檢測中的至少一種檢測。
[0193]具體而言,病毒是指編制或者在計算機程序中插入的破壞計算機功能或者破壞數(shù)據(jù),影響計算機使用并且能夠自我復(fù)制的一組計算機指令或者程序代碼。
[0194]木馬是一種經(jīng)過偽裝的欺騙性程序,它通過將自身偽裝吸引用戶下載執(zhí)行,從而破壞或竊取使用者的重要文件和資料。木馬與一般的病毒不同,它不會自我繁殖,也并不“刻意”地去感染其他文件,它的主要作用是向施種木馬者打開被種者電腦的門戶,使對方可以任意毀壞、竊取你的文件,甚至遠(yuǎn)程操控用戶的電腦。
[0195]則第一安全監(jiān)測掃描的位置可以包括:
[0196]1、鍵盤鉤子(很多木馬會利用此方式來監(jiān)控鍵盤輸入,盜取密碼);
[0197]2、正在運行的除該指定類型的應(yīng)用程序之外的其它應(yīng)用程序;
[0198]3、網(wǎng)絡(luò)通信模塊(很多高級木馬會監(jiān)控網(wǎng)絡(luò)訪問,通過截獲或者修改電腦發(fā)送出去的數(shù)據(jù)包的方式來盜取密碼)。
[0199]在本發(fā)明的一種可選實施例中,步驟203還可以包括如下子步驟:
[0200]子步驟S53,根據(jù)所述第一安全檢測的結(jié)果判斷所述操作系統(tǒng)的安全等級;
[0201]子步驟S54,展示所述第一安全檢測的結(jié)果和所述操作系統(tǒng)的安全等級。
[0202]保險箱進(jìn)程可以根據(jù)所述第一安全檢測的結(jié)果判斷所述操作系統(tǒng)的安全等級,以及,展示所述第一安全檢測的結(jié)果和所述操作系統(tǒng)的安全等級,即可以在第3特權(quán)級Ring3中根據(jù)所述第一安全檢測的結(jié)果判斷所述操作系統(tǒng)的安全等級,以及,展示所述第一安全檢測的結(jié)果和所述操作系統(tǒng)的安全等級。
[0203]在具體實現(xiàn)中,可以根據(jù)所述第一安全檢測的結(jié)果按照預(yù)置的積分規(guī)則計算安全評分,而安全等級可以具有一個分?jǐn)?shù)范圍,安全評分歸屬的分?jǐn)?shù)范圍即為當(dāng)前操作系統(tǒng)的安全等級。
[0204]例如,預(yù)置的計分規(guī)則為,設(shè)置滿分為100分,出現(xiàn)上述任一危險項目信息則扣10分,若當(dāng)前檢測出兩個危險項目,則安全評分參數(shù)為80分,若第二檔的安全等級的范圍為70-85,則當(dāng)前操作系統(tǒng)的安全等級為第二檔。
[0205]在掃描完畢之后,可以會給展示相關(guān)的掃描結(jié)果,并同時判斷給出當(dāng)前操作系統(tǒng)環(huán)境安全與否及安全等級的提醒,以提示用戶。
[0206]本發(fā)明實施例在應(yīng)用程序啟動前,對應(yīng)用程序所在運行環(huán)境的進(jìn)行快速掃描,減少掛鉤鍵盤的木馬/病毒、其他惡意應(yīng)用程序、攔截或吸怪通信數(shù)據(jù)包的目標(biāo)/病毒等運行環(huán)境中存在的危險,提高了應(yīng)用程序在啟動時的運行環(huán)境的安全性。
[0207]步驟204,在第一安全檢測的結(jié)果為所述運行環(huán)境安全后,啟動所述應(yīng)用程序;
[0208]保險箱驅(qū)動可以在第一安全檢測的結(jié)果為所述運行環(huán)境安全后,啟動所述應(yīng)用程序,即可以在第O特權(quán)級RingO中啟動所述應(yīng)用程序。
[0209]需要說明的是,本領(lǐng)域技術(shù)人員可以根據(jù)實際需求設(shè)置哪些安全等級表示當(dāng)前運行環(huán)境安全,哪些安全等級表示當(dāng)前運行環(huán)境存在風(fēng)險,哪些安全等級表示當(dāng)前運行環(huán)境危險等等。
[0210]在本發(fā)明的一種可選實施例中,步驟204可以包括如下子步驟:
[0211]子步驟S61,觸發(fā)所述掃描到的應(yīng)用程序在操作系統(tǒng)界面中的快捷啟動方式,從而啟動所述應(yīng)用程序;或者
[0212]子步驟S62,觸發(fā)所述掃描到的應(yīng)用程序在一特定程序中的啟動入口,從而啟動所述應(yīng)用程序。
[0213]由于在先可以在獲取待檢測應(yīng)用程序在啟動時的進(jìn)程信息,識別了啟動應(yīng)用程序的進(jìn)程的全路徑,在阻斷后可以啟動該全路徑的對應(yīng)的指定類型的應(yīng)用程序。
[0214]步驟205,檢測到所述應(yīng)用程序運行過程中的預(yù)定事件;
[0215]保險箱驅(qū)動可以在檢測到所述應(yīng)用程序運行過程中的預(yù)定事件,即可以在第O特權(quán)級RingO中檢測到所述應(yīng)用程序運行過程中的預(yù)定事件。
[0216]步驟206,觸發(fā)對所述應(yīng)用程序中的預(yù)定事件的第二安全檢測。
[0217]在保險箱中,可以觸發(fā)對所述應(yīng)用程序中的預(yù)定事件的第二安全檢測,即可以在第O特權(quán)級RingO和第3特權(quán)級Ring3的交互中觸發(fā)對所述應(yīng)用程序中的預(yù)定事件的第二安全檢測。
[0218]在本發(fā)明的一種可選實施例中,所述預(yù)定事件可以包括指定的窗口事件;步驟205可以包括如下子步驟:
[0219]子步驟S71,遍歷當(dāng)前操作系統(tǒng)中的窗口是否存在預(yù)置的特征值;若是,則執(zhí)行子步驟S72 ;
[0220]子步驟S72,判斷檢測到所述應(yīng)用程序運行過程中的指定的窗口事件。
[0221]在具體實現(xiàn)中,可以通過指定的操作系統(tǒng)的API遍歷當(dāng)前窗口,查找具有特征值的窗口,其中,特征值可以指窗口的名字、窗口的類名等等。
[0222]在本發(fā)明實施例的一種優(yōu)選示例中,該指定的窗口事件可以包括登錄的窗口事件、支付的窗口事件、收發(fā)數(shù)據(jù)的窗口事件等等。
[0223]在本發(fā)明的一種可選實施例中,步驟206可以包括如下子步驟:
[0224]子步驟S81,觸發(fā)對所述應(yīng)用程序中的窗口事件關(guān)聯(lián)加載的業(yè)務(wù)對象的第二安全檢測。
[0225]在本發(fā)明實施例中,窗口事件關(guān)聯(lián)加載的業(yè)務(wù)對象可以包括應(yīng)用程序中的功能模塊,具體可以指獨立完成一定功能的代碼集合。
[0226]由于第二安全檢測是針對窗口事件關(guān)聯(lián)加載的業(yè)務(wù)對象,因此,本發(fā)明實施例中,第二安全檢測也可以稱為專項掃描。
[0227]在具體實現(xiàn)中,所述第二安全檢測可以包括木馬檢測。
[0228]本發(fā)明實施例觸發(fā)述應(yīng)用程序中的窗口事件關(guān)聯(lián)加載的業(yè)務(wù)對象的專項掃描,對快速掃描進(jìn)行補充,在應(yīng)用程序運行之后,在支付、登錄、網(wǎng)絡(luò)通信等操作之前,對應(yīng)用程序加載的功能模塊進(jìn)行掃描,確保了木馬不會隨應(yīng)用程序啟動,由于很多木馬會修改應(yīng)用程序文件,并隨應(yīng)用程序啟動,實施盜取賬號、密碼、關(guān)鍵數(shù)據(jù)等惡意行為,專項掃描可以有效解決木馬歲應(yīng)用程序啟動的問題,避免盜取賬號、密碼、關(guān)鍵數(shù)據(jù)等惡意行為,大大提高了應(yīng)用程序在支付、登錄、網(wǎng)絡(luò)通信等操作的安全性。
[0229]在本發(fā)明的一種可選實施例中,步驟206還可以包括如下子步驟:
[0230]子步驟S82,根據(jù)所述第二安全檢測的結(jié)果判斷所述應(yīng)用程序的安全等級;
[0231]子步驟S83,展示所述第二安全檢測的結(jié)果和所述應(yīng)用程序的安全等級。
[0232]在保險箱進(jìn)程中,可以根據(jù)所述第二安全檢測的結(jié)果判斷所述應(yīng)用程序的安全等級,以及,展示所述第二安全檢測的結(jié)果和所述應(yīng)用程序的安全等級,即可以在第3特權(quán)級Ring3中根據(jù)所述第二安全檢測的結(jié)果判斷所述應(yīng)用程序的安全等級,以及,展示所述第二安全檢測的結(jié)果和所述應(yīng)用程序的安全等級。
[0233]在具體實現(xiàn)中,可以根據(jù)所述第二安全檢測的結(jié)果按照預(yù)置的積分規(guī)則計算安全評分,而安全等級可以具有一個分?jǐn)?shù)范圍,安全評分歸屬的分?jǐn)?shù)范圍即為當(dāng)前操作系統(tǒng)的安全等級。
[0234]在掃描完畢之后,可以會給展示相關(guān)的掃描結(jié)果,并同時判斷給出當(dāng)前操作系統(tǒng)環(huán)境安全與否及安全等級的提醒,以提示用戶。
[0235]在本發(fā)明的一種可選實施例中,所述預(yù)定事件可以包括注入操作事件;步驟205可以包括如下子步驟:
[0236]子步驟S91,掛鉤指定的系統(tǒng)函數(shù);
[0237]子步驟S92,在所述系統(tǒng)函數(shù)調(diào)用時,判斷所述系統(tǒng)函數(shù)是否為外部外部的調(diào)用;若是,則執(zhí)行子步驟S93;
[0238]子步驟S93,判斷檢測到所述應(yīng)用程序運行過程中的注入操作事件。
[0239]注入操作可以指一個應(yīng)用程序?qū)α硪粋€應(yīng)用程序進(jìn)行的讀寫虛擬內(nèi)存等敏感操作。
[0240]在具體實現(xiàn)中,可以特定進(jìn)程啟動時,通過保險箱驅(qū)動將所有注入方法的入口進(jìn)行內(nèi)核的掛鉤(Hook),具體可以枚舉可能注入用到操作系統(tǒng)的API函數(shù),例如NtReadVirtualMemory> SetThreadContext> NtQueueAPCThread 等等。
[0241]這樣在外部的應(yīng)用程序試圖在保護(hù)的應(yīng)用程序的地址空間中使用了這些API函數(shù)都將會被感知。
[0242]鉤子本身可以在執(zhí)行過程中先加入自己的操作,在繼續(xù)執(zhí)行或者直接退出。比如當(dāng)攔截住了這些API函數(shù)在使用時,馬上判斷是不是本應(yīng)用程序的進(jìn)程操作的,如果不是,即系統(tǒng)函數(shù)為外部的應(yīng)用程序調(diào)用,則可以判斷檢測到注入操作事件。
[0243]在本發(fā)明的一種可選實施例中,步驟206可以包括如下子步驟:
[0244]子步驟S101,阻斷執(zhí)行針對所述應(yīng)用程序的注入操作;
[0245]在具體實現(xiàn)中,保險箱驅(qū)動可以阻斷執(zhí)行針對應(yīng)用程序的注入操作,即可以在第O特權(quán)級RingO中阻斷執(zhí)行針對應(yīng)用程序的注入操作。
[0246]子步驟S102,觸發(fā)對所述應(yīng)用程序中的注入操作進(jìn)行第二安全檢測;
[0247]當(dāng)保險箱驅(qū)動檢測到注入操作時,可以通知保險箱進(jìn)程,保險箱進(jìn)程觸發(fā)對應(yīng)用程序中的注入操作進(jìn)行第二安全檢測,即可以在第3特權(quán)級Ring3中觸發(fā)對應(yīng)用程序中的注入操作進(jìn)行第二安全檢測。
[0248]在本發(fā)明的一種可選實施例中,子步驟S102可以包括如下子步驟:
[0249]子步驟S1021,當(dāng)所述外部的應(yīng)用程序在預(yù)置的白名單中匹配成功時,判斷所述注入操作通過所述第二安全檢測;
[0250]雖然注入操作具有一定的危險性,但是并不是所有的注入都是危險的,有些正常的應(yīng)用程序也會有注入操作的。
[0251]本發(fā)明實施例中,可以通過白名單識別安全的應(yīng)用程序的注入操作。
[0252]白名單可以用于描述安全的應(yīng)用程序的集合,集合中的應(yīng)用程序可以被認(rèn)為是安全的。白名單通??梢詾閼?yīng)用程序在操作系統(tǒng)中的路徑,具體可以包括默認(rèn)的、手動加入到該集合中的應(yīng)用程序。
[0253]子步驟S1022,當(dāng)所述外部的應(yīng)用程序在預(yù)置的黑名單中匹配成功時,判斷所述注入操作未通過所述第二安全檢測。
[0254]本發(fā)明實施例中,可以通過黑名單識別安全的應(yīng)用程序的注入操作。
[0255]黑名單可以用于描述危險的應(yīng)用程序的集合,集合中的應(yīng)用程序可以被認(rèn)為是危險的。黑名單通??梢詾閼?yīng)用程序在操作系統(tǒng)中的路徑,具體可以包括默認(rèn)的、手動加入到該集合中的應(yīng)用程序。
[0256]需要說明的是,白名單、黑名單可以由云安全中心進(jìn)行維護(hù),并下發(fā)至特定程序中。
[0257]在本發(fā)明的一種可選實施例中,子步驟S102還可以包括如下子步驟:
[0258]子步驟S1023,展示對所述應(yīng)用程序中的注入操作的第二安全檢測的結(jié)果。
[0259]在具體實現(xiàn)中,保險箱進(jìn)程可以展示對所述應(yīng)用程序中的注入操作的第二安全檢測的結(jié)果,即可以在第3特權(quán)級Ring3中展示對所述應(yīng)用程序中的注入操作的第二安全檢測的結(jié)果,以提示用戶。
[0260]子步驟S103,當(dāng)所述注入操作通過所述第二安全檢測時,允許執(zhí)行針對所述應(yīng)用程序的進(jìn)程的注入操作;
[0261]子步驟S104,當(dāng)所述注入操作未通過所述第二安全檢測時,過濾執(zhí)行針對所述應(yīng)用程序的進(jìn)程的注入操作。
[0262]等掃描完成,保險箱進(jìn)程可以通知保險箱驅(qū)動掃描的結(jié)果,即注入操作是否通過第二安全檢測,若通過,則可以表示該注入操作安全,若未通過,則可以保濕該注入操作危險。
[0263]保險箱驅(qū)動可以依據(jù)掃描的結(jié)果允許執(zhí)行針對所述應(yīng)用程序的進(jìn)程的注入操作,或者,過濾執(zhí)行針對所述應(yīng)用程序的進(jìn)程的注入操作,即可以在第O特權(quán)級RingO中允許執(zhí)行針對所述應(yīng)用程序的進(jìn)程的注入操作,或者,過濾執(zhí)行針對所述應(yīng)用程序的進(jìn)程的注入操作。
[0264]本發(fā)明實施例在檢測對到應(yīng)用程序進(jìn)行注入操作時,對注入操作進(jìn)行安全檢測,在判斷注入操作安全時,允許注入操作繼續(xù)執(zhí)行,在判斷該注入操作危險時,過濾該注入操作,防止應(yīng)用程序被惡意注入,大大提高了應(yīng)用程序運行中的安全性。
[0265]在本發(fā)明的一種可選實施例中,所述預(yù)定事件可以包括內(nèi)存讀寫操作事件;步驟205可以包括如下子步驟:
[0266]子步驟S111,在預(yù)置的函數(shù)表中查找所述定類型的應(yīng)用程序?qū)?yīng)的系統(tǒng)函數(shù);
[0267]子步驟S112,掛鉤所述應(yīng)用程序?qū)?yīng)的系統(tǒng)函數(shù);
[0268]子步驟S113,在所述應(yīng)用程序?qū)?yīng)的系統(tǒng)函數(shù)被調(diào)用時,判斷所述系統(tǒng)函數(shù)是否為外部的應(yīng)用程序調(diào)用;若是,則執(zhí)行子步驟S114 ;
[0269]子步驟S114,判斷檢測到所述應(yīng)用程序運行過程中的內(nèi)存讀寫操作事件。
[0270]對于不同的指定類型的應(yīng)用程序,其進(jìn)行內(nèi)存讀寫操作的系統(tǒng)函數(shù)可以是不相同的,所以需要一個函數(shù)表來確定指定類型的應(yīng)用程序的哪個讀寫函數(shù)需要被掛鉤(Hook)。
[0271]這樣在外部的應(yīng)用程序試圖在保護(hù)的應(yīng)用程序的地址空間中使用了這些系統(tǒng)函數(shù)都將會被感知。
[0272]鉤子本身可以在執(zhí)行過程中先加入自己的操作,在繼續(xù)執(zhí)行或者直接退出。比如當(dāng)攔截住了這些系統(tǒng)函數(shù)在使用時,馬上判斷是不是本應(yīng)用程序的進(jìn)程操作的,如果不是,即系統(tǒng)函數(shù)為外部的應(yīng)用程序調(diào)用,則可以判斷檢測到內(nèi)存讀寫操作事件。
[0273]在本發(fā)明的一種可選實施例中,步驟206可以包括如下子步驟:
[0274]子步驟S121,阻斷執(zhí)行針對所述應(yīng)用程序的內(nèi)存讀寫操作;
[0275]在具體實現(xiàn)中,保險箱驅(qū)動可以阻斷執(zhí)行針對所述應(yīng)用程序的內(nèi)存讀寫操作,SP可以在第O特權(quán)級RingO中阻斷執(zhí)行針對所述應(yīng)用程序的內(nèi)存讀寫操作。
[0276]子步驟S122,觸發(fā)對所述應(yīng)用程序中的讀寫操作的第二安全檢測;
[0277]當(dāng)保險箱驅(qū)動檢測到內(nèi)存讀寫操作時,可以通知保險箱進(jìn)程,保險箱進(jìn)程觸發(fā)對所述應(yīng)用程序中的讀寫操作的第二安全檢測,即可以在第3特權(quán)級Ring3中觸發(fā)對所述應(yīng)用程序中的讀寫操作的第二安全檢測。
[0278]在本發(fā)明的一種可選實施例中,子步驟S122可以包括如下子步驟:
[0279]子步驟S1221,當(dāng)所述外部的應(yīng)用程序在預(yù)置的白名單中匹配成功時,判斷所述讀寫操作通過所述第二安全檢測;
[0280]雖然內(nèi)存讀寫操作具有一定的危險性,但是并不是所有的內(nèi)存讀寫操作都是危險的,有些正常的應(yīng)用程序也會有內(nèi)存讀寫操作的。
[0281]本發(fā)明實施例中,可以通過白名單識別安全的應(yīng)用程序的內(nèi)存讀寫操作。
[0282]白名單可以用于描述安全的應(yīng)用程序的集合,集合中的應(yīng)用程序可以被認(rèn)為是安全的。白名單通??梢詾閼?yīng)用程序在操作系統(tǒng)中的路徑,具體可以包括默認(rèn)的、手動加入到該集合中的應(yīng)用程序。
[0283]子步驟S1222,當(dāng)所述外部的應(yīng)用程序在預(yù)置的黑名單中匹配成功時,判斷所述讀寫操作未通過所述第二安全檢測。
[0284]本發(fā)明實施例中,可以通過黑名單識別安全的應(yīng)用程序的內(nèi)存讀寫操作。
[0285]黑名單可以用于描述危險的應(yīng)用程序的集合,集合中的應(yīng)用程序可以被認(rèn)為是危險的。黑名單通常可以為應(yīng)用程序在操作系統(tǒng)中的路徑,具體可以包括默認(rèn)的、手動加入到該集合中的應(yīng)用程序。
[0286]需要說明的是,白名單、黑名單可以由云安全中心進(jìn)行維護(hù),并下發(fā)至特定程序中。
[0287]在本發(fā)明的一種可選實施例中,子步驟S122還可以包括如下子步驟:
[0288]子步驟S1223,展示對所述應(yīng)用程序的內(nèi)存讀寫操作的第二安全檢測的結(jié)果。
[0289]在具體實現(xiàn)中,保險箱進(jìn)程可以展示對所述應(yīng)用程序中讀寫操作的第二安全檢測的結(jié)果,即可以在第3特權(quán)級Ring3中展示對所述應(yīng)用程序中讀寫操作的第二安全檢測的結(jié)果,以提示用戶。
[0290]子步驟S123,當(dāng)所述內(nèi)存讀寫操作通過所述第二安全檢測時,允許執(zhí)行針對所述應(yīng)用程序的內(nèi)存讀寫操作;
[0291]子步驟S124,當(dāng)所述內(nèi)存讀寫操作未通過所述第二安全檢測時,過濾執(zhí)行針對所述應(yīng)用程序的內(nèi)存讀寫操作。
[0292]等掃描完成,保險箱進(jìn)程可以通知保險箱驅(qū)動掃描的結(jié)果,即注入操作是否通過第二安全檢測,若通過,則可以表示該注入操作安全,若未通過,則可以保濕該注入操作危險。
[0293]保險箱驅(qū)動可以依據(jù)掃描的結(jié)果允許執(zhí)行針對所述應(yīng)用程序的內(nèi)存讀寫操作,或者,過濾執(zhí)行針對所述應(yīng)用程序的內(nèi)存讀寫操作,即可以在第O特權(quán)級RingO中允許執(zhí)行針對所述應(yīng)用程序的內(nèi)存讀寫操作,或者,過濾執(zhí)行針對所述應(yīng)用程序的內(nèi)存讀寫操作。
[0294]本發(fā)明實施例在檢測對到應(yīng)用程序進(jìn)行內(nèi)存讀寫操作時,對內(nèi)存讀寫操作進(jìn)行安全檢測,在判斷內(nèi)存讀寫操作安全時,允許內(nèi)存讀寫操作繼續(xù)執(zhí)行,在判斷內(nèi)存讀寫操作危險時,過濾內(nèi)存讀寫操作,防止內(nèi)存被惡意讀寫,提高了應(yīng)用程序在運行中內(nèi)存及其他私有信息的安全性,大大提高了應(yīng)用程序運行中的安全性。
[0295]當(dāng)然,上述預(yù)定事件方法只是作為示例,在實施本發(fā)明實施例時,可以根據(jù)實際情況設(shè)置其他預(yù)定事件,本發(fā)明實施例對此不加以限制。另外,除了上述預(yù)定事件外,本領(lǐng)域技術(shù)人員還可以根據(jù)實際需要采用其它預(yù)定事件,本發(fā)明實施例對此也不加以限制。
[0296]本發(fā)明實施例識別出指定類型的應(yīng)用程序,在該應(yīng)用程序啟動之前進(jìn)行第一安全檢測,有效保證了應(yīng)用程序在啟動時的運行環(huán)境的安全性,在安全的運行環(huán)境中啟動應(yīng)用程序,在檢測到應(yīng)用程序運行過程中的預(yù)定事件時,觸發(fā)對應(yīng)用程序中的預(yù)定事件的第二安全檢測,有效保證了應(yīng)用程序在運行時的安全性,為應(yīng)用程序提供了全面的安全保護(hù),使應(yīng)用程序安全地啟動、運行。
[0297]對于方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明實施例并不受所描述的動作順序的限制,因為依據(jù)本發(fā)明實施例,某些步驟可以采用其他順序或者同時進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實施例均屬于可選實施例,所涉及的動作并不一定是本發(fā)明實施例所必須的。
[0298]在此提供的算法和顯示不與任何特定計算機、虛擬系統(tǒng)或者其它設(shè)備固有相關(guān)。各種通用系統(tǒng)也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造這類系統(tǒng)所要求的結(jié)構(gòu)是顯而易見的。此外,本發(fā)明也不針對任何特定編程語言。應(yīng)當(dāng)明白,可以利用各種編程語言實現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對特定語言所做的描述是為了披露本發(fā)明的最佳實施方式。
[0299]在此處所提供的說明書中,說明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實施例可以在沒有這些具體細(xì)節(jié)的情況下實踐。在一些實例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對本說明書的理解。
[0300]類似地,應(yīng)當(dāng)理解,為了精簡本公開并幫助理解各個發(fā)明方面中的一個或多個,在上面對本發(fā)明的示例性實施例的描述中,本發(fā)明的各個特征有時被一起分組到單個實施例、圖、或者對其的描述中。然而,并不應(yīng)將該公開的方法解釋成反映如下意圖:即所要求保護(hù)的本發(fā)明要求比在每個權(quán)利要求中所明確記載的特征更多的特征。更確切地說,如下面的權(quán)利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個實施例的所有特征。因此,遵循【具體實施方式】的權(quán)利要求書由此明確地并入該【具體實施方式】,其中每個權(quán)利要求本身都作為本發(fā)明的單獨實施例。
[0301 ] 本領(lǐng)域那些技術(shù)人員可以理解,可以對實施例中的設(shè)備中的模塊進(jìn)行自適應(yīng)性地改變并且把它們設(shè)置在與該實施例不同的一個或多個設(shè)備中??梢园褜嵤├械哪K或單元或組件組合成一個模塊或單元或組件,以及此外可以把它們分成多個子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設(shè)備的所有過程或單元進(jìn)行組合。除非另外明確陳述,本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的每個特征可以由提供相同、等同或相似目的的替代特征來代替。
[0302]此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實施例包括其它實施例中所包括的某些特征而不是其它特征,但是不同實施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實施例。例如,在下面的權(quán)利要求書中,所要求保護(hù)的實施例的任意之一都可以以任意的組合方式來使用。
[0303]本發(fā)明的各個部件實施例可以以硬件實現(xiàn),或者以在一個或者多個處理器上運行的軟件模塊實現(xiàn),或者以它們的組合實現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實踐中使用微處理器或者數(shù)字信號處理器(DSP)來實現(xiàn)根據(jù)本發(fā)明實施例的運行應(yīng)用程序的設(shè)備中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計算機程序和計算機程序產(chǎn)品)。這樣的實現(xiàn)本發(fā)明的程序可以存儲在計算機可讀介質(zhì)上,或者可以具有一個或者多個信號的形式。這樣的信號可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。
[0304]應(yīng)該注意的是上述實施例對本發(fā)明進(jìn)行說明而不是對本發(fā)明進(jìn)行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計出替換實施例。在權(quán)利要求中,不應(yīng)將位于括號之間的任何參考符號構(gòu)造成對權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個”不排除存在多個這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計算機來實現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個可以是通過同一個硬件項來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱。
[0305]本發(fā)明實施例公開了 Al、一種運行應(yīng)用程序的方法,包括:
[0306]掃描到當(dāng)前操作系統(tǒng)中指定類型的應(yīng)用程序;
[0307]檢測到指定類型的應(yīng)用程序的啟動操作;
[0308]在所述應(yīng)用程序啟動前,對所述應(yīng)用程序所在運行環(huán)境的進(jìn)行第一安全檢測;
[0309]在第一安全檢測的結(jié)果為所述運行環(huán)境安全后,啟動所述應(yīng)用程序;
[0310]檢測到所述應(yīng)用程序運行過程中的預(yù)定事件,觸發(fā)對所述應(yīng)用程序中的預(yù)定事件的第二安全檢測。
[0311]A2、如Al所述的方法,所述掃描到當(dāng)前操作系統(tǒng)中指定類型的應(yīng)用程序的步驟包括:
[0312]獲取被觸發(fā)的當(dāng)前應(yīng)用程序的進(jìn)程的名稱;
[0313]判斷所述名稱是否與預(yù)設(shè)的第一文件名相同;若是,則采用所述應(yīng)用程序的指定屬性判斷所述應(yīng)用程序是否為指定類型的應(yīng)用程序。
[0314]A3、如A2所述的方法,所述指定屬性包括注冊表信息;
[0315]所述采用所述應(yīng)用程序的指定屬性判斷所述應(yīng)用程序是否為指定類型的應(yīng)用程序的步驟包括:
[0316]判斷所述應(yīng)用程序的注冊表信息是否與預(yù)置的特征注冊表信息匹配;若是,則判斷所述應(yīng)用程序為指定類型的應(yīng)用程序。
[0317]A4、如A2所述的方法,所述指定屬性包括圖標(biāo);
[0318]所述采用所述應(yīng)用程序的指定屬性判斷所述應(yīng)用程序是否為指定類型的應(yīng)用程序的步驟包括:
[0319]判斷所述應(yīng)用程序的圖標(biāo)是否與預(yù)置的特征圖標(biāo)匹配;若是,則判斷所述應(yīng)用程序為指定類型的應(yīng)用程序。
[0320]A5、如A2所述的方法,所述指定屬性包括第二文件名和所屬的平臺名稱;
[0321]所述采用所述應(yīng)用程序的指定屬性判斷所述應(yīng)用程序是否為指定類型的應(yīng)用程序的步驟包括:
[0322]判斷預(yù)置的第二文件名是否在所述應(yīng)用程序的文件中存在,且,所述應(yīng)用程序所屬的平臺名稱與預(yù)置的特征平臺名稱匹配;若是,則判斷所述應(yīng)用程序為指定類型的應(yīng)用程序。
[0323]A6、如Al所述的方法,所述檢測到指定類型的應(yīng)用程序的啟動操作的步驟包括:
[0324]獲取待檢測應(yīng)用程序在啟動時的進(jìn)程信息;
[0325]判斷所述進(jìn)程信息與預(yù)置的第一特征進(jìn)程信息是否匹配;若是,則判斷所述進(jìn)程信息與預(yù)置的第二特征進(jìn)程信息是否匹配;
[0326]當(dāng)所述進(jìn)程信息與預(yù)置的第二特征進(jìn)程信息匹配時,判斷檢測到指定類型的應(yīng)用程序的啟動操作。
[0327]A7、如Al所述的方法,所述指定類型的應(yīng)用程序包括瀏覽器;所述檢測到指定類型的應(yīng)用程序的啟動操作的步驟包括:
[0328]接收到一網(wǎng)址安全組件攔截到的、所述瀏覽器所請求的網(wǎng)頁標(biāo)識;
[0329]判斷所述網(wǎng)頁標(biāo)識是否與預(yù)置的特征網(wǎng)頁標(biāo)識匹配;若是,則判斷檢測到瀏覽器的啟動操作。
[0330]AS、如Al所述的方法,所述在所述應(yīng)用程序啟動前,對所述應(yīng)用程序所在運行環(huán)境的進(jìn)行第一安全檢測的步驟包括:
[0331]阻斷所述應(yīng)用程序的啟動操作;
[0332]對阻斷啟動操作的應(yīng)用程序所在的運行環(huán)境進(jìn)行第一安全檢測。
[0333]A9、如AS所述的方法,所述阻斷所述應(yīng)用程序的啟動操作的步驟包括:
[0334]判斷所述應(yīng)用程序啟動操作對應(yīng)的啟動方式;
[0335]當(dāng)所述啟動方式為由一特定程序以外的方式啟動時,阻斷所述應(yīng)用程序的進(jìn)程的啟動。
[0336]AlOjn AS所述的方法,所述對阻斷啟動操作的應(yīng)用程序所在的運行環(huán)境進(jìn)行第一安全檢測的步驟包括:
[0337]調(diào)用內(nèi)置的云安全組件對阻斷啟動操作的應(yīng)用程序所在的運行環(huán)境進(jìn)行第一安全檢測。
[0338]All、如AS所述的方法,所述對阻斷啟動操作的應(yīng)用程序所在的運行環(huán)境進(jìn)行第一安全檢測的步驟包括:
[0339]調(diào)用第三方的安全組件對阻斷啟動操作的應(yīng)用程序所在的運行環(huán)境進(jìn)行第一安全檢測。
[0340]A12、如Al或A8或AlO或All所述的方法,所述第一安全檢測包括木馬檢測和病毒檢測中的至少一種檢測。
[0341]A13、如AS或AlO或All所述的方法,所述對所述應(yīng)用程序所在運行環(huán)境的進(jìn)行第一安全檢測的步驟還包括:
[0342]根據(jù)所述第一安全檢測的結(jié)果判斷所述操作系統(tǒng)的安全等級;
[0343]展示所述第一安全檢測的結(jié)果和所述操作系統(tǒng)的安全等級。
[0344]A14、如Al所述的方法,所述啟動所述應(yīng)用程序的步驟包括:
[0345]觸發(fā)所述掃描到的應(yīng)用程序在操作系統(tǒng)界面中的快捷啟動方式,從而啟動所述應(yīng)用程序;或者
[0346]觸發(fā)所述掃描到的應(yīng)用程序在一特定程序中的啟動入口,從而啟動所述應(yīng)用程序。
[0347]A15、如Al所述的方法,所述預(yù)定事件包括指定的窗口事件;所述檢測到所述應(yīng)用程序運行過程中的預(yù)定事件的步驟包括:
[0348]遍歷當(dāng)前操作系統(tǒng)中的窗口是否存在預(yù)置的特征值;若是,則判斷檢測到所述應(yīng)用程序運行過程中的指定的窗口事件。
[0349]A16、如A15所述的方法,所述觸發(fā)對所述應(yīng)用程序中的預(yù)定事件的第二安全檢測的步驟包括:
[0350]觸發(fā)對所述應(yīng)用程序中的窗口事件關(guān)聯(lián)加載的業(yè)務(wù)對象的第二安全檢測。
[0351]A17、如A15或A16所述的方法,所述第二安全檢測包括木馬檢測。
[0352]A18、如A16所述的方法,所述觸發(fā)對所述應(yīng)用程序中的預(yù)定事件的第二安全檢測的步驟還包括:
[0353]根據(jù)所述第二安全檢測的結(jié)果判斷所述應(yīng)用程序的安全等級;
[0354]展示所述第二安全檢測的結(jié)果和所述應(yīng)用程序的安全等級。
[0355]A19、如Al所述的方法,所述預(yù)定事件包括注入操作事件;所述檢測到所述應(yīng)用程序運行過程中的預(yù)定事件的步驟包括:
[0356]掛鉤指定的系統(tǒng)函數(shù);
[0357]在所述系統(tǒng)函數(shù)調(diào)用時,判斷所述系統(tǒng)函數(shù)是否為外部的應(yīng)用程序調(diào)用;若是,則判斷檢測到所述應(yīng)用程序運行過程中的注入操作事件。
[0358]A20、如A19所述的方法,所述觸發(fā)對所述應(yīng)用程序中的預(yù)定事件的第二安全檢測的步驟包括:
[0359]阻斷執(zhí)行針對所述應(yīng)用程序的注入操作;
[0360]觸發(fā)對所述應(yīng)用程序中的注入操作進(jìn)行第二安全檢測;
[0361]當(dāng)所述注入操作通過所述第二安全檢測時,允許執(zhí)行針對所述應(yīng)用程序的進(jìn)程的注入操作;
[0362]當(dāng)所述注入操作未通過所述第二安全檢測時,過濾執(zhí)行針對所述應(yīng)用程序的進(jìn)程的注入操作。
[0363]A21、如A20所述的方法,所述觸發(fā)對所述應(yīng)用程序中的注入操作進(jìn)行第二安全檢測的步驟包括:
[0364]當(dāng)所述外部的應(yīng)用程序在預(yù)置的白名單中匹配成功時,判斷所述注入操作通過所述第二安全檢測;
[0365]當(dāng)所述外部的應(yīng)用程序在預(yù)置的黑名單中匹配成功時,判斷所述注入操作未通過所述第二安全檢測。
[0366]A22、如A21所述的方法,所述觸發(fā)對所述應(yīng)用程序中的注入操作進(jìn)行第二安全檢測的步驟還包括:
[0367]展示對所述應(yīng)用程序中的注入操作的第二安全檢測的結(jié)果。
[0368]A23、如Al所述的方法,所述預(yù)定事件包括內(nèi)存讀寫操作事件;所述檢測到所述應(yīng)用程序運行過程中的預(yù)定事件的步驟包括:
[0369]在預(yù)置的函數(shù)表中查找所述定類型的應(yīng)用程序?qū)?yīng)的系統(tǒng)函數(shù);
[0370]掛鉤所述應(yīng)用程序?qū)?yīng)的系統(tǒng)函數(shù);
[0371]在所述應(yīng)用程序?qū)?yīng)的系統(tǒng)函數(shù)被調(diào)用時,判斷所述系統(tǒng)函數(shù)是否為外部的應(yīng)用程序調(diào)用;若是,則判斷檢測到所述應(yīng)用程序運行過程中的內(nèi)存讀寫操作事件。
[0372]A24、如A23所述的方法,所述觸發(fā)對所述應(yīng)用程序中的預(yù)定事件的第二安全檢測的步驟包括:
[0373]阻斷執(zhí)行針對所述應(yīng)用程序的內(nèi)存讀寫操作;
[0374]觸發(fā)對所述應(yīng)用程序中的讀寫操作的第二安全檢測;
[0375]當(dāng)所述內(nèi)存讀寫操作通過所述第二安全檢測時,允許執(zhí)行針對所述應(yīng)用程序的內(nèi)存讀寫操作;
[0376]當(dāng)所述內(nèi)存讀寫操作未通過所述第二安全檢測時,過濾執(zhí)行針對所述應(yīng)用程序的內(nèi)存讀寫操作。
[0377]A25、如A24所述的方法,所述觸發(fā)對所述應(yīng)用程序中的讀寫操作的第二安全檢測的步驟包括:
[0378]當(dāng)所述外部的應(yīng)用程序在預(yù)置的白名單中匹配成功時,判斷所述內(nèi)存讀寫操作通過所述第二安全檢測;
[0379]當(dāng)所述外部的應(yīng)用程序在預(yù)置的黑名單中匹配成功時,判斷所述內(nèi)存讀寫操作未通過所述第二安全檢測。
[0380]A26、如A25所述的方法,所述觸發(fā)對所述應(yīng)用程序中的讀寫操作的第二安全檢測的步驟還包括:
[0381]展示對所述應(yīng)用程序的內(nèi)存讀寫操作的第二安全檢測的結(jié)果。
【權(quán)利要求】
1.一種運行應(yīng)用程序的方法,包括: 掃描到當(dāng)前操作系統(tǒng)中指定類型的應(yīng)用程序; 檢測到指定類型的應(yīng)用程序的啟動操作; 在所述應(yīng)用程序啟動前,對所述應(yīng)用程序所在運行環(huán)境的進(jìn)行第一安全檢測; 在第一安全檢測的結(jié)果為所述運行環(huán)境安全后,啟動所述應(yīng)用程序; 檢測到所述應(yīng)用程序運行過程中的預(yù)定事件,觸發(fā)對所述應(yīng)用程序中的預(yù)定事件的第二安全檢測。
2.如權(quán)利要求1所述的方法,其特征在于,所述掃描到當(dāng)前操作系統(tǒng)中指定類型的應(yīng)用程序的步驟包括: 獲取被觸發(fā)的當(dāng)前應(yīng)用程序的進(jìn)程的名稱; 判斷所述名稱是否與預(yù)設(shè)的第一文件名相同;若是,則采用所述應(yīng)用程序的指定屬性判斷所述應(yīng)用程序是否為指定類型的應(yīng)用程序。
3.如權(quán)利要求2所述的方法,其特征在于,所述指定屬性包括注冊表信息; 所述采用所述應(yīng)用程序的指定屬性判斷所述應(yīng)用程序是否為指定類型的應(yīng)用程序的步驟包括: 判斷所述應(yīng)用程序的注冊表信息是否與預(yù)置的特征注冊表信息匹配;若是,則判斷所述應(yīng)用程序為指定類型的應(yīng)用程序。
4.如權(quán)利要求2所述的方法,其特征在于,所述指定屬性包括圖標(biāo); 所述采用所述應(yīng)用程序的指定屬性判斷所述應(yīng)用程序是否為指定類型的應(yīng)用程序的步驟包括: 判斷所述應(yīng)用程序的圖標(biāo)是否與預(yù)置的特征圖標(biāo)匹配;若是,則判斷所述應(yīng)用程序為指定類型的應(yīng)用程序。
5.如權(quán)利要求2所述的方法,其特征在于,所述指定屬性包括第二文件名和所屬的平臺名稱; 所述采用所述應(yīng)用程序的指定屬性判斷所述應(yīng)用程序是否為指定類型的應(yīng)用程序的步驟包括: 判斷預(yù)置的第二文件名是否在所述應(yīng)用程序的文件中存在,且,所述應(yīng)用程序所屬的平臺名稱與預(yù)置的特征平臺名稱匹配;若是,則判斷所述應(yīng)用程序為指定類型的應(yīng)用程序。
6.如權(quán)利要求1所述的方法,其特征在于,所述檢測到指定類型的應(yīng)用程序的啟動操作的步驟包括: 獲取待檢測應(yīng)用程序在啟動時的進(jìn)程信息; 判斷所述進(jìn)程信息與預(yù)置的第一特征進(jìn)程信息是否匹配;若是,則判斷所述進(jìn)程信息與預(yù)置的第二特征進(jìn)程信息是否匹配; 當(dāng)所述進(jìn)程信息與預(yù)置的第二特征進(jìn)程信息匹配時,判斷檢測到指定類型的應(yīng)用程序的啟動操作。
7.如權(quán)利要求1所述的方法,其特征在于,所述指定類型的應(yīng)用程序包括瀏覽器;所述檢測到指定類型的應(yīng)用程序的啟動操作的步驟包括: 接收到一網(wǎng)址安全組件攔截到的、所述瀏覽器所請求的網(wǎng)頁標(biāo)識; 判斷所述網(wǎng)頁標(biāo)識是否與預(yù)置的特征網(wǎng)頁標(biāo)識匹配;若是,則判斷檢測到瀏覽器的啟動操作。
8.如權(quán)利要求1所述的方法,其特征在于,所述在所述應(yīng)用程序啟動前,對所述應(yīng)用程序所在運行環(huán)境的進(jìn)行第一安全檢測的步驟包括: 阻斷所述應(yīng)用程序的啟動操作; 對阻斷啟動操作的應(yīng)用程序所在的運行環(huán)境進(jìn)行第一安全檢測。
9.如權(quán)利要求8所述的方法,其特征在于,所述阻斷所述應(yīng)用程序的啟動操作的步驟包括: 判斷所述應(yīng)用程序啟動操作對應(yīng)的啟動方式; 當(dāng)所述啟動方式為由一特定程序以外的方式啟動時,阻斷所述應(yīng)用程序的進(jìn)程的啟動。
10.如權(quán)利要求8所述的方法,其特征在于,所述對阻斷啟動操作的應(yīng)用程序所在的運行環(huán)境進(jìn)行第一安全檢測的步驟包括: 調(diào)用內(nèi)置的云安全組件對阻斷啟動操作的應(yīng)用程序所在的運行環(huán)境進(jìn)行第一安全檢測。
【文檔編號】G06F21/56GK104268476SQ201410523202
【公開日】2015年1月7日 申請日期:2014年9月30日 優(yōu)先權(quán)日:2014年9月30日
【發(fā)明者】葛山, 王力, 何孟東, 謝京輝 申請人:北京奇虎科技有限公司, 奇智軟件(北京)有限公司