本技術涉及計算機安全,特別是涉及一種基于程序相關信息的漏洞識別方法及系統(tǒng)。
背景技術:
1、隨著信息技術的飛速發(fā)展,應用程序日益成為現代社會不可或缺的基礎設施,廣泛應用于各個行業(yè)。然而,應用程序的復雜性急劇增加,不僅體現在功能模塊的多樣化上,更在于其與底層硬件、操作系統(tǒng)以及網絡環(huán)境的深度耦合。這種復雜性極大地提升了程序的潛在安全風險,安全漏洞的存在成為威脅信息安全的重要因素。
2、相關技術中,通常采用手動分析和固定規(guī)則庫實現漏洞識別。申請人認識到,手動分析雖然能夠深入理解軟件邏輯并識別復雜漏洞,但費時費力,難以應對海量代碼和快速迭代的軟件開發(fā)周期,漏洞識別效率較低;而基于固定規(guī)則的方法受限于規(guī)則庫的更新速度,對于新出現的漏洞類型或變種往往難以及時識別,漏洞檢測的有效性大打折扣,漏報與誤報率高,無法有效保障程序的整體安全性。
技術實現思路
1、有鑒于此,本技術提供了一種基于程序相關信息的漏洞識別方法及系統(tǒng),主要目的在于解決目前漏洞識別效率較低,對于新出現的漏洞類型或變種往往難以及時識別,漏洞檢測的有效性大打折扣,漏報與誤報率高,無法有效保障程序的整體安全性的問題。
2、依據本技術第一方面,提供了一種基于程序相關信息的漏洞識別方法,該方法包括:
3、確定待進行漏洞識別的目標程序,獲取所述目標程序的程序配置信息;
4、對所述程序配置信息包括的信息項進行整理,得到漏洞匹配條件;
5、在存儲有預設漏洞信息的本地數據庫中,利用所述漏洞匹配條件執(zhí)行模糊匹配操作和精確匹配操作,以及將匹配到的預設漏洞信息作為所述目標程序的漏洞信息。
6、可選地,所述確定待進行漏洞識別的目標程序,獲取所述目標程序的程序配置信息,包括:
7、根據預設的漏洞識別機制,在當前進行漏洞監(jiān)控的多個程序中確定所述目標程序;
8、調用系統(tǒng)接口采集所述目標程序的硬件信息,以及利用所述系統(tǒng)接口獲取所述目標程序的操作系統(tǒng)信息;
9、讀取所述目標程序的配置文件,在所述配置文件中獲取所述目標程序的安裝信息和運行信息;
10、將所述硬件信息、所述操作系統(tǒng)信息、所述安裝信息以及所述運行信息作為所述程序配置信息。
11、可選地,所述根據預設的漏洞識別機制,在當前進行漏洞監(jiān)控的多個程序中確定所述目標程序,包括:
12、當所述漏洞識別機制指示周期進行漏洞識別時,獲取預設的識別間隔時長,查詢每個所述程序上一次執(zhí)行漏洞識別的第一歷史時間點,將所述多個程序中第一歷史時間點與當前時間點之間的時間間隔達到所述識別間隔時長的程序作為所述目標程序;和/或,
13、當所述漏洞識別機制指示按照使用頻率或風險等級進行漏洞識別時,獲取預設的頻率閾值或預設的風險等級閾值,在所述多個程序中確定使用頻率達到所述頻率閾值或風險等級達到所述風險等級閾值的第一程序,根據所述第一程序的程序類型,為所述第一程序匹配漏洞信息數據庫,在檢測到所述漏洞信息數據庫更新時將所述第一程序作為目標程序,以及將所述多個程序中除所述第一程序外的程序作為第二程序,獲取預設的所述識別間隔時長,查詢所述第二程序上一次執(zhí)行漏洞識別的第二歷史時間點,在檢測到所述當前時間點與所述第二歷史時間點之間的時間間隔達到所述識別間隔時長時,將所述第二程序作為所述目標程序。
14、可選地,所述利用所述漏洞匹配條件執(zhí)行模糊匹配操作和精確匹配操作,以及將匹配到的預設漏洞信息作為所述目標程序的漏洞信息,包括:
15、獲取預設的標準匹配條件,將所述漏洞匹配條件包括的信息項與所述標準匹配條件包括的預設信息項進行比對,確定所述漏洞匹配條件相較于所述標準匹配條件缺失的缺失信息項;
16、利用所述缺失信息項對所述漏洞匹配條件進行標注,以使執(zhí)行精確匹配操作時模糊所述缺失信息項,省略對所述缺失信息項的精確匹配操作;
17、基于標注后的所述漏洞匹配條件執(zhí)行精確匹配操作,在所述本地數據庫存儲的預設漏洞信息中查詢每個信息項均與標注后的所述漏洞匹配條件包括的信息項相同的預設漏洞信息作為所述目標程序的漏洞信息。
18、可選地,所述方法還包括:
19、周期性地通過外部接口匹配最新漏洞信息,并對所述最新漏洞信息執(zhí)行數據清洗操作;
20、獲取標準數據模板,按照所述標準數據模板對清洗后的所述最新漏洞信息進行整理,以及將整理得到的信息作為預設漏洞信息存儲至所述本地數據庫中。
21、可選地,所述方法還包括:
22、獲取漏洞預測模型;
23、周期性地將當前進行漏洞監(jiān)控的每個程序的程序配置信息輸入至所述漏洞預測模型,并獲取所述漏洞預測模型輸出的預測漏洞信息;
24、采用所述預測漏洞信息對當前預測的程序進行標注,并生成漏洞提醒。
25、可選地,所述獲取漏洞預測模型,包括:
26、獲取訓練集,其中,所述訓練集包括多個樣本程序配置信息,且每個所述樣本配置信息對應有樣本漏洞信息;
27、確定預設神經網絡模型,將所述訓練集中包括的樣本配置信息輸入至所述預設神經網絡模型中,并獲取所述預設神經網絡模型針對每個所述樣本配置信息輸出的預測值;
28、利用每個所述樣本配置信息對應的樣本漏洞信息和輸出的預測值計算損失值,基于所述損失值對所述預設神經網絡模型的模型參數進行更新,并重新將所述訓練集中包括的樣本配置信息輸入至參數更新后的所述預設神經網絡模型中,以及重新計算損失值,直至向所述預設神經網絡模型輸入所述訓練集的次數達到次數閾值或所述損失值達到損失值閾值,將當前的所述預設神經網絡模型作為所述漏洞預測模型。
29、依據本技術第二方面,提供了一種基于程序相關信息的漏洞識別系統(tǒng),該系統(tǒng)包括:
30、信息采集模塊,用于確定待進行漏洞識別的目標程序,獲取所述目標程序的程序配置信息;
31、匹配分析模塊,用于對所述程序配置信息包括的信息項進行整理,得到漏洞匹配條件;
32、所述匹配分析模塊,還用于在存儲有預設漏洞信息的本地數據庫中,利用所述漏洞匹配條件執(zhí)行模糊匹配操作和精確匹配操作,以及將匹配到的預設漏洞信息作為所述目標程序的漏洞信息。
33、可選地,所述信息采集模塊,用于根據預設的漏洞識別機制,在當前進行漏洞監(jiān)控的多個程序中確定所述目標程序;調用系統(tǒng)接口采集所述目標程序的硬件信息,以及利用所述系統(tǒng)接口獲取所述目標程序的操作系統(tǒng)信息;讀取所述目標程序的配置文件,在所述配置文件中獲取所述目標程序的安裝信息和運行信息;將所述硬件信息、所述操作系統(tǒng)信息、所述安裝信息以及所述運行信息作為所述程序配置信息。
34、可選地,所述信息采集模塊,用于當所述漏洞識別機制指示周期進行漏洞識別時,獲取預設的識別間隔時長,查詢每個所述程序上一次執(zhí)行漏洞識別的第一歷史時間點,將所述多個程序中第一歷史時間點與當前時間點之間的時間間隔達到所述識別間隔時長的程序作為所述目標程序;和/或,當所述漏洞識別機制指示按照使用頻率或風險等級進行漏洞識別時,獲取預設的頻率閾值或預設的風險等級閾值,在所述多個程序中確定使用頻率達到所述頻率閾值或風險等級達到所述風險等級閾值的第一程序,根據所述第一程序的程序類型,為所述第一程序匹配漏洞信息數據庫,在檢測到所述漏洞信息數據庫更新時將所述第一程序作為目標程序,以及將所述多個程序中除所述第一程序外的程序作為第二程序,獲取預設的所述識別間隔時長,查詢所述第二程序上一次執(zhí)行漏洞識別的第二歷史時間點,在檢測到所述當前時間點與所述第二歷史時間點之間的時間間隔達到所述識別間隔時長時,將所述第二程序作為所述目標程序。
35、可選地,所述匹配分析模塊,用于獲取預設的標準匹配條件,將所述漏洞匹配條件包括的信息項與所述標準匹配條件包括的預設信息項進行比對,確定所述漏洞匹配條件相較于所述標準匹配條件缺失的缺失信息項;利用所述缺失信息項對所述漏洞匹配條件進行標注,以使執(zhí)行精確匹配操作時模糊所述缺失信息項,省略對所述缺失信息項的精確匹配操作;基于標注后的所述漏洞匹配條件執(zhí)行精確匹配操作,在所述本地數據庫存儲的預設漏洞信息中查詢每個信息項均與標注后的所述漏洞匹配條件包括的信息項相同的預設漏洞信息作為所述目標程序的漏洞信息。
36、可選地,所述基于程序相關信息的漏洞識別系統(tǒng),還包括:
37、漏洞數據庫模塊,用于周期性地通過外部接口匹配最新漏洞信息,并對所述最新漏洞信息執(zhí)行數據清洗操作;獲取標準數據模板,按照所述標準數據模板對清洗后的所述最新漏洞信息進行整理,以及將整理得到的信息作為預設漏洞信息存儲至所述本地數據庫中。
38、可選地,所述基于程序相關信息的漏洞識別系統(tǒng),還包括:
39、漏洞預測模塊,用于獲取漏洞預測模型;周期性地將當前進行漏洞監(jiān)控的每個程序的程序配置信息輸入至所述漏洞預測模型,并獲取所述漏洞預測模型輸出的預測漏洞信息;采用所述預測漏洞信息對當前預測的程序進行標注,并生成漏洞提醒。
40、可選地,所述漏洞預測模塊,用于獲取訓練集,其中,所述訓練集包括多個樣本程序配置信息,且每個所述樣本配置信息對應有樣本漏洞信息;確定預設神經網絡模型,將所述訓練集中包括的樣本配置信息輸入至所述預設神經網絡模型中,并獲取所述預設神經網絡模型針對每個所述樣本配置信息輸出的預測值;利用每個所述樣本配置信息對應的樣本漏洞信息和輸出的預測值計算損失值,基于所述損失值對所述預設神經網絡模型的模型參數進行更新,并重新將所述訓練集中包括的樣本配置信息輸入至參數更新后的所述預設神經網絡模型中,以及重新計算損失值,直至向所述預設神經網絡模型輸入所述訓練集的次數達到次數閾值或所述損失值達到損失值閾值,將當前的所述預設神經網絡模型作為所述漏洞預測模型。
41、依據本技術第三方面,提供了一種計算機設備,包括存儲器和處理器,所述存儲器存儲有計算機程序,所述處理器執(zhí)行所述計算機程序時實現上述第一方面中任一項所述方法的步驟。
42、依據本技術第四方面,提供了一種計算機可讀存儲介質,其上存儲有計算機程序,所述計算機程序被處理器執(zhí)行時實現上述第一方面中任一項所述的方法的步驟。
43、借由上述技術方案,本技術提供的一種基于程序相關信息的漏洞識別方法及系統(tǒng),本技術確定待進行漏洞識別的目標程序,獲取所述目標程序的程序配置信息,對所述程序配置信息包括的信息項進行整理,得到漏洞匹配條件,在存儲有預設漏洞信息的本地數據庫中,利用所述漏洞匹配條件執(zhí)行模糊匹配操作和精確匹配操作,以及將匹配到的預設漏洞信息作為所述目標程序的漏洞信息,在基于漏洞自動識別以顯著提升漏洞識別效率的同時,通過構建漏洞匹配條件和多重匹配策略,提高漏洞識別的準確性,有效保障程序的整體安全性。
44、上述說明僅是本技術技術方案的概述,為了能夠更清楚了解本技術的技術手段,而可依照說明書的內容予以實施,并且為了讓本技術的上述和其它目的、特征和優(yōu)點能夠更明顯易懂,以下特舉本技術的具體實施方式。