两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

基于有限狀態(tài)機(jī)網(wǎng)絡(luò)協(xié)議半合法化模糊測(cè)試用例生成方法

文檔序號(hào):9375463閱讀:410來源:國知局
基于有限狀態(tài)機(jī)網(wǎng)絡(luò)協(xié)議半合法化模糊測(cè)試用例生成方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于網(wǎng)絡(luò)協(xié)議模糊測(cè)試技術(shù)領(lǐng)域,具體涉及一種基于有限狀態(tài)機(jī)的網(wǎng)絡(luò)協(xié) 議半合法化模糊測(cè)試用例生成方法。
【背景技術(shù)】
[0002] 網(wǎng)絡(luò)協(xié)議模糊測(cè)試對(duì)安全研究者來說是最感興趣的模糊測(cè)試類型,不僅因?yàn)樗l(fā) 現(xiàn)的漏洞通常具有較高級(jí)別的危險(xiǎn)程度,而且還由于網(wǎng)絡(luò)協(xié)議在互聯(lián)網(wǎng)通信中被廣泛應(yīng) 用,一旦被發(fā)現(xiàn)漏洞,受到威脅的范圍將會(huì)很廣。網(wǎng)絡(luò)協(xié)議模糊測(cè)試用例生成方法是模糊測(cè) 試過程中非常關(guān)鍵的環(huán)節(jié),測(cè)試用例的生成和選擇直接影響模糊測(cè)試的質(zhì)量。
[0003] 在模糊測(cè)試方面,申請(qǐng)?zhí)枮镃N201110391886. 3的發(fā)明專利"模糊測(cè)試的方法、裝 置和系統(tǒng)"提出了通過將多個(gè)測(cè)試用例輸入待測(cè)目標(biāo),根據(jù)響應(yīng)信息對(duì)測(cè)試用例進(jìn)行分類, 再分別生成不同分類的新測(cè)試用例的方案。
[0004] 申請(qǐng)?zhí)枮?00910131169. X的發(fā)明專利"一種產(chǎn)生測(cè)試用例的方法及裝置"首先根 據(jù)預(yù)先設(shè)置的測(cè)試用例生成規(guī)則進(jìn)行窮舉,得到大量測(cè)試用例,然后根據(jù)測(cè)試用例之間的 近似程度刪除多余的測(cè)試用例,從而得到既符合測(cè)試要求,又不包含冗余的測(cè)試用例。
[0005] 申請(qǐng)?zhí)枮镃N201110085863. X的專利"不變量指導(dǎo)的隨機(jī)測(cè)試用例自動(dòng)化生成方 法",在獲得程序源代碼的情況下,利用程序的不變量對(duì)測(cè)試用例進(jìn)行過濾,以降低生成的 測(cè)試用例集的冗余率。
[0006] 在測(cè)試用例生成方面,申請(qǐng)?zhí)枮?00710177534. 1的發(fā)明專利"軟件測(cè)試用例自動(dòng) 生成方法及系統(tǒng)",對(duì)待測(cè)軟件源程序進(jìn)行詞法分析及語義分析,生成待測(cè)軟件的抽象語法 樹和流程圖,通過遍歷抽象語法樹和流程圖識(shí)別輸入、輸出變量,從而生成測(cè)試用例。
[0007] 申請(qǐng)?zhí)枮?01110306942. 9的發(fā)明專利"一種基于擴(kuò)展有限狀態(tài)機(jī)可行路徑分析 的測(cè)試用例自動(dòng)生成方法";基于擴(kuò)展有限狀態(tài)機(jī)可行路徑分析,結(jié)合靜態(tài)分析和動(dòng)態(tài)分 析技術(shù)來找到一個(gè)較小的可行路徑集合達(dá)到指定的路徑覆蓋準(zhǔn)則,提高了測(cè)試用生成的效 率。
[0008] 現(xiàn)有的測(cè)試用例縮減技術(shù)更多的是針對(duì)程序的源代碼,這樣的方法并不適用于網(wǎng) 絡(luò)協(xié)議模糊測(cè)試,比如利用程序的不變量對(duì)測(cè)試用例進(jìn)行縮進(jìn),它的前提條件是要獲得程 序的源代碼,這在網(wǎng)絡(luò)協(xié)議模糊測(cè)試過程中是不可能達(dá)到的;在提高生成的測(cè)試用例集質(zhì) 量和效率方面,成型的網(wǎng)絡(luò)協(xié)議模糊器雖然能夠進(jìn)行網(wǎng)絡(luò)協(xié)議模糊測(cè)試,但是在測(cè)試過程 中由于采用硬編碼方法,如Peach、ProtoFuzz等,導(dǎo)致測(cè)試用例集不夠智能化。此外,機(jī)械 式地隨機(jī)變異會(huì)產(chǎn)生大量冗余測(cè)試用例,造成測(cè)試用例集的效率不高,并且存在著測(cè)試用 例集的空間有可能發(fā)生"爆炸式"增長的問題。

