[發(fā)明專利]模糊測試方法和裝置在審
| 申請?zhí)枺?/td> | 201510729492.2 | 申請日: | 2015-10-30 |
| 公開(公告)號: | CN106649075A | 公開(公告)日: | 2017-05-10 |
| 發(fā)明(設(shè)計)人: | 唐文 | 申請(專利權(quán))人: | 西門子公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 北京康信知識產(chǎn)權(quán)代理有限責(zé)任公司11240 | 代理人: | 李慧 |
| 地址: | 德國*** | 國省代碼: | 暫無信息 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 模糊 測試 方法 裝置 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及軟件安全領(lǐng)域,尤其涉及一種模糊測試方法和裝置。
背景技術(shù)
模糊測試是一種在上世紀(jì)九十年代引入的新型黑盒測試技術(shù),用于查找各種軟件中的故障。模糊測試在實(shí)際應(yīng)用中取得了巨大的成功。模糊測試提供一些“模糊”(隨機(jī)的或錯誤的)數(shù)據(jù)作為待測軟件的輸入,然后檢查軟件是否正常響應(yīng)。相應(yīng)地,如果軟件出現(xiàn)了錯誤(例如崩潰或輸出意外響應(yīng)),就能夠檢測出相應(yīng)的錯誤。模糊測試被認(rèn)為能夠提高提高軟件的安全性、可靠性和有效性,這是因?yàn)槟:郎y試經(jīng)常能夠找出被忽略的缺陷。由于生成測試用例的成本相對較低,并且可以完全自動實(shí)現(xiàn),因此,近年來,模糊測試變得越來越普遍。此外,通過模糊測試找到的錯誤經(jīng)常是可以被攻擊者使用的嚴(yán)重的、可利用的錯誤。
模糊測試取得了廣泛的應(yīng)用。例如,在電力、電信、運(yùn)輸、供水、石油、天然氣、制造以及商業(yè)等領(lǐng)域都要用到不同的協(xié)議進(jìn)行通信。隨著為這些重要產(chǎn)業(yè)的基礎(chǔ)設(shè)施提供通信,網(wǎng)絡(luò)協(xié)議的安全性變得越來越重要。緩沖區(qū)溢出、格式字符串、代碼注入、競爭條件等網(wǎng)絡(luò)協(xié)議的弱點(diǎn)可能導(dǎo)致非預(yù)期的結(jié)果。例如,服務(wù)崩潰、DoS攻擊、反常狀態(tài)或響應(yīng)等。攻擊者可能獲得權(quán)限,從而干擾或完全控制重要的控制系統(tǒng)。因此,無論對于學(xué)術(shù)研究或是工業(yè)開發(fā),網(wǎng)絡(luò)協(xié)議的安全性和健壯性都已經(jīng)成為關(guān)鍵性的問題。模糊測試可用于檢測通信協(xié)議的安全性,發(fā)現(xiàn)上述缺陷。
盡管模糊測試在上述的實(shí)際應(yīng)用中能夠發(fā)現(xiàn)很多安全弱點(diǎn),但模糊測試完全是一種黑盒測試,其必須利用大量的測試用例以暴力方式來實(shí)現(xiàn)查找潛在弱點(diǎn)的目標(biāo)。因此,測試過程是昂貴、費(fèi)時的。并且,即使執(zhí)行了很多測試用例,也不一定能夠?yàn)檐浖恼_性提供可信的依據(jù)。
發(fā)明內(nèi)容
鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的測試方法和裝置。
根據(jù)本發(fā)明的一個方面的實(shí)施例,提供了一種模糊測試方法,包括:利用第一測試用例集中的測試用例對測試對象進(jìn)行模糊測試;確定部分測試用例對測試對象進(jìn)行的模糊測試的測試覆蓋率;以及如果所確定的測試覆蓋率不再提高且小于目標(biāo)測試覆蓋率,則利用第二測試用例集中的測試用例對所述測試對象進(jìn)行模糊測試。重復(fù)上述過程,直至達(dá)到目標(biāo)測試覆蓋率為止。
其中,所述確定包括:監(jiān)測測試對象在部分測試用例下的運(yùn)行行為信息,基于所監(jiān)測的運(yùn)行行為信息,獲取測試對象中已被部分測試用例測試到的單元的數(shù)量,以及計算所獲取的單元的數(shù)量與測試對象包含的單元的總數(shù)的比值,作為所述確定的覆蓋率。
其中,單元包括測試對象的代碼或路徑。
其中,第二測試用例集是基于所述測試對象中未被所述部分測試用例測試到的單元確定的。
其中,方法還包括:如果確定的測試覆蓋率繼續(xù)提高,則繼續(xù)利用第一測試用例集中的剩余測試用例對測試對象進(jìn)行測試。
根據(jù)本發(fā)明另一個方面的實(shí)施例,提供了一種模糊測試裝置,包括:測試模塊,用于利用第一測試用例集中的部分測試用例對測試對象進(jìn)行模糊測試,以及在覆蓋率分析模塊確定的測試覆蓋率不再提高且小于目標(biāo)測試覆蓋率時,利用第二測試用集中的測試用例對測試對象進(jìn)行模糊測試;覆蓋率分析分析模塊,用于確定第一測試用例集的部分測試用例對測試對象進(jìn)行的模糊測試的測試覆蓋率。
其中,覆蓋率分析模塊進(jìn)一步用于:監(jiān)測測試對象在部分測試用例下的運(yùn)行行為信息,基于所監(jiān)測的運(yùn)行行為信息,獲取測試對象中已被部分測試用例測試到的單元的數(shù)量,以及計算所獲取的單元的數(shù)量與測試對象包括的單元的總數(shù)的比值作為所述確定的測試覆蓋率。
其中,所述單元包括所述測試對象的代碼或路徑。
其中,測試模塊還用于:基于測試對象中未被第一測試用例集中的部分 測試用例測試到的單元來確定第二測試用例集。
其中,測試模塊還用于:當(dāng)覆蓋率分析模塊確定測試覆蓋率繼續(xù)提高時,繼續(xù)利用第一測試用例集中的剩余測試用例對測試對象進(jìn)行測試。
根據(jù)本發(fā)明上述實(shí)施例的模糊測試方法或裝置,確定測試對象在模糊測試的第一測試用例集中的部分測試用例下的測試覆蓋率,來判斷第一測試用例集是否能夠覆蓋更多的代碼或覆蓋其他路徑,若判斷為不能,則略過第一測試用例集中剩下的測試用例,選擇第二測試用例集。通過該方案,可以略過冗余測試用例,節(jié)省測試成本和測試時間。
附圖說明
通過閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對于本領(lǐng)域普通技術(shù)人員將變得清楚明了。在附圖中:
圖1示出了根據(jù)本發(fā)明一個實(shí)施例的測試方法的流程圖;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于西門子公司,未經(jīng)西門子公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201510729492.2/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





