一種擴(kuò)展Peach平臺(tái)同時(shí)測(cè)試多個(gè)網(wǎng)絡(luò)報(bào)文字段的方法
【專利摘要】本發(fā)明公開了一種擴(kuò)展Peach平臺(tái)同時(shí)測(cè)試多個(gè)網(wǎng)絡(luò)報(bào)文字段的方法,該方法:取消了原有Peach最多只能同時(shí)測(cè)試5個(gè)字段的限制;提出遞增式的字段組合測(cè)試方法,即同時(shí)對(duì)1個(gè)字段、2個(gè)字段…n-1個(gè)字段、n個(gè)字段進(jìn)行測(cè)試;針對(duì)組合過程中產(chǎn)生的大量測(cè)試用例與有限測(cè)試時(shí)間的矛盾,即“組合爆炸”問題,允許測(cè)試人員在PitFile中<Strategy>標(biāo)簽里設(shè)置不同級(jí)別的測(cè)試用例生成條件,有效地限制其產(chǎn)生的數(shù)量,從而生成更具有針對(duì)性的測(cè)試用例,極大地提高了協(xié)議安全專家的測(cè)試效率。對(duì)于熟悉Peach平臺(tái)的安全專家而言,本發(fā)明簡(jiǎn)單有效,便于實(shí)施操作。
【專利說明】一種擴(kuò)展Peach平臺(tái)同時(shí)測(cè)試多個(gè)網(wǎng)絡(luò)報(bào)文字段的方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及計(jì)算機(jī)【技術(shù)領(lǐng)域】,特別是指網(wǎng)絡(luò)安全領(lǐng)域中的協(xié)議測(cè)試方法。
【背景技術(shù)】
[0002] 網(wǎng)絡(luò)安全問題目前已經(jīng)引起人們的充分重視,協(xié)議健壯性測(cè)試是保證網(wǎng)絡(luò)實(shí)體質(zhì) 量的有效措施。如何以最小的開銷發(fā)現(xiàn)隱藏在網(wǎng)絡(luò)實(shí)體中潛在的缺陷是網(wǎng)絡(luò)安全領(lǐng)域的一 個(gè)重要研宄方向。目前,大多數(shù)測(cè)試工具和方法的研宄重點(diǎn)在于向報(bào)文字段中注入攻擊數(shù) 據(jù)的類型和內(nèi)容,并且每次只能測(cè)試一個(gè)字段,而對(duì)同時(shí)測(cè)試多個(gè)網(wǎng)絡(luò)報(bào)文字段方法的研 宄較少。
[0003] 在網(wǎng)絡(luò)健壯性測(cè)試領(lǐng)域中,有多款測(cè)試工具或平臺(tái),例如Scapi、AppScan、Nessus、 Spike和Peach等,但各自的優(yōu)勢(shì)略有不同。其中,Scapi測(cè)試底層協(xié)議;AppScan掃描Web 服務(wù);Nessus回歸測(cè)試已知漏洞;Spike雖然具備發(fā)現(xiàn)〃Ο-day〃漏洞的能力,但是其代碼邏 輯與測(cè)試數(shù)據(jù)緊耦合在一起,不容易擴(kuò)展;Peach是目前協(xié)議測(cè)試領(lǐng)域中最活躍的社區(qū),很 多研宄人員將其成果用于增強(qiáng)Peach的原有功能。
[0004] Peach的Random策略雖然支持對(duì)多個(gè)報(bào)文字段進(jìn)行同時(shí)測(cè)試的功能,但是存在幾 處不足:1)最多同時(shí)測(cè)試5個(gè)報(bào)文字段;2)隨機(jī)選取測(cè)試字段、Mutator和Fault,帶有很 強(qiáng)的盲目性;3)產(chǎn)生無限多的測(cè)試用例,并且測(cè)試用例之間可能重復(fù),測(cè)試過程不但不夠 系統(tǒng)化,而且必須人為終止。以上缺陷導(dǎo)致安全專家基于Peach進(jìn)行多字段測(cè)試時(shí),不僅具 有一定的局限性,而且具有很強(qiáng)的盲目性,測(cè)試效率比較低。
[0005] 本發(fā)明的出發(fā)點(diǎn)是擴(kuò)展Peach多字段測(cè)試的功能,即在原有Random策略基礎(chǔ)上, 增加 Combination策略。該策略不僅打破了原始Random策略最多只能測(cè)試5個(gè)報(bào)文字段的 局限,而且系統(tǒng)地對(duì)測(cè)試報(bào)文字段、Mutator與Fault進(jìn)行組合,在某種程度上降低了原有 Peach的盲目性。此外,通過設(shè)置測(cè)試用例產(chǎn)生條件,限制其產(chǎn)生的數(shù)量級(jí)別,不僅有效地解 決了產(chǎn)生測(cè)試用例的"組合爆炸"問題,也給多字段測(cè)試帶來一定的靈活性。由于Peach發(fā) 展較快,其2. 3. 7版是基于Python開發(fā)的,而3. 0. 202版則是基于C#開發(fā)的,PitFile的 功能與標(biāo)簽含義的改動(dòng)也較大,本發(fā)明雖然是針對(duì)3. 0. 202版本,但是其擴(kuò)展思路不局限 于該版本。
【發(fā)明內(nèi)容】
[0006] 有鑒于此,本發(fā)明在于提供一種擴(kuò)展Peach平臺(tái)同時(shí)測(cè)試多個(gè)網(wǎng)絡(luò)報(bào)文字段的方 法,即為Peach增加 Combination策略。該策略通過對(duì)報(bào)文字段、Mutator和Fault進(jìn)行系 統(tǒng)組合的機(jī)制,在不改變?cè)蠵each功能的基礎(chǔ)上,提高了其在多字段測(cè)試方面的能力。此 夕卜,為了處理產(chǎn)生測(cè)試用例過程中帶來的"組合爆炸"問題與有限測(cè)試時(shí)間的矛盾,本發(fā)明 通過設(shè)置測(cè)試用例生成條件的方式,不僅能夠產(chǎn)生更有針對(duì)性的測(cè)試用例,而且有效地降 低了測(cè)試用例的數(shù)量級(jí)別。
[0007] 為解決上述問題,本發(fā)明提供一種擴(kuò)展Peach平臺(tái)同時(shí)測(cè)試多個(gè)網(wǎng)絡(luò)報(bào)文字段的 方法,其特征在于,包括:提供用于擴(kuò)展Peach策略的實(shí)現(xiàn)方法;詳細(xì)論述產(chǎn)生組合測(cè)試用 例的實(shí)現(xiàn)機(jī)制;解析PitFile中〈Strategy〉里的各個(gè)參數(shù),獲得測(cè)試用例產(chǎn)生條件以及其 作用于測(cè)試用例產(chǎn)生的機(jī)制。
[0008] 安全專家根據(jù)測(cè)試內(nèi)容以及測(cè)試時(shí)間等因素,靈活地選擇測(cè)試用例生成規(guī)則,從 而系統(tǒng)地產(chǎn)生具有不同級(jí)別針對(duì)性的測(cè)試用例,減少了原有Peach進(jìn)行多字段測(cè)試的局限 與盲目性,提高了測(cè)試效率。
[0009] 假設(shè)對(duì)網(wǎng)絡(luò)報(bào)文中的η個(gè)字段進(jìn)行測(cè)試,新增Combination策略的默認(rèn)組合算法, 即〈Strategy〉中combination_policy變量值為default,的工作過程,如下所述(流程圖 如圖1所示):
[0010] (1)對(duì)每次測(cè)試字段的數(shù)目從1開始進(jìn)行遍歷,即每次測(cè)試1個(gè)字段、2個(gè)字段、··· n-1個(gè)字段、η個(gè)字段。
[0011] (2)在確定測(cè)試字段數(shù)目的情況下,通過組合算法選擇具體的測(cè)試字段。具體地 說,假設(shè)當(dāng)前正在對(duì)m(l < m < η)個(gè)字段進(jìn)行測(cè)試,則需要對(duì)種情況進(jìn)行遍歷。
[0012] (3)當(dāng)確定測(cè)試字段后,對(duì)每個(gè)字段的Mutator和Fault進(jìn)行組合遍歷,具體實(shí)現(xiàn) 如下所述:
[0013] (3. 1)對(duì)每個(gè)字段對(duì)應(yīng)的多個(gè)Mutator中的Fault進(jìn)行線性化處理,設(shè)第i個(gè)字 段選取的Fault依次是Fi,i、F i, 2、 ^i, size (i) ° 其中,size(i)表示第i個(gè)字段能夠選取的 Fault數(shù)目。
[0014] (3. 2)如果〈Strategy〉中 combination_policy 變量值為 default,貝丨j對(duì)選定的測(cè) 試字段與Fault進(jìn)行類似于計(jì)數(shù)器的默認(rèn)的組合操作,即生成如下測(cè)試用例:
[0015]
【權(quán)利要求】
1. 一種擴(kuò)展Peach平臺(tái)同時(shí)測(cè)試多個(gè)網(wǎng)絡(luò)報(bào)文字段的方法,其特征在于,包括:打破 Peach本身最多只能同時(shí)測(cè)試5個(gè)報(bào)文字段的限制;提出遞增式的多字段組合測(cè)試策略,即 同時(shí)測(cè)試1個(gè)字段、2個(gè)字段……n-1個(gè)字段、n個(gè)字段;描述為Peach增加自定義策略的實(shí) 現(xiàn)方法;詳細(xì)地描述了組合測(cè)試用例的生成規(guī)則及實(shí)現(xiàn)方法。 針對(duì)組合過程中產(chǎn)生大量測(cè)試用例與有限測(cè)試時(shí)間矛盾的問題,通過在PitFile文件 中的〈Strategy〉標(biāo)簽里設(shè)置測(cè)試用例生成條件的方式,不但能夠產(chǎn)生更有針對(duì)性的測(cè)試 用例,而且也限制了測(cè)試用例的數(shù)量級(jí)別。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括:如果〈Strategy〉標(biāo)簽中的參數(shù) 設(shè)置不符合要求,則Combination策略會(huì)給出相應(yīng)的錯(cuò)誤提示以及錯(cuò)誤原因。
3. 根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括:擴(kuò)展Peach測(cè)試策略的方法,即 在原有RandomDeterministic、Sequential和Random策略基礎(chǔ)上,新增本發(fā)明自定義的 Combination 策略。
4. 根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括:Combination策略的基本思路不 局限于Peach的3. 0. 202版本(C#語言實(shí)現(xiàn)),也適合于2. 3. 7版本(Python語言實(shí)現(xiàn)), 即該方法不依賴于實(shí)現(xiàn)Peach的語言。
5. 根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括:〈Strategy〉標(biāo)簽中變量的命名與 表述方式不拘泥于本發(fā)明所描述的格式,只要能夠表達(dá)本發(fā)明所描述的信息即可。
【文檔編號(hào)】G06F21/57GK104517056SQ201410748856
【公開日】2015年4月15日 申請(qǐng)日期:2014年12月9日 優(yōu)先權(quán)日:2014年12月9日
【發(fā)明者】張華 , 張釗, 趙凱, 溫巧燕 申請(qǐng)人:北京郵電大學(xué)