[發明專利]代碼缺陷識別方法及系統有效
| 申請號: | 202010260662.8 | 申請日: | 2020-04-03 |
| 公開(公告)號: | CN111459826B | 公開(公告)日: | 2023-03-21 |
| 發明(設計)人: | 鄒為;陽驍堯;夏偉;涂耀旭;李冬曉;李剛;梁家偉;李珊珊 | 申請(專利權)人: | 建信金融科技有限責任公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 北京三友知識產權代理有限公司 11127 | 代理人: | 王濤;孫乳筍 |
| 地址: | 200120 上海市浦東新區*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 代碼 缺陷 識別 方法 系統 | ||
本發明提供了一種代碼缺陷識別方法及系統,所述方法包含:通過代碼分析工具識別待分析的代碼數據,獲得所述代碼數據的問題信息和發現位置;獲取代碼數據運行環境中各組件調用關系及數據流向信息,根據各組件調用關系及數據流向信息生成網狀拓撲圖;根據所述問題信息的發現位置和所述網狀拓撲圖中各組件的對應關系,建立代碼缺陷視圖;根據所述代碼缺陷視圖和所述代碼數據的問題信息比較獲得代碼缺陷。由此,通過產生帶數據流向的代碼問題拓撲圖,構建整體產品缺陷視圖,縮減代碼優化工作量;降低缺陷分析工具誤報率,減少代碼人工復核工作量。
技術領域
本發明涉及程序開發領域,尤指一種代碼缺陷識別方法及系統。
背景技術
在金融領域為了保障整個產品的質量與安全,對開發源代碼的靜態分析是安全開發過程中必不可少的一個環節。目前金融行業尤其是大中型銀行,包括借記卡、貸記卡、存貸款、網上銀行等眾多業務產品,每個產品的代碼量都在百萬級以上,并且產品項目組成復雜,通過代碼分析工具掃描出的結果存在誤報率較高,人工復核工作量大、缺陷整體視圖缺失等問題。目前針對缺陷復核的方式主要為以下幾種:1、將不同產品的代碼放在一個大工程下掃描,通過自定義掃描規則集將可能有關聯的產品源代碼通過模式匹配截獲出來,但是截取的疑似問題任然需要人工進行復核,誤報率較高。2、對代碼掃描工具分析的結果逐一進行人工的復核,通過有經驗的分析人員來判斷多產品間的邏輯對應關系及數據流向,增加可能存在的遺漏缺陷,并且將分析工具誤報的缺陷進行歸檔標記。3、在集成測試過程中通過業務安全測試進行發現,對集成在一起的整體產品線進行用戶測試及業務安全測試,通過設計測試用例來發現潛在的安全問題。
針對目前的三種缺陷復核方案:1、將不同產品的代碼放在一個大工程下掃描,通過自定義掃描規則集將可能有關聯的產品源代碼通過模式匹配截獲出來,但是這種方法截取的疑似問題仍然需要人工進行復核,誤報率較高。而且自定義規則集的編寫與匹配能力與代碼審計人員的經驗能力高度相關,擴展性差。2、對代碼掃描工具分析的結果逐一進行人工的復核,通過有經驗的分析人員來判斷多產品間的邏輯對應關系及數據流向,增加可能存在的遺漏缺陷,并且將分析工具誤報的缺陷進行歸檔標記。此類方法人工工作量消耗大,且與參與人員經驗能力高度相關。3、在集成測試過程中通過業務安全測試進行發現,對集成在一起的多產品進行用戶測試及業務安全測試,通過設計測試用例來發現潛在的安全問題。此類方法不屬于程序靜態分析范疇,對程序內部結構做不到遍歷驗證的目的。
發明內容
本發明目的在于提供一種代碼缺陷識別方法及系統,縮小多業務組件高關聯場景下代碼分析工具的誤報,降低程序靜態分析工具的誤報率,減少人工代碼復核工作量,提高代碼安全質量。
為達上述目的,本發明所提供的代碼缺陷識別方法,具體包含:通過代碼分析工具識別待分析的代碼數據,獲得所述代碼數據的問題信息和發現位置;獲取代碼數據運行環境中各組件調用關系及數據流向信息,根據各組件調用關系及數據流向信息生成網狀拓撲圖;根據所述問題信息的發現位置和所述網狀拓撲圖中各組件的對應關系,建立代碼缺陷視圖;根據所述代碼缺陷視圖和所述代碼數據的問題信息比較獲得代碼缺陷。
在上述代碼缺陷識別方法中,優選的,根據所述問題信息的發現位置和所述網狀拓撲圖中各組件的對應關系,建立代碼缺陷視圖還包含:根據所述問題信息的成因分類歸并至一個或多個問題集合;根據所述問題集合的數量建立對應數量的代碼缺陷視圖。
在上述代碼缺陷識別方法中,優選的,所述問題信息的成因包含命令注入、路徑遍歷、SQL注入、跨站腳本攻擊中一個或多個的組合。
在上述代碼缺陷識別方法中,優選的,根據所述問題集合的數量建立對應數量的代碼缺陷視圖包含:根據所述問題集合中各問題信息的發現位置和所述網狀拓撲圖,通過遞歸分析調用關系獲得代碼缺陷視圖。
在上述代碼缺陷識別方法中,優選的,通過遞歸分析調用關系獲得代碼缺陷視圖包含:根據所述問題集合中各問題信息的發現位置,將各問題信息標注與所述網狀拓撲圖中對應的組件位置,獲得代碼缺陷視圖。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于建信金融科技有限責任公司,未經建信金融科技有限責任公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.17sss.com.cn/pat/books/202010260662.8/2.html,轉載請聲明來源鉆瓜專利網。





