br>[0136]作為再一可選實施例,漏洞挖掘模塊24還可以進一步包括:
[0137]線程分配單元,如果生成的所述模糊數據為多個,為所述目標應用程序分配多個線程,每一線程運行一模糊數據。
[0138]作為一可選實施例,該裝置還可以進一步包括:
[0139]模糊配置數據庫模塊25,用于將生成的模糊配置數據存儲至模糊配置數據庫中,并在模糊配置數據庫中,構建目標應用程序與模糊配置數據的對應關系。
[0140]圖3為本發明實施例漏洞挖掘裝置邏輯結構示意圖。參見圖3,包括:
[0141 ]模糊配置數據生成器31,用于基于格式分析和目標應用程序解析相結合的方法生成所述模糊配置數據;
[0142]模糊配置數據庫32,用于存儲模糊配置數據以及樣本文件,并基于所述模糊配置數據以及樣本文件生成模糊數據,還用于存儲虛擬機鏡像;
[0143]結果數據庫33,用于存儲目標應用程序運行模糊數據產生的異常運行結果信息以及崩潰?目息;
[0144]模糊數據動態鏈接庫34,用于從模糊配置數據庫中讀取模糊數據,寫入目標應用程序進程的輸入接口 ;
[0145]目標應用程序進程35,用于運行寫入的模糊數據;
[0146]模糊數據異常監控進程36,用于監控異常運行的模糊數據,在確定模糊數據運行異常后,將異常運行結果信息或崩潰信息輸出至結果數據庫;
[0147]本發明實施例中,模糊數據動態鏈接庫34、目標應用程序進程35以及模糊數據異常監控進程36構成威睿虛擬機(Vmware)。
[0148]虛擬機控制器37,用于進行虛擬機鏡像,將虛擬機鏡像輸出至模糊配置數據庫,并檢測模糊數據動態鏈接庫、目標應用程序進程以及模糊數據異常監控進程是否超時,如果超時,從模糊配置數據庫中讀取虛擬機鏡像,輸出至模糊數據動態鏈接庫。
[0149]本發明實施例中,虛擬機控制器37檢測威睿虛擬機是否超時。
[0150]本發明實施例還提供一種電子設備,所述電子設備包含前述任一實施例所述的裝置。
[0151]圖4為本發明電子設備一個實施例的結構示意圖,可以實現本發明圖1-3所示實施例的流程,如圖4所示,上述電子設備可以包括:殼體41、處理器42、存儲器43、電路板44和電源電路45,其中,電路板44安置在殼體41圍成的空間內部,處理器42和存儲器43設置在電路板44上;電源電路45,用于為上述電子設備的各個電路或器件供電;存儲器43用于存儲可執行程序代碼;處理器42通過讀取存儲器43中存儲的可執行程序代碼來運行與可執行程序代碼對應的程序,用于執行前述任一實施例所述的漏洞挖掘方法。
[0152]處理器42對上述步驟的具體執行過程以及處理器42通過運行可執行程序代碼來進一步執行的步驟,可以參見本發明圖1-3所示實施例的描述,在此不再贅述。
[0153]該電子設備以多種形式存在,包括但不限于:
[0154](I)移動通信設備:這類設備的特點是具備移動通信功能,并且以提供話音、數據通信為主要目標。這類終端包括:智能手機(例如iPhone)、多媒體手機、功能性手機,以及低端手機等。
[0155](2)超移動個人計算機設備:這類設備屬于個人計算機的范疇,有計算和處理功能,一般也具備移動上網特性。這類終端包括:PDA、MID和UMPC設備等,例如iPad。
[0156](3)便攜式娛樂設備:這類設備可以顯示和播放多媒體內容。該類設備包括:音頻、視頻播放器(例如iPod),掌上游戲機,電子書,以及智能玩具和便攜式車載導航設備。
[0157](4)服務器:提供計算服務的設備,服務器的構成包括處理器、硬盤、內存、系統總線等,服務器和通用的計算機架構類似,但是由于需要提供高可靠的服務,因此在處理能力、穩定性、可靠性、安全性、可擴展性、可管理性等方面要求較高。
[0158](5)其他具有數據交互功能的電子設備。
[0159]本領域普通技術人員可以理解實現上述實施例方法中的全部或部分流程,是可以通過計算機程序來指令相關的硬件來完成,所述的程序可存儲于一計算機可讀取存儲介質中,該程序在執行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質可為磁碟、光盤、只讀存儲記憶體(Read-Only Memory,ROM)或隨機存儲記憶體(Random AccessMemory,RAM)等。
[0160]以上所述,僅為本發明的【具體實施方式】,但本發明的保護范圍并不局限于此,任何熟悉本技術領域的技術人員在本發明揭露的技術范圍內,可輕易想到的變化或替換,都應涵蓋在本發明的保護范圍之內。因此,本發明的保護范圍應以權利要求的保護范圍為準。
【主權項】
1.一種漏洞挖掘方法,其特征在于,該方法包括: 生成基于目標應用程序的模糊配置數據; 在預先設置的虛擬機中啟動所述目標應用程序,讀取用于目標應用程序的樣本文件; 解析所述用于目標應用程序的樣本文件的格式,得到數據塊,調用所述基于目標應用程序的模糊配置數據,對所述數據塊進行模糊配置,生成模糊數據; 將所述模糊數據寫入所述目標應用程序的輸入接口,在所述目標應用程序中運行所述模糊數據,依據運行所述模糊數據的運行結果信息進行漏洞挖掘。2.根據權利要求1所述的方法,其特征在于,所述在所述目標應用程序中運行所述模糊數據包括: 對寫入所述目標應用程序的輸入接口的模糊數據進行虛擬機鏡像; 在所述目標應用程序中運行所述模糊數據,如果運行所述模糊數據的時間超過預先設置的超時時間閾值,結束運行所述模糊數據,重加載所述虛擬機鏡像以進行漏洞挖掘。3.根據權利要求2所述的方法,其特征在于,通過快照方式對當前時刻包括內存狀態、文件操作、內核對象的進程狀態進行虛擬機鏡像。4.根據權利要求1所述的方法,其特征在于,所述在所述目標應用程序中運行所述模糊數據包括: 監控到所述目標應用程序在運行所述模糊數據的過程中異常,將記錄的運行結果寫入預先設置的結果數據庫中,結束所述所述模糊數據的運行; 判斷當前運行的所述模糊數據是否為最后一模糊數據,如果是,結束所述目標應用程序;如果不是,在所述目標應用程序中運行下一模糊數據。5.根據權利要求1至4任一項所述的方法,其特征在于,在所述依據運行所述模糊數據的運行結果信息進行漏洞挖掘之前,所述方法進一步包括: 獲取所述目標應用程序中運行所述模糊數據的運行結果信息; 過濾運行結果信息中預先設置的非模糊數據運行產生的異常信息,基于過濾的運行結果信息執行所述漏洞挖掘。6.根據權利要求1至4任一項所述的方法,其特征在于,在所述目標應用程序中運行所述模糊數據以進行漏洞挖掘之前,所述方法進一步包括: 如果生成的所述模糊數據為多個,為所述目標應用程序分配多個線程,每一線程運行一模糊數據。7.根據權利要求1至4任一項所述的方法,其特征在于,利用模糊配置數據生成器,基于格式分析和目標應用程序解析相結合的方法生成所述模糊配置數據。8.根據權利要求7所述的方法,其特征在于,所述模糊配置數據的格式采用偏移-長度-數據類型格式。9.根據權利要求1至4任一項所述的方法,其特征在于,利用預先注入在所述目標應用程序中的模糊數據動態鏈接庫腳本調用所述模糊配置數據。10.一種漏洞挖掘裝置,其特征在于,該裝置包括:配置模塊、樣本文件讀取模塊、模糊數據生成模塊以及漏洞挖掘模塊,其中, 配置模塊,用于生成基于目標應用程序的模糊配置數據; 樣本文件讀取模塊,用于在預先設置的虛擬機中啟動所述目標應用程序,讀取用于目標應用程序的樣本文件; 模糊數據生成模塊,用于解析所述用于目標應用程序的樣本文件的格式,得到數據塊,調用所述基于目標應用程序的模糊配置數據,對所述數據塊進行模糊配置,生成模糊數據;漏洞挖掘模塊,用于將所述模糊數據寫入所述目標應用程序的輸入接口,在所述目標應用程序中運行所述模糊數據,依據運行所述模糊數據的運行結果信息進行漏洞挖掘。
【專利摘要】本發明的實施例公開一種漏洞挖掘方法、裝置及電子設備。方法包括:生成基于目標應用程序的模糊配置數據;在預先設置的虛擬機中啟動所述目標應用程序,讀取用于目標應用程序的樣本文件;解析所述用于目標應用程序的樣本文件的格式,得到數據塊,調用所述基于目標應用程序的模糊配置數據,對所述數據塊進行模糊配置,生成模糊數據;將所述模糊數據寫入所述目標應用程序的輸入接口,在所述目標應用程序中運行所述模糊數據,依據運行所述模糊數據的運行結果信息進行漏洞挖掘。應用本發明,可以提升漏洞挖掘效率。
【IPC分類】G06F21/57
【公開號】CN105512562
【申請號】CN201510875605
【發明人】王鑫
【申請人】珠海市君天電子科技有限公司, 北京金山安全軟件有限公司
【公開日】2016年4月20日
【申請日】2015年12月1日