[發(fā)明專利]構(gòu)建調(diào)用鏈轉(zhuǎn)換圖及引導(dǎo)生成X.509證書變種方法在審
| 申請?zhí)枺?/td> | 202010434699.8 | 申請日: | 2020-05-21 |
| 公開(公告)號: | CN113704078A | 公開(公告)日: | 2021-11-26 |
| 發(fā)明(設(shè)計(jì))人: | 朱佳宇;陳雨亭;沈備軍 | 申請(專利權(quán))人: | 上海交通大學(xué) |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 上海交達(dá)專利事務(wù)所 31201 | 代理人: | 王毓理;王錫麟 |
| 地址: | 200240 *** | 國省代碼: | 上海;31 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 構(gòu)建 調(diào)用 轉(zhuǎn)換 引導(dǎo) 生成 509 證書 變種 方法 | ||
一種構(gòu)建調(diào)用鏈轉(zhuǎn)換圖及引導(dǎo)生成X.509證書變種方法,通過構(gòu)建測試種子集并輸入目標(biāo)測試程序,得到動態(tài)執(zhí)行中的函數(shù)調(diào)用鏈信息并映射為調(diào)用鏈轉(zhuǎn)換圖中的初始節(jié)點(diǎn);循環(huán)對調(diào)用鏈轉(zhuǎn)換圖中的取樣節(jié)點(diǎn)通過變種算子生成新的變種測試用例并根據(jù)變種測試用例對應(yīng)更新調(diào)用鏈轉(zhuǎn)換圖,直至生成目標(biāo)數(shù)量的測試用例。本發(fā)明充分利用了測試用例集生成過程中的函數(shù)調(diào)用鏈信息,通過調(diào)用鏈轉(zhuǎn)換圖有效快速的生成多樣化的測試用例,從而提升測試的效率。
技術(shù)領(lǐng)域
本發(fā)明涉及的是一種軟件測試領(lǐng)域的技術(shù),具體是一種通過收集程序動態(tài)執(zhí)行時的函數(shù)調(diào)用鏈以構(gòu)建調(diào)用鏈轉(zhuǎn)換圖引導(dǎo)X.509證書自動生成變種技術(shù),用來測試openssl等實(shí)現(xiàn)SSL/TLS安全協(xié)議軟件。
背景技術(shù)
模糊測試作為黑盒測試中的一種常用軟件測試方法,通過向測試程序中發(fā)送非預(yù)期的測試用例來觀查程序是否發(fā)生異常,從而找到潛在漏洞。一般有兩種生成方法:一種將已有的測試用例通過變種算子產(chǎn)生新的測試用例,所產(chǎn)生的新的測試用例稱之為變種,保留了原測試用例大部分的數(shù)據(jù),僅部分?jǐn)?shù)據(jù)經(jīng)過變換和原先不同。變種算子可以是隨機(jī)置換,即隨機(jī)交換原測試用例中的部分?jǐn)?shù)據(jù)或根據(jù)具體應(yīng)用場景自定義,有目的性和引導(dǎo)性的增刪改替換原測試用例中的部分?jǐn)?shù)據(jù)。測試工具有proxyfuzz等;另一種根據(jù)目標(biāo)程序的測試覆蓋情況來調(diào)整生成新的測試用例,測試工具有AFL等。大部分模糊測試會采取兩種相結(jié)合的方法,以便應(yīng)用于復(fù)雜數(shù)據(jù)類型輸入的測試中,諸如X.509證書等。X.509證書作為SSL/TLS通信協(xié)議中用于加密驗(yàn)證的重要實(shí)體,其測試的重要性不言而喻。
Mucert作為針對X.509證書測試場景的工具,測試目標(biāo)待測軟件關(guān)于證書驗(yàn)證的功能,采用了覆蓋率引導(dǎo)的模糊測試方法,將現(xiàn)實(shí)中的X.509證書作為初始種子集,自定義37種變種算子以生成變種測試用例。在生成變種的過程中,使用測試用例在目標(biāo)待測程序中的累計(jì)覆蓋率信息概率性的接收或拒絕變種以提高目標(biāo)待測程序的累計(jì)覆蓋率。累計(jì)覆蓋率一般表示測試的充分性,即待測程序在執(zhí)行中語句函數(shù)等的覆蓋情況,但無法用來衡量測試集在目標(biāo)程序中執(zhí)行路徑的多樣性。若僅考慮測試用例集的充分性而不考慮其在目標(biāo)測試程序中的執(zhí)行路徑,則對于那些在測試程序中執(zhí)行路徑一致的測試用例,其測試效果是一致的,這將會導(dǎo)致測試用例冗余,多樣性不高。
發(fā)明內(nèi)容
本發(fā)明針對現(xiàn)有技術(shù)存在的上述不足,提出一種構(gòu)建調(diào)用鏈轉(zhuǎn)換圖及引導(dǎo)生成X.509證書變種方法,提取測試用例在目標(biāo)程序運(yùn)行時收集到的函數(shù)名稱,將函數(shù)名稱根據(jù)執(zhí)行時的先后順序形成一條鏈,即函數(shù)調(diào)用鏈,將測試用例集和對應(yīng)的函數(shù)調(diào)用鏈映射構(gòu)建成調(diào)用鏈轉(zhuǎn)換圖,并使用調(diào)用鏈轉(zhuǎn)換圖指導(dǎo)生成新的變種測試用例過程來實(shí)現(xiàn)測試用例的自動生成。本發(fā)明相比較mucert,充分利用了測試用例集生成過程中的函數(shù)調(diào)用鏈信息,通過調(diào)用鏈轉(zhuǎn)換圖有效快速的生成多樣化的測試用例,從而提升測試的效率。
本發(fā)明是通過以下技術(shù)方案實(shí)現(xiàn)的:
本發(fā)明通過構(gòu)建測試種子集并輸入目標(biāo)測試程序,得到動態(tài)執(zhí)行中的函數(shù)調(diào)用鏈信息并映射為調(diào)用鏈轉(zhuǎn)換圖中的初始節(jié)點(diǎn);循環(huán)對調(diào)用鏈轉(zhuǎn)換圖中的取樣節(jié)點(diǎn)通過變種算子生成新的變種測試用例并根據(jù)變種測試用例對應(yīng)更新調(diào)用鏈轉(zhuǎn)換圖,直至生成目標(biāo)數(shù)量的測試用例。
所述的映射是指:調(diào)用鏈轉(zhuǎn)換圖中的節(jié)點(diǎn)和測試用例對應(yīng),圖的一個節(jié)點(diǎn)是一個測試用例集合,該測試用例集合中的任意一個測試用例在目標(biāo)測試程序上得到的函數(shù)調(diào)用鏈?zhǔn)且恢碌摹?/p>
所述的取樣是指:通過計(jì)算潛力值并挑選節(jié)點(diǎn)和節(jié)點(diǎn)中的測試用例以用于生成變種。
所述的變種是指:對一個現(xiàn)有的測試用例進(jìn)行修改生成一個新的測試用例,其實(shí)現(xiàn)方式視具體的測試場景而言,可自定義具體的變種方式也可對接已有的模糊測試工具如AFL對測試用例進(jìn)行修改而生成新的測試用例。在針對X.509證書測試的應(yīng)用場景中,變種算子可采用mucert工具中提供的變種方法。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于上海交通大學(xué),未經(jīng)上海交通大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010434699.8/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 上一篇:一種芋莖尖超低溫保存方法
- 下一篇:用于生成召回信息集合的方法和裝置
- 同類專利
- 專利分類
- 構(gòu)建墊、實(shí)體圖像構(gòu)建物和構(gòu)建構(gòu)建物支撐件的方法
- 支持松耦合的軟件構(gòu)建方法、系統(tǒng)及該系統(tǒng)的實(shí)現(xiàn)方法
- 版本的構(gòu)建系統(tǒng)及方法
- 工程構(gòu)建系統(tǒng)及其構(gòu)建方法
- 實(shí)例構(gòu)建方法、裝置及軟件系統(tǒng)
- 軟件構(gòu)建方法、軟件構(gòu)建裝置和軟件構(gòu)建系統(tǒng)
- 天花板地圖構(gòu)建方法、構(gòu)建裝置以及構(gòu)建程序
- 一種項(xiàng)目構(gòu)建方法、持續(xù)集成系統(tǒng)及終端設(shè)備
- 并行構(gòu)建的方法、裝置及設(shè)備
- 構(gòu)建肺癌預(yù)測模型構(gòu)建方法
- IDL調(diào)用裝置及調(diào)用方法
- 調(diào)用方法及調(diào)用系統(tǒng)
- 一種服務(wù)調(diào)用方法及裝置
- 服務(wù)調(diào)用方法、服務(wù)調(diào)用裝置及服務(wù)調(diào)用系統(tǒng)
- 組件調(diào)用方法、裝置及計(jì)算機(jī)可讀存儲介質(zhì)
- 身份驗(yàn)證方法及裝置
- 系統(tǒng)調(diào)用處理方法、裝置、計(jì)算機(jī)設(shè)備和存儲介質(zhì)
- 一種數(shù)據(jù)調(diào)用方法、裝置、電子設(shè)備及存儲介質(zhì)
- 一種微服務(wù)請求重試的方法及終端
- 業(yè)務(wù)數(shù)據(jù)的處理方法、裝置及系統(tǒng)
- 圖像轉(zhuǎn)換設(shè)備、圖像轉(zhuǎn)換電路及圖像轉(zhuǎn)換方法
- 數(shù)模轉(zhuǎn)換電路及轉(zhuǎn)換方法
- 轉(zhuǎn)換設(shè)備和轉(zhuǎn)換方法
- 占空比轉(zhuǎn)換電路及轉(zhuǎn)換方法
- 通信轉(zhuǎn)換方法、轉(zhuǎn)換裝置及轉(zhuǎn)換系統(tǒng)
- 模數(shù)轉(zhuǎn)換和模數(shù)轉(zhuǎn)換方法
- 轉(zhuǎn)換模塊以及轉(zhuǎn)換電路
- 熱電轉(zhuǎn)換材料、熱電轉(zhuǎn)換元件和熱電轉(zhuǎn)換模塊
- 熱電轉(zhuǎn)換材料、熱電轉(zhuǎn)換元件及熱電轉(zhuǎn)換模塊
- 熱電轉(zhuǎn)換材料、熱電轉(zhuǎn)換元件及熱電轉(zhuǎn)換模塊
- 引導(dǎo)裝置及引導(dǎo)方法
- 引導(dǎo)系統(tǒng)以及引導(dǎo)方法
- 引導(dǎo)裝置、引導(dǎo)方法以及引導(dǎo)程序
- 車輛引導(dǎo)裝置、車輛引導(dǎo)方法和車輛引導(dǎo)程序
- 移動引導(dǎo)系統(tǒng)、移動引導(dǎo)裝置、以及移動引導(dǎo)方法
- 引導(dǎo)裝置、引導(dǎo)方法以及引導(dǎo)程序
- 路徑引導(dǎo)裝置、路徑引導(dǎo)方法以及路徑引導(dǎo)程序
- 引導(dǎo)方法及引導(dǎo)系統(tǒng)
- 引導(dǎo)裝置、引導(dǎo)方法以及引導(dǎo)程序
- 引導(dǎo)系統(tǒng)、引導(dǎo)裝置和引導(dǎo)系統(tǒng)的控制方法





