[發明專利]代碼檢測方法、裝置、計算機可讀介質及電子設備在審
| 申請號: | 202111574670.0 | 申請日: | 2021-12-21 |
| 公開(公告)號: | CN114238131A | 公開(公告)日: | 2022-03-25 |
| 發明(設計)人: | 袁淑美;紀妙;閆保奇 | 申請(專利權)人: | 中國電信股份有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 北京律智知識產權代理有限公司 11438 | 代理人: | 孫寶海;闞梓瑄 |
| 地址: | 100033 *** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 代碼 檢測 方法 裝置 計算機 可讀 介質 電子設備 | ||
本申請屬于數據安全技術領域,具體涉及一種代碼檢測方法、裝置、計算機可讀介質及電子設備。本申請通過獲取白名單列表和待檢測代碼;并根據所述白名單列表生成字典樹;利用廣度優先遍歷方法對所述字典樹中的每個節點進行遍歷,并構建所述字典樹中的每個節點的失配指針,形成白名單多模式匹配自動機;再將所述待檢測代碼進行預處理后輸入到所述白名單多模式匹配自動機中進行匹配,輸出檢測結果。利用本申請的方法,可以一次性生成字典樹,并可以將待檢測代碼通過白名單多模式匹配自動機進行匹配,可以實現一次性進行多模式匹配,匹配效率大大提高,代碼的檢測效率高。
技術領域
本申請屬于數據安全技術領域,具體涉及一種代碼檢測方法、代碼檢測裝置、計算機可讀介質以及電子設備。
背景技術
代碼檢測主要是解決源代碼中存在的安全問題,目前常用的代碼檢測方法有靜態檢測、交互式檢測、動態檢測等,但是這些方法對于代碼的檢測準確率難以保證,避免不了出現誤報的現象。
為了降低檢測的誤報,可以通過白名單、規則集等方式進行過濾。現有的代碼安全檢測所使用的白名單過濾方法主要通過將白名單和檢測對象進行對比的方式,來過濾檢測對象中與白名單相同的對象,以此來降低誤報。但是,這種過濾的方式需要將檢測對象與白名單中的內容一一進行對比,效率低下,不利于代碼的檢測。
需要說明的是,在上述背景技術部分公開的信息僅用于加強對本申請的背景的理解,因此可以包括不構成對本領域普通技術人員已知的現有技術的信息。
發明內容
本申請的目的在于提供一種代碼檢測,,至少在一定程度上克服相關技術中代碼檢測效率低下等技術問題。
本申請的其他特性和優點將通過下面的詳細描述變得顯然,或部分地通過本申請的實踐而習得。
根據本申請實施例的一個方面,提供一種代碼檢測方法,包括:
獲取白名單列表和待檢測代碼;
根據所述白名單列表生成字典樹;
利用廣度優先遍歷方法對所述字典樹中的每個節點進行遍歷,并構建所述字典樹中的每個節點的失配指針,形成白名單多模式匹配自動機;
將所述待檢測代碼進行預處理后輸入到所述白名單多模式匹配自動機中進行匹配,輸出檢測結果。
在本申請的一些實施例中,基于以上技術方案,根據所述白名單列表生成字典樹的方法,包括:
提取所述白名單列表中的字符串;
對所述字符串進行哈希運算,得到字符串編碼;
將所述字符串編碼進行拼接形成字符串組;
根據所述字符串組建立字典樹。
在本申請的一些實施例中,基于以上技術方案,所述白名單列表包括多個安全代碼;提取所述白名單列表中的字符串的方法,包括:
提取所述安全代碼的簽名信息,所述簽名信息包括以下至少一種:包名、類名、方法名、返回值和代碼參數。
在本申請的一些實施例中,基于以上技術方案,根據所述字符串組建立字典樹的方法,包括:
構建空白節點作為根節點;
以所述根節點為起始節點,以所述字符串組的各個字符為邊,以所述字符串組的字符組成的前綴為次級節點,構建字典樹。
在本申請的一些實施例中,基于以上技術方案,構建所述字典樹中的每個節點的失配指針的方法,包括:
尋找待定節點的父節點,所述待定節點是所述字典樹中所包含的一個次級節點;
判斷所述待定節點指向所述父節點的邊所對應的字符與所述字典樹中的其它次級節點的關系;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國電信股份有限公司,未經中國電信股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202111574670.0/2.html,轉載請聲明來源鉆瓜專利網。





