本申請(qǐng)實(shí)施例涉及信息安全,特別涉及漏洞修復(fù)方法、裝置、設(shè)備、存儲(chǔ)介質(zhì)及程序產(chǎn)品。
背景技術(shù):
1、伴隨著軟件產(chǎn)業(yè)的不斷發(fā)展,現(xiàn)代軟件已經(jīng)從單體模式演進(jìn)到以開(kāi)源軟件為代表的規(guī)?;瘏f(xié)作模式,復(fù)雜軟件往往會(huì)涉及到諸多開(kāi)源組件,并且軟件的安全性與可靠性與其復(fù)雜度息息相關(guān)。然而,大多數(shù)的開(kāi)源組件存在安全漏洞。
2、相關(guān)技術(shù)中,軟件漏洞數(shù)據(jù)庫(kù)記錄了多種開(kāi)源組件的漏洞信息,通常情況下,通過(guò)查詢漏洞數(shù)據(jù)庫(kù)中所收集的漏洞信息中是否包含該軟件程序所依賴的功能組件,從而確定該軟件程序是否存在安全漏洞。在確定存在安全漏洞后,對(duì)該軟件程序直接依賴的開(kāi)源組件版本進(jìn)行升級(jí),以修復(fù)漏洞。
3、然而,在相關(guān)技術(shù)中所提供的方案中,往往僅能夠?qū)υ撥浖绦蛑苯右蕾嚨拈_(kāi)源功能組件進(jìn)行升級(jí),而由于直接應(yīng)用的開(kāi)源組件可能較為龐大,對(duì)于組件直接進(jìn)行升級(jí)的工程量較大,導(dǎo)致適用性較差。
技術(shù)實(shí)現(xiàn)思路
1、本申請(qǐng)實(shí)施例提供了一種漏洞修復(fù)方法、裝置、設(shè)備、存儲(chǔ)介質(zhì)及程序產(chǎn)品。所述方案如下:
2、一方面,本申請(qǐng)實(shí)施例提供了一種漏洞修復(fù)方法,所述方法包括:
3、在代碼工程存在漏洞的情況下,基于所述代碼工程中功能組件的依賴關(guān)系,對(duì)所述功能組件進(jìn)行逐級(jí)檢驗(yàn),得到檢驗(yàn)結(jié)果;
4、在所述檢驗(yàn)結(jié)果指示第一功能組件存在漏洞,且所述第一功能組件依賴的第二功能組件不存在漏洞,或,第一功能組件存在漏洞,且所述第一功能組件不存在依賴的第二功能組件的情況下,確定所述第一功能組件為待升級(jí)組件;
5、對(duì)組件代碼包中的所述第一功能組件進(jìn)行版本升級(jí),其中,版本升級(jí)后的所述第一功能組件不存在漏洞。
6、另一方面,本申請(qǐng)?zhí)峁┝艘环N漏洞修復(fù)裝置,所述裝置包括:
7、檢驗(yàn)?zāi)K,用于在代碼工程存在漏洞的情況下,基于所述代碼工程中功能組件的依賴關(guān)系,對(duì)所述功能組件進(jìn)行逐級(jí)檢驗(yàn),得到檢驗(yàn)結(jié)果;
8、確定模塊,用于在所述檢驗(yàn)結(jié)果指示第一功能組件存在漏洞,且所述第一功能組件依賴的第二功能組件不存在漏洞,或,第一功能組件存在漏洞,且所述第一功能組件不存在依賴的第二功能組件的情況下,確定所述第一功能組件為待升級(jí)組件;
9、升級(jí)模塊,用于對(duì)組件代碼包中的所述第一功能組件進(jìn)行版本升級(jí),其中,版本升級(jí)后的所述第一功能組件不存在漏洞。
10、另一方面,本申請(qǐng)實(shí)施例提供了一種計(jì)算機(jī)設(shè)備,所述計(jì)算機(jī)設(shè)備包括處理器和存儲(chǔ)器;所述存儲(chǔ)器存儲(chǔ)有至少一條指令,所述至少一條指令用于被所述處理器執(zhí)行以實(shí)現(xiàn)如上述方面所述的漏洞修復(fù)方法。
11、另一方面,本申請(qǐng)實(shí)施例提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中存儲(chǔ)有至少一條程序代碼,所述程序代碼由處理器加載并執(zhí)行以實(shí)現(xiàn)如上述方面所述的漏洞修復(fù)方法。
12、另一方面,本申請(qǐng)實(shí)施例提供了一種計(jì)算機(jī)程序產(chǎn)品,該計(jì)算機(jī)程序產(chǎn)品包括計(jì)算機(jī)指令,該計(jì)算機(jī)指令存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中。計(jì)算機(jī)設(shè)備的處理器從計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)讀取該計(jì)算機(jī)指令,處理器執(zhí)行該計(jì)算機(jī)指令,使得該計(jì)算機(jī)設(shè)備執(zhí)行上述方面的各種可選實(shí)現(xiàn)方式中提供的漏洞修復(fù)方法。
13、本申請(qǐng)實(shí)施例中,在代碼工程存在漏洞的情況下,計(jì)算機(jī)設(shè)備基于代碼工程中功能組件的依賴關(guān)系,對(duì)功能組件進(jìn)行逐級(jí)檢驗(yàn),以檢驗(yàn)功能組件存在的漏洞,從而確定出待升級(jí)的第一功能組件,并對(duì)該第一功能進(jìn)行升級(jí)。本申實(shí)施例所提出的漏洞修復(fù)方法,能夠根據(jù)依賴關(guān)系確定需要進(jìn)行修復(fù)的低層級(jí)被依賴功能組件,通過(guò)對(duì)該功能組件進(jìn)行升級(jí)的方式以修復(fù)代碼工程的漏洞,從而減小進(jìn)行漏洞修補(bǔ)的工作量,適用性更強(qiáng)。
1.一種漏洞修復(fù)方法,其特征在于,所述方法包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述基于所述代碼工程中功能組件的依賴關(guān)系,對(duì)所述功能組件進(jìn)行逐級(jí)檢驗(yàn),得到檢驗(yàn)結(jié)果,包括:
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述代碼工程依賴的所述功能組件存在n級(jí)依賴關(guān)系,所述代碼工程直接依賴第一層級(jí)的所述功能組件;
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述漏洞數(shù)據(jù)庫(kù)中包含存在漏洞的所述功能組件以及存在漏洞的原因;
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述對(duì)組件代碼包中的所述第一功能組件進(jìn)行版本升級(jí),包括:
6.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述代碼工程所依賴的所述功能組件存在n級(jí)依賴關(guān)系,所述代碼工程直接依賴第一層級(jí)的所述功能組件;
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述確定所述第一功能組件為待升級(jí)組件之后,所述方法還包括:
8.一種漏洞修復(fù)裝置,其特征在于,所述裝置包括:
9.一種計(jì)算機(jī)設(shè)備,其特征在于,所述計(jì)算機(jī)設(shè)備包括處理器和存儲(chǔ)器,所述存儲(chǔ)器中存儲(chǔ)有至少一條指令,所述至少一條指令由所述處理器加載并執(zhí)行以實(shí)現(xiàn)如權(quán)利要求1至7任一所述的漏洞修復(fù)方法。
10.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其特征在于,所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中存儲(chǔ)有至少一條指令,所述至少一條指令由處理器加載并執(zhí)行以實(shí)現(xiàn)如權(quán)利要求1至7任一所述的漏洞修復(fù)方法。