[發明專利]一種對分布式系統進行模糊測試的方法及系統有效
| 申請號: | 202010832802.4 | 申請日: | 2020-08-18 |
| 公開(公告)號: | CN112463581B | 公開(公告)日: | 2021-09-21 |
| 發明(設計)人: | 王明哲;周熾金;梁杰;姜宇 | 申請(專利權)人: | 清華大學 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36;G06F8/41;G06F8/73 |
| 代理公司: | 北京路浩知識產權代理有限公司 11002 | 代理人: | 陳新生 |
| 地址: | 100084 北*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 分布式 系統 進行 模糊 測試 方法 | ||
本發明實施例提供一種對分布式系統進行模糊測試的方法及系統,該方法包括:獲取待測系統中待測程序的預設源代碼,使用編譯器對所述預設源編碼進行編譯并合并,得到全程序中間表示;對所述全程序中間表示進行插樁,得到插樁后的中間文件;對所述插樁后的中間文件進行代碼生成,輸出若干二進制可執行文件;基于所述若干二進制可執行文件由測試工具啟動所述待測系統,并對所述待測系統進行初始化;待所述待測系統完成初始化,所述測試工具啟動模糊測試,判斷所述待測系統是否存在異常。本發明實施例通過將模糊測試自動應用于整個分布式系統的測試,有效提高了分布式系統的軟件質量,對系統安全有著十分重要的意義。
技術領域
本發明涉及自動化漏洞挖掘技術領域,尤其涉及一種對分布式系統進行模糊測試的方法及系統。
背景技術
軟件作為計算機實現其具體功能的方式,軟件自身的安全性是保障計算機系統安全性的關鍵。作為大型軟件系統中的基礎組件,攻擊者往往會利用分布式系統本身的缺陷和漏洞對計算機系統進行攻擊,竊取關鍵信息,造成財產損失。因此,分布式系統的安全保障技術十分重要。
模糊測試是目前針對軟件安全的有效方法之一。模糊測試的關鍵思想是通過不斷創造的輸入來探索程序的不同路徑,判斷這些路徑是否會產生導致軟件崩潰或者宕機的問題。目前使用最廣泛的模糊測試工具是針對實用程序的模糊測試工具American Fuzzy Lop(AFL)。其基本工作原理是:在運行前對程序進行插樁,從而在固定大小的位圖中記錄程序執行軌跡的粗略特征;在運行中,則通過等待進程的退出,并以退出時的狀態碼確定程序執行中是否遇到異常。模糊測試在基礎庫、實用程序等多類系統中都能夠實現高效的缺陷檢測,并發現了數以千計的缺陷。這種測試方法可以對實用程序和庫項目進行檢測,但是不能應用于分布式系統,其原因有三點:1.無法有效導向新路徑,分布式系統往往有著極為復雜的邏輯,而粗略記錄的特征在大型系統中存在沖突和不精確的情況,因而無法有效將測試過程導向新的路徑。2.無法監測程序異常情況,分布式系統具有守護程序,該守護程序會監控程序在執行過程中遇到的異常并進行異?;謴汀R虼嗽摫O控功能與模糊測試工具獲取進程退出碼的方法有沖突,從而使模糊測試工具無法捕獲程序異常。3.無法提升執行效率,分布式系統由在多個主機上運行的組件構成,因此系統的啟動包含網絡、磁盤、超時、選舉等多個步驟。在執行輸入后重新啟動系統會嚴重降低測試的性能。
由于模糊測試無法在分布式系統上運行,開發人員一般使用裁剪—測試或測試基礎庫的方法作為替代。在裁剪—測試的方法中,開發人員首先識別出待測試的組件,接著搭建腳手架從而簡化并替換其所依賴組件,最終使得待測組件能夠脫離分布式系統獨立運行。此時,該組件可使用傳統的模糊測試方法進行測試。由于該方法依賴領域專家搭建腳手架,開發成本高昂;另一方面,該方法不能測試組件之間的交互。在測試基礎課的方法中,開發人員放棄測試分布式系統本身,轉而測試分布式系統所依賴的基礎庫。雖然這種方法能夠間接提升系統的整體質量,但分布式系統自身的缺陷卻被遺漏在外,因此往往不是開發人員最關注的問題。
而目前國內外還沒有研究關注自動化的分布式系統模糊測試技術,更沒有成熟的工具來供測試人員使用。所以一個能夠應用于分布式系統,并自動對分布式系統整體進行測試的工具,非常具有產業上的利用價值。
發明內容
本發明實施例提供一種對分布式系統進行模糊測試的方法及系統,用以解決現有技術中存在的傳統模糊測試無法有效應用于分布式系統的缺陷。
第一方面,本發明實施例提供一種對分布式系統進行模糊測試的方法,包括:
獲取待測系統中待測程序的預設源代碼,使用編譯器對所述預設源編碼進行編譯并合并,得到全程序中間表示;
對所述全程序中間表示進行插樁,得到插樁后的中間文件;
對所述插樁后的中間文件進行代碼生成,輸出若干二進制可執行文件;
基于所述若干二進制可執行文件由測試工具啟動所述待測系統,并對所述待測系統進行初始化;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于清華大學,未經清華大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010832802.4/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:用于自動地捕獲技術轉移知識的系統和方法
- 下一篇:感應位置傳感裝置及其方法





