[發(fā)明專利]一種針對(duì)堆可控分配漏洞的檢測(cè)方法及系統(tǒng)有效
| 申請(qǐng)?zhí)枺?/td> | 201310277696.8 | 申請(qǐng)日: | 2013-07-03 |
| 公開(公告)號(hào): | CN103389939A | 公開(公告)日: | 2013-11-13 |
| 發(fā)明(設(shè)計(jì))人: | 陳渝;肖奇學(xué);郭世澤;史元春;徐永健;茅俊杰;趙靜;陳韜 | 申請(qǐng)(專利權(quán))人: | 清華大學(xué);中國(guó)人民解放軍總參謀部第五十四研究所 |
| 主分類號(hào): | G06F11/36 | 分類號(hào): | G06F11/36;G06F21/57 |
| 代理公司: | 北京理工大學(xué)專利中心 11120 | 代理人: | 高燕燕 |
| 地址: | 10008*** | 國(guó)省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說(shuō)明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 針對(duì) 可控 分配 漏洞 檢測(cè) 方法 系統(tǒng) | ||
1.針對(duì)堆可控分配漏洞的檢測(cè)方法,其特征在于,包括以下步驟:
第一步:對(duì)目標(biāo)分析文件進(jìn)行逆向分析,通過(guò)反匯編、反編譯、調(diào)試分析手段,對(duì)目標(biāo)分析文件進(jìn)行信息的獲取和還原,獲取的信息包括文件的執(zhí)行流程信息、函數(shù)名稱、參數(shù)信息、資源信息;
第二步:對(duì)需要分析的文件的函數(shù)參數(shù)進(jìn)行符號(hào)化;
第三步:利用符號(hào)執(zhí)行引擎對(duì)目標(biāo)分析文件進(jìn)行具體執(zhí)行和符號(hào)執(zhí)行相結(jié)合的分析,從而遍歷所有路徑;
第四步:利用二進(jìn)制翻譯方法對(duì)堆分配函數(shù)進(jìn)行監(jiān)控分析;
第五步:在目標(biāo)分析文件執(zhí)行到被監(jiān)控的堆分配函數(shù)處時(shí),對(duì)堆分配函數(shù)進(jìn)行分析,通過(guò)堆棧獲取堆分配函數(shù)需要分配的大小,并判斷是否為符號(hào)值,如果是具體值,則繼續(xù)運(yùn)行,跳轉(zhuǎn)至第八步;如果是符號(hào)值,則報(bào)告該路徑所達(dá)的堆分配函數(shù)是存在可控堆分配漏洞,返回第三步;
第六步:對(duì)符號(hào)值進(jìn)行分析求解,如果size可以等于0,則表示通過(guò)設(shè)置相關(guān)參數(shù),可以使得堆分配函數(shù)分配大小為0的內(nèi)存,則報(bào)告中等危險(xiǎn)漏洞;
第七步:對(duì)符號(hào)值size進(jìn)行整數(shù)溢出分析,并結(jié)合該路徑上對(duì)size的約束,檢測(cè)是否存在通過(guò)設(shè)定相應(yīng)的變量,使得該符號(hào)值size存在整數(shù)溢出的可能,如果存在,則報(bào)告高等危險(xiǎn)漏洞,并結(jié)束該路徑。
2.針對(duì)堆可控分配漏洞的檢測(cè)系統(tǒng),其特征在于:包括動(dòng)態(tài)二進(jìn)制翻譯子系統(tǒng)、執(zhí)行引擎子系統(tǒng)和硬件虛擬子系統(tǒng);
動(dòng)態(tài)二進(jìn)制翻譯子系統(tǒng)完成對(duì)目標(biāo)程序進(jìn)行動(dòng)態(tài)二進(jìn)制翻譯,在代碼執(zhí)行時(shí),將一個(gè)平臺(tái)的可執(zhí)行代碼轉(zhuǎn)換為另一個(gè)平臺(tái)的可執(zhí)行代碼;
執(zhí)行引擎子系統(tǒng)包括具體執(zhí)行模塊、符號(hào)執(zhí)行模塊和*malloc分析模塊,實(shí)現(xiàn)具體執(zhí)行和符號(hào)執(zhí)行;執(zhí)行引擎子系統(tǒng)調(diào)用DBT來(lái)翻譯guest代碼,然后在native模式運(yùn)行或者在符號(hào)執(zhí)行引擎中解釋執(zhí)行;
具體執(zhí)行模塊提供在host?CPU上執(zhí)行具體代碼,符號(hào)執(zhí)行模塊提供符號(hào)執(zhí)行;執(zhí)行引擎子系統(tǒng)首先通知DBT生成native?code進(jìn)行具體執(zhí)行,但如果代碼在讀取的內(nèi)存中包含符號(hào)數(shù)據(jù)時(shí),它讓DBT重新將代碼翻譯成LLVM,進(jìn)行符號(hào)執(zhí)行;*malloc分析模塊完成對(duì)*malloc函數(shù)動(dòng)態(tài)運(yùn)行時(shí)的分析,包括判斷*malloc要分配內(nèi)存的大小是否為符號(hào)值;分析該符號(hào)值是否可能等于0;分析該符號(hào)表達(dá)式是否存在整數(shù)溢出情況;
硬件虛擬子系統(tǒng)實(shí)現(xiàn)對(duì)CPU、內(nèi)存、設(shè)備的模擬實(shí)現(xiàn)。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于清華大學(xué);中國(guó)人民解放軍總參謀部第五十四研究所,未經(jīng)清華大學(xué);中國(guó)人民解放軍總參謀部第五十四研究所許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310277696.8/1.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F11-00 錯(cuò)誤檢測(cè);錯(cuò)誤校正;監(jiān)控
G06F11-07 .響應(yīng)錯(cuò)誤的產(chǎn)生,例如,容錯(cuò)
G06F11-22 .在準(zhǔn)備運(yùn)算或者在空閑時(shí)間期間內(nèi),通過(guò)測(cè)試作故障硬件的檢測(cè)或定位
G06F11-28 .借助于檢驗(yàn)標(biāo)準(zhǔn)程序或通過(guò)處理作錯(cuò)誤檢測(cè)、錯(cuò)誤校正或監(jiān)控
G06F11-30 .監(jiān)控
G06F11-36 .通過(guò)軟件的測(cè)試或調(diào)試防止錯(cuò)誤
- 網(wǎng)站漏洞告警方法及裝置
- 網(wǎng)站漏洞審核方法及裝置
- 漏洞檢測(cè)方法及裝置、信息交互方法及設(shè)備
- 一種基于漏洞關(guān)聯(lián)分布模型的漏洞發(fā)現(xiàn)方法
- 漏洞庫(kù)構(gòu)建方法、裝置、漏洞庫(kù)及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)
- 漏洞快速感知、定位及驗(yàn)證的方法與系統(tǒng)
- 一種基于Oval的漏洞掃描修復(fù)系統(tǒng)及方法
- 一種漏洞驗(yàn)證的方法及電子設(shè)備
- 一種漏洞防護(hù)方法、裝置及電子設(shè)備
- 漏洞數(shù)據(jù)的比較方法、裝置、電子設(shè)備以及存儲(chǔ)介質(zhì)





