[發明專利]基于神經網絡的代碼分析方法及其裝置、電子設備在審
| 申請號: | 202310790506.6 | 申請日: | 2023-06-29 |
| 公開(公告)號: | CN116578980A | 公開(公告)日: | 2023-08-11 |
| 發明(設計)人: | 莊沃霖;曾煒;李藝楓;陳凌瀟 | 申請(專利權)人: | 中國工商銀行股份有限公司 |
| 主分類號: | G06F21/56 | 分類號: | G06F21/56;G06N3/0442 |
| 代理公司: | 北京康信知識產權代理有限責任公司 11240 | 代理人: | 金田蘊 |
| 地址: | 100140 北*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 神經網絡 代碼 分析 方法 及其 裝置 電子設備 | ||
本發明公開了一種基于神經網絡的代碼分析方法及其裝置、電子設備,涉及信息安全技術領域或其他相關領域,其中,該代碼分析方法包括:接收目標程序的源代碼,構建與所述目標程序的源代碼對應的代碼屬性圖;基于預設切片原則對所述代碼屬性圖進行切片,輸出與可疑漏洞相關的代碼屬性子圖;基于所述代碼屬性子圖在所述源代碼中提取特征張量,并對所述特征張量進行編碼,得到代碼張量編碼;將所述代碼張量編碼輸入至預設神經網絡模型,輸出所述目標程序的源代碼中所述可疑漏洞的漏洞位置和漏洞類型。本發明解決了相關技術中代碼分析過程中,分析效率低下的技術問題。
技術領域
本發明涉及信息安全技術領域,具體而言,涉及一種基于神經網絡的代碼分析方法及其裝置、電子設備。
背景技術
隨著軟件功能的日益強大,相應的程序代碼越來越復雜,很難在設計開發中徹底消除程序代碼中存在的所有漏洞或缺陷,若直接投產可能會對網絡安全造成隱患,為避免軟件安全漏洞問題,在投產前對軟件的程序代碼進行漏洞分析是十分重要的。
相關技術中,對軟件的程序代碼進行漏洞分析時還依賴于人工對程序的源代碼進行分析,或者利用半自動化工具進行分析之后再由人工進行驗收核對,由于目前程序的源代碼中復雜的代碼結構、繁多的封裝函數和龐大的代碼量,人工或自動化工具均難以捕捉代碼元素與漏洞元素之間的關聯關系,導致代碼分析的誤報率和漏報率高居不下,并且代碼分析的效率比較低下。
針對上述的問題,目前尚未提出有效的解決方案。
發明內容
本發明實施例提供了一種基于神經網絡的代碼分析方法及其裝置、電子設備,以至少解決相關技術中代碼分析過程中,分析效率低下的技術問題。
根據本發明實施例的一個方面,提供了一種基于神經網絡的代碼分析方法,包括:接收目標程序的源代碼,構建與所述目標程序的源代碼對應的代碼屬性圖;基于預設切片原則對所述代碼屬性圖進行切片,輸出與可疑漏洞相關的代碼屬性子圖,其中,所述可疑漏洞為所述源代碼中疑似引起網絡安全漏洞的代碼段,所述預設切片原則至少包括:預設詞法原則、預設路徑原則;基于所述代碼屬性子圖在所述源代碼中提取特征張量,并對所述特征張量進行編碼,得到代碼張量編碼,其中,所述特征張量指所述源代碼中能對所述代碼屬性子圖中的節點屬性和關聯關系進行描述的代碼字段,所述代碼張量編碼用于表征所述代碼屬性子圖中所有節點的節點屬性和關聯關系;將所述代碼張量編碼輸入至預設神經網絡模型,輸出所述目標程序的源代碼中所述可疑漏洞的漏洞位置和漏洞類型。
可選地,基于預設切片原則對所述代碼屬性圖進行切片,輸出與可疑漏洞相關的代碼屬性子圖的步驟,包括:基于所述預設詞法原則,查找所述源代碼中的可疑漏洞語句,將所述可疑漏洞語句在所述代碼屬性圖中對應的節點標記為第一類可疑節點,基于所述第一類可疑節點以及各節點之間的第一依賴關系生成初始切片模板;基于所述預設路徑原則,在所述代碼屬性圖中標記第二類可疑節點,將所述第二類可疑節點以及各節點之間的第二依賴關系添加至所述初始切片模板,生成擴展切片模板;基于所述擴展切片模板對所述代碼屬性圖進行切片,得到所述代碼屬性子圖。
可選地,基于所述預設路徑原則,在所述代碼屬性圖中標記第二類可疑節點的步驟,包括:以所述第一類可疑節點為基點,獲取所述代碼屬性圖中每個其它節點到所述第一類可疑節點之間經過節點最少的最短路徑,并統計所述最短路徑所經過的總節點數,其中,所述其它節點是指除所述第一類可疑節點之外的節點;比較所述總節點數與預設數量閾值,得到比較結果;在所述比較結果指示所述總節點數小于等于所述預設數量閾值的情況下,將所述總節點數對應的其它節點標記為所述第二類可疑節點。
可選地,在構建與所述目標程序的源代碼對應的代碼屬性圖之前,還包括:提取所述源代碼中各代碼結構中的變量名;獲取變量名重寫策略;基于所述變量名重寫策略,采用預設編譯器解析器重寫所述源代碼中的變量名。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國工商銀行股份有限公司,未經中國工商銀行股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202310790506.6/2.html,轉載請聲明來源鉆瓜專利網。





