[發明專利]一種基于脆弱性分析的固件未知漏洞檢測方法有效
| 申請號: | 202110038662.8 | 申請日: | 2021-01-12 |
| 公開(公告)號: | CN112733150B | 公開(公告)日: | 2021-11-16 |
| 發明(設計)人: | 王莘;姜訓智;黃正聰 | 申請(專利權)人: | 哈爾濱工業大學 |
| 主分類號: | G06F21/57 | 分類號: | G06F21/57 |
| 代理公司: | 哈爾濱市陽光惠遠知識產權代理有限公司 23211 | 代理人: | 劉景祥 |
| 地址: | 150001 黑龍*** | 國省代碼: | 黑龍江;23 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 脆弱 分析 未知 漏洞 檢測 方法 | ||
本發明公開了一種基于脆弱性分析的固件未知漏洞檢測方法。步驟1:物聯網設備固件目標二進制程序獲取;步驟2:基于步驟1的物聯網設備固件目標二進制程序獲取,確定物聯網設備固件樣本中交互二進制程序;步驟3:基于步驟2的物聯網設備固件樣本中交互二進制程序,進行程序依賴圖的構建;步驟4:基于步驟3的程序依賴圖進行物聯網設備固件二進制程序的數據流追蹤;步驟5:基于步驟4的數據流追蹤及固件脆弱性分析實現二進制程序不安全交互行為檢測,并確定物聯網設備固件中的未知漏洞;步驟6:驗證檢測存在脆弱性的二進制程序中的未知漏洞。本發明用于克服現有基于靜態分析的聯網設備固件漏洞檢測方法存在的不足之處。
技術領域
本發明屬于漏洞檢測領域,具體涉及一種基于脆弱性分析的固件未知漏洞檢測方法。
背景技術
在利用靜態分析方法的固件漏洞檢測方法中,主要依賴漏洞的特征構建漏洞特征數據集來實現對固件漏洞的識別,不會直接配置具體環境來運行固件程序,雖然具有快速、適用面大的優點,但由于未考慮物聯網設備中固件程序之間的路徑約束問題,如數據約束,使得純粹的靜態固件漏洞檢測方法有誤報的問題。此外,對于靜態檢測方法利用二進制程序分析技術得出固件脆弱點位置后,缺少對漏洞進一步的驗證,只能給出可能的脆弱位置,而沒有完全確認固件當中的漏洞。
發明內容
本發明提供一種基于脆弱性分析的固件未知漏洞檢測方法,在于克服現有基于靜態分析的固件漏洞檢測方法存在的不足之處。
本發明通過以下技術方案實現:
一種基于脆弱性分析的固件未知漏洞檢測方法,所述檢測方法包括以下步驟:
步驟1:物聯網設備固件目標二進制程序獲取,即固件分析工具Binwalk實現對嵌入式設備固件程序的提取;
步驟2:基于步驟1的物聯網設備固件目標二進制程序獲取,確定物聯網設備固件樣本中交互二進制程序;
步驟3:基于步驟2的物聯網設備固件樣本中交互二進制程序,進行程序依賴圖的構建;
步驟4:基于步驟3的程序依賴圖進行物聯網設備固件二進制程序的數據流追蹤;
步驟5:基于步驟4的數據流追蹤及固件脆弱性分析實現二進制程序不安全交互行為檢測,并確定物聯網設備固件中的未知漏洞;
步驟6:驗證檢測存在脆弱性的二進制程序中的未知漏洞。
進一步的,所述步驟2的二進制程序具體為,發現固件樣本目標程序中的與用戶交互的網絡邊界二進制程序集。
進一步的,所述步驟3種程序依賴圖的構建具體包括以下步驟:
步驟3.1:從已確定的邊界二進制文件開始:將污點數據與網絡相關的關鍵字進行比較,并進行污點分析以檢測二進制文件是否依賴IPC范式共享數據;
步驟3.2:從通過一組名為通信范式CPF的模塊檢測進程間通信過程;
步驟3.3:通過為每個數據鍵在setter和getter之間創建邊來構建BDG,得到一個用戶輸入的數據在二進制文件之間傳播的有向圖。其中,setter指產生數據的二進制程序,getter指處理數據的二進制程序。
進一步的,所述步驟4固件二進制程序的數據流追蹤包括靜態污點分析和二進制程序數據流分析;所述靜態污點分析基于污點分析模塊;所述二進制程序數據流分析基于二進制數據流分析模塊;
所述靜態污點分析具體為污點分析模塊識別污點信息在程序中的產生點并對污點信息進行標記,利用進程間通信的共享數據鍵跟蹤分析污點信息在程序中的傳播過程在關鍵的程序點檢測關鍵的操作是否會受到污點信息的影響;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于哈爾濱工業大學,未經哈爾濱工業大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110038662.8/2.html,轉載請聲明來源鉆瓜專利網。





