[發(fā)明專利]一種智能化模糊測試方法、裝置及系統(tǒng)在審
| 申請?zhí)枺?/td> | 202011046778.8 | 申請日: | 2020-09-28 |
| 公開(公告)號: | CN112181833A | 公開(公告)日: | 2021-01-05 |
| 發(fā)明(設(shè)計)人: | 張道娟;錢珂翔;王文輝;張錋;陳連棟 | 申請(專利權(quán))人: | 全球能源互聯(lián)網(wǎng)研究院有限公司;國網(wǎng)河北省電力有限公司信息通信分公司;國網(wǎng)河北省電力有限公司;國家電網(wǎng)有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36;G06F21/57 |
| 代理公司: | 北京三聚陽光知識產(chǎn)權(quán)代理有限公司 11250 | 代理人: | 李博洋 |
| 地址: | 102209 北京*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 智能化 模糊 測試 方法 裝置 系統(tǒng) | ||
本發(fā)明公開了一種智能化模糊測試方法、裝置及系統(tǒng),涉及計算機技術(shù)領(lǐng)域,所述方法包括:通過符號執(zhí)行將被測目標的輸入變量轉(zhuǎn)換為符號化表達式;對多路輸入變量的所述符號化表達式進行執(zhí)行路徑約束;根據(jù)約束后的執(zhí)行路徑生成測試用例;執(zhí)行所述測試用例,并獲取所述測試用例的執(zhí)行狀態(tài)及測試數(shù)據(jù)。本發(fā)明實施例能夠解決現(xiàn)有模糊測試存在檢測效率低下的問題。
技術(shù)領(lǐng)域
本發(fā)明涉及計算機技術(shù)領(lǐng)域,具體涉及一種智能化模糊測試方法、裝置及系統(tǒng)。
背景技術(shù)
由于電力系統(tǒng)中設(shè)計漏洞和軟件漏洞的存在,從信息側(cè)實施的針對電力信息物理系統(tǒng)(電力CPS)的惡意攻擊很有可能突破防護措施,引起更大規(guī)模的擾動和故障。因此,發(fā)掘當前電力CPS的協(xié)議及系統(tǒng)的漏洞,對于電力CPS的防護是極為必要的。
當前物聯(lián)網(wǎng)的安全漏洞檢測手段已趨于成熟,其中的各項技術(shù)同樣也可用于電力CPS的漏洞檢測中,其漏洞檢測技術(shù)主要分為靜態(tài)分析和動態(tài)分析,靜態(tài)分析的對象主要是目標源代碼;動態(tài)分析的對象主要是可執(zhí)行的二進制文件,其中,動態(tài)二進制分析方案主要采用模糊測試,模糊測試的原理是將大量的畸形數(shù)據(jù)輸入到目標程序中,通過監(jiān)測被測程序的異常來發(fā)現(xiàn)被測程序中可能存在的安全漏洞,它是一個典型的自動或半自動的過程。
傳統(tǒng)的模糊測試雖能檢測出程序漏洞,但是目前在電力物聯(lián)網(wǎng)方面基于模糊測試的漏洞挖掘,均屬于黑箱測試,即監(jiān)視協(xié)議服務(wù)器端和客戶端的測試過程和返回結(jié)果,該過程會產(chǎn)生大量無效樣本,且該方法并沒有搜集任何程序在處理輸入過程中內(nèi)部的執(zhí)行控制流和數(shù)據(jù)流信息,造成代碼覆蓋率低。較低的代碼覆蓋率和大量的無效樣本會導致測試效率低下。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明實施例提供了一種智能化模糊測試方法、裝置及系統(tǒng),以解決現(xiàn)有模糊測試存在檢測效率低下的問題。
根據(jù)第一方面,本發(fā)明實施例提供了一種智能化模糊測試方法,所述方法包括:通過符號執(zhí)行將被測目標的輸入變量轉(zhuǎn)換為符號化表達式;對多路輸入變量的所述符號化表達式進行執(zhí)行路徑約束;根據(jù)約束后的執(zhí)行路徑生成測試用例;執(zhí)行所述測試用例,并獲取所述測試用例的執(zhí)行狀態(tài)及測試數(shù)據(jù)。
可選地,所述通過符號執(zhí)行將被測目標的輸入變量轉(zhuǎn)換為符號化表達式,包括:利用S2E平臺記錄被測目標的軟件內(nèi)部污點數(shù)據(jù)流和程序指令控制流,獲取輸入污點變量;通過符號執(zhí)行得到執(zhí)行路徑上的輸入污點變量的符號化表達式。
可選地,所述對多路輸入變量的所述符號化表達式進行執(zhí)行路徑約束,包括:根據(jù)多路輸入變量的所述符號化表達式生成畸形化約束條件;根據(jù)所述畸形化約束條件,對輸入污點變量進行路徑約束求解,得到指定代碼路徑。
可選地,所述智能化模糊測試方法還包括:利用測試用例知識庫提供測試用例模板,基于所述測試用例模板生成測試用例,所述測試用例知識庫包括畸變數(shù)據(jù)庫和測試用例模板庫;所述畸變數(shù)據(jù)庫用于提供畸變數(shù)據(jù),從而生成畸形化約束條件;所述測試用例模板庫用于提供測試用例模板,從而生成測試用例。
可選地,所述智能化模糊測試方法還包括:在測試用例的執(zhí)行過程中,采用漏洞檢測算法對安全漏洞進行檢測,進行檢測的過程包括:檢測在測試用例執(zhí)行過程中,被釋放的堆內(nèi)存指針是否被重用;如果被釋放的堆內(nèi)存指針被重用,則判定存在安全漏洞。
可選地,檢測被釋放的堆內(nèi)存指針是否被重用之前,所述方法還包括:攔截堆管理API,監(jiān)控堆內(nèi)存的分配和釋放;跟蹤指針的傳播,匹配指針和所述堆內(nèi)存的映射關(guān)系;在堆內(nèi)存被釋放時把與所述堆內(nèi)存對應的所有指針清零置空。
根據(jù)第二方面,本發(fā)明實施例提供了一種智能化模糊測試裝置,所述裝置包括:變量處理模塊,用于通過符號執(zhí)行將被測目標的輸入變量轉(zhuǎn)換為符號化表達式;路徑約束模塊,用于根據(jù)所述符號化表達式對所述被測目標的執(zhí)行路徑進行路徑約束;測試用例生成模塊,用于根據(jù)約束后的執(zhí)行路徑生成測試用例;綜合處理模塊,用于執(zhí)行所述測試用例,并獲取所述測試用例的執(zhí)行狀態(tài)及測試數(shù)據(jù)。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于全球能源互聯(lián)網(wǎng)研究院有限公司;國網(wǎng)河北省電力有限公司信息通信分公司;國網(wǎng)河北省電力有限公司;國家電網(wǎng)有限公司,未經(jīng)全球能源互聯(lián)網(wǎng)研究院有限公司;國網(wǎng)河北省電力有限公司信息通信分公司;國網(wǎng)河北省電力有限公司;國家電網(wǎng)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011046778.8/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