【發(fā)明內(nèi)容】

[0009] 有鑒于此,本發(fā)明提供了基于有限狀態(tài)機(jī)網(wǎng)絡(luò)協(xié)議半合法化模糊測(cè)試用例生成方 法,能夠獲得更細(xì)粒度的網(wǎng)絡(luò)協(xié)議模糊測(cè)試用例,生成的測(cè)試用例更能繞過數(shù)據(jù)驗(yàn)證層觸 發(fā)漏洞,提高了生成的模糊測(cè)試用例的質(zhì)量。
[0010] 為了達(dá)到上述目的,本發(fā)明的技術(shù)方案為包括如下步驟:
[0011] 步驟一:在基于有限狀態(tài)機(jī)的網(wǎng)絡(luò)協(xié)議中,根據(jù)網(wǎng)絡(luò)協(xié)議規(guī)約,解析協(xié)議交互過 程,構(gòu)建基于有限狀態(tài)機(jī)的網(wǎng)絡(luò)協(xié)議模型:
[0012] 基于有限狀態(tài)機(jī)的網(wǎng)絡(luò)協(xié)議模型為Pfsni=〈S。,S,M,F(xiàn),L>,其中:
[0013] S。表示有限狀態(tài)機(jī)的狀態(tài)集合的初始狀態(tài);
[0014] S = {s。,S1, S2, ···,sn J,表示整個(gè)有限狀態(tài)機(jī)的狀態(tài)集合,其中s。~sn i表示η個(gè) 狀態(tài)。
[0015] M = {m。,Hi1, m2,…,Hini J,表示促使有限狀態(tài)機(jī)發(fā)生狀態(tài)轉(zhuǎn)移的協(xié)議消息集合,其中 m〇~m m i表示m個(gè)協(xié)議消息。
[0016] F為狀態(tài)轉(zhuǎn)移函數(shù),表示狀態(tài)轉(zhuǎn)移路徑(Sl,mj,sk); i ε [0, n_l],j ε [0, m_l],k ε [0, n_l] 〇
[0017] L = {1。,I1, I2, ···,In J是狀態(tài)轉(zhuǎn)換路徑的標(biāo)記變量,表示是否已被進(jìn)行過模糊測(cè) 試,默認(rèn)值為false。
[0018] 步驟二:建立針對(duì)有限狀態(tài)機(jī)的完整的測(cè)試序列,該測(cè)試序列為一個(gè)由有限狀態(tài) 機(jī)中所有狀態(tài)轉(zhuǎn)移路徑組成的集合。
[0019] 步驟三:構(gòu)造協(xié)議消息叫變異后的畸形協(xié)議消息集合{~mdl,~md2,~m d3,…,~ mdp},其中p為m/變異后的畸形協(xié)議消息數(shù)量;其中d為正整數(shù)且取遍區(qū)間[0, m-1]。
[0020] 構(gòu)造協(xié)議消息m/變異后的畸形協(xié)議消息集合時(shí),將協(xié)議消息采用四層結(jié)構(gòu)表示, 四層從上至下分別為:狀態(tài)表示層、消息類型表示層、消息表示層、子協(xié)議域表示層;其中 狀態(tài)表示層用于表示在該協(xié)議消息叫所促使的狀態(tài)轉(zhuǎn)移路徑中的前后兩個(gè)狀態(tài),消息類型 表示層用于表示該協(xié)議消息叫所屬的消息類型,包括請(qǐng)求類消息request和應(yīng)答類消息 response,消息表示層包括組成協(xié)議消息md的所有的數(shù)據(jù)類型,子協(xié)議域表示層表示按照 協(xié)議規(guī)約進(jìn)行劃分后得到的組成協(xié)議消息的各個(gè)子結(jié)構(gòu);對(duì)于協(xié)議消息m d,可能有P個(gè)約 束條件制約著,在生成協(xié)議消息md的半合法畸形協(xié)議消息時(shí),僅僅改變P個(gè)約束條件中的 一個(gè)、其他約束條件不變,得到一個(gè)m/變異后的畸形協(xié)議消息,由此共獲得關(guān)于個(gè)變 異后的畸形協(xié)議消息集合{~m dl,~md2,~md3,…,~mdp}。
[0021] 步驟四:從叫的畸形協(xié)議消息集合中順次選取~mdl至~mdp中的一個(gè)用于替代完 整的測(cè)試序列中的m d,獲得一個(gè)關(guān)于^的模糊測(cè)試序列,則共獲得P個(gè)關(guān)于m d的模糊測(cè)試 序列。
[0022] 順次取d = 0, 1,……,n-l,獲得關(guān)于m。~mn i的所有模糊測(cè)試序列。
[0023] 步驟五:將步驟四中所生成的所有的模糊測(cè)試序列作為模糊測(cè)試用例。
[0024] 進(jìn)一步地,在建立基于有限狀態(tài)機(jī)的網(wǎng)絡(luò)協(xié)議模型時(shí),進(jìn)一步增加 L = {1。,I1,12,…,In J作為狀態(tài)轉(zhuǎn)移路徑的標(biāo)記變量,與狀態(tài)轉(zhuǎn)移路徑一一對(duì)應(yīng),表示是否已 經(jīng)進(jìn)行過該狀態(tài)轉(zhuǎn)移,初始值設(shè)定為false。
[0025] 則在進(jìn)行一個(gè)關(guān)于叫的模糊測(cè)試序列的生成過程中,判斷當(dāng)前序列中每條狀態(tài)轉(zhuǎn) 移路徑對(duì)應(yīng)的標(biāo)記變量,若為false,則將該條狀態(tài)轉(zhuǎn)移路徑生成至前序列中,并將其標(biāo)記 變量置為true。
[0026] 若為true,則在當(dāng)前序列中不再生成該條狀態(tài)轉(zhuǎn)移路徑,并保持其標(biāo)記變量為 true不變。
[0027] 有益效果:
[0028] (1)本發(fā)明通過在網(wǎng)絡(luò)協(xié)議狀態(tài)機(jī)的基礎(chǔ)上對(duì)網(wǎng)絡(luò)協(xié)議依據(jù)協(xié)議規(guī)約進(jìn)行細(xì)粒度 的結(jié)構(gòu)劃分,并由于網(wǎng)絡(luò)協(xié)議的復(fù)雜性,以及為了更加完整地描述適用于模糊測(cè)試需求的 網(wǎng)絡(luò)協(xié)議模型,達(dá)到從更細(xì)粒度的方面構(gòu)造網(wǎng)絡(luò)協(xié)議模糊測(cè)試用例,生成的測(cè)試用例更能 繞過數(shù)據(jù)驗(yàn)證層觸發(fā)漏洞,提高了生成的模糊測(cè)試用例的質(zhì)量。
[0029] (2)基于有限狀態(tài)機(jī)的網(wǎng)絡(luò)協(xié)議規(guī)則樹,在生成具體的網(wǎng)絡(luò)協(xié)議模糊測(cè)試用例時(shí), 提出了狀態(tài)轉(zhuǎn)換路徑"標(biāo)記"算法,使得在生成測(cè)試用例時(shí)避免了冗余測(cè)試用例,在一定程 度上減小了測(cè)試用例集的大小。
【附圖說明】
[0030] 圖1為實(shí)施例中網(wǎng)絡(luò)協(xié)議有限狀態(tài)機(jī)示意圖;
[0031 ] 圖2為網(wǎng)絡(luò)協(xié)議狀態(tài)規(guī)則樹示意圖。
【具體實(shí)施方式】
[0032] 下面結(jié)合附圖并舉實(shí)施例,對(duì)本發(fā)明進(jìn)行詳細(xì)描述。
[0033] 實(shí)施例1、基于有限狀態(tài)機(jī)網(wǎng)絡(luò)協(xié)議半合法化模糊測(cè)試用例生成方法,包括如下步 驟:
[0034] 步驟一:在基于有限狀態(tài)機(jī)的網(wǎng)絡(luò)協(xié)議中,根據(jù)網(wǎng)絡(luò)協(xié)議規(guī)約,解析協(xié)議交互過 程,構(gòu)建基于有限狀態(tài)機(jī)的網(wǎng)絡(luò)協(xié)議模型:
[0035] 基于有限狀態(tài)機(jī)的網(wǎng)絡(luò)協(xié)議模型為Pfsni=〈S。,S,M,F(xiàn),L>,其中:
[0036] S。表示有限狀態(tài)機(jī)的狀態(tài)集合的初始狀態(tài);
[0037] S = {s。,S1, S2,…,sn J,表示整個(gè)有限狀態(tài)機(jī)的狀態(tài)集合,其中s。~sn i表示η個(gè) 狀態(tài);
[0038] M = {m。,Hi1, m2,…,Hini J,表示促使有限狀態(tài)機(jī)發(fā)生狀態(tài)轉(zhuǎn)移的協(xié)議消息集合,其中 m〇~m m i表示m個(gè)協(xié)議消息;
[0039] F為狀態(tài)轉(zhuǎn)移函數(shù),表示狀態(tài)轉(zhuǎn)移路徑(SD1^sk); i e [0, n_l],j e [0, m_l],k e [0, n_l];
[0040] L = {1。,I1, 12, ···,In J是狀態(tài)轉(zhuǎn)換路徑的標(biāo)記變量,表示是否已被進(jìn)行過模糊測(cè) 試,默認(rèn)值為false ;
[0041] 例如本實(shí)施例中給出了一種網(wǎng)絡(luò)協(xié)議有限狀態(tài)機(jī)狀態(tài)轉(zhuǎn)移示意圖,如圖1所示。
[0042] 步驟二:建立針對(duì)有限狀態(tài)機(jī)的完整的測(cè)試序列,該測(cè)試序列為一個(gè)由有限狀態(tài) 機(jī)中所有狀態(tài)轉(zhuǎn)移路徑組成的集合。
[0043] 例如,該序列為t = sk);其中i取遍[0,η-1]中的整數(shù),j取遍[0,m-l] 中的整數(shù),k取遍[0, n-1]中的整數(shù)}。
[0044] 步驟三:構(gòu)造協(xié)議消息叫變異后的畸形協(xié)議消息集合{~mdl,~md2,~m d3,…,~ mdp},其中p為m/變異后的畸形協(xié)議消息數(shù)量;其中d為正整數(shù)且取遍區(qū)間[0, m-1]。
[0045] 構(gòu)造協(xié)議消息m/變異后的畸形協(xié)議消息集合時(shí),在基于有限狀態(tài)機(jī)的網(wǎng)絡(luò)協(xié)議的 基礎(chǔ)上依據(jù)協(xié)議規(guī)約,對(duì)網(wǎng)絡(luò)協(xié)議進(jìn)行細(xì)粒度的結(jié)構(gòu)劃分,即從上至下分為四層:狀態(tài)表示 層、消息類型表示層、消息表示層、子協(xié)議域表示層。
[0046]
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
资源县| 新昌县| 五峰| 汾西县| 互助| 巴林左旗| 乌鲁木齐市| 中卫市| 上饶县| 鄂尔多斯市| 隆尧县| 保山市| 恭城| 社旗县| 突泉县| 峨眉山市| 徐汇区| 邵阳市| 康保县| 西畴县| 六安市| 任丘市| 龙岩市| 阜宁县| 扬中市| 铜川市| 儋州市| 商丘市| 宝丰县| 宜州市| 金川县| 黎平县| 陆河县| 宁明县| 巩留县| 罗山县| 扬中市| 包头市| 寿阳县| 邢台市| 孝义市|