1.一種檢測軟件中集成或定制的開源項(xiàng)目漏洞的方法,其特征在于,包括:
從預(yù)先設(shè)置的搜集庫中獲取開源項(xiàng)目的原始漏洞信息;
根據(jù)所述開源項(xiàng)目的原始漏洞信息,提取開源項(xiàng)目的漏洞描述信息、漏洞影響的軟件或組件版本信息以及漏洞檢測細(xì)節(jié)特征信息;
根據(jù)所述開源項(xiàng)目的漏洞描述信息、漏洞影響的軟件或組件版本信息以及漏洞檢測細(xì)節(jié)特征信息建立漏洞檢測數(shù)據(jù)庫;所述漏洞檢測數(shù)據(jù)庫包括以預(yù)設(shè)索引順序排列的各檢測項(xiàng);
從待檢測軟件中提取待檢測軟件的代碼和可執(zhí)行文件;
根據(jù)所述漏洞檢測數(shù)據(jù)庫中的各檢測項(xiàng),以預(yù)設(shè)索引順序依次匹配檢測待檢測軟件的代碼和可執(zhí)行文件,以確定待檢測軟件集成或定制的開源項(xiàng)目是否存在漏洞。
2.根據(jù)權(quán)利要求1所述的檢測軟件中集成或定制的開源項(xiàng)目漏洞的方法,其特征在于,從預(yù)先設(shè)置的搜集庫中獲取開源項(xiàng)目的原始漏洞信息,包括:
從預(yù)先設(shè)置的漏洞數(shù)據(jù)庫中獲取開源項(xiàng)目的原始漏洞信息,并通過所述原始漏洞信息中的漏洞參考信息的補(bǔ)丁鏈接獲取開源項(xiàng)目的原始漏洞的修補(bǔ)代碼;
或者,從預(yù)先設(shè)置的開源項(xiàng)目主頁中獲取關(guān)鍵詞代碼,在所述關(guān)鍵詞代碼中過濾獲取開源項(xiàng)目的原始漏洞的修補(bǔ)代碼。
3.根據(jù)權(quán)利要求2所述的檢測軟件中集成或定制的開源項(xiàng)目漏洞的方法,其特征在于,所述漏洞描述信息包括漏洞編號信息、嚴(yán)重程度信息、漏洞類型信息、漏洞披露時(shí)間信息、漏洞詳情信息。
4.根據(jù)權(quán)利要求3所述的檢測軟件中集成或定制的開源項(xiàng)目漏洞的方法,其特征在于,所述漏洞影響的軟件或組件版本信息包括漏洞影響的軟件或組件名稱、漏洞影響的軟件或組件的版本號。
5.根據(jù)權(quán)利要求4所述的檢測軟件中集成或定制的開源項(xiàng)目漏洞的方法,其特征在于,所述漏洞檢測細(xì)節(jié)特征信息包括開源項(xiàng)目組件識別模塊特征、識別函數(shù)特征、漏洞是否修補(bǔ)特征。
6.根據(jù)權(quán)利要求5所述的檢測軟件中集成或定制的開源項(xiàng)目漏洞的方法,其特征在于,所述以預(yù)設(shè)索引順序排列的各檢測項(xiàng)包括:漏洞影響的軟件或組件名稱、漏洞影響的軟件或組件的版本號、開源項(xiàng)目組件識別模塊特征、識別函數(shù)特征以及漏洞是否修補(bǔ)特征。
7.根據(jù)權(quán)利要求6所述的檢測軟件中集成或定制的開源項(xiàng)目漏洞的方法,其特征在于,根據(jù)所述漏洞檢測數(shù)據(jù)庫中的各檢測項(xiàng),以預(yù)設(shè)索引順序依次匹配檢測待檢測軟件的代碼和可執(zhí)行文件,以確定待檢測軟件集成或定制的開源項(xiàng)目是否存在漏洞,包括:
依次根據(jù)漏洞影響的軟件或組件名稱、漏洞影響的軟件或組件的版本號、開源項(xiàng)目組件識別模塊特征、識別函數(shù)特征以及漏洞是否修補(bǔ)特征,對待檢測軟件的代碼和可執(zhí)行文件進(jìn)行匹配檢測;
若在待檢測軟件的代碼和可執(zhí)行文件中,存在與漏洞影響的軟件或組件名稱、漏洞影響的軟件或組件的版本號、開源項(xiàng)目組件識別模塊特征、識別函數(shù)特征以及漏洞是否修補(bǔ)特征其中之一的不匹配內(nèi)容,則確定待檢測軟件集成或定制的開源項(xiàng)目不存在漏洞;
若待檢測軟件的代碼和可執(zhí)行文件中未存在與漏洞影響的軟件或組件名稱、漏洞影響的軟件或組件的版本號、開源項(xiàng)目組件識別模塊特征、識別函數(shù)特征以及漏洞是否修補(bǔ)特征其中之一的不匹配內(nèi)容,則確定待檢測軟件集成或定制的開源項(xiàng)目存在漏洞。
8.一種檢測軟件中集成或定制的開源項(xiàng)目漏洞的裝置,其特征在于,包括:
原始漏洞信息獲取單元,用于從預(yù)先設(shè)置的搜集庫中獲取開源項(xiàng)目的原始漏洞信息;
信息提取單元,用于根據(jù)所述開源項(xiàng)目的原始漏洞信息,提取開源項(xiàng)目的漏洞描述信息、漏洞影響的軟件或組件版本信息以及漏洞檢測細(xì)節(jié)特征信息;
漏洞檢測數(shù)據(jù)庫建立單元,用于根據(jù)所述開源項(xiàng)目的漏洞描述信息、漏洞影響的軟件或組件版本信息以及漏洞檢測細(xì)節(jié)特征信息建立漏洞檢測數(shù)據(jù)庫;所述漏洞檢測數(shù)據(jù)庫包括以預(yù)設(shè)索引順序排列的各檢測項(xiàng);
待檢測軟件提取單元,用于從待檢測軟件中提取待檢測軟件的代碼和可執(zhí)行文件;
匹配檢測單元,用于根據(jù)所述漏洞檢測數(shù)據(jù)庫中的各檢測項(xiàng),以預(yù)設(shè)索引順序依次匹配檢測待檢測軟件的代碼和可執(zhí)行文件,以確定待檢測軟件集成或定制的開源項(xiàng)目是否存在漏洞。
9.根據(jù)權(quán)利要求8所述的檢測軟件中集成或定制的開源項(xiàng)目漏洞的裝置,其特征在于,所述原始漏洞信息獲取單元,具體用于:
從預(yù)先設(shè)置的漏洞數(shù)據(jù)庫中獲取開源項(xiàng)目的原始漏洞信息,并通過所述原始漏洞信息中的漏洞參考信息的補(bǔ)丁鏈接獲取開源項(xiàng)目的原始漏洞的修補(bǔ)代碼;
或者,從預(yù)先設(shè)置的開源項(xiàng)目主頁中獲取關(guān)鍵詞代碼,在所述關(guān)鍵詞代碼中過濾獲取開源項(xiàng)目的原始漏洞的修補(bǔ)代碼。
10.根據(jù)權(quán)利要求8所述的檢測軟件中集成或定制的開源項(xiàng)目漏洞的裝置,其特征在于,所述信息提取單元提取的漏洞描述信息包括漏洞編號信息、嚴(yán)重程度信息、漏洞類型信息、漏洞披露時(shí)間信息、漏洞詳情信息。
11.根據(jù)權(quán)利要求9所述的檢測軟件中集成或定制的開源項(xiàng)目漏洞的裝置,其特征在于,所述信息提取單元提取的漏洞影響的軟件或組件版本信息包括漏洞影響的軟件或組件名稱、漏洞影響的軟件或組件的版本號。
12.根據(jù)權(quán)利要求11所述的檢測軟件中集成或定制的開源項(xiàng)目漏洞的裝置,其特征在于,所述信息提取單元提取的漏洞檢測細(xì)節(jié)特征信息包括開源項(xiàng)目組件識別模塊特征、識別函數(shù)特征、漏洞是否修補(bǔ)特征。
13.根據(jù)權(quán)利要求12所述的檢測軟件中集成或定制的開源項(xiàng)目漏洞的裝置,其特征在于,所述漏洞檢測數(shù)據(jù)庫建立單元中的以預(yù)設(shè)索引順序排列的各檢測項(xiàng)包括:漏洞影響的軟件或組件名稱、漏洞影響的軟件或組件的版本號、開源項(xiàng)目組件識別模塊特征、識別函數(shù)特征以及漏洞是否修補(bǔ)特征。
14.根據(jù)權(quán)利要求13所述的檢測軟件中集成或定制的開源項(xiàng)目漏洞的裝置,其特征在于,所述匹配檢測單元,具體用于:
依次根據(jù)漏洞影響的軟件或組件名稱、漏洞影響的軟件或組件的版本號、開源項(xiàng)目組件識別模塊特征、識別函數(shù)特征以及漏洞是否修補(bǔ)特征,對待檢測軟件的代碼和可執(zhí)行文件進(jìn)行匹配檢測;
若在待檢測軟件的代碼和可執(zhí)行文件中,存在與漏洞影響的軟件或組件名稱、漏洞影響的軟件或組件的版本號、開源項(xiàng)目組件識別模塊特征、識別函數(shù)特征以及漏洞是否修補(bǔ)特征其中之一的不匹配內(nèi)容,則確定待檢測軟件集成或定制的開源項(xiàng)目不存在漏洞;
若待檢測軟件的代碼和可執(zhí)行文件中未存在與漏洞影響的軟件或組件名稱、漏洞影響的軟件或組件的版本號、開源項(xiàng)目組件識別模塊特征、識別函數(shù)特征以及漏洞是否修補(bǔ)特征其中之一的不匹配內(nèi)容,則確定待檢測軟件集成或定制的開源項(xiàng)目存在漏洞。