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