[發明專利]一種基于狀態的路徑敏感的符號化函數摘要算法有效
| 申請號: | 201710370313.X | 申請日: | 2017-05-23 |
| 公開(公告)號: | CN107193742B | 公開(公告)日: | 2020-09-04 |
| 發明(設計)人: | 王曉斌;屈鴻;汪一文;王留帥;符明晟;楊林川;季江州 | 申請(專利權)人: | 電子科技大學 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 成都弘毅天承知識產權代理有限公司 51230 | 代理人: | 李春芳 |
| 地址: | 611731 四川省成*** | 國省代碼: | 四川;51 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 狀態 路徑 敏感 符號化 函數 摘要 算法 | ||
本發明公開一種基于狀態的路徑敏感的符號化函數摘要算法,涉及程序分析技術領域,本發明解決了現有技術由于無法實現上下文環境敏感和路徑敏感而導致的過程間分析精度低、內存占用過高以及高誤報率等技術問題。本發明主要包括構建函數調用圖;對函數進行過程內分析;收集函數摘要;應用函數摘要;對函數摘要進行實例化;進行延遲報錯。本發明應用于靜態分析框架中。
技術領域
本發明涉及程序分析技術領域,具體涉及一種基于狀態的路徑敏感的符號化函數摘要算法。
背景技術
程序的正確性分析歷來是軟件工程中的一個重要問題,在安全性日益凸顯的今天,如何保證運行的程序具有的較少的漏洞,成為越來越緊迫的問題。靜態代碼分析技術能夠在程序運行之前盡早的發現程序中的漏洞,避免了程序后期維護中的成本,提高了程序運行的穩定性和安全性?,F在限制靜態分析能力的場景主要集中在過程間分析方面,而解決過程間分析主要的兩個手段是基于函數內聯的過程間分析和基于函數摘要的過程間分析。其中基于函數摘要的過程間分析具有簡單快速的特點,但是在分析精度方面還有待提高。基于函數摘要的過程間分析在分析精度方面的限制主要體現在上下文敏感和路徑敏感兩個方面。如何設計出既滿足上下文敏感特性又滿足路徑敏感特性的函數摘要就成為過程間分析研究的重點。
對于上下文環境敏感,我們通過將函數摘要符號化實現,在提取函數摘要時將依賴于上下文環境的變量或內容符號化,使用符號值(Symbol Value)表示。在特定的上下文環境下,使用上下文環境信息對這些符號化了的信息進行實例化,例如在提取函數摘要時,無法獲知全局變量的值,將全局變量使用符號值代替。而等到使用該函數摘要的地點,通過獲取上下文環境信息中關于該全局變量的內容,使用該內容對函數摘要中全局變量對應的符號值進行實例化。而對于路徑敏感,我們可以在函數摘要中存儲相應的路徑條件,通過這些同樣符號化了的路徑條件,對函數摘要中不同路徑對應的摘要信息進行區分,從而能夠在應用函數摘要的時候通過路徑條件獲得更高的分析精度。而基于狀態的路徑名感的符號化函數摘要不僅能夠滿足上下文敏感的特點,還能夠通過在程序狀態中存儲路徑條件實現路徑敏感的特性。
在靜態分析系統中,應用基于狀態的路徑敏感的符號化函數摘要能夠分析時大大提高分析精度,顯著地減少誤報率和漏報率,從而能夠盡早發現更過的漏洞并減少程序的維護成本。
發明內容
針對上述現有技術,本發明目的在于提供一種基于狀態的路徑敏感的符號化函數摘要算法,現有的過程間代碼分析技術主要有兩種,基于函數內聯的過程間分析和基于函數摘要的過程間分析,基于函數內聯的過程間分析由于每次都要對被調用函數進行分析,所以分析效率低下,相對應的,基于函數摘要的過程間分析簡單,分析效率高,能夠很好的表示函數的語義,而基于函數摘要的過程間分析技術主要面臨兩個問題,如何實現上下文環境敏感以及如何實現路徑敏感,實現上下文環境敏感和路徑敏感的分析能夠大大提高過程間分析的精度,符號化函數摘要能夠解決上下文環境敏感的問題,但是對于路徑敏感來說現在還沒有有效的符號化函數摘要模型。本發明解決了現有技術由于無法實現上下文敏感和路徑敏感而導致的過程間分析精度低、高漏報率和高誤報率等技術問題。
為達到上述目的,本發明采用的技術方案如下:
一種基于狀態的路徑敏感的符號化函數摘要算法,包括以下步驟:
步驟(1)、構建編譯單元的函數調用圖(CallGraph),然后按照拓撲序對函數調用圖中的函數進行基于符號執行技術的上下文無關的過程內分析;
步驟(2)、在過程內分析過程中,對出現的漏洞進行報錯,對于依賴于上下文環境確定的漏洞則推遲到函數摘要在當前函數調用點實例化和應用時再進行選擇地報錯;
步驟(3)、在過程內分析過程中,對于函數調用語句,首先判斷是否存在被調用函數的函數摘要,如果不存在,則對被調用函數進行單獨的過程內分析,收集被調用函數的函數摘要信息;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于電子科技大學,未經電子科技大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710370313.X/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:工藝管道儀表圖物料清單的生成方法及裝置
- 下一篇:供應鏈金融服務管理系統





