[發(fā)明專利]程序模糊測(cè)試方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)有效
| 申請(qǐng)?zhí)枺?/td> | 202211085263.8 | 申請(qǐng)日: | 2022-09-06 |
| 公開(公告)號(hào): | CN115357513B | 公開(公告)日: | 2023-06-13 |
| 發(fā)明(設(shè)計(jì))人: | 張超;秦世松;趙博棟 | 申請(qǐng)(專利權(quán))人: | 清華大學(xué) |
| 主分類號(hào): | G06F11/36 | 分類號(hào): | G06F11/36 |
| 代理公司: | 北京同立鈞成知識(shí)產(chǎn)權(quán)代理有限公司 11205 | 代理人: | 榮甜甜;劉芳 |
| 地址: | 10008*** | 國(guó)省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說(shuō)明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 程序 模糊 測(cè)試 方法 裝置 設(shè)備 存儲(chǔ) 介質(zhì) | ||
本申請(qǐng)?zhí)峁┮环N程序模糊測(cè)試方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)。該方法包括:獲取代碼插樁后的被測(cè)程序,代碼插樁在被測(cè)程序的源代碼中的位置為網(wǎng)絡(luò)數(shù)據(jù)I/O交互同步點(diǎn)的位置。利用M個(gè)測(cè)試用例,對(duì)代碼插樁后的被測(cè)程序進(jìn)行模糊測(cè)試,M為大于或等于1的整數(shù),每個(gè)測(cè)試用例包括至少兩條I/O交互請(qǐng)求消息,代碼插樁用于發(fā)送反饋信息,反饋信息用于指示發(fā)送I/O交互請(qǐng)求消息、根據(jù)模糊測(cè)試的執(zhí)行情況,獲取代碼插樁后的被測(cè)程序的模糊測(cè)試的結(jié)果。本申請(qǐng)的方法,使得模糊測(cè)試器能夠及時(shí)向被測(cè)程序發(fā)送I/O交互請(qǐng)求消息,提高了測(cè)試效率。
技術(shù)領(lǐng)域
本申請(qǐng)涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種程序模糊測(cè)試方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)。
背景技術(shù)
網(wǎng)絡(luò)協(xié)議作為計(jì)算機(jī)網(wǎng)絡(luò)中不同實(shí)體之間的通信規(guī)則集合,是整個(gè)互聯(lián)網(wǎng)世界的根基之一。隨著互聯(lián)網(wǎng)的不斷發(fā)展,智能手機(jī)、個(gè)人電腦、物聯(lián)網(wǎng)設(shè)備等設(shè)備的系統(tǒng)上都運(yùn)行著越來(lái)越多不同種類的網(wǎng)絡(luò)協(xié)議程序,從而在各種設(shè)備間建立起了信息通信橋梁。然而,相比于本地程序,攻擊者可以利用網(wǎng)絡(luò)協(xié)議程序中的漏洞更輕易地發(fā)動(dòng)遠(yuǎn)程攻擊,從而造成更加嚴(yán)重的危害。因此網(wǎng)絡(luò)協(xié)議對(duì)于整個(gè)網(wǎng)絡(luò)空間的安全是至關(guān)重要的。
目前,主要通過(guò)模糊測(cè)試的方式對(duì)目標(biāo)程序進(jìn)行漏洞挖掘。現(xiàn)有的大多數(shù)灰盒模糊測(cè)試工具主要針對(duì)運(yùn)行在本地的,具有單次輸入特性的應(yīng)用程序進(jìn)行測(cè)試。相比于這些本地應(yīng)用程序,網(wǎng)絡(luò)協(xié)議程序大多都被設(shè)計(jì)為客戶端/服務(wù)端架構(gòu),在運(yùn)行時(shí)會(huì)基于網(wǎng)絡(luò)進(jìn)行多輪通信。
然而,目前的灰盒模糊測(cè)試工具無(wú)法及時(shí)向被測(cè)協(xié)議程序發(fā)送測(cè)試消息,導(dǎo)致測(cè)試效率較低的問(wèn)題。
發(fā)明內(nèi)容
本申請(qǐng)?zhí)峁┮环N程序模糊測(cè)試方法、裝置、設(shè)備及存儲(chǔ)介質(zhì),用以解決現(xiàn)有技術(shù)中網(wǎng)絡(luò)協(xié)議程序測(cè)試效率較低的問(wèn)題。
第一方面,本申請(qǐng)?zhí)峁┮环N程序模糊測(cè)試方法,包括:
獲取代碼插樁后的被測(cè)程序,代碼插樁在所述被測(cè)程序的源代碼中的位置為網(wǎng)絡(luò)數(shù)據(jù)I/O交互同步點(diǎn)的位置;
利用M個(gè)測(cè)試用例,對(duì)所述代碼插樁后的被測(cè)程序進(jìn)行模糊測(cè)試,所述M為大于或等于1的整數(shù),每個(gè)所述測(cè)試用例包括至少兩條I/O交互請(qǐng)求消息,所述代碼插樁用于發(fā)送反饋信息,所述反饋信息用于指示發(fā)送所述I/O交互請(qǐng)求消息;
根據(jù)所述模糊測(cè)試的執(zhí)行情況,獲取所述代碼插樁后的被測(cè)程序的模糊測(cè)試的結(jié)果。
可選地,所述獲取代碼插樁后的被測(cè)程序,包括:
獲取被測(cè)程序;根據(jù)所述被測(cè)程序,獲取所述被測(cè)程序的代碼插樁的位置;根據(jù)所述代碼插樁的位置,對(duì)所述被測(cè)程序進(jìn)行插樁處理,得到所述代碼插樁后的被測(cè)程序。
可選地,所述根據(jù)所述被測(cè)程序,獲取所述被測(cè)程序的代碼插樁位置,包括:
根據(jù)所述被測(cè)程序,獲取所述被測(cè)程序的斷點(diǎn);所述斷點(diǎn)的位置為所述被測(cè)程序的輸入類系統(tǒng)調(diào)用的位置;根據(jù)所述斷點(diǎn),獲取所述被測(cè)程序觸發(fā)斷點(diǎn)時(shí)的目標(biāo)函數(shù)調(diào)用棧信息,所述目標(biāo)函數(shù)調(diào)用棧信息用于指示函數(shù)名稱、函數(shù)調(diào)用順序;獲取所述被測(cè)程序的候選目標(biāo)集合,所述被測(cè)程序的候選目標(biāo)集合用于指示所述被測(cè)函數(shù)中的I/O操作循環(huán)結(jié)構(gòu);根據(jù)所述目標(biāo)函數(shù)調(diào)用棧信息,以及,所述被測(cè)程序的候選目標(biāo)集合,獲取所述被測(cè)程序的代碼插樁位置。
可選地,所述獲取所述被測(cè)程序的候選目標(biāo)集合包括:根據(jù)所述被測(cè)程序的源代碼,獲取所述被測(cè)程序的候選目標(biāo)集合,所述候選目標(biāo)集合包括至少一個(gè)元素,每個(gè)元素包括:被測(cè)程序的一個(gè)所述I/O操作循環(huán)結(jié)構(gòu),以及,包含所述I/O操作循環(huán)結(jié)構(gòu)的函數(shù)信息。
可選地,所述根據(jù)所述函數(shù)調(diào)用棧信息,以及,所述被測(cè)程序的候選目標(biāo)集合,獲取所述被測(cè)程序的代碼插樁的位置,包括:
根據(jù)所述目標(biāo)函數(shù)調(diào)用棧信息,與所述候選目標(biāo)集合中的元素進(jìn)行匹配,將第一個(gè)匹配到的函數(shù)的位置作為所述被測(cè)程序的網(wǎng)絡(luò)協(xié)議I/O交互同步點(diǎn)的位置;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于清華大學(xué),未經(jīng)清華大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202211085263.8/2.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ò)誤
- 功能限制程序、安裝程序生成程序和程序存儲(chǔ)介質(zhì)
- 程序生成系統(tǒng)、程序生成程序和程序生成模塊
- 程序生成系統(tǒng)、程序生成程序和程序生成模塊
- 程序創(chuàng)建裝置,程序創(chuàng)建方法和程序
- 程序生成裝置、程序生產(chǎn)方法及程序
- 程序生成裝置、程序生成程序以及程序生成方法
- 程序生成裝置、程序生成方法及程序生成程序
- 程序開發(fā)支持裝置、程序開發(fā)支持方法以及存儲(chǔ)介質(zhì)
- 程序執(zhí)行輔助裝置、程序執(zhí)行輔助方法及程序執(zhí)行輔助程序
- 程序?qū)φ昭b置、程序?qū)φ辗椒俺绦驅(qū)φ粘绦?/a>
- 軟件測(cè)試系統(tǒng)及測(cè)試方法
- 自動(dòng)化測(cè)試方法和裝置
- 一種應(yīng)用于視頻點(diǎn)播系統(tǒng)的測(cè)試裝置及測(cè)試方法
- Android設(shè)備的測(cè)試方法及系統(tǒng)
- 一種工廠測(cè)試方法、系統(tǒng)、測(cè)試終端及被測(cè)試終端
- 一種軟件測(cè)試的方法、裝置及電子設(shè)備
- 測(cè)試方法、測(cè)試裝置、測(cè)試設(shè)備及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)
- 測(cè)試裝置及測(cè)試系統(tǒng)
- 測(cè)試方法及測(cè)試系統(tǒng)
- 一種數(shù)控切削指令運(yùn)行軟件測(cè)試系統(tǒng)及方法
- 一種數(shù)據(jù)庫(kù)讀寫分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測(cè)試終端的測(cè)試方法
- 一種服裝用人體測(cè)量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測(cè)程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





