本申請(qǐng)涉及軟件安全,尤其涉及一種反序列化漏洞模型訓(xùn)練及檢測(cè)方法及裝置、計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)及終端。
背景技術(shù):
1、隨著序列化與反序列化技術(shù)的廣泛使用,近年來出現(xiàn)惡意利用反序列化技術(shù)的漏洞執(zhí)行惡意行為,竊取用戶數(shù)據(jù),破壞計(jì)算機(jī)系統(tǒng)。但是,目前的反序列化漏洞檢測(cè)方法只能對(duì)編程語言例如java的特定序列化格式進(jìn)行檢測(cè),無法對(duì)其他序列化格式的攻擊行為進(jìn)行識(shí)別,檢測(cè)能力較弱。
2、需要說明的是,在上述背景技術(shù)部分公開的信息僅用于加強(qiáng)對(duì)本申請(qǐng)的背景的理解,因此可以包括不構(gòu)成對(duì)本領(lǐng)域普通技術(shù)人員已知的現(xiàn)有技術(shù)的信息。
技術(shù)實(shí)現(xiàn)思路
1、本申請(qǐng)的目的在于提供一種反序列化漏洞模型訓(xùn)練及檢測(cè)方法及裝置、計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)及設(shè)備,至少能夠在一定程度上提高反序列化漏洞模型的泛化能力,對(duì)編程語言例如java的不同形式的序列化格式進(jìn)行檢測(cè),提高檢測(cè)能力。
2、本申請(qǐng)的其他特性和優(yōu)點(diǎn)將通過下面的詳細(xì)描述變得顯然,或部分地通過本申請(qǐng)的實(shí)踐而習(xí)得。
3、根據(jù)本申請(qǐng)的第一個(gè)方面,提供一種反序列化漏洞模型訓(xùn)練方法,該方法包括:獲取樣本數(shù)據(jù)集,所述樣本數(shù)據(jù)集包括反序列化漏洞攻擊樣本和反序列化漏洞非攻擊樣本;基于所述樣本數(shù)據(jù)集,生成第一特征向量集和第二特征向量集,第一特征向量集至少包括所述樣本數(shù)據(jù)集的符號(hào)特征,所述第二特征向量集至少包括所述樣本數(shù)據(jù)集的數(shù)據(jù)對(duì)象特征;合并所述第一特征向量集和所述第二特征向量集,生成第三特征向量集;將所述第三特征向量集輸入反序列化漏洞模型,對(duì)所述反序列化漏洞模型進(jìn)行訓(xùn)練。
4、在本申請(qǐng)一個(gè)實(shí)施例中,上述所述基于所述樣本數(shù)據(jù)集,生成第二特征向量集,包括:提取所述樣本數(shù)據(jù)集的第二特征,所述第二特征至少包括所述樣本數(shù)據(jù)集的數(shù)據(jù)對(duì)象特征;對(duì)所述樣本數(shù)據(jù)集的第二特征進(jìn)行模糊化處理;將所述樣本數(shù)據(jù)集的第二特征和進(jìn)行模糊化處理后的所述樣本數(shù)據(jù)集的第二特征,按照預(yù)設(shè)重組順序進(jìn)行重組,生成組合特征集;基于所述組合特征集,生成第二特征向量集。
5、在本申請(qǐng)一個(gè)實(shí)施例中,上述所述將所述樣本數(shù)據(jù)集的第二特征和進(jìn)行模糊化處理后的所述樣本數(shù)據(jù)集的第二特征,按照預(yù)設(shè)重組順序進(jìn)行重組,生成組合特征集之后,所述方法還包括:對(duì)所述組合特征集進(jìn)行分詞;所述基于所述組合特征集,生成第二特征向量集,包括:確定分詞后的所述組合特征集的特征向量,以生成所述第二特征向量集。
6、在本申請(qǐng)一個(gè)實(shí)施例中,上述所述提取所述樣本數(shù)據(jù)集的第二特征,包括:采用預(yù)設(shè)正則表達(dá)式,提取所述樣本數(shù)據(jù)集的第二特征。
7、在本申請(qǐng)一個(gè)實(shí)施例中,上述所述符號(hào)特征至少包括協(xié)議、大括號(hào)以及中括號(hào);所述數(shù)據(jù)對(duì)象特征至少包括字符串、整數(shù);所述反序列化漏洞模型至少包括adaboost模型、決策樹以及樸素貝葉斯中的一個(gè)。
8、根據(jù)本申請(qǐng)的第二個(gè)方面,提供一種反序列化漏洞檢測(cè)方法,該方法包括:獲取待檢測(cè)數(shù)據(jù)集;基于所述待檢測(cè)數(shù)據(jù)集,生成第四特征向量集和第五特征向量集,所述第四特征向量集至少包括所述待檢測(cè)數(shù)據(jù)集的符號(hào)特征,所述第五特征向量集至少包括所述待檢測(cè)數(shù)據(jù)集的數(shù)據(jù)對(duì)象特征;合并所述第四特征向量集和所述第五特征向量集,生成第六特征向量集;將所述第六特征向量集輸入預(yù)訓(xùn)練的反序列化漏洞模型,以識(shí)別所述待檢測(cè)數(shù)據(jù)集是否存在攻擊行為,所述預(yù)訓(xùn)練的反序列化漏洞模型通過如上述第一方面所述的反序列化漏洞模型訓(xùn)練方法進(jìn)行預(yù)訓(xùn)練。
9、根據(jù)本申請(qǐng)的第三個(gè)方面,提供一種反序列化漏洞模型訓(xùn)練裝置,上述裝置包括:第一獲取模塊,用于獲取樣本數(shù)據(jù)集,所述樣本數(shù)據(jù)集包括反序列化漏洞攻擊樣本和反序列化漏洞非攻擊樣本;第一提取模塊,用于基于所述樣本數(shù)據(jù)集,生成第一特征向量集和第二特征向量集,第一特征向量集至少包括所述樣本數(shù)據(jù)集的符號(hào)特征,所述第二特征向量集至少包括所述樣本數(shù)據(jù)集的數(shù)據(jù)對(duì)象特征;第一合并模塊,用于合并所述第一特征向量集和所述第二特征向量集,生成第三特征向量集;訓(xùn)練模塊,用于將所述第三特征向量集輸入反序列化漏洞模型,對(duì)所述反序列化漏洞模型進(jìn)行訓(xùn)練。
10、根據(jù)本申請(qǐng)的第四個(gè)方面,提供一種反序列化漏洞檢測(cè)裝置,上述裝置包括:第二獲取模塊,用于獲取待檢測(cè)數(shù)據(jù)集;第二提取模塊,用于基于所述待檢測(cè)數(shù)據(jù)集,生成第四特征向量集和第五特征向量集,所述第四特征向量集至少包括所述待檢測(cè)數(shù)據(jù)集的符號(hào)特征,所述第五特征向量集至少包括所述待檢測(cè)數(shù)據(jù)集的數(shù)據(jù)對(duì)象特征;第二合并模塊,用于合并所述第四特征向量集和所述第五特征向量集,生成第六特征向量集;檢測(cè)模塊,用于將所述第六特征向量集輸入預(yù)訓(xùn)練的反序列化漏洞模型,以識(shí)別所述第六特征向量集是否存在攻擊行為,所述預(yù)訓(xùn)練的反序列化漏洞模型通過如上述第一方面所述的反序列化漏洞模型訓(xùn)練方法進(jìn)行預(yù)訓(xùn)練。
11、根據(jù)本申請(qǐng)的第五個(gè)方面,提供一種終端,包括:存儲(chǔ)器、處理器以及存儲(chǔ)在上述存儲(chǔ)器中并可在上述處理器上運(yùn)行的計(jì)算機(jī)程序,上述處理器執(zhí)行上述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)上述第一個(gè)方面所述的反序列化漏洞模型訓(xùn)練方法以及上述第二方面所述的反序列化漏洞檢測(cè)方法。
12、根據(jù)本申請(qǐng)的第六個(gè)方面,提供一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,上述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述第一個(gè)方面所述的反序列化漏洞模型訓(xùn)練方法以及上述第二方面所述反序列化漏洞檢測(cè)方法。
13、本申請(qǐng)的實(shí)施例所提供的反序列化漏洞模型訓(xùn)練及檢測(cè)方法及裝置、計(jì)算機(jī)存儲(chǔ)介質(zhì)及終端,具備以下技術(shù)效果:
14、通過提取樣本數(shù)據(jù)集的不同特征,生成第一特征向量集和第二特征向量集,之后對(duì)第一特征向量集和第二特征向量集進(jìn)行合并生成第三特征向量集,能夠有效提高反序列化漏洞模型的泛化能力,使得反序列化漏洞模型能夠?qū)幊陶Z言例如java的不同形式的序列化格式進(jìn)行檢測(cè),提高檢測(cè)能力;以及
15、獲取待檢測(cè)數(shù)據(jù)集;基于待檢測(cè)數(shù)據(jù)集,生成第四特征向量集和第五特征向量集,第四特征向量集至少包括待檢測(cè)數(shù)據(jù)集的符號(hào)特征,第五特征向量集至少包括待檢測(cè)數(shù)據(jù)集的數(shù)據(jù)對(duì)象特征;合并第四特征向量集和第五特征向量集,生成第六特征向量集;將第六特征向量集輸入預(yù)訓(xùn)練的反序列化漏洞模型。通過對(duì)待檢測(cè)數(shù)據(jù)集進(jìn)行多次數(shù)據(jù)處理,能夠有效的提高數(shù)據(jù)的泛化性,在一定程度上提高預(yù)訓(xùn)練的反序列化漏洞模型識(shí)別攻擊行為的準(zhǔn)確性。
16、應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性和解釋性的,并不能限制本申請(qǐng)。
1.一種反序列化漏洞模型訓(xùn)練方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述基于所述樣本數(shù)據(jù)集,生成第二特征向量集,包括:
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述將所述樣本數(shù)據(jù)集的第二特征和進(jìn)行模糊化處理后的所述樣本數(shù)據(jù)集的第二特征,按照預(yù)設(shè)重組順序進(jìn)行重組,生成組合特征集之后,所述方法還包括:
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述提取所述樣本數(shù)據(jù)集的第二特征,包括:
5.根據(jù)權(quán)利要求1至4中任一項(xiàng)所述的方法,其特征在于,所述符號(hào)特征至少包括協(xié)議、大括號(hào)以及中括號(hào);所述數(shù)據(jù)對(duì)象特征至少包括字符串、整數(shù);所述反序列化漏洞模型至少包括adaboost模型、決策樹以及樸素貝葉斯中的一個(gè)。
6.一種反序列化漏洞檢測(cè)方法,其特征在于,包括:
7.一種反序列化漏洞模型訓(xùn)練裝置,其特征在于,包括:
8.一種反序列化漏洞檢測(cè)裝置,其特征在于,包括:
9.一種終端,包括存儲(chǔ)器、處理器以及存儲(chǔ)在所述存儲(chǔ)器中并可在所述處理器上運(yùn)行的計(jì)算機(jī)程序,其特征在于,所述處理器執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)如權(quán)利要求1至5中任一項(xiàng)所述的反序列化漏洞模型訓(xùn)練方法以及實(shí)現(xiàn)如權(quán)利要求6中所述的反序列化漏洞檢測(cè)方法。
10.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,其特征在于,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如權(quán)利要求1至5中任一項(xiàng)所述的反序列化漏洞模型訓(xùn)練方法以及實(shí)現(xiàn)如權(quán)利要求6中所述的反序列化漏洞檢測(cè)方法。