1.一種漏洞的防御方法,其特征在于,包括:
獲取目標(biāo)應(yīng)用的加固程序和漏洞防御程序,其中,所述加固程序用于對(duì)所述目標(biāo)應(yīng)用進(jìn)行加固,所述漏洞防御程序用于對(duì)所述目標(biāo)應(yīng)用中的漏洞進(jìn)行防御;
將所述漏洞防御程序集成到所述加固程序中,得到集成后的加固程序;
利用所述集成后的加固程序?qū)ι鲜瞿繕?biāo)應(yīng)用進(jìn)行加固,得到加固后的目標(biāo)應(yīng)用,其中,在所述加固后的目標(biāo)應(yīng)用運(yùn)行時(shí),所述加固程序、所述目標(biāo)應(yīng)用和所述漏洞防御程序運(yùn)行在相同的進(jìn)程中;
運(yùn)行所述加固后的目標(biāo)應(yīng)用,以觸發(fā)所述漏洞防御程序?qū)λ瞿繕?biāo)應(yīng)用進(jìn)行漏洞防御。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,運(yùn)行所述加固后的目標(biāo)應(yīng)用,以觸發(fā)所述漏洞防御程序?qū)λ瞿繕?biāo)應(yīng)用進(jìn)行漏洞防御包括:
觸發(fā)所述漏洞防御程序?qū)λ瞿繕?biāo)應(yīng)用的目標(biāo)對(duì)象進(jìn)行監(jiān)控;
判斷與所述目標(biāo)對(duì)象相關(guān)的待執(zhí)行操作是否存在威脅;
在判斷出與所述目標(biāo)對(duì)象相關(guān)的待執(zhí)行操作存在威脅時(shí),終止執(zhí)行與所述目標(biāo)對(duì)象相關(guān)的所述待執(zhí)行操作。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,判斷與所述目標(biāo)對(duì)象相關(guān)的待執(zhí)行操作是否存在威脅包括:
獲取所述目標(biāo)應(yīng)用在調(diào)用所述目標(biāo)對(duì)象時(shí)的參數(shù),其中,所述目標(biāo)應(yīng)用執(zhí)行與所述參數(shù)相關(guān)的所述待執(zhí)行操作;
向云端發(fā)送所述參數(shù);
接收所述云端發(fā)送的第一指令,其中,所述第一指令用于指示所述參數(shù)與所述云端的數(shù)據(jù)庫(kù)中預(yù)先存儲(chǔ)的漏洞樣本一致,其中,在所述參數(shù)與所述云端的數(shù)據(jù)庫(kù)中預(yù)先存儲(chǔ)的漏洞樣本一致時(shí),確定與所述目標(biāo)對(duì)象相關(guān)的待執(zhí)行操作存在威脅。
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,判斷與所述目標(biāo)對(duì)象相關(guān)的待執(zhí)行操作是否存在威脅包括:
獲取所述目標(biāo)應(yīng)用在調(diào)用所述目標(biāo)對(duì)象時(shí)的參數(shù),其中,所述目標(biāo)應(yīng)用執(zhí)行與所述參數(shù)相關(guān)的所述待執(zhí)行操作;
將所述參數(shù)與所述漏洞防御程序的數(shù)據(jù)庫(kù)中預(yù)先存儲(chǔ)的漏洞樣本進(jìn)行比對(duì);
若比對(duì)出所述數(shù)據(jù)庫(kù)中存儲(chǔ)有所述參數(shù),則確定與所述目標(biāo)對(duì)象相關(guān)的待執(zhí)行操作存在威脅。
5.根據(jù)權(quán)利要求3或4所述的方法,其特征在于,觸發(fā)所述漏洞防御程序?qū)λ瞿繕?biāo)應(yīng)用的目標(biāo)對(duì)象進(jìn)行監(jiān)控包括:
觸發(fā)所述漏洞防御程序的HOOK程序鉤取所述參數(shù),以對(duì)所述目標(biāo)對(duì)象進(jìn)行監(jiān)控。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,在觸發(fā)所述漏洞防御程序?qū)λ瞿繕?biāo)應(yīng)用進(jìn)行漏洞防御之前,所述方法還包括:
接收云端下發(fā)的第二指令,其中,所述第二指令用于指示所述漏洞防御程序執(zhí)行目標(biāo)方案進(jìn)行漏洞防御;
根據(jù)所述第二指令指示所述漏洞防御程序按照所述目標(biāo)方案對(duì)所述目標(biāo)應(yīng)用進(jìn)行漏洞防御。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述目標(biāo)方案包括待防御漏洞的類型,根據(jù)所述第二指令指示所述漏洞防御程序按照所述目標(biāo)方案對(duì)所述目標(biāo)應(yīng)用進(jìn)行漏洞防御包括:
根據(jù)所述第二指令指示所述漏洞防御程序按照所述待防御漏洞的類型對(duì)所述目標(biāo)應(yīng)用進(jìn)行漏洞防御。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述目標(biāo)方案包括漏洞處理方式,在根據(jù)所述第二指令指示所述漏洞防御程序按照所述待防御漏洞的類型對(duì)所述目標(biāo)應(yīng)用進(jìn)行漏洞防御之后,所述方法還包括:
在檢測(cè)到所述目標(biāo)應(yīng)用具有漏洞后,按照所述漏洞處理方式對(duì)檢測(cè)到的漏洞進(jìn)行處理,其中,所述漏洞處理方式與所述待防御漏洞的類型相匹配。
9.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述目標(biāo)方案包括關(guān)閉/開(kāi)啟指令,根據(jù)所述第二指令指示所述漏洞防御程序按照所述目標(biāo)方案對(duì)所述目標(biāo)應(yīng)用進(jìn)行漏洞防御包括:
在所述目標(biāo)方案為所述關(guān)閉指令時(shí),根據(jù)所述第二指令指示所述漏洞防御程序停止對(duì)所述目標(biāo)應(yīng)用進(jìn)行漏洞防御;或者
在所述目標(biāo)方案為所述開(kāi)啟指令時(shí),根據(jù)所述第二指令指示所述漏洞防御程序開(kāi)啟對(duì)所述目標(biāo)應(yīng)用進(jìn)行漏洞防御。
10.一種漏洞的防御裝置,其特征在于,包括:
獲取單元,用于獲取目標(biāo)應(yīng)用的加固程序和漏洞防御程序,其中,所述加固程序用于對(duì)所述目標(biāo)應(yīng)用進(jìn)行加固,所述漏洞防御程序用于對(duì)所述目標(biāo)應(yīng)用中的漏洞進(jìn)行防御;
集成單元,用于將所述漏洞防御程序集成到所述加固程序中,得到集成后的加固程序;
加固單元,用于利用所述集成后的加固程序?qū)ι鲜瞿繕?biāo)應(yīng)用進(jìn)行加固,得到加固后的目標(biāo)應(yīng)用,其中,在所述加固后的目標(biāo)應(yīng)用運(yùn)行時(shí),所述加固程序、所述目標(biāo)應(yīng)用和所述漏洞防御程序運(yùn)行在相同的進(jìn)程中;
運(yùn)行單元,用于運(yùn)行所述加固后的目標(biāo)應(yīng)用,以觸發(fā)所述漏洞防御程序?qū)λ瞿繕?biāo)應(yīng)用進(jìn)行漏洞防御。
11.根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述運(yùn)行單元包括:
觸發(fā)模塊,用于觸發(fā)所述漏洞防御程序?qū)λ瞿繕?biāo)應(yīng)用的目標(biāo)對(duì)象進(jìn)行監(jiān)控;
判斷模塊,用于判斷與所述目標(biāo)對(duì)象相關(guān)的待執(zhí)行操作是否存在威脅;
終止模塊,用于在判斷出與所述目標(biāo)對(duì)象相關(guān)的待執(zhí)行操作存在威脅時(shí),終止執(zhí)行與所述目標(biāo)對(duì)象相關(guān)的所述待執(zhí)行操作。
12.根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述判斷模塊包括:
第一獲取子模塊,用于獲取所述目標(biāo)應(yīng)用在調(diào)用所述目標(biāo)對(duì)象時(shí)的參數(shù),其中,所述目標(biāo)應(yīng)用執(zhí)行與所述參數(shù)相關(guān)的所述待執(zhí)行操作;
發(fā)送子模塊,用于向云端發(fā)送所述參數(shù);
接收子模塊,用于接收所述云端發(fā)送的第一指令,其中,所述第一指令用于指示所述參數(shù)與所述云端的數(shù)據(jù)庫(kù)中預(yù)先存儲(chǔ)的漏洞樣本一致,其中,在所述參數(shù)與所述云端的數(shù)據(jù)庫(kù)中預(yù)先存儲(chǔ)的漏洞樣本一致時(shí),確定與所述目標(biāo)對(duì)象相關(guān)的待執(zhí)行操作存在威脅。
13.根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述判斷模塊包括:
第二獲取子模塊,用于獲取所述目標(biāo)應(yīng)用在調(diào)用所述目標(biāo)對(duì)象時(shí)的參數(shù),其中,所述目標(biāo)應(yīng)用執(zhí)行與所述參數(shù)相關(guān)的所述待執(zhí)行操作;
比對(duì)子模塊將所述參數(shù)與所述漏洞防御程序的數(shù)據(jù)庫(kù)中預(yù)先存儲(chǔ)的漏洞樣本進(jìn)行比對(duì);
確定子模塊,用于若比對(duì)出所述數(shù)據(jù)庫(kù)中存儲(chǔ)有所述參數(shù),則確定與所述目標(biāo)對(duì)象相關(guān)的待執(zhí)行操作存在威脅。
14.根據(jù)權(quán)利要求12或13所述的裝置,其特征在于,所述觸發(fā)模塊包括:
觸發(fā)子模塊,用于觸發(fā)所述漏洞防御程序的HOOK程序鉤取所述參數(shù),以對(duì)所述目標(biāo)對(duì)象進(jìn)行監(jiān)控。
15.根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述裝置還包括:
接收單元,用于在觸發(fā)所述漏洞防御程序?qū)λ瞿繕?biāo)應(yīng)用進(jìn)行漏洞防御之前,接收云端下發(fā)的第二指令,其中,所述第二指令用于指示所述漏洞防御程序執(zhí)行目標(biāo)方案進(jìn)行漏洞防御;
防御單元,用于根據(jù)所述第二指令指示所述漏洞防御程序按照所述目標(biāo)方案對(duì)所述目標(biāo)應(yīng)用進(jìn)行漏洞防御。
16.根據(jù)權(quán)利要求15所述的裝置,其特征在于,所述目標(biāo)方案包括待防御漏洞的類型,所述防御單元包括:
第一防御模塊,用于根據(jù)所述第二指令指示所述漏洞防御程序按照所述待防御漏洞的類型對(duì)所述目標(biāo)應(yīng)用進(jìn)行漏洞防御。
17.根據(jù)權(quán)利要求16所述的裝置,其特征在于,所述目標(biāo)方案包括漏洞處理方式,所述防御單元還包括:
第二防御模塊,用于在根據(jù)所述第二指令指示所述漏洞防御程序按照所述待防御漏洞的類型對(duì)所述目標(biāo)應(yīng)用進(jìn)行漏洞防御之后,如果檢測(cè)到所述目標(biāo)應(yīng)用程序具有漏洞,則按照所述漏洞處理方式對(duì)檢測(cè)到的漏洞進(jìn)行處理,其中,所述漏洞處理方式與所述待防御漏洞的類型相匹配。
18.根據(jù)權(quán)利要求15所述的裝置,其特征在于,所述目標(biāo)方案包括關(guān)閉/開(kāi)啟指令,所述防御單元包括:
第三防御模塊,用于在所述目標(biāo)方案為所述關(guān)閉指令時(shí),根據(jù)所述第二指令指示所述漏洞防御程序停止對(duì)所述目標(biāo)應(yīng)用進(jìn)行漏洞防御;或者
第四防御模塊,用于在所述目標(biāo)方案為所述開(kāi)啟指令時(shí),根據(jù)所述第二指令指示所述漏洞防御程序開(kāi)啟對(duì)所述目標(biāo)應(yīng)用進(jìn)行漏洞防御。