[發(fā)明專利]一種變分自編碼的模糊測試測試用例生成方法有效
| 申請?zhí)枺?/td> | 201910312163.6 | 申請日: | 2019-04-18 |
| 公開(公告)號: | CN110113227B | 公開(公告)日: | 2022-08-02 |
| 發(fā)明(設(shè)計)人: | 付敬奇;曹一帆;易慕白;張越;沈仁亮 | 申請(專利權(quán))人: | 上海大學(xué) |
| 主分類號: | H04L43/50 | 分類號: | H04L43/50;H04L43/18;H04L43/12;G06N20/00;G06F11/36;H04L9/40 |
| 代理公司: | 上海上大專利事務(wù)所(普通合伙) 31205 | 代理人: | 陸聰明 |
| 地址: | 200444*** | 國省代碼: | 上海;31 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 編碼 模糊 測試 生成 方法 | ||
本發(fā)明公開了一種變分自編碼的模糊測試測試用例生成方法,包括以下步驟:A、針對不同的測試對象,采集符合測試對象協(xié)議格式的通信數(shù)據(jù)作為訓(xùn)練樣本;B、通過VAE的編碼器,提取得到訓(xùn)練數(shù)據(jù)樣本的特征空間;C、提出三種生成策略,并根據(jù)三種數(shù)據(jù)生成策略,生成對應(yīng)的特征空間;D、根據(jù)生成的新的特征空間,通過VAE的解碼器,生成新的測試用例。該方法可以應(yīng)用于多種不同的工控網(wǎng)絡(luò)協(xié)議,而不是針對某一種協(xié)議。其最大特點是通過機器學(xué)習(xí)的方法學(xué)習(xí)樣本數(shù)據(jù)的特征,并根據(jù)特征以及VAE技術(shù)生成新的測試用例,避免了傳統(tǒng)模糊測試生成測試用例時需要測試人員熟練掌握協(xié)議相關(guān)知識,極大減少了測試人員的負(fù)擔(dān),增加了測試的效率以及范圍。
技術(shù)領(lǐng)域
本發(fā)明涉及一種模糊測試測試用例生成方法,具體為一種變分自編碼的模糊測試測試用例生成方法,屬于測試用例生成方法技術(shù)領(lǐng)域。
背景技術(shù)
模糊測試通過生成大量非正常數(shù)據(jù),并將數(shù)據(jù)發(fā)送給測試對象,期望發(fā)現(xiàn)能夠造成測試對象出現(xiàn)工作異?,F(xiàn)象的數(shù)據(jù)。通過檢測技術(shù)將異常數(shù)據(jù)記錄分析,從而發(fā)現(xiàn)隱藏在工業(yè)網(wǎng)絡(luò)中的漏洞。按照模糊測試的定義,其具體步驟可分為如下三步,如圖1所示。模糊測試是一種灰盒測試,其不需要提前獲得測試對象的全部源代碼,但是需要生成能夠被工控網(wǎng)絡(luò)設(shè)備接受的非正常數(shù)據(jù),因為工控網(wǎng)絡(luò)設(shè)備會將不符合其協(xié)議格式的數(shù)據(jù)直接丟棄。因此模糊測試測試用例的生成是模糊測試的關(guān)鍵,如何生成能夠造成測試目標(biāo)工作異常的數(shù)據(jù),常見的現(xiàn)象如造成測試目標(biāo)拒絕服務(wù),是模糊測試的目標(biāo),也是目前大多數(shù)研究的重點。
變分自編碼(Variational Autoencoder,VAE)是一種數(shù)據(jù)生成模型,由Kingma等人在2013年提出,后經(jīng)過不斷的發(fā)展,目前被廣泛應(yīng)用于圖像生成領(lǐng)域。VAE作為無監(jiān)督學(xué)習(xí)的一種,可以通過學(xué)習(xí)樣本數(shù)據(jù)與隱編碼空間以及隱編碼空間與數(shù)據(jù)生成空間的特征映射,進(jìn)而在輸出端重構(gòu)生成輸入數(shù)據(jù)。因此,通過改變的數(shù)據(jù)樣本的隱空間編碼,并使用解碼器將數(shù)據(jù)特征還原,從而可以根據(jù)要求重構(gòu)生成新數(shù)據(jù)。VAE網(wǎng)絡(luò)結(jié)構(gòu)可以分為編碼器部分(encoder)與解碼器(decoder)部分,VAE的編碼器部分與自編碼器(AE)的編碼器部分功能相同,都是通過深度網(wǎng)絡(luò)提取樣本數(shù)據(jù)的特征。VAE的解碼器部分與自編碼器的解碼器部分同樣功能相同,都是將提取的特征重構(gòu)還原成原始數(shù)據(jù)。不同的是VAE在訓(xùn)練時加入噪聲,使得解碼器對噪聲有魯棒性,因此VAE可以將原始特征附近的特征還原成新數(shù)據(jù),從而具有更好的“創(chuàng)造”能力。VAE網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
目前,模糊測試測試用例生成方法主要有兩種方式,基于變異的測試用例生成方法和基于生成的測試用例生成方法。基于變異的測試用例生成方法通過對工控網(wǎng)絡(luò)中正常數(shù)據(jù)進(jìn)行抓包,并對這些數(shù)據(jù)進(jìn)行變異從而生成非正常數(shù)據(jù)。基于變異的測試用例生成方法不需要工控通信協(xié)議結(jié)構(gòu)的相關(guān)內(nèi)容,因此容易生成測試數(shù)據(jù)。但是由于基于變異的測試用例生成方法生成的數(shù)據(jù)會造成數(shù)據(jù)不符合通信協(xié)議格式,從而導(dǎo)致數(shù)據(jù)實際并沒有發(fā)送到測試對象而是被丟棄?;谏傻臏y試用例生成方法通過對格式公開的協(xié)議,如Modbus /TCP、DNP3等進(jìn)行解析,能夠直接生成滿足協(xié)議格式的測試用例。然后對測試用例的不同字段用不同的變異策略進(jìn)行變異,生成能夠被工控網(wǎng)絡(luò)設(shè)備接受的非正常數(shù)據(jù)?;谏傻臏y試用例生成方法生成的數(shù)據(jù)可以直接被測試對象接收,擁有更高的接受率,因此是目前大多數(shù)研究的熱點,但是,此方法需要研究人員熟練掌握協(xié)議相關(guān)知識,這極大增加了模糊測試的測試時間以及測試難度,而且對協(xié)議格式不公開的私有協(xié)議,無法生成測試用例。
發(fā)明內(nèi)容
本發(fā)明的目的在于為了解決上述問題,提供一種變分自編碼的模糊測試測試用例生成方法。
為達(dá)到上述目的,本發(fā)明采用以下技術(shù)方案:
一種變分自編碼的模糊測試測試用例生成方法,包括以下步驟:
步驟A、針對不同的測試對象,采集符合測試對象協(xié)議格式的通信數(shù)據(jù)作為訓(xùn)練數(shù)據(jù)樣本;
該專利技術(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/201910312163.6/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





