本發(fā)明涉及漏洞防御領(lǐng)域,具體而言,涉及一種漏洞的防御方法和裝置。
背景技術(shù):
一般情況下,某應(yīng)用被發(fā)現(xiàn)漏洞,此漏洞往往是由于應(yīng)用本身甚至是運行次應(yīng)用的操作系統(tǒng)在設(shè)計邏輯或者代碼本身存在安全問題,導(dǎo)致漏洞產(chǎn)生?,F(xiàn)有的技術(shù)方案為了修復(fù)此應(yīng)用的漏洞,需要漏洞修復(fù)的開發(fā)人員擁有應(yīng)用本身的源代碼或操作系統(tǒng)的源代碼。
針對上述的問題,目前尚未提出有效的解決方案。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例提供了一種漏洞的防御方法和裝置,以至少解決需要源碼才能修復(fù)漏洞的技術(shù)問題。
根據(jù)本發(fā)明實施例的一個方面,提供了一種漏洞的防御方法,包括:獲取目標(biāo)應(yīng)用的加固程序和漏洞防御程序,其中,所述加固程序用于對所述目標(biāo)應(yīng)用進行加固,所述漏洞防御程序用于對所述目標(biāo)應(yīng)用中的漏洞進行防御;將所述漏洞防御程序集成到所述加固程序中,得到集成后的加固程序;利用所述集成后的加固程序?qū)ι鲜瞿繕?biāo)應(yīng)用進行加固,得到加固后的目標(biāo)應(yīng)用,其中,在所述加固后的目標(biāo)應(yīng)用運行時,所述加固程序、所述目標(biāo)應(yīng)用和所述漏洞防御程序運行在相同的進程中;運行所述加固后的目標(biāo)應(yīng)用,以觸發(fā)所述漏洞防御程序?qū)λ瞿繕?biāo)應(yīng)用進行漏洞防御。
根據(jù)本發(fā)明實施例的另一方面,還提供了一種漏洞的防御裝置,包括:獲取單元,用于獲取目標(biāo)應(yīng)用的加固程序和漏洞防御程序,其中,所述加固程序用于對所述目標(biāo)應(yīng)用進行加固,所述漏洞防御程序用于對所述目標(biāo)應(yīng)用中的漏洞進行防御;集成單元,用于將所述漏洞防御程序集成到所述加固程序中,得到集成后的加固程序;加固單元,用于利用所述集成后的加固程序?qū)ι鲜瞿繕?biāo)應(yīng)用進行加固,得到加固后的目標(biāo)應(yīng)用,其中,在所述加固后的目標(biāo)應(yīng)用運行時,所述加固程序、所述目標(biāo)應(yīng)用和所述漏洞防御程序運行在相同的進程中;運行單元,用于運行所述加固后的目標(biāo)應(yīng)用,以觸發(fā)所述漏洞防御程序?qū)λ瞿繕?biāo)應(yīng)用進行漏洞防御。
在本發(fā)明實施例中,采用獲取目標(biāo)應(yīng)用的加固程序和漏洞防御程序,其中,所述加固程序用于對所述目標(biāo)應(yīng)用進行加固,所述漏洞防御程序用于對所述目標(biāo)應(yīng)用中的漏洞進行防御;將所述漏洞防御程序集成到所述加固程序中,得到集成后的加固程序;利用所述集成后的加固程序?qū)ι鲜瞿繕?biāo)應(yīng)用進行加固,得到加固后的目標(biāo)應(yīng)用,其中,在所述加固后的目標(biāo)應(yīng)用運行時,所述加固程序、所述目標(biāo)應(yīng)用和所述漏洞防御程序運行在相同的進程中;運行所述加固后的目標(biāo)應(yīng)用,以觸發(fā)所述漏洞防御程序?qū)λ瞿繕?biāo)應(yīng)用進行漏洞防御,通過將漏洞防御程序集成在目標(biāo)應(yīng)用的加固程序中,達到了使漏洞防御程序與目標(biāo)程序運行在同一進程中,并對目標(biāo)應(yīng)用進行有效的漏洞防御的目的,從而實現(xiàn)了不需要獲取源碼即可修復(fù)漏洞的技術(shù)效果,進而解決了需要源碼才能修復(fù)漏洞的技術(shù)問題。
附圖說明
此處所說明的附圖用來提供對本發(fā)明的進一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中:
圖1是根據(jù)本發(fā)明實施例的硬件環(huán)境的架構(gòu)圖;
圖2是根據(jù)本發(fā)明實施例的一種可選的漏洞的防御方法的流程圖;
圖3是根據(jù)本發(fā)明實施例的一種可選的加載網(wǎng)頁漏洞的防御方法的流程圖;
圖4是根據(jù)本發(fā)明實施例的一種可選的漏洞的防御裝置的示意圖;
圖5是根據(jù)本發(fā)明實施例的終端的示意圖。
具體實施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分的實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應(yīng)當(dāng)屬于本發(fā)明保護的范圍。
需要說明的是,本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語“第一”、“第二”等是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的數(shù)據(jù)在適當(dāng)情況下可以互換,以便這里描述的本發(fā)明的實施例能夠以除了在這里圖示或描述的那些以外的順序?qū)嵤?。此外,術(shù)語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或?qū)τ谶@些過程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。
實施例1
根據(jù)本發(fā)明實施例,提供了一種可以通過本申請裝置實施例執(zhí)行的方法實施例,需要說明的是,在附圖的流程圖示出的步驟可以在諸如一組計算機可執(zhí)行指令的計算機系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
根據(jù)本發(fā)明實施例,提供了一種漏洞的防御方法。
可選地,在本實施例中,上述漏洞的防御方法可以應(yīng)用于如圖1所示的終端102和服務(wù)器104所構(gòu)成的硬件環(huán)境中。如圖1所示,終端102通過網(wǎng)絡(luò)與服務(wù)器104進行連接,上述網(wǎng)絡(luò)包括但不限于:移動通信網(wǎng)絡(luò)、廣域網(wǎng)、城域網(wǎng)或局域網(wǎng),終端102可以是手機終端,也可以是PC終端、筆記本終端或平板電腦終端。
圖1中示出的硬件環(huán)境系統(tǒng)的主要工作原理是:
以終端102為手機為例,通過手機上預(yù)先安裝的加固工具對目標(biāo)應(yīng)用進行加固,以使加固后的目標(biāo)應(yīng)用具備漏洞防御功能。具體地,加固工具可以從手機中獲取目標(biāo)應(yīng)用的加固程序和漏洞防御程序,也可以通過網(wǎng)絡(luò)從服務(wù)器104中獲取目標(biāo)應(yīng)用的加固程序和漏洞防御程序,并將漏洞防御程序集成到加固程序中,得到集成后的加固程序。利用集成后的加固程序?qū)κ謾C中的目標(biāo)應(yīng)用進行加固,從而得到加固后的目標(biāo)應(yīng)用。加固后的目標(biāo)應(yīng)用在運行時,會觸發(fā)漏洞防御程序?qū)δ繕?biāo)應(yīng)用進行漏洞防御,并且,加固程序、目標(biāo)應(yīng)用以及漏洞防御程序都運行在手機的同一個進程中,以使漏洞防御程序?qū)δ繕?biāo)應(yīng)用進行有效的漏洞防御。
可選地,在漏洞防御程序?qū)δ繕?biāo)應(yīng)用進行漏洞防御時,手機還可以通過網(wǎng)絡(luò)與服務(wù)器104進行連接和交互,通過服務(wù)器中的云端下發(fā)指令,控制漏洞防御程序是否執(zhí)行漏洞防御,或者進行防御的漏洞類型,或者在發(fā)現(xiàn)漏洞之后,對漏洞的處理方式,從而漏洞防御更加靈活。
圖2是根據(jù)本發(fā)明實施例的一種可選的漏洞的防御方法的流程圖,以下結(jié)合圖2對本發(fā)明實施例所提供的漏洞的防御方法做具體介紹,如圖2所示,該漏洞的防御方法主要包括如下步驟S202至步驟S208:
步驟S202,獲取目標(biāo)應(yīng)用的加固程序和漏洞防御程序,其中,加固程序用于對目標(biāo)應(yīng)用進行加固,漏洞防御程序用于對目標(biāo)應(yīng)用中的漏洞進行防御。
在本發(fā)明實施例中,加固程序主要是通過對目標(biāo)應(yīng)用的APK(Android Package,是一種Android操作系統(tǒng)上的應(yīng)用程序安裝文件格式)進行加殼處理,把原來的DEX(Android平臺上可執(zhí)行文件的類型)文件隱藏起來,通過在加固的程序中集成反注入、反調(diào)試等安全性功能,使得加固后的目標(biāo)應(yīng)用的APK具備反編譯,反調(diào)試,反篡改等功能,同時通過加固程序加固后的目標(biāo)應(yīng)用與未加固的目標(biāo)應(yīng)用具有完全相同的功能。上述漏洞防御程序可以用目標(biāo)應(yīng)用中的漏洞進行防御。
步驟S204,將漏洞防御程序集成到加固程序中,得到集成后的加固程序。
在本發(fā)明實施例中,將能夠?qū)δ繕?biāo)應(yīng)用中的漏洞進行防御的漏洞防御程序集成到加固程序中,得到集成了漏洞防御程序的加固程序。
步驟S206,利用集成后的加固程序?qū)ι鲜瞿繕?biāo)應(yīng)用進行加固,得到加固后的目標(biāo)應(yīng)用,其中,在加固后的目標(biāo)應(yīng)用運行時,加固程序、目標(biāo)應(yīng)用和漏洞防御程序運行在相同的進程中。
在本發(fā)明實施例中,利用上述集成了漏洞防御程序的加固程序?qū)δ繕?biāo)應(yīng)用進行加固,得到加固后的目標(biāo)應(yīng)用,加固后的目標(biāo)應(yīng)用與未加固的目標(biāo)應(yīng)用具有完全相同的功能,同時,加固后的目標(biāo)應(yīng)用能夠?qū)δ繕?biāo)應(yīng)用中的漏洞進行防御。加固后的目標(biāo)應(yīng)用在運行時,加固程序、目標(biāo)應(yīng)用和漏洞防御程序運行在同一個進程中,因此,漏洞防御程序與目標(biāo)應(yīng)用程序具有相同的權(quán)限,從而使漏洞防御程序?qū)δ繕?biāo)應(yīng)用進行有效的漏洞防御。
步驟S208,運行加固后的目標(biāo)應(yīng)用,以觸發(fā)漏洞防御程序?qū)δ繕?biāo)應(yīng)用進行漏洞防御。
在本發(fā)明實施例中,在得到上述加固后的目標(biāo)應(yīng)用之后,通過運行加固后的目標(biāo)應(yīng)用,觸發(fā)集成在加固程序中的漏洞防御程序,從而使漏洞防御程序?qū)δ繕?biāo)應(yīng)用進行漏洞防御。
在本發(fā)明實施例中,采用獲取目標(biāo)應(yīng)用的加固程序和漏洞防御程序,其中,加固程序用于對目標(biāo)應(yīng)用進行加固,漏洞防御程序用于對目標(biāo)應(yīng)用中的漏洞進行防御;將漏洞防御程序集成到加固程序中,得到集成后的加固程序;利用集成后的加固程序?qū)ι鲜瞿繕?biāo)應(yīng)用進行加固,得到加固后的目標(biāo)應(yīng)用,其中,在加固后的目標(biāo)應(yīng)用運行時,加固程序、目標(biāo)應(yīng)用和漏洞防御程序運行在相同的進程中;運行加固后的目標(biāo)應(yīng)用,以觸發(fā)漏洞防御程序?qū)δ繕?biāo)應(yīng)用進行漏洞防御,通過將漏洞防御程序集成在目標(biāo)應(yīng)用的加固程序中,達到了使漏洞防御程序與目標(biāo)程序運行在同一進程中,并對目標(biāo)應(yīng)用進行有效的漏洞防御的目的,從而實現(xiàn)了不需要獲取源碼即可修復(fù)漏洞的技術(shù)效果,進而解決了需要源碼才能修復(fù)漏洞的技術(shù)問題。
可選地,運行加固后的目標(biāo)應(yīng)用,以觸發(fā)漏洞防御程序?qū)δ繕?biāo)應(yīng)用進行漏洞防御包括:觸發(fā)漏洞防御程序?qū)δ繕?biāo)應(yīng)用的目標(biāo)對象進行監(jiān)控;判斷與目標(biāo)對象相關(guān)的待執(zhí)行操作是否存在威脅;在判斷出與目標(biāo)對象相關(guān)的待執(zhí)行操作存在威脅時,終止執(zhí)行與目標(biāo)對象相關(guān)的待執(zhí)行操作。
作為本發(fā)明實施例的一種可選地實施方式,在運行加固后的目標(biāo)應(yīng)用時,觸發(fā)集成在加固程序中的漏洞防御程序,從而對目標(biāo)程序進行有效地漏洞防御。在目標(biāo)程序中存在漏洞時,通過目標(biāo)程序中的漏洞對目標(biāo)應(yīng)用中的目標(biāo)對象執(zhí)行一定的操作,能夠?qū)?yīng)用程序造成安全威脅。漏洞防御程序在目標(biāo)應(yīng)用運行時對目標(biāo)應(yīng)用中的目標(biāo)對象進行監(jiān)控,通過判斷與目標(biāo)對象相關(guān)的待執(zhí)行的操作是否存在威脅,來確定是否執(zhí)行待執(zhí)行的操作,如果待執(zhí)行操作具備威脅,則終止執(zhí)行待執(zhí)行操作,如果待執(zhí)行操作不具備威脅,則允許執(zhí)行待執(zhí)行操作。
可選地,判斷與目標(biāo)對象相關(guān)的待執(zhí)行操作是否存在威脅包括:獲取目標(biāo)應(yīng)用在調(diào)用目標(biāo)對象時的參數(shù),其中,目標(biāo)應(yīng)用執(zhí)行與參數(shù)相關(guān)的待執(zhí)行操作;向云端發(fā)送參數(shù);接收云端發(fā)送的第一指令,其中,第一指令用于指示參數(shù)與云端的數(shù)據(jù)庫中預(yù)先存儲的漏洞樣本一致,其中,在參數(shù)與云端的數(shù)據(jù)庫中預(yù)先存儲的漏洞樣本一致時,確定與目標(biāo)對象相關(guān)的待執(zhí)行操作存在威脅。
作為本發(fā)明實施例的一種可選地實施方式,可以通過云端來判斷與目標(biāo)對象相關(guān)的待執(zhí)行操作是否存在威脅,具體地,在目標(biāo)應(yīng)用運行時,通過漏洞防御程序?qū)δ繕?biāo)對象進行監(jiān)控,從而獲取目標(biāo)應(yīng)用在調(diào)用目標(biāo)對象時的參數(shù),該參數(shù)與目標(biāo)應(yīng)用所要執(zhí)行待執(zhí)行操作有關(guān)。通過漏洞防御程序?qū)⒃搮?shù)發(fā)送給云端,由云端判斷與該參數(shù)有關(guān)的待執(zhí)行操作是否具備威脅,可選地,云端可以將該參數(shù)與存儲在云端的數(shù)據(jù)庫中的漏洞數(shù)據(jù)樣本進行比對,如果比對一致,則云端下發(fā)第一指令,指示與該參數(shù)有關(guān)的待執(zhí)行操作具備威脅,本地接收到云端下發(fā)的第一指令即可確定待執(zhí)行操作具備威脅。
可選地,判斷與目標(biāo)對象相關(guān)的待執(zhí)行操作是否存在威脅包括:獲取目標(biāo)應(yīng)用在調(diào)用目標(biāo)對象時的參數(shù),其中,目標(biāo)應(yīng)用執(zhí)行與參數(shù)相關(guān)的待執(zhí)行操作;將參數(shù)與漏洞防御程序的數(shù)據(jù)庫中預(yù)先存儲的漏洞樣本進行比對;若比對出數(shù)據(jù)庫中存儲有參數(shù),則確定與目標(biāo)對象相關(guān)的待執(zhí)行操作存在威脅。
作為本發(fā)明實施例的一種可選地實施方式,在未通過網(wǎng)絡(luò)與云端進行連接時,還可以在本地直接判斷待執(zhí)行操作是否存在威脅,具體地,在目標(biāo)應(yīng)用運行時,通過漏洞防御程序?qū)δ繕?biāo)對象進行監(jiān)控,從而獲取目標(biāo)應(yīng)用在調(diào)用目標(biāo)對象時的參數(shù),該參數(shù)與目標(biāo)應(yīng)用所要執(zhí)行待執(zhí)行操作有關(guān)。將該參數(shù)與預(yù)先存儲在漏洞防御程序的數(shù)據(jù)庫中的漏洞數(shù)據(jù)樣本進行比對,如果該參數(shù)與漏洞數(shù)據(jù)樣本中的數(shù)據(jù)比對一致,則確定待執(zhí)行操作具備威脅。
可選地,觸發(fā)漏洞防御程序?qū)δ繕?biāo)應(yīng)用的目標(biāo)對象進行監(jiān)控包括:觸發(fā)漏洞防御程序的HOOK程序鉤取參數(shù),以對目標(biāo)對象進行監(jiān)控。
作為本發(fā)明實施例的一種可選地實施方式,在漏洞防御程序中包括有HOOK程序,在觸發(fā)漏洞防御程序?qū)δ繕?biāo)應(yīng)用進行漏洞防御時,HOOK程序通過鉤取目標(biāo)應(yīng)用調(diào)用目標(biāo)對象時的參數(shù),實現(xiàn)對目標(biāo)對象的監(jiān)控。
可選地,在觸發(fā)漏洞防御程序?qū)δ繕?biāo)應(yīng)用進行漏洞防御之前,方法還包括:接收云端下發(fā)的第二指令,其中,第二指令用于指示漏洞防御程序執(zhí)行目標(biāo)方案進行漏洞防御;根據(jù)第二指令指示漏洞防御程序按照目標(biāo)方案對目標(biāo)應(yīng)用進行漏洞防御。
作為本發(fā)明實施例的一種可選地實施方式,可以通過云端對漏洞防御程序進行控制,從而靈活地對目標(biāo)應(yīng)用進行漏洞進行防御。具體地,觸發(fā)漏洞防御程序?qū)δ繕?biāo)應(yīng)用進行漏洞防制之前,云端下發(fā)第二指令,第二指令中包括進行漏洞防御的目標(biāo)方案,根據(jù)第二指令所指示的目標(biāo)方案,控制漏洞防御程序?qū)δ繕?biāo)程序進行漏洞防御。
可選地,目標(biāo)方案包括待防御漏洞的類型,根據(jù)第二指令指示漏洞防御程序按照目標(biāo)方案對目標(biāo)應(yīng)用進行漏洞防御包括:根據(jù)第二指令指示漏洞防御程序按照待防御漏洞的類型對目標(biāo)應(yīng)用進行漏洞防御。
作為本發(fā)明實施例的一種可選地實施方式,目標(biāo)方案可以用于指示進行漏洞防御的漏洞類型,云端通過下發(fā)第二指令指示要防御的漏洞的類型,并控制漏洞防御程序按照漏洞的類型對目標(biāo)應(yīng)用進行防御。
可選地,目標(biāo)方案包括漏洞處理方式,在根據(jù)第二指令指示漏洞防御程序按照待防御漏洞的類型對目標(biāo)應(yīng)用進行漏洞防御之后,方法還包括:在檢測到目標(biāo)應(yīng)用具有漏洞后,按照漏洞處理方式對檢測到的漏洞進行處理,其中,漏洞處理方式與待防御漏洞的類型相匹配。
作為本發(fā)明實施例的一種可選地實施方式,目標(biāo)方案還可以用于指示對進行漏洞防御的處理方式。具體地,云端下發(fā)第二指令,指示要防御的漏洞類型以及處理該類型的漏洞所采取的方式,控制漏洞防御程序按照云端下發(fā)的第二指令所指示的漏洞的類型對目標(biāo)應(yīng)用進行防御,并在檢測出目標(biāo)應(yīng)用具有漏洞之后,按照批二指令指示的處理方式,對檢測到的漏洞進行處理。
可選地,目標(biāo)方案包括關(guān)閉/開啟指令,根據(jù)第二指令指示漏洞防御程序按照目標(biāo)方案對目標(biāo)應(yīng)用進行漏洞防御包括:在目標(biāo)方案為關(guān)閉指令時,根據(jù)第二指令指示漏洞防御程序停止對目標(biāo)應(yīng)用進行漏洞防御;或者在目標(biāo)方案為開啟指令時,根據(jù)第二指令指示漏洞防御程序開啟對目標(biāo)應(yīng)用進行漏洞防御。
作為本發(fā)明實施例的一種可選地實施方式,目標(biāo)方案還可以包括開啟或者關(guān)閉指令。具體地,云端通過下發(fā)第二指令指示停止或者開啟對目標(biāo)應(yīng)用的漏洞防御。如果第二指令指示停止對目標(biāo)應(yīng)用的漏洞防御,則控制漏洞防御程序停止對目標(biāo)程序進行漏洞防御,如果第二指令指示停開啟對目標(biāo)應(yīng)用的漏洞防御,則控制漏洞防御程序開啟對目標(biāo)應(yīng)用的漏洞防御。
圖3是根據(jù)本發(fā)明實施例的一種可選的加載網(wǎng)頁漏洞的防御方法的流程圖,加載網(wǎng)頁漏洞是攻擊者利用WebView(Android系統(tǒng)用于加載網(wǎng)頁的控件)在APP中展示W(wǎng)EB頁面的功能,利用WebView加載惡意的URL來執(zhí)行釣魚等惡意操作。在該實施例中,采用云端對獲取的參數(shù)進行比對的方式,從而判斷出待執(zhí)行操作是存在威脅,如圖3所示,該方法包括如下步驟:
步驟S301,開始。在開始之前,通過加固工具加載加固程序?qū)δ繕?biāo)應(yīng)用進行加固,在加固程序中集成了漏洞防御程序。加固后的目標(biāo)應(yīng)用在運行時,觸發(fā)漏洞防御程序?qū)δ繕?biāo)應(yīng)用進行漏洞防御。
步驟S302,采用HOOK技術(shù)對加載URL的接口進行監(jiān)控。上述漏洞防御程序中包括HOOK程序,在觸發(fā)漏洞防御程序?qū)δ繕?biāo)應(yīng)用進行漏洞防御之后,HOOK程序?qū)δ繕?biāo)應(yīng)用中加載展示頁面的接口進行監(jiān)控,從而獲取URL的具體內(nèi)容。
步驟S303,將獲取到的URL發(fā)送到云端。云端中存儲有大量的URL樣本數(shù)據(jù),將獲取到的URL發(fā)送至云端,通過云端將URL與樣本數(shù)據(jù)進行比對,以判斷出該URL是否合法。
步驟S304,判斷是否進行漏洞防御。在本發(fā)明實施例中,云端接收到URL之后,判斷當(dāng)前是否開啟對該漏洞的漏洞防御功能,如果當(dāng)前開啟漏洞防御,則通過云端進行比對,如果不開啟漏洞防御,則云端不進行比對,直接跳轉(zhuǎn)到步驟S307。
步驟S305,如果進行漏洞防御,則獲取云端的URL樣本;如果不進行漏洞防御,則跳轉(zhuǎn)至步驟S307。在云端判斷出當(dāng)前要對該漏洞進行漏洞防御之后,獲取存儲在云端的樣本數(shù)據(jù),以將URL與樣本數(shù)據(jù)進行比對。
步驟S306,通過比對判斷URL是否合法,如果URL合法,則跳轉(zhuǎn)到步驟S307,如果URL不合法,則跳轉(zhuǎn)到步驟S308。在本發(fā)明實施例中,樣本數(shù)據(jù)中的URL為合法的URL,因此,如果比對結(jié)果為該URL與樣本數(shù)據(jù)中的某個URL一致,則表明該URL合法,繼續(xù)執(zhí)行步驟S307,如果比對結(jié)果為該URL與樣本數(shù)據(jù)均不一致,則表明該URL不合法,直接跳轉(zhuǎn)至步驟S308。
步驟S307,允許加載該URL。在該步驟中,如果云端判斷出不對該漏洞進行防御,或者經(jīng)過比對該URL合法,則通過下發(fā)指令指示允許加載該URL。
頻驟S308,不允許加載該URL。如果通過比對判斷出該URL不合法,則云端下發(fā)指令指示不允許加載該URL。
作為本發(fā)明的一種可選的實施方式,在加固程序中還可以集成數(shù)據(jù)上報程序,該數(shù)據(jù)上報程序用于搜集漏洞防御的相關(guān)數(shù)據(jù),如:何種目標(biāo)應(yīng)用存在較多的漏洞,目標(biāo)應(yīng)用存在何種漏洞,或者漏洞相關(guān)的待執(zhí)行操作及相關(guān)參數(shù)的特點等。將搜集到的數(shù)據(jù)發(fā)送給云端,由云端對數(shù)據(jù)進行分析,可選地,通過機器學(xué)習(xí)的方法,對數(shù)據(jù)進行學(xué)習(xí),從而對漏洞防御程序、漏洞防御方案進行優(yōu)化和改進。
需要說明的是,對于前述的各方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明并不受所描述的動作順序的限制,因為依據(jù)本發(fā)明,某些步驟可以采用其他順序或者同時進行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實施例均屬于優(yōu)選實施例,所涉及的動作和模塊并不一定是本發(fā)明所必須的。
通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到根據(jù)上述實施例的方法可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當(dāng)然也可以通過硬件,但很多情況下前者是更佳的實施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)(如ROM/RAM、磁碟、光盤)中,包括若干指令用以使得一臺終端設(shè)備(可以是手機,計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例的方法。
實施例2
根據(jù)本發(fā)明實施例,還提供了一種用于實施上述漏洞防御方法的漏洞防御裝置,該漏洞防御裝置主要用于執(zhí)行本發(fā)明實施例上述內(nèi)容所提供的漏洞防御方法,以下對本發(fā)明實施例所提供的漏洞防御裝置做具體介紹:
圖4是根據(jù)本發(fā)明實施例的一種可選的漏洞防御裝置的示意圖,如圖4所示,該漏洞防御裝置主要包括:
獲取單元410用于獲取目標(biāo)應(yīng)用的加固程序和漏洞防御程序,其中,加固程序用于對目標(biāo)應(yīng)用進行加固,漏洞防御程序用于對目標(biāo)應(yīng)用中的漏洞進行防御。
在本發(fā)明實施例中,加固程序主要是通過對目標(biāo)應(yīng)用的APK(Android Package,是一種Android操作系統(tǒng)上的應(yīng)用程序安裝文件格式)進行加殼處理,把原來的DEX(Android平臺上可執(zhí)行文件的類型)文件隱藏起來,通過在加固的程序中集成反注入、反調(diào)試等安全性功能,使得加固后的目標(biāo)應(yīng)用的APK具備反編譯,反調(diào)試,反篡改等功能,同時通過加固程序加固后的目標(biāo)應(yīng)用與未加固的目標(biāo)應(yīng)用具有完全相同的功能。上述漏洞防御程序可以用目標(biāo)應(yīng)用中的漏洞進行防御。
集成單元420用于將漏洞防御程序集成到加固程序中,得到集成后的加固程序。
在本發(fā)明實施例中,集成單元將能夠?qū)δ繕?biāo)應(yīng)用中的漏洞進行防御的漏洞防御程序集成到加固程序中,得到集成了漏洞防御程序的加固程序。
加固單元430,用于利用集成后的加固程序?qū)ι鲜瞿繕?biāo)應(yīng)用進行加固,得到加固后的目標(biāo)應(yīng)用,其中,在加固后的目標(biāo)應(yīng)用運行時,加固程序、目標(biāo)應(yīng)用和漏洞防御程序運行在相同的進程中。
在本發(fā)明實施例中,加固單元利用上述集成了漏洞防御程序的加固程序?qū)δ繕?biāo)應(yīng)用進行加固,得到加固后的目標(biāo)應(yīng)用,加固后的目標(biāo)應(yīng)用與未加固的目標(biāo)應(yīng)用具有完全相同的功能,同時,加固后的目標(biāo)應(yīng)用能夠?qū)δ繎?yīng)用中的漏洞進行防御。加固后的目標(biāo)應(yīng)用在運行時,加固程序、目標(biāo)應(yīng)用和漏洞防御程序運行在同一個進程中,因此,漏洞防御程序與目標(biāo)應(yīng)用程序具有相同的權(quán)限,從而使漏洞防御程序?qū)δ繕?biāo)應(yīng)用進行有效的漏洞防御。
運行單元440用于運行加固后的目標(biāo)應(yīng)用,以觸發(fā)漏洞防御程序?qū)δ繕?biāo)應(yīng)用進行漏洞防御。
在本發(fā)明實施例中,在得到上述加固后的目標(biāo)應(yīng)用之后,運行單元通過運行加固后的目標(biāo)應(yīng)用,觸發(fā)集成在加固程序中的漏洞防御程序,從而使漏洞防御程序?qū)δ繕?biāo)應(yīng)用進行漏洞防御。
在本發(fā)明實施例中,采用獲取目標(biāo)應(yīng)用的加固程序和漏洞防御程序,其中,加固程序用于對目標(biāo)應(yīng)用進行加固,漏洞防御程序用于對目標(biāo)應(yīng)用中的漏洞進行防御;將漏洞防御程序集成到加固程序中,得到集成后的加固程序;利用集成后的加固程序?qū)ι鲜瞿繕?biāo)應(yīng)用進行加固,得到加固后的目標(biāo)應(yīng)用,其中,在加固后的目標(biāo)應(yīng)用運行時,加固程序、目標(biāo)應(yīng)用和漏洞防御程序運行在相同的進程中;運行加固后的目標(biāo)應(yīng)用,以觸發(fā)漏洞防御程序?qū)δ繕?biāo)應(yīng)用進行漏洞防御,通過將漏洞防御程序集成在目標(biāo)應(yīng)用的加固程序中,達到了使漏洞防御程序與目標(biāo)程序運行在同一進程中,并對目標(biāo)應(yīng)用進行有效的漏洞防御的目的,從而實現(xiàn)了不需要獲取源碼即可修復(fù)漏洞的技術(shù)效果,進而解決了需要源碼才能修復(fù)漏洞的技術(shù)問題。
可選地,運行單元包括:觸發(fā)模塊,用于觸發(fā)漏洞防御程序?qū)δ繕?biāo)應(yīng)用的目標(biāo)對象進行監(jiān)控;判斷模塊,用于判斷與目標(biāo)對象相關(guān)的待執(zhí)行操作是否存在威脅;終止模塊,用于在判斷出與目標(biāo)對象相關(guān)的待執(zhí)行操作存在威脅時,終止執(zhí)行與目標(biāo)對象相關(guān)的待執(zhí)行操作。
作為本發(fā)明實施例的一種可選地實施方式,在運行加固后的目標(biāo)應(yīng)用時,觸發(fā)模塊觸發(fā)集成在加固程序中的漏洞防御程序,從而對目標(biāo)程序進行有效地漏洞防御。在目標(biāo)程序中存在漏洞時,通過目標(biāo)程序中的漏洞對目標(biāo)應(yīng)用中的目標(biāo)對象執(zhí)行一定的操作,能夠?qū)?yīng)用程序造成安全威脅。漏洞防御程序在目標(biāo)應(yīng)用運行時對目標(biāo)應(yīng)用中的目標(biāo)對象進行監(jiān)控,判斷模塊通過判斷與目標(biāo)對象相關(guān)的待執(zhí)行的操作是否存在威脅,來確定是否執(zhí)行待執(zhí)行的操作,如果待執(zhí)行操作具備威脅,則終止模塊終止執(zhí)行待執(zhí)行操作,如果待執(zhí)行操作不具備威脅,則允許執(zhí)行待執(zhí)行操作。
可選地,判斷模塊包括:第一獲取子模塊,用于獲取目標(biāo)應(yīng)用在調(diào)用目標(biāo)對象時的參數(shù),其中,目標(biāo)應(yīng)用執(zhí)行與參數(shù)相關(guān)的待執(zhí)行操作;發(fā)送子模塊,用于向云端發(fā)送參數(shù);接收子模塊,用于接收云端發(fā)送的第一指令,其中,第一指令用于指示參數(shù)與云端的數(shù)據(jù)庫中預(yù)先存儲的漏洞樣本一致,其中,在參數(shù)與云端的數(shù)據(jù)庫中預(yù)先存儲的漏洞樣本一致時,確定與目標(biāo)對象相關(guān)的待執(zhí)行操作存在威脅。
作為本發(fā)明實施例的一種可選地實施方式,可以通過云端來判斷與目標(biāo)對象相關(guān)的待執(zhí)行操作是否存在威脅,具體地,在目標(biāo)應(yīng)用運行時,通過漏洞防御程序?qū)δ繕?biāo)對象進行監(jiān)控,從而第一獲取子模塊獲取目標(biāo)應(yīng)用在調(diào)用目標(biāo)對象時的參數(shù),該參數(shù)與目標(biāo)應(yīng)用所要執(zhí)行待執(zhí)行操作有關(guān)。發(fā)送子模塊將該參數(shù)發(fā)送給云端,由云端判斷與該參數(shù)有關(guān)的待執(zhí)行操作是否具備威脅,可選地,云端可以將該參數(shù)與存儲在云端的數(shù)據(jù)庫中的漏洞數(shù)據(jù)樣本進行比對,如果比對一致,則云端下發(fā)第一指令,指示與該參數(shù)有關(guān)的待執(zhí)行操作具備威脅,接收子模塊接收到云端下發(fā)的第一指令即可確定待執(zhí)行操作具備威脅。
可選地,判斷模塊包括:第二獲取子模塊,用于獲取目標(biāo)應(yīng)用在調(diào)用目標(biāo)對象時的參數(shù),其中,目標(biāo)應(yīng)用執(zhí)行與參數(shù)相關(guān)的待執(zhí)行操作;比對子模塊將參數(shù)與漏洞防御程序的數(shù)據(jù)庫中預(yù)先存儲的漏洞樣本進行比對;確定子模塊,用于若比對出數(shù)據(jù)庫中存儲有參數(shù),則確定與目標(biāo)對象相關(guān)的待執(zhí)行操作存在威脅。
作為本發(fā)明實施例的一種可選地實施方式,在未通過網(wǎng)絡(luò)與云端進行連接時,還可以在本地直接判斷待執(zhí)行操作是否存在威脅,具體地,在目標(biāo)應(yīng)用運行時,通過漏洞防御程序?qū)δ繕?biāo)對象進行監(jiān)控,從而第二獲取子模塊獲取目標(biāo)應(yīng)用在調(diào)用目標(biāo)對象時的參數(shù),該參數(shù)與目標(biāo)應(yīng)用所要執(zhí)行待執(zhí)行操作有關(guān)。比對子模塊將該參數(shù)與預(yù)先存儲在漏洞防御程序的數(shù)據(jù)庫中的漏洞數(shù)據(jù)樣本進行比對,如果該參數(shù)與漏洞數(shù)據(jù)樣本中的數(shù)據(jù)比對一致,則確定子模塊確定該待執(zhí)行操作具備威脅。
可選地,觸發(fā)模塊包括:觸發(fā)子模塊,用于觸發(fā)漏洞防御程序的HOOK程序鉤取參數(shù),以對目標(biāo)對象進行監(jiān)控。
作為本發(fā)明實施例的一種可選地實施方式,在漏洞防御程序中包括有HOOK程序,在觸發(fā)子模塊觸發(fā)漏洞防御程序?qū)δ繕?biāo)應(yīng)用進行漏洞防御時,HOOK程序通過鉤取目標(biāo)應(yīng)用調(diào)用目標(biāo)對象時的參數(shù),實現(xiàn)對目標(biāo)對象的監(jiān)控。
可選地,裝置還包括:接收單元,用于在觸發(fā)漏洞防御程序?qū)δ繕?biāo)應(yīng)用進行漏洞防御之前,接收云端下發(fā)的第二指令,其中,第二指令用于指示漏洞防御程序執(zhí)行目標(biāo)方案進行漏洞防御;防御單元,用于根據(jù)第二指令指示漏洞防御程序按照目標(biāo)方案對目標(biāo)應(yīng)用進行漏洞防御。
作為本發(fā)明實施例的一種可選地實施方式,可以通過云端對漏洞防御程序進行控制,從而靈活地對目標(biāo)應(yīng)用進行漏洞進行防御。具體地,觸發(fā)漏洞防御程序?qū)δ繕?biāo)應(yīng)用進行漏洞防制之前,云端下發(fā)第二指令,第二指令中包括進行漏洞防御的目標(biāo)方案,根據(jù)第二指令所指示的目標(biāo)方案,控制漏洞防御程序?qū)δ繕?biāo)程序進行漏洞防御。
可選地,目標(biāo)方案包括待防御漏洞的類型,防御單元包括:第一防御模塊,用于根據(jù)第二指令指示漏洞防御程序按照待防御漏洞的類型對目標(biāo)應(yīng)用進行漏洞防御。
作為本發(fā)明實施例的一種可選地實施方式,目標(biāo)方案可以用于指示進行漏洞防御的漏洞類型,云端通過下發(fā)第二指令指示要防御的漏洞的類型,并控制漏洞防御程序按照漏洞的類型對目標(biāo)應(yīng)用進行防御。
可選地,目標(biāo)方案包括漏洞處理方式,防御單元還包括:第二防御模塊,用于在根據(jù)第二指令指示漏洞防御程序按照待防御漏洞的類型對目標(biāo)應(yīng)用進行漏洞防御之后,如果檢測到目標(biāo)應(yīng)用程序具有漏洞,則按照漏洞處理方式對檢測到的漏洞進行處理,其中,漏洞處理方式與待防御漏洞的類型相匹配。
作為本發(fā)明實施例的一種可選地實施方式,目標(biāo)方案還可以用于指示對進行漏洞防御的處理方式。具體地,云端下發(fā)第二指令,指示要防御的漏洞類型以及處理該類型的漏洞所采取的方式,控制漏洞防御程序按照云端下發(fā)的第二指令所指示的漏洞的類型對目標(biāo)應(yīng)用進行防御,并在檢測出目標(biāo)應(yīng)用具有漏洞之后,按照批二指令指示的處理方式,對檢測到的漏洞進行處理。
可選地,目標(biāo)方案包括關(guān)閉/開啟指令,防御單元包括:第三防御模塊,用于在目標(biāo)方案為關(guān)閉指令時,根據(jù)第二指令指示漏洞防御程序停止對目標(biāo)應(yīng)用進行漏洞防御;或者第四防御模塊,用于在目標(biāo)方案為開啟指令時,根據(jù)第二指令指示漏洞防御程序開啟對目標(biāo)應(yīng)用進行漏洞防御。
作為本發(fā)明實施例的一種可選地實施方式,目標(biāo)方案還可以包括開啟或者關(guān)閉指令。具體地,云端通過下發(fā)第二指令指示停止或者開啟對目標(biāo)應(yīng)用的漏洞防御。如果第二指令指示停止對目標(biāo)應(yīng)用的漏洞防御,則控制漏洞防御程序停止對目標(biāo)程序進行漏洞防御,如果第二指令指示停開啟對目標(biāo)應(yīng)用的漏洞防御,則控制漏洞防御程序開啟對目標(biāo)應(yīng)用的漏洞防御。
實施例3
根據(jù)本發(fā)明實施例,還提供了一種用于實施上述漏洞的防御方法的終端,如圖5所示,該終端主要包括處理器501、存儲器502和網(wǎng)絡(luò)接口503,其中:
存儲器502主要用于存儲目標(biāo)應(yīng)用、加固程序、漏洞防御程序以加固后的目標(biāo)應(yīng)用。
網(wǎng)絡(luò)接口503主要用于與云端進行網(wǎng)絡(luò)通信,以獲取加固程序、漏洞防御程序或者進行漏洞防御的目標(biāo)方案。
處理器501主要用于執(zhí)行如下操作:
獲取目標(biāo)應(yīng)用的加固程序和漏洞防御程序,其中,加固程序用于對目標(biāo)應(yīng)用進行加固,漏洞防御程序用于對目標(biāo)應(yīng)用中的漏洞進行防御;將漏洞防御程序集成到加固程序中,得到集成后的加固程序;利用集成后的加固程序?qū)ι鲜瞿繕?biāo)應(yīng)用進行加固,得到加固后的目標(biāo)應(yīng)用,其中,在加固后的目標(biāo)應(yīng)用運行時,加固程序、目標(biāo)應(yīng)用和漏洞防御程序運行在相同的進程中;運行加固后的目標(biāo)應(yīng)用,以觸發(fā)漏洞防御程序?qū)δ繕?biāo)應(yīng)用進行漏洞防御。
處理器501還用于觸發(fā)漏洞防御程序?qū)δ繕?biāo)應(yīng)用的目標(biāo)對象進行監(jiān)控;判斷與目標(biāo)對象相關(guān)的待執(zhí)行操作是否存在威脅;在判斷出與目標(biāo)對象相關(guān)的待執(zhí)行操作存在威脅時,終止執(zhí)行與目標(biāo)對象相關(guān)的待執(zhí)行操作。
處理器501還用于獲取目標(biāo)應(yīng)用在調(diào)用目標(biāo)對象時的參數(shù),其中,目標(biāo)應(yīng)用執(zhí)行與參數(shù)相關(guān)的待執(zhí)行操作;向云端發(fā)送參數(shù);接收云端發(fā)送的第一指令,其中,第一指令用于指示參數(shù)與云端的數(shù)據(jù)庫中預(yù)先存儲的漏洞樣本一致,其中,在參數(shù)與云端的數(shù)據(jù)庫中預(yù)先存儲的漏洞樣本一致時,確定與目標(biāo)對象相關(guān)的待執(zhí)行操作存在威脅。
處理器501還用于獲取目標(biāo)應(yīng)用在調(diào)用目標(biāo)對象時的參數(shù),其中,目標(biāo)應(yīng)用執(zhí)行與參數(shù)相關(guān)的待執(zhí)行操作;將參數(shù)與漏洞防御程序的數(shù)據(jù)庫中預(yù)先存儲的漏洞樣本進行比對;若比對出數(shù)據(jù)庫中存儲有參數(shù),則確定與目標(biāo)對象相關(guān)的待執(zhí)行操作存在威脅。
處理器501還用于觸發(fā)漏洞防御程序的HOOK程序鉤取參數(shù),以對目標(biāo)對象進行監(jiān)控。
處理器501還用于接收云端下發(fā)的第二指令,其中,第二指令用于指示漏洞防御程序執(zhí)行目標(biāo)方案進行漏洞防御;根據(jù)第二指令指示漏洞防御程序按照目標(biāo)方案對目標(biāo)應(yīng)用進行漏洞防御。
處理器501還用于根據(jù)第二指令指示漏洞防御程序按照待防御漏洞的類型對目標(biāo)應(yīng)用進行漏洞防御。
處理器501還用于在檢測到目標(biāo)應(yīng)用具有漏洞后,按照漏洞處理方式對檢測到的漏洞進行處理,其中,漏洞處理方式與待防御漏洞的類型相匹配。
處理器501還用于在目標(biāo)方案為關(guān)閉指令時,根據(jù)第二指令指示漏洞防御程序停止對目標(biāo)應(yīng)用進行漏洞防御;或者在目標(biāo)方案為開啟指令時,根據(jù)第二指令指示漏洞防御程序開啟對目標(biāo)應(yīng)用進行漏洞防御。
可選地,本實施例中的具體示例可以參考上述實施例1和實施例2中所描述的示例,本實施例在此不再贅述。
實施例4
本發(fā)明的實施例還提供了一種存儲介質(zhì)。可選地,在本實施例中,上述存儲介質(zhì)可以用于存儲本發(fā)明實施例的漏洞防御方法的程序代碼。
可選地,在本實施例中,上述存儲介質(zhì)可以位于移動通信網(wǎng)絡(luò)、廣域網(wǎng)、城域網(wǎng)或局域網(wǎng)的網(wǎng)絡(luò)中的多個網(wǎng)絡(luò)設(shè)備中的至少一個網(wǎng)絡(luò)設(shè)備。
可選地,在本實施例中,存儲介質(zhì)被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:
S1,獲取目標(biāo)應(yīng)用的加固程序和漏洞防御程序,其中,加固程序用于對目標(biāo)應(yīng)用進行加固,漏洞防御程序用于對目標(biāo)應(yīng)用中的漏洞進行防御;
S2,將漏洞防御程序集成到加固程序中,得到集成后的加固程序;
S3,利用集成后的加固程序?qū)ι鲜瞿繕?biāo)應(yīng)用進行加固,得到加固后的目標(biāo)應(yīng)用,其中,在加固后的目標(biāo)應(yīng)用運行時,加固程序、目標(biāo)應(yīng)用和漏洞防御程序運行在相同的進程中。
S3,運行加固后的目標(biāo)應(yīng)用,以觸發(fā)漏洞防御程序?qū)δ繕?biāo)應(yīng)用進行漏洞防御。
可選地,在本實施例中,上述存儲介質(zhì)可以包括但不限于:U盤、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、移動硬盤、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
可選地,在本實施例中,處理器根據(jù)存儲介質(zhì)中已存儲的程序代碼執(zhí)行觸發(fā)漏洞防御程序?qū)δ繕?biāo)應(yīng)用的目標(biāo)對象進行監(jiān)控;判斷與目標(biāo)對象相關(guān)的待執(zhí)行操作是否存在威脅;在判斷出與目標(biāo)對象相關(guān)的待執(zhí)行操作存在威脅時,終止執(zhí)行與目標(biāo)對象相關(guān)的待執(zhí)行操作。
可選地,在本實施例中,處理器根據(jù)存儲介質(zhì)中已存儲的程序代碼執(zhí)行獲取目標(biāo)應(yīng)用在調(diào)用目標(biāo)對象時的參數(shù),其中,目標(biāo)應(yīng)用執(zhí)行與參數(shù)相關(guān)的待執(zhí)行操作;向云端發(fā)送參數(shù);接收云端發(fā)送的第一指令,其中,第一指令用于指示參數(shù)與云端的數(shù)據(jù)庫中預(yù)先存儲的漏洞樣本一致,其中,在參數(shù)與云端的數(shù)據(jù)庫中預(yù)先存儲的漏洞樣本一致時,確定與目標(biāo)對象相關(guān)的待執(zhí)行操作存在威脅。
可選地,在本實施例中,處理器根據(jù)存儲介質(zhì)中已存儲的程序代碼執(zhí)行獲取目標(biāo)應(yīng)用在調(diào)用目標(biāo)對象時的參數(shù),其中,目標(biāo)應(yīng)用執(zhí)行與參數(shù)相關(guān)的待執(zhí)行操作;將參數(shù)與漏洞防御程序的數(shù)據(jù)庫中預(yù)先存儲的漏洞樣本進行比對;若比對出數(shù)據(jù)庫中存儲有參數(shù),則確定與目標(biāo)對象相關(guān)的待執(zhí)行操作存在威脅。
可選地,在本實施例中,處理器根據(jù)存儲介質(zhì)中已存儲的程序代碼執(zhí)行觸發(fā)漏洞防御程序的HOOK程序鉤取參數(shù),以對目標(biāo)對象進行監(jiān)控。
可選地,在本實施例中,處理器根據(jù)存儲介質(zhì)中已存儲的程序代碼執(zhí)行接收云端下發(fā)的第二指令,其中,第二指令用于指示漏洞防御程序執(zhí)行目標(biāo)方案進行漏洞防御;根據(jù)第二指令指示漏洞防御程序按照目標(biāo)方案對目標(biāo)應(yīng)用進行漏洞防御。
可選地,在本實施例中,處理器根據(jù)存儲介質(zhì)中已存儲的程序代碼執(zhí)行根據(jù)第二指令指示漏洞防御程序按照待防御漏洞的類型對目標(biāo)應(yīng)用進行漏洞防御。
可選地,在本實施例中,處理器根據(jù)存儲介質(zhì)中已存儲的程序代碼執(zhí)行在檢測到目標(biāo)應(yīng)用具有漏洞后,按照漏洞處理方式對檢測到的漏洞進行處理,其中,漏洞處理方式與待防御漏洞的類型相匹配。
可選地,在本實施例中,處理器根據(jù)存儲介質(zhì)中已存儲的程序代碼執(zhí)行在目標(biāo)方案為關(guān)閉指令時,根據(jù)第二指令指示漏洞防御程序停止對目標(biāo)應(yīng)用進行漏洞防御;或者在目標(biāo)方案為開啟指令時,根據(jù)第二指令指示漏洞防御程序開啟對目標(biāo)應(yīng)用進行漏洞防御。
可選地,本實施例中的具體示例可以參考上述實施例1和實施例2中所描述的示例,本實施例在此不再贅述。
上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。
上述實施例中的集成的單元如果以軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在上述計算機可讀取的存儲介質(zhì)中。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在存儲介質(zhì)中,包括若干指令用以使得一臺或多臺計算機設(shè)備(可為個人計算機、服務(wù)器或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。
在本發(fā)明的上述實施例中,對各個實施例的描述都各有側(cè)重,某個實施例中沒有詳述的部分,可以參見其他實施例的相關(guān)描述。
在本申請所提供的幾個實施例中,應(yīng)該理解到,所揭露的客戶端,可通過其它的方式實現(xiàn)。其中,以上所描述的裝置實施例僅僅是示意性的,例如所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,單元或模塊的間接耦合或通信連接,可以是電性或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。
另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用軟件功能單元的形式實現(xiàn)。
以上所述僅是本發(fā)明的優(yōu)選實施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應(yīng)視為本發(fā)明的保護范圍。