[發明專利]基于圖卷積網絡對代碼圖表示學習的源代碼漏洞檢測方法有效
| 申請號: | 202010576421.4 | 申請日: | 2020-06-22 |
| 公開(公告)號: | CN111783100B | 公開(公告)日: | 2022-05-17 |
| 發明(設計)人: | 蘇小紅;段亞男;王甜甜;蔣遠;趙玲玲 | 申請(專利權)人: | 哈爾濱工業大學 |
| 主分類號: | G06F21/57 | 分類號: | G06F21/57;G06F21/56;G06N3/04;G06N3/08 |
| 代理公司: | 哈爾濱龍科專利代理有限公司 23206 | 代理人: | 高媛 |
| 地址: | 150001 黑龍*** | 國省代碼: | 黑龍江;23 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 圖卷 網絡 代碼 圖表 學習 源代碼 漏洞 檢測 方法 | ||
本發明公開了一種基于圖卷積網絡對代碼圖表示學習的源代碼漏洞檢測方法,所述方法如下:生成代碼屬性圖;在代碼屬性圖中添加函數調用關系和過程間依賴關系;根據漏洞關鍵點獲取代碼切片;利用切片對圖中節點進行刪減,提取與漏洞相關的圖結構信息;使用圖卷積網絡學習每個節點的向量表示;根據邊的類型劃分子圖,并通過基于注意力機制的READOUT模型得到圖的向量表示;根據圖的向量表示和標簽調整網絡參數;用訓練好的模型檢測代碼漏洞。本發明能充分利用和學習漏洞代碼的結構和屬性信息,避免傳統深度網絡在對代碼表示學習時易丟失代碼結構信息及因需要把代碼表示成固定長度序列而丟失長代碼上下文信息的問題,有助于降低漏洞檢測的誤報和漏報。
技術領域
本發明涉及一種軟件漏洞檢測方法,具體涉及一種基于圖卷積網絡對代碼進行圖表示學習的源代碼漏洞檢測方法。
背景技術
軟件漏洞是在軟件設計與開發實現的過程中存在的一些容易被惡意攻擊者利用的缺陷。傳統的源代碼審查技術在很大程度上取決于審查人員對安全問題的理解與長期經驗的積累,并且在代碼規模和復雜程度日益增大的情況下無法滿足對漏洞檢測的需求。基于機器學習的漏洞檢測方法雖然避免了基于規則的漏洞檢測方法依賴專家人工編寫檢測規則的問題,但是仍需要人工提取漏洞特征。而近年來成功應用于自然語言處理、圖像識別、目標檢測領域的深度學習技術可以降低對專家經驗和手工特征工程的依賴,為自動提取漏洞特征和生成漏洞模式提供了可能。
然而,由于編程語言的特殊性、漏洞類型的多樣性、漏洞上下文的復雜性、漏洞代碼與漏洞特征在抽象程度上的高差異性、漏洞代碼與修復代碼之間的高相似性,這些都使得深度學習自動學習漏洞模式比其他領域的深度學習問題更加困難,給基于深度學習的漏洞檢測技術帶來了巨大的挑戰。
當前用于自動學習漏洞模式的深度學習模型大多采用語言模型對代碼語義進行建模,把代碼的各種中間表示轉化為一個平鋪的一維序列,即將其當作自然語言文本,基于自然語言處理領域常用的深度神經網絡(如LSTM和GRU)來處理轉換后的代碼序列,然后將其自動學習到的代碼漏洞特征用于訓練一個機器學習分類器,以進行漏洞檢測。相對于自然語言文本而言,代碼更具有結構化的特點,這種漏洞檢測方法未能充分利用和學習漏洞代碼的結構信息和屬性信息,并且因需要把代碼表示成固定長度的序列還會丟失長代碼的上下文信息,在漏洞檢測時往往存在較高的誤報率和漏報率。
代碼屬性圖(Code Property Graph,CPG)是一種程序語法、控制流和數據流的聯合表示,結合了抽象語法樹、控制流圖和程序依賴圖來綜合表征程序的結構和語義,是Yamaguchi等人(F.Yamaguchi,N.Golde,D.Arp,K.Rieck,Modeling and discoveringvulnerabilities with code property graphs,Proceedings,IEEE Symposium onSecurity and Privacy.(2014)590–604.doi:10.1109/SP.2014.44)首次提出的一種新型的代碼表示形式,該漏洞檢測方法使用圖數據庫查詢語句遍歷代碼屬性圖,利用模式匹配的方法查找符合某種模式的軟件漏洞,提高了對已知漏洞模式識別的準確率,但是該方法僅適用于識別已知的漏洞模式,并且在代碼屬性圖中沒有考慮過程間分析,對于跨過程調用的漏洞有可能產生漏報。Wang等人(CPGVA-Code PropertyGraphbasedVulnerabilityAnalysis by Deep Learning,2018)進一步使用CNN和LSTM等傳統的深度神經網絡來從代碼屬性圖上學習漏洞代碼模式,提高了漏洞識別的準確率,但仍存在較高的漏報率。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于哈爾濱工業大學,未經哈爾濱工業大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010576421.4/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種便攜式救護車負壓裝置
- 下一篇:一種地質模型的地層動態校正方法





