本技術(shù)涉及計(jì)算機(jī)網(wǎng)絡(luò)安全,尤其是涉及一種機(jī)器學(xué)習(xí)模型的反序列化漏洞檢測方法、裝置及設(shè)備。
背景技術(shù):
1、在現(xiàn)階段的云計(jì)算架構(gòu)中,應(yīng)用層通用組件扮演了至關(guān)重要的角色,它們不僅提高了云服務(wù)的部署和維護(hù)效率,也極大地豐富了最終用戶的使用體驗(yàn)。盡管云平臺(tái)應(yīng)用層通用組件的引入為開發(fā)和運(yùn)維帶來便利,但也伴隨著安全問題的出現(xiàn)。以機(jī)器學(xué)習(xí)模型為例,雖然其安全性問題如對抗性攻擊和數(shù)據(jù)投毒已經(jīng)引起了廣泛關(guān)注,但模型背后潛在的后門邏輯漏洞問題,仍未得到足夠的重視。機(jī)器學(xué)習(xí)模型的這些漏洞,一旦被惡意利用,不僅會(huì)導(dǎo)致邏輯異常,還可能觸發(fā)更為嚴(yán)重的安全事件,如反序列化代碼執(zhí)行等。針對此問題,雖然學(xué)術(shù)界和產(chǎn)業(yè)界已經(jīng)開始著手研究,包括ai安全公司hiddenlayer提出的針對模型中的反序列化后門漏洞檢測方法,以及trailofbits發(fā)布的fickling工具,專注于pythonpickle文件中的序列化安全問題。然而,現(xiàn)有的機(jī)器學(xué)習(xí)模型漏洞檢測方法仍然存在諸多挑戰(zhàn),包括可擴(kuò)展性、場景適配能力以及在模型部署階段發(fā)現(xiàn)調(diào)用邏輯異常的能力等,所以如何準(zhǔn)確地確定出機(jī)器學(xué)習(xí)模型的反序列化漏洞成為了不容小覷的技術(shù)問題。
技術(shù)實(shí)現(xiàn)思路
1、有鑒于此,本技術(shù)的目的在于提供一種機(jī)器學(xué)習(xí)模型的反序列化漏洞檢測方法、裝置及設(shè)備,通過對機(jī)器學(xué)習(xí)模型進(jìn)行動(dòng)態(tài)跟蹤以及靜態(tài)分析,檢查出目標(biāo)機(jī)器學(xué)習(xí)模型中是否存在潛在風(fēng)險(xiǎn)的函數(shù)調(diào)用序列或已知的漏洞模式,能夠準(zhǔn)確地識(shí)別和驗(yàn)證機(jī)器學(xué)習(xí)模型中的序列化與反序列化漏洞,及時(shí)發(fā)現(xiàn)和預(yù)防可能的安全威脅。
2、本技術(shù)實(shí)施例提供了一種機(jī)器學(xué)習(xí)模型的反序列化漏洞檢測方法,所述反序列化漏洞檢測方法包括:
3、對目標(biāo)機(jī)器學(xué)習(xí)模型的加載過程在隔離環(huán)境下進(jìn)行動(dòng)態(tài)追蹤處理以及靜態(tài)分析處理,確定出所述目標(biāo)機(jī)器學(xué)習(xí)模型的多個(gè)函數(shù)調(diào)用序列;
4、基于所述目標(biāo)機(jī)器學(xué)習(xí)模型的多個(gè)函數(shù)調(diào)用序列與預(yù)設(shè)的多個(gè)白名單函數(shù)調(diào)用序列進(jìn)行匹配,識(shí)別出所述目標(biāo)機(jī)器學(xué)習(xí)模型是否存在潛在風(fēng)險(xiǎn)的函數(shù)調(diào)用序列;
5、若存在潛在風(fēng)險(xiǎn)的函數(shù)調(diào)用序列,則對所述存在潛在風(fēng)險(xiǎn)的函數(shù)調(diào)用序列進(jìn)行漏洞檢測,確定出所述存在潛在風(fēng)險(xiǎn)的函數(shù)調(diào)用序列是否存在漏洞。
6、在一種可能的實(shí)施方式之中,所述對目標(biāo)機(jī)器學(xué)習(xí)模型的加載過程在隔離環(huán)境下進(jìn)行動(dòng)態(tài)追蹤處理以及靜態(tài)分析處理,確定出所述目標(biāo)機(jī)器學(xué)習(xí)模型的多個(gè)函數(shù)調(diào)用序列,包括:
7、將調(diào)試工具加載至所述目標(biāo)機(jī)器學(xué)習(xí)模型之中,基于所述調(diào)試工具在沙箱環(huán)境中對所述目標(biāo)機(jī)器學(xué)習(xí)模型的加載過程進(jìn)行動(dòng)態(tài)追蹤,確定出所述目標(biāo)機(jī)器學(xué)習(xí)模型的函數(shù)調(diào)用信息、參數(shù)傳遞信息、對象序列化信息以及對象反序列化信息;
8、對所述目標(biāo)機(jī)器學(xué)習(xí)模型的函數(shù)調(diào)用信息、參數(shù)傳遞信息、對象序列化信息以及對象反序列化信息進(jìn)行靜態(tài)分析,確定出所述目標(biāo)機(jī)器學(xué)習(xí)模型的多個(gè)函數(shù)調(diào)用序列。
9、在一種可能的實(shí)施方式之中,針對于所述目標(biāo)機(jī)器學(xué)習(xí)模型任一函數(shù)調(diào)用序列,所述基于所述目標(biāo)機(jī)器學(xué)習(xí)模型的多個(gè)函數(shù)調(diào)用序列與預(yù)設(shè)的多個(gè)白名單函數(shù)調(diào)用序列進(jìn)行匹配,識(shí)別出所述目標(biāo)機(jī)器學(xué)習(xí)模型是否存在潛在風(fēng)險(xiǎn)的函數(shù)調(diào)用序列,包括:
10、將該函數(shù)調(diào)用序列與多個(gè)白名單函數(shù)調(diào)用序列進(jìn)行匹配,若多個(gè)所述白名單函數(shù)調(diào)用序列中存在與該函數(shù)調(diào)用序列相一致的白名單函數(shù)調(diào)用序列,則該函數(shù)調(diào)用序列不存在潛在風(fēng)險(xiǎn);
11、若多個(gè)所述白名單函數(shù)調(diào)用序列中不存在與該函數(shù)調(diào)用序列相一致的白名單函數(shù)調(diào)用序列,則該函數(shù)調(diào)用序列為所述目標(biāo)機(jī)器學(xué)習(xí)模型的存在潛在風(fēng)險(xiǎn)的函數(shù)調(diào)用序列。
12、在一種可能的實(shí)施方式之中,所述若存在潛在風(fēng)險(xiǎn)的函數(shù)調(diào)用序列,則對所述存在潛在風(fēng)險(xiǎn)的函數(shù)調(diào)用序列進(jìn)行漏洞檢測,確定出所述存在潛在風(fēng)險(xiǎn)的函數(shù)調(diào)用序列是否存在漏洞,包括:
13、基于預(yù)設(shè)的漏洞特征對所述目標(biāo)機(jī)器學(xué)習(xí)模型的存在潛在風(fēng)險(xiǎn)的函數(shù)調(diào)用序列進(jìn)行漏洞檢測,若所述存在潛在風(fēng)險(xiǎn)的函數(shù)調(diào)用序列存在所述漏洞特征,則將所述存在潛在風(fēng)險(xiǎn)的函數(shù)調(diào)用序列標(biāo)記為第一標(biāo)識(shí);
14、若所述存在潛在風(fēng)險(xiǎn)的函數(shù)調(diào)用序列不存在所述漏洞特征,則將所述函數(shù)調(diào)用序列標(biāo)記為第二標(biāo)識(shí)。
15、在一種可能的實(shí)施方式之中,在對所述目標(biāo)機(jī)器學(xué)習(xí)模型的存在潛在風(fēng)險(xiǎn)的函數(shù)調(diào)用序列進(jìn)行漏洞檢測,確定出所述存在潛在風(fēng)險(xiǎn)的函數(shù)調(diào)用序列是否存在漏洞之后,所述反序列化漏洞檢測方法還包括:
16、對存在所述漏洞的所述存在潛在風(fēng)險(xiǎn)的函數(shù)調(diào)用序列進(jìn)行風(fēng)險(xiǎn)評估、漏洞定位以及修復(fù)建議推送,生成所述目標(biāo)機(jī)器學(xué)習(xí)模型的漏洞檢測報(bào)告。
17、在一種可能的實(shí)施方式之中,通過以下步驟確定出多個(gè)白名單函數(shù)調(diào)用序列:
18、獲取多個(gè)標(biāo)準(zhǔn)機(jī)器學(xué)習(xí)模型的多個(gè)標(biāo)準(zhǔn)函數(shù)調(diào)用序列;
19、對多個(gè)所述標(biāo)準(zhǔn)函數(shù)調(diào)用序列進(jìn)行去重處理,將去重處理后的多個(gè)所述標(biāo)準(zhǔn)函數(shù)調(diào)用序列確定為多個(gè)白名單函數(shù)調(diào)用序列。
20、在一種可能的實(shí)施方式之中,在所述基于所述目標(biāo)機(jī)器學(xué)習(xí)模型的多個(gè)函數(shù)調(diào)用序列與預(yù)設(shè)的多個(gè)白名單函數(shù)調(diào)用序列進(jìn)行匹配,識(shí)別出所述目標(biāo)機(jī)器學(xué)習(xí)模型是否存在潛在風(fēng)險(xiǎn)的函數(shù)調(diào)用序列之后,所述反序列化漏洞檢測方法還包括:
21、若不存在潛在風(fēng)險(xiǎn)的函數(shù)調(diào)用序列,則確定出所述目標(biāo)機(jī)器學(xué)習(xí)模型無安全隱患。
22、本技術(shù)實(shí)施例還提供了一種機(jī)器學(xué)習(xí)模型的反序列化漏洞檢測裝置,所述反序列化漏洞檢測裝置包括:
23、動(dòng)靜態(tài)分析模塊,用于對目標(biāo)機(jī)器學(xué)習(xí)模型的加載過程在隔離環(huán)境下進(jìn)行動(dòng)態(tài)追蹤處理以及靜態(tài)分析處理,確定出所述目標(biāo)機(jī)器學(xué)習(xí)模型的多個(gè)函數(shù)調(diào)用序列;
24、匹配模塊,用于基于所述目標(biāo)機(jī)器學(xué)習(xí)模型的多個(gè)函數(shù)調(diào)用序列與預(yù)設(shè)的多個(gè)白名單函數(shù)調(diào)用序列進(jìn)行匹配,識(shí)別出所述目標(biāo)機(jī)器學(xué)習(xí)模型是否存在潛在風(fēng)險(xiǎn)的函數(shù)調(diào)用序列;
25、風(fēng)險(xiǎn)檢測模塊,用于若存在潛在風(fēng)險(xiǎn)的函數(shù)調(diào)用序列,則對所述存在潛在風(fēng)險(xiǎn)的函數(shù)調(diào)用序列進(jìn)行漏洞檢測,確定出所述目標(biāo)機(jī)器學(xué)習(xí)模型的存在潛在風(fēng)險(xiǎn)的函數(shù)調(diào)用序列是否存在漏洞。
26、本技術(shù)實(shí)施例還提供一種電子設(shè)備,包括:處理器、存儲(chǔ)器和總線,所述存儲(chǔ)器存儲(chǔ)有所述處理器可執(zhí)行的機(jī)器可讀指令,當(dāng)電子設(shè)備運(yùn)行時(shí),所述處理器與所述存儲(chǔ)器之間通過總線通信,所述機(jī)器可讀指令被所述處理器執(zhí)行時(shí)執(zhí)行如上述的機(jī)器學(xué)習(xí)模型的反序列化漏洞檢測方法的步驟。
27、本技術(shù)實(shí)施例還提供一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),該計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上存儲(chǔ)有計(jì)算機(jī)程序,該計(jì)算機(jī)程序被處理器運(yùn)行時(shí)執(zhí)行如上述的機(jī)器學(xué)習(xí)模型的反序列化漏洞檢測方法的步驟。
28、本技術(shù)實(shí)施例提供的種機(jī)器學(xué)習(xí)模型的反序列化漏洞檢測方法、裝置及設(shè)備,所述反序列化漏洞檢測方法包括:對目標(biāo)機(jī)器學(xué)習(xí)模型的加載過程在隔離環(huán)境下進(jìn)行動(dòng)態(tài)追蹤處理以及靜態(tài)分析處理,確定出所述目標(biāo)機(jī)器學(xué)習(xí)模型的多個(gè)函數(shù)調(diào)用序列;基于所述目標(biāo)機(jī)器學(xué)習(xí)模型的多個(gè)函數(shù)調(diào)用序列與預(yù)設(shè)的多個(gè)白名單函數(shù)調(diào)用序列進(jìn)行匹配,識(shí)別出所述目標(biāo)機(jī)器學(xué)習(xí)模型是否存在潛在風(fēng)險(xiǎn)的函數(shù)調(diào)用序列;若存在潛在風(fēng)險(xiǎn)的函數(shù)調(diào)用序列,則對所述存在潛在風(fēng)險(xiǎn)的函數(shù)調(diào)用序列進(jìn)行漏洞檢測,確定出所述存在潛在風(fēng)險(xiǎn)的函數(shù)調(diào)用序列是否存在漏洞。通過對機(jī)器學(xué)習(xí)模型進(jìn)行動(dòng)態(tài)跟蹤以及靜態(tài)分析,檢查出目標(biāo)機(jī)器學(xué)習(xí)模型中是否存在潛在風(fēng)險(xiǎn)的函數(shù)調(diào)用序列或已知的漏洞模式,能夠準(zhǔn)確地識(shí)別和驗(yàn)證機(jī)器學(xué)習(xí)模型中的序列化與反序列化漏洞,及時(shí)發(fā)現(xiàn)和預(yù)防可能的安全威脅。
29、為使本技術(shù)的上述目的、特征和優(yōu)點(diǎn)能更明顯易懂,下文特舉較佳實(shí)施例,并配合所附附圖,作詳細(xì)說明如下。