[發明專利]一種對AFL模糊測試器種子變異策略的優化方法在審
| 申請號: | 202210085387.X | 申請日: | 2022-01-25 |
| 公開(公告)號: | CN114610601A | 公開(公告)日: | 2022-06-10 |
| 發明(設計)人: | 張琦;仵俊 | 申請(專利權)人: | 南京航空航天大學 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 南京蘇高專利商標事務所(普通合伙) 32204 | 代理人: | 柏尚春 |
| 地址: | 210016 江*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 afl 模糊 測試 種子 變異 策略 優化 方法 | ||
本發明公開了一種對AFL模糊測試器種子變異策略的優化方法,首先,對于語料庫隊列中的每一個種子文件,遍歷其每一個字節,監測改變后的測試文件是否導致被測程序產生新的路徑或者導致崩潰;其次,將導致被測程序產生新的執行路徑或者崩潰的字節標記為有效字節;最后,在后續對種子文件進行havoc隨機變異時,根據有效字節數組進行選擇性變異。本發明在AFL變異策略基礎之上,使用有效字節數組的方式,減少了無效變異的次數,提高了模糊測試器的執行效率。
技術領域
本發明屬于計算機軟件領域,尤其是指模糊測試領域,具體涉及一種對AFL模糊測試器種子變異策略的優化方法。
背景技術
隨著社會不斷發展,信息化給人類的衣、食、住、行等各個方面帶來了極大的便利。生活中的各方面都離不開計算機軟件的應用,如在線教育、智能交通服務、遠程醫療、5G通信技術及各種社交、辦公軟件等領域。計算機軟件給社會帶來便利的同時,也潛在著一些安全問題。OpenSSL本身是一個進行安全通信、可以保障通信保密性和可靠性的應用程序,然而,在2014年,OpenSSL被爆出“心臟滴血”重大漏洞,攻擊者可以通過這一漏洞,獲取應用程序源碼、用戶的網絡訪問請求和用戶的cookie信息,甚至可以獲取到用戶的電子郵件、銀行卡賬號密碼等,帶來了無法估量的損失;RPC遠程過程調用是一個進程通訊機制,允許一臺計算機執行另一條遠程計算機上的代碼,2003年,利用RPC一個漏洞的蠕蟲“沖擊波”在互聯網上傳播,感染了超過百萬臺計算機,該病毒會建立一個“后門”,運行攻擊者遠程控制被感染的計算機,同時會使系統崩潰,根據保守估算,“沖擊波”造成至少達到5億美元的經濟損失,而這是由于代碼中存在一個緩沖區溢出漏洞。為了保證軟件的可靠性和信息的安全性,越來越多的技術關注于檢測軟件系統的內存安全性。
模糊測試(Fuzz)是一種動態軟件測試技術,最早由Barton Miller教授于1989年在威斯康星大學開發。它是一種通過提供大量非預期的輸入并監視程序運行異常結果來發現軟件缺陷的方法。典型的模糊測試過程是將自動或半自動生成的隨機測試用例作為程序的輸入,反復驅動目標軟件運行并監視程序運行,當發現異常時可以做出反應,以發現潛在的錯誤,比如緩沖區溢出等問題。模糊測試常用于尋找軟件系統的漏洞和缺陷。模糊測試意味著自動地生成測試用例并執行,目的是發現安全漏洞。在過去的二十年中,模糊測試已成為軟件安全測試的重要方法。目前,使用模糊測試在各種軟件中發現了數千個安全漏洞。模糊測試使用簡單并且有效,但測試存在一定的盲目性。
AFL(american fuzzy lop)由前Google安全研究員lcamtuf開發,是目前應用最廣泛的模糊測試工具之一,首次采用源碼編譯插樁和QEMU模式來實現代碼覆蓋引導Fuzzing的方式。它在目標程序的中間代碼中的每個代碼塊中插樁一個隨機值,使用插樁后的邊覆蓋形式,可以獲程序控制流中局部的細微變化。然后通過Fuzzer代碼檢測收集運行時路徑覆蓋的信息。AFL維護了一個測試文件的隊列,在進行模糊測試的過程中,從隊列的頭部取出文件,用該文件作為輸入執行目標程序,同時在執行的過程中對其進行變異,然后用變異后的文件喂給目標程序,檢查是否會產生新的執行路徑或者導致程序崩潰。同時,模糊測試過程涉及到大量的fork和執行目標程序的過程,為了提高運行效率,AFL實現了一套forkserver機制:啟動目標程序進程后,會運行一個fork server,模糊測試器并不負責fork子進程,而是與這個fork server通信,并由fork server來完成fork及繼續執行目標程序的操作。這樣設計的最大好處,就是不需要調用execve(),從而節省了載入目標文件和庫、解析符號地址等重復性工作。AFL可以有效地發現目標程序中的錯誤,盡管AFL高效且易于使用,但仍有改進的空間,比如AFL代碼覆蓋率有限且在隨機變異階段具有很大的不確定性。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于南京航空航天大學,未經南京航空航天大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202210085387.X/2.html,轉載請聲明來源鉆瓜專利網。





