[發(fā)明專利]一種動(dòng)態(tài)確定結(jié)束塊的方法和裝置在審
| 申請(qǐng)?zhí)枺?/td> | 202111556212.4 | 申請(qǐng)日: | 2021-12-17 |
| 公開(公告)號(hào): | CN114265773A | 公開(公告)日: | 2022-04-01 |
| 發(fā)明(設(shè)計(jì))人: | 陳浩;劉躍;劉嘉木;黃昊暉 | 申請(qǐng)(專利權(quán))人: | 奇安信科技集團(tuán)股份有限公司;網(wǎng)神信息技術(shù)(北京)股份有限公司 |
| 主分類號(hào): | G06F11/36 | 分類號(hào): | G06F11/36 |
| 代理公司: | 北京集佳知識(shí)產(chǎn)權(quán)代理有限公司 11227 | 代理人: | 韓麗波 |
| 地址: | 100088 北京市西城區(qū)*** | 國(guó)省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說(shuō)明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 動(dòng)態(tài) 確定 結(jié)束 方法 裝置 | ||
本申請(qǐng)公開了一種動(dòng)態(tài)確定結(jié)束塊的方法和裝置,基于所有測(cè)試用例中的每個(gè)測(cè)試用例,對(duì)待測(cè)試二進(jìn)制程序進(jìn)行預(yù)模糊測(cè)試,并將結(jié)束塊記錄到結(jié)束塊列表中;響應(yīng)于預(yù)模糊測(cè)試結(jié)束的消息,基于測(cè)試用例變異后的變異用例,按照預(yù)設(shè)規(guī)則,對(duì)待測(cè)試二進(jìn)制程序進(jìn)行模糊測(cè)試,預(yù)設(shè)規(guī)則用于動(dòng)態(tài)確定結(jié)束塊并更新結(jié)束塊列表,基于更新后的結(jié)束塊列表進(jìn)行模塊測(cè)試。該方法能夠針對(duì)例如IoT設(shè)備上的網(wǎng)絡(luò)服務(wù)這類不會(huì)運(yùn)行結(jié)束的場(chǎng)景,拓寬了Fuzzing的對(duì)象,配合End Block的發(fā)現(xiàn)機(jī)制,對(duì)Fuzzing過(guò)程中的測(cè)試示例的變異提供指導(dǎo),從而提高針對(duì)IoT等設(shè)備上的二進(jìn)制程序漏洞發(fā)現(xiàn)的速度。
技術(shù)領(lǐng)域
本申請(qǐng)涉及計(jì)算機(jī)技術(shù)領(lǐng)域,特別是涉及一種動(dòng)態(tài)確定結(jié)束塊(End Block)的方法和裝置。
背景技術(shù)
模糊測(cè)試(Fuzzing),是一種通過(guò)向目標(biāo)系統(tǒng)提供非預(yù)期的輸入并監(jiān)視異常結(jié)果來(lái)發(fā)現(xiàn)軟件漏洞的方法,被各大軟件廠商廣泛使用,對(duì)自家產(chǎn)品進(jìn)行漏洞挖掘,從而減少產(chǎn)品中的漏洞。目前,F(xiàn)uzzing技術(shù)通常應(yīng)用在普通的服務(wù)類進(jìn)程或者各類模塊組件中,它們的軟件運(yùn)行結(jié)束可以作為一次Fuzzing結(jié)束的標(biāo)志,方便Fuzzing快速工作。但是,對(duì)于網(wǎng)絡(luò)服務(wù)等進(jìn)程不會(huì)退出的場(chǎng)景,例如物聯(lián)網(wǎng)(Internet of Things,IoT)設(shè)備上運(yùn)行的網(wǎng)絡(luò)服務(wù),F(xiàn)uzzing流程無(wú)法感知到是否到達(dá)了運(yùn)行的結(jié)尾,導(dǎo)致一次Fuzzing無(wú)法快速結(jié)束,從而使得整個(gè)Fuzzing流程變慢。
基于此,針對(duì)進(jìn)程不會(huì)退出的場(chǎng)景,亟待提供一種Fuzzing能夠感知到運(yùn)行結(jié)尾的技術(shù)方案,實(shí)現(xiàn)在這些場(chǎng)景中高效的Fuzzing。
發(fā)明內(nèi)容
本申請(qǐng)實(shí)施例提供了一種動(dòng)態(tài)確定End Block的方法和裝置,能夠在Fuzzing過(guò)程中動(dòng)態(tài)的確認(rèn)End Block,從而能在程序運(yùn)行流程中確認(rèn)當(dāng)前的Fuzzing流程是否到達(dá)結(jié)尾,提高Fuzzing的反饋更新速度,從而提高Fuzz的效率,克服了Fuzzing對(duì)待測(cè)對(duì)象反饋的強(qiáng)依賴性。
第一方面,本申請(qǐng)實(shí)施例提供了一種動(dòng)態(tài)確定結(jié)束塊的方法,包括:
基于所有測(cè)試用例中的每個(gè)測(cè)試用例,對(duì)待測(cè)試二進(jìn)制程序進(jìn)行預(yù)模糊測(cè)試,并將結(jié)束塊記錄到結(jié)束塊列表中;
響應(yīng)于預(yù)模糊測(cè)試結(jié)束的消息,基于測(cè)試用例變異后的變異用例,按照預(yù)設(shè)規(guī)則,對(duì)所述待測(cè)試二進(jìn)制程序進(jìn)行模糊測(cè)試,所述預(yù)設(shè)規(guī)則用于動(dòng)態(tài)確定結(jié)束塊并更新所述結(jié)束塊列表,基于更新后的結(jié)束塊列表進(jìn)行所述模塊測(cè)試。
可選地,在所述基于所有測(cè)試用例中的每個(gè)測(cè)試用例,對(duì)待測(cè)試二進(jìn)制程序進(jìn)行預(yù)模糊測(cè)試之前,所述方法還包括:
使用腳本靜態(tài)分析所述待測(cè)試二進(jìn)制程序,獲得所述待測(cè)試二進(jìn)制程序的多個(gè)代碼塊。
可選地,所述預(yù)設(shè)規(guī)則包括:
所述待測(cè)試二進(jìn)制程序運(yùn)行所述變異用例和對(duì)應(yīng)的測(cè)試用例的程序路徑相同,以及所述待測(cè)試二進(jìn)制程序運(yùn)行所述變異用例進(jìn)入所述結(jié)束塊列表中的結(jié)束塊,則,終止基于所述變異用例的模糊測(cè)試;
所述待測(cè)試二進(jìn)制程序運(yùn)行所述變異用例和對(duì)應(yīng)的測(cè)試用例的程序路徑不相同,以及所述待測(cè)試二進(jìn)制程序運(yùn)行所述變異用例進(jìn)入所述結(jié)束塊列表中的結(jié)束塊,則,更新覆蓋率,刪除當(dāng)前新的代碼塊的斷點(diǎn),記錄所述變異用例對(duì)應(yīng)的測(cè)試用例,并終止基于所述變異用例的模糊測(cè)試;
所述待測(cè)試二進(jìn)制程序運(yùn)行所述變異用例和對(duì)應(yīng)的測(cè)試用例的程序路徑不相同,以及所述待測(cè)試二進(jìn)制程序運(yùn)行所述變異用例未進(jìn)入所述結(jié)束塊列表中的結(jié)束塊,則,記錄所述變異用例對(duì)應(yīng)的測(cè)試用例,基于所述變異用例對(duì)應(yīng)的測(cè)試用例對(duì)所述待測(cè)試二進(jìn)制程序重新進(jìn)行預(yù)模糊測(cè)試,并將得到的新結(jié)束塊記錄到所述結(jié)束塊列表中。
可選地,覆蓋率為所述待測(cè)試二進(jìn)制程序運(yùn)行經(jīng)過(guò)代碼塊的數(shù)量與所述待測(cè)試二進(jìn)制程序中包括代碼塊的數(shù)量的比值。
可選地,所述方法還包括:
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于奇安信科技集團(tuán)股份有限公司;網(wǎng)神信息技術(shù)(北京)股份有限公司,未經(jīng)奇安信科技集團(tuán)股份有限公司;網(wǎng)神信息技術(shù)(北京)股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202111556212.4/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ò)誤
- 動(dòng)態(tài)矢量譯碼方法和動(dòng)態(tài)矢量譯碼裝置
- 動(dòng)態(tài)口令的顯示方法及動(dòng)態(tài)令牌
- 動(dòng)態(tài)庫(kù)管理方法和裝置
- 動(dòng)態(tài)令牌的身份認(rèn)證方法及裝置
- 令牌、動(dòng)態(tài)口令生成方法、動(dòng)態(tài)口令認(rèn)證方法及系統(tǒng)
- 一種動(dòng)態(tài)模糊控制系統(tǒng)
- 一種基于動(dòng)態(tài)信號(hào)的POS機(jī)和安全保護(hù)方法
- 圖像動(dòng)態(tài)展示的方法、裝置、系統(tǒng)及介質(zhì)
- 一種基于POS機(jī)聚合碼功能分離顯示動(dòng)態(tài)聚合碼的系統(tǒng)
- 基于動(dòng)態(tài)口令的身份認(rèn)證方法、裝置和動(dòng)態(tài)令牌
- 一種數(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ì)





