一種程序漏洞檢測方法及裝置的制造方法
【技術領域】
[0001]本發明涉及信息安全技術領域,尤其涉及一種程序漏洞檢測方法及裝置。
【背景技術】
[0002]目前,信息技術的飛速發展給人們帶來便利,但同時,其中存在的大量漏洞也使得當前安全形勢日益嚴峻,由此,各種漏洞檢測技術應運而生。模糊測試(Fuzz testing)就是其中的一種軟件漏洞挖掘技術,其在進行軟件漏洞挖掘時,通過對軟件的輸入文件做隨機插入,如依次對每個字節做0?OxFF變換,生成測試數據,由該軟件加載該測試數據,并通過監控該軟件是否崩潰或者出現異常來檢測是否存在潛在漏洞。然而,通過對每個字節做0?OxFF變換,這就使得生成的測試數據規模較大,導致漏洞檢測效率較低。
【發明內容】
[0003]本發明實施例所要解決的技術問題在于,提供一種程序漏洞檢測方法及裝置,用于解決由于生成的測試數據規模大而導致的漏洞檢測效率低的問題。
[0004]為了解決上述技術問題,本發明實施例提供了一種程序漏洞檢測方法,包括:
[0005]對目標程序的輸入文件的結構進行解析,得到包括所述輸入文件的至少一個字段信息的字段信息集合;
[0006]從所述字段信息集合的字段信息中查找出用于標識長度的目標字段信息;
[0007]將所述目標字段信息指示的長度值替換為預先配置的目標測試值,并根據所述目標測試值對所述目標程序進行漏洞檢測。
[0008]可選的,所述根據所述目標測試值對所述目標程序進行漏洞檢測,包括:
[0009]根據所述目標測試值對所述輸入文件中的字段進行更改,得到所述目標測試值對應的測試數據;
[0010]在所述目標程序中運行所述測試數據,以對所述目標程序進行漏洞檢測。
[0011 ] 可選的,所述方法還包括:
[0012]預先獲取不同文件的文件格式,并為每一種文件格式配置與該文件格式對應的測試值;
[0013]所述將所述目標字段信息指示的長度值替換為預先配置的目標測試值,包括:
[0014]確定所述輸入文件對應的目標文件格式,并查找出與所述目標文件格式對應的測試值;
[0015]將查找出的所述測試值作為目標測試值,并將所述目標字段信息指示的長度值替換為所述目標測試值。
[0016]可選的,在所述將所述目標字段信息指示的長度值替換為預先配置的目標測試值,并根據所述目標測試值對所述目標程序進行漏洞檢測之后,所述方法還包括:
[0017]獲取所述漏洞檢測的檢測過程中所述目標程序產生的異常信息,并確定出所述異常信息對應的測試值;
[0018]根據所述異常信息對應的測試值,對配置的與所述目標文件格式對應的測試值進行更新。
[0019]可選的,所述目標測試值為預先配置的邊界值。
[0020]相應地,本發明實施例還提供了一種程序漏洞檢測裝置,包括:
[0021]解析模塊,用于對目標程序的輸入文件的結構進行解析,得到包括所述輸入文件的至少一個字段信息的字段信息集合;
[0022]查找模塊,用于從所述字段信息集合的字段信息中查找出用于標識長度的目標字段?目息;
[0023]替換模塊,用于將所述查找模塊查找出的所述目標字段信息指示的長度值替換為預先配置的目標測試值;
[0024]檢測模塊,用于根據所述目標測試值對所述目標程序進行漏洞檢測。
[0025]可選的,所述檢測模塊包括:
[0026]數據生成單元,用于根據所述目標測試值對所述輸入文件中的字段進行更改,得到所述目標測試值對應的測試數據;
[0027]處理單元,用于在所述目標程序中運行所述數據生成單元生成的所述測試數據,以對所述目標程序進行漏洞檢測。
[0028]可選的,所述裝置還包括:
[0029]預置模塊,用于預先獲取不同文件的文件格式,并為每一種文件格式配置與該文件格式對應的測試值;
[0030]所述替換模塊具體用于:
[0031]確定所述輸入文件對應的目標文件格式,并查找出與所述目標文件格式對應的測試值;
[0032]將查找出的所述測試值作為目標測試值,并將所述目標字段信息指示的長度值替換為所述目標測試值。
[0033]可選的,所述裝置還包括:
[0034]信息獲取模塊,用于獲取所述漏洞檢測的檢測過程中所述目標程序產生的異常信息,并確定出所述異常信息對應的測試值;
[0035]更新模塊,用于根據所述信息獲取模塊獲取的所述異常信息對應的測試值,對配置的與所述目標文件格式對應的測試值進行更新。
[0036]可選的,所述目標測試值為預先配置的邊界值。
[0037]實施本發明實施例,具有如下有益效果:
[0038]在本發明實施例中,可通過對目標程序的輸入文件的結構進行解析,得到該輸入文件的多個字段信息,并從該多個字段信息中查找出用于標識長度的目標字段信息,從而將該目標字段信息指示的長度值替換為預置的測試值,并根據該測試值對該目標程序進行漏洞檢測,使得有效減少了生成的測試數據的規模,從而有效提升了程序漏洞的檢測效率。
【附圖說明】
[0039]為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
[0040]圖1是本發明實施例提供的一種程序漏洞檢測方法的流程示意圖;
[0041]圖2是本發明實施例提供的另一種程序漏洞檢測方法的流程示意圖;
[0042]圖3是本發明實施例提供的一種程序漏洞檢測裝置的結構示意圖;
[0043]圖4是本發明實施例提供的另一種程序漏洞檢測裝置的結構示意圖;
[0044]圖5是本發明實施例提供的一種終端設備的結構示意圖。
【具體實施方式】
[0045]下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
[0046]本發明實施例公開了一種程序漏洞檢測方法、裝置及終端設備,能夠解決由于生成的測試數據規模大而導致的漏洞挖掘效率低的問題。以下分別詳細說明。
[0047]請參閱圖1,圖1是本發明實施例提供的一種程序漏洞檢測方法的流程示意圖。具體的,如圖1所示,本發明實施例的所述程序漏洞檢測方法可以包括以下步驟:
[0048]101、對目標程序的輸入文件的結構進行解析,得到包括所述輸入文件的至少一個字段信息的字段信息集合。
[0049]其中,所述目標程序為需要進行漏洞檢測的程序,該輸入文件可以為對該目標程序進行漏洞檢測的樣本文件。可選的,該輸入文件可根據所述目標程序的類型信息預先配置得到。
[0050]需要說明的是,本發明實施例的所述方法可具體應用于終端設備,如智能手機(如Android手機、1S手機等)、平板電腦、移動互聯網設備(Mobile Internet Devices,簡稱“MID”)、個人電腦等終端設備中,本發明實施例不做限定。從而實現對安裝于該終端設備的程序軟件的漏洞檢測。
[0051]102、從所述字段信息集合的字段信息中查找出用于標識長度的目標字段信息。
[0052]具體實施例中,該輸入文件中包括多個字段信息,如用于標識文件內容長度的長度字段信息、用于標識文件內容的屬性(如顏色、字體等)的屬性字段信息等等。由此,可從該多個字段信息中查找出用于標識文件內容長度的長度字段信息即目標字段信息,并進一步解析得到該目標字段信息指示的該文件內容的長度值。
[0053]103、將所述目標字段信息指示的長度值替換為預先配置的目標測試值,并根據所述目標測試值對所述目標程序進行漏洞檢測。
[0054]具體實施例中,可預先配置一些用于替換字段信息指示的長度值的測試值,比如將某些邊界值,如10、0x10、20、0x20、100等等作為該測試值。具體的,在查找出該用于標識長度的目標字段信息并解析得到該目標字段信息指示的長度值之后,即可通過該預置的目標測試值如該邊界值替換該目標字段信息指示的長度值,從