CN111368305A - 一种代码安全风险检测方法 - Google Patents
一种代码安全风险检测方法 Download PDFInfo
- Publication number
- CN111368305A CN111368305A CN201910628412.2A CN201910628412A CN111368305A CN 111368305 A CN111368305 A CN 111368305A CN 201910628412 A CN201910628412 A CN 201910628412A CN 111368305 A CN111368305 A CN 111368305A
- Authority
- CN
- China
- Prior art keywords
- code
- vulnerability
- knowledge base
- security
- cve
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及一种代码安全风险检测方法,包括:步骤1)构建安全信息知识库;步骤2)安全信息知识库增量维护;步骤3)漏洞代码特征信息的提取;步骤4)建立漏洞代码特征与缺陷关联知识库;步骤5)被监测代码特征提取;步骤6)被监测代码特征与漏洞代码与缺陷关联知识库进行匹配,如果匹配到信息,则该被监测代码存在安全风险,否则为安全代码,不存在安全风险。通过本发明,通过完成安全信息知识库、代码特征提取,以及漏洞代码特征与安全信息知识库的关联知识库的建立,实现对代码是否存在安全风险的检测。
Description
技术领域
本发明涉及代码安全检测领域,尤其涉及一种代码安全风险检测方 法。
背景技术
随着网络的飞速发展,各种网络应用不断成熟,各种开发技术层出不 穷,上网已经成为人民日常生活中的一个重要组成部分。在享受互联网带 来的各种方便之处的同时,安全问题也变得越来越重要。随着全球范围的 黑客入侵不断猖獗,信息安全问题越来越严重。在对抗黑客入侵的安全技 术中,实时入侵检测和漏洞扫描评估IDnA(IntrusionDetection and Assessment)的技术和产品已经开始占据越来越重要的位置。
实时入侵检测和漏洞扫描评估基于的主要方法还是“已知入侵手法检 测”和“已知漏洞扫描”,换句话说就是基于知识库的技术。可见,决定一个 IDnA技术和产品的重要标志就是能够检测的入侵种类和漏洞数量。
CVE就好像是一个字典表,为广泛认同的信息安全漏洞或者已经暴露 出来的弱点给出一个公共的名称。使用一个共同的名字,可以帮助用户在 各自独立的各种漏洞数据库中和漏洞评估工具中共享数据,虽然这些工具 很难整合在一起。这样就使得CVE成为了安全信息共享的“关键字”。如果 在一个漏洞报告中指明的一个漏洞,如果有CVE名称,你就可以快速地 在任何其它CVE兼容的数据库中找到相应修补的信息,解决安全问题。
虽然CVE给出了统一的漏洞名称,也在网站上列举了示例代码对漏 洞予以说明,并且给出解决建议。但是对于一段代码是否存在安全风险, 并不能根据cve对应的网站快速的分析出当前代码是否存在安全风险!
发明内容
为了解决上述问题,本发明提供了一种代码安全风险检测方法,针对 cve网站提供的cve漏洞及漏洞代码,首先爬取cve漏洞信息和漏洞代码, 建立安全信息知识库,和漏洞代码特征与安全信息知识关联库。通过对被 检测代码的特征提取,再与漏洞代码特征与安全信息知识关联库进行匹 配,如果匹配到数据,则可说明被检测代码存在安全风险,另外可以定位 出存在的漏洞名称(对应的cveID);如果没有匹配到数据,则说明没有 安全风险。
根据本发明的一方面,提供了一种代码安全风险检测方法,所述方法 包括:
步骤1)构建安全信息知识库:从cve漏洞信息网站爬取安全信息, 并且从美国国家脆弱性数据库爬取cve漏洞对应的风险等级,构建安全信 息知识库;
步骤2)安全信息知识库增量维护:由于不断有新的漏洞被发现,并 公布在cve漏洞信息安全网站,所以定期爬取最新的安全信息增量维护到 本地安全信息知识库;
步骤3)漏洞代码特征信息的提取:在开源网站爬取有已知cve漏洞 的代码文件或者片段(函数),提取特征值;
步骤4)建立漏洞代码特征与缺陷关联知识库:将步骤3)中获取的 代码特征值与对应的cve漏洞ID,建立漏洞代码特征与安全信息关联知识 库;
步骤5)被检测代码特征提取:对被检测代码文件或者代码片段,提 取特征值;
步骤6)被监测代码特征与漏洞代码与缺陷关联知识库进行匹配:将 步骤5)获取到的被检测代码特征值,在步骤4)建立的漏洞代码特征与 安全信息关联知识库中根据被检测代码特征值能否匹配到cve漏洞,如果 能匹配到,则该被检测代码存在安全风险,否则不存在安全风险;
更具体地,在所述的代码安全风险检测方法的方法中:在步骤1)中, 从cve漏洞信息网站爬取的安全信息有:cve漏洞ID,状态、类型及对应 的解决办法,从美国国家脆弱性数据库可以爬取到CVSS漏洞风险评估等 级,等级分为V2和V3两种。
更具体地,在所述的代码安全风险检测方法的方法中:在步骤3)中 和步骤5),代码如果为文件形式,则提取的特征值有:文件名称、大小、 MD5;如果是代码片段(函数),则提取的特征值有:代码字符长度、 MD5。
更具体地,在所述的代码安全风险检测方法的方法中:在步骤4)中, 漏洞代码特征与安全信息关联知识库主要包含漏洞代码的MD5和cve漏 洞ID。
更具体地,在所述的代码安全风险检测方法的方法中:在步骤6)中, 被检测代码特征与漏洞代码与缺陷关联知识库进行匹配时,是根据被检测 代码的MD5进行匹配。
本发明针对混源代码结构复杂的难题,利用函数接口,代码接口等多 级特征来智能分析,实现对混源代码的分析和开源代码的定位,围绕开源 软件的复杂和许可证的多样性带来的安全和知识产权分析,重点突破混源 代码的智能检测与分析技术。
附图说明
以下将结合附图对本发明的实施方案进行描述,其中:
图1为根据本发明实施方案示出的代码安全风险检测方法的步骤流程 图。
图2、图3、图4、图5为根据本发明实施方案示出的混源文件许可冲 突检测方法的步骤流程图的详解图。
具体实施方式
下面将参照附图对本发明的代码安全风险检测方法的实施方案进行 详细说明。
目前基于“已知入侵手法检测”和“已知漏洞扫描”方式检测代码安全风 险的CVE相关产品。虽然CVE给出了统一的漏洞名称,也在网站上列举 了示例代码对漏洞予以说明,并且给出解决建议。但是对于一段代码是否 存在安全风险,并不能根据cve对应的网站快速的分析出当前代码是否存 在安全风险!
为了克服上述不足,本发明搭建了一种代码安全风险检测方法,能够 有效解决上述技术问题。
图1为根据本发明实施方案示出的混源文件许可冲突检测方法的步骤 流程图,所述方法包括:
步骤1)构建安全信息知识库:从cve漏洞信息网站爬取安全信息, 并且从美国国家脆弱性数据库爬取cve漏洞对应的风险等级,构建安全信 息知识库;
步骤2)安全信息知识库增量维护:由于不断有新的漏洞被发现,并 公布在cve漏洞信息安全网站,所以定期爬取最新的安全信息增量维护到 本地安全信息知识库;
步骤3)漏洞代码特征信息的提取:在开源网站爬取有已知cve漏洞 的代码文件或者片段(函数),提取特征值;
步骤4)建立漏洞代码特征与缺陷关联知识库:将步骤3)中获取的 代码特征值与对应的cve漏洞ID,建立漏洞代码特征与安全信息关联知识 库;
步骤5)被检测代码特征提取:对被检测代码文件或者代码片段,提 取特征值;
步骤6)被监测代码特征与漏洞代码与缺陷关联知识库进行匹配:将 步骤5)获取到的被检测代码特征值,在步骤4)建立的漏洞代码特征与 安全信息关联知识库中根据被检测代码特征值能否匹配到cve漏洞,如果 能匹配到,则该被检测代码存在安全风险,否则不存在安全风险;
其中,安全信息,漏洞代码信息是从漏洞信息网站通过爬取,对安全 信息、漏洞代码进行收集,以及漏洞代码特征值的提取并构建安全信息库 与漏洞代码特征与安全信息关联库,做到定时更新维护,保证数据的完整 性。
综上,通过本发明,能够完成对代码特征的提取,实现对代码是否存 在安全风险的准确判断。
可以理解的是,虽然本发明已以较佳实施例披露如上,然而上述实施 例并非用以限定本发明。对于任何熟悉本领域的技术人员而言,在不脱离 本发明技术方案范围情况下,都可利用上述揭示的技术内容对本发明技术 方案做出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此, 凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例 所做的任何简单修改、等同变化及修饰,均仍属于本发明技术方案保护的 范围内。
Claims (5)
1.一种代码安全风险检测方法,其特征在于,所述方法包括:
步骤1)构建安全信息知识库:从cve漏洞信息网站爬取安全信息,并且从美国国家脆弱性数据库爬取cve漏洞对应的风险等级,构建安全信息知识库;
步骤2)安全信息知识库增量维护:由于不断有新的漏洞被发现,并公布在cve漏洞信息安全网站,所以定期爬取最新的安全信息增量维护到本地安全信息知识库;
步骤3)漏洞代码特征信息的提取:在开源网站爬取有已知cve漏洞的代码文件或者片段(函数),提取特征值;
步骤4)建立漏洞代码特征与缺陷关联知识库:将步骤3)中获取的代码特征值与对应的cve漏洞ID,建立漏洞代码特征与安全信息关联知识库;
步骤5)被检测代码特征提取:对被检测代码文件或者代码片段,提取特征值;
步骤6)被监测代码特征与漏洞代码与缺陷关联知识库进行匹配:将步骤5)获取到的被检测代码特征值,在步骤4)建立的漏洞代码特征与安全信息关联知识库中根据被检测代码特征值能否匹配到cve漏洞,如果能匹配到,则该被检测代码存在安全风险,否则不存在安全风险。
2.如权利要求1所述的代码安全风险检测方法,其特征在于:
在步骤1)中,从cve漏洞信息网站爬取的安全信息有:cve漏洞ID,状态、类型及对应的解决办法,从美国国家脆弱性数据库可以爬取到CVSS漏洞风险评估等级,等级分为V2和V3两种。
3.如权利要求1所述的代码安全风险检测方法,其特征在于:
在步骤3)中和步骤5),代码如果为文件形式,则提取的特征值有:文件名称、大小、MD5;如果是代码片段(函数),则提取的特征值有:代码字符长度、MD5。
4.如权利要求1所述的代码安全风险检测方法,其特征在于:
在步骤4)中,漏洞代码特征与安全信息关联知识库主要包含漏洞代码的MD5和cve漏洞ID。
5.如权利要求1所述的代码安全风险检测方法,其特征在于:
在步骤6)中,被检测代码特征与漏洞代码与缺陷关联知识库进行匹配时,是根据被检测代码的MD5进行匹配。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910628412.2A CN111368305A (zh) | 2019-07-12 | 2019-07-12 | 一种代码安全风险检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910628412.2A CN111368305A (zh) | 2019-07-12 | 2019-07-12 | 一种代码安全风险检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111368305A true CN111368305A (zh) | 2020-07-03 |
Family
ID=71207855
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910628412.2A Pending CN111368305A (zh) | 2019-07-12 | 2019-07-12 | 一种代码安全风险检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111368305A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112580057A (zh) * | 2020-12-17 | 2021-03-30 | 光通天下网络科技股份有限公司 | 针对zip加密压缩包的攻击脆弱性检测方法、装置、设备及介质 |
CN117473513A (zh) * | 2023-12-28 | 2024-01-30 | 北京立思辰安科技术有限公司 | 一种设备检测方法、存储介质及电子设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104573525A (zh) * | 2014-12-19 | 2015-04-29 | 中国航天科工集团第二研究院七〇六所 | 一种基于白名单的专用信息服务软件漏洞修复*** |
CN104615542A (zh) * | 2015-02-11 | 2015-05-13 | 中国科学院软件研究所 | 一种基于函数调用的脆弱性关联分析辅助漏洞挖掘的方法 |
CN106446691A (zh) * | 2016-11-24 | 2017-02-22 | 工业和信息化部电信研究院 | 检测软件中集成或定制的开源项目漏洞的方法和装置 |
US20170171236A1 (en) * | 2015-12-14 | 2017-06-15 | Vulnetics Inc. | Method and system for automated computer vulnerability tracking |
JP2017224053A (ja) * | 2016-06-13 | 2017-12-21 | 株式会社日立製作所 | 脆弱性リスク評価システムおよび脆弱性リスク評価方法 |
CN107688748A (zh) * | 2017-09-05 | 2018-02-13 | 中国人民解放军信息工程大学 | 基于漏洞指纹的脆弱性代码克隆检测方法及其装置 |
US20180205755A1 (en) * | 2017-01-19 | 2018-07-19 | University Of North Texas | Systems and methods for adaptive vulnerability detection and management |
-
2019
- 2019-07-12 CN CN201910628412.2A patent/CN111368305A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104573525A (zh) * | 2014-12-19 | 2015-04-29 | 中国航天科工集团第二研究院七〇六所 | 一种基于白名单的专用信息服务软件漏洞修复*** |
CN104615542A (zh) * | 2015-02-11 | 2015-05-13 | 中国科学院软件研究所 | 一种基于函数调用的脆弱性关联分析辅助漏洞挖掘的方法 |
US20170171236A1 (en) * | 2015-12-14 | 2017-06-15 | Vulnetics Inc. | Method and system for automated computer vulnerability tracking |
JP2017224053A (ja) * | 2016-06-13 | 2017-12-21 | 株式会社日立製作所 | 脆弱性リスク評価システムおよび脆弱性リスク評価方法 |
CN106446691A (zh) * | 2016-11-24 | 2017-02-22 | 工业和信息化部电信研究院 | 检测软件中集成或定制的开源项目漏洞的方法和装置 |
US20180205755A1 (en) * | 2017-01-19 | 2018-07-19 | University Of North Texas | Systems and methods for adaptive vulnerability detection and management |
CN107688748A (zh) * | 2017-09-05 | 2018-02-13 | 中国人民解放军信息工程大学 | 基于漏洞指纹的脆弱性代码克隆检测方法及其装置 |
Non-Patent Citations (1)
Title |
---|
刘臻等: "基于漏洞指纹的软件脆弱性代码复用检测方法", 《浙江大学学报(工学版)》, no. 11, 15 November 2018 (2018-11-15), pages 143 - 153 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112580057A (zh) * | 2020-12-17 | 2021-03-30 | 光通天下网络科技股份有限公司 | 针对zip加密压缩包的攻击脆弱性检测方法、装置、设备及介质 |
CN117473513A (zh) * | 2023-12-28 | 2024-01-30 | 北京立思辰安科技术有限公司 | 一种设备检测方法、存储介质及电子设备 |
CN117473513B (zh) * | 2023-12-28 | 2024-04-12 | 北京立思辰安科技术有限公司 | 一种设备检测方法、存储介质及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103150511B (zh) | 一种安全防护*** | |
CN110535806B (zh) | 监测异常网站的方法、装置、设备和计算机存储介质 | |
US20170061126A1 (en) | Process Launch, Monitoring and Execution Control | |
CN102467633A (zh) | 一种安全浏览网页的方法及其*** | |
CN102622435A (zh) | 一种检测黑链的方法和装置 | |
CN106845223B (zh) | 用于检测恶意代码的方法和装置 | |
CN104994091B (zh) | 异常流量的检测方法及装置、防御Web攻击的方法和装置 | |
CN104520871A (zh) | 漏洞矢量信息分析 | |
CN114553720B (zh) | 用户操作异常检测方法及装置 | |
KR20080044145A (ko) | 웹 로그 상호연관분석을 이용한 웹 애플리케이션 공격의침입 탐지 시스템 및 방법 | |
KR101692982B1 (ko) | 로그 분석 및 특징 자동 학습을 통한 위험 감지 및 접근제어 자동화 시스템 | |
CN111368305A (zh) | 一种代码安全风险检测方法 | |
CN113221032A (zh) | 链接风险检测方法、装置以及存储介质 | |
CN112115473A (zh) | 一种用于Java开源组件安全检测的方法 | |
CN111611590B (zh) | 涉及应用程序的数据安全的方法及装置 | |
KR101372906B1 (ko) | 악성코드를 차단하기 위한 방법 및 시스템 | |
CN110858247A (zh) | 安卓恶意应用检测方法、***、设备及存储介质 | |
CN114024773B (zh) | 一种webshell文件检测方法及*** | |
CN115952503A (zh) | 融合黑白灰安全检测技术的应用安全测试方法及*** | |
CN108171057B (zh) | 基于特征匹配的Android平台恶意软件检测方法 | |
KR101464736B1 (ko) | 정보보호 관리 시스템 및 이를 통한 홈페이지 위변조 탐지 방법 | |
KR102590082B1 (ko) | 보안 규제 준수 자동화 장치 | |
CN112464218B (zh) | 模型训练方法、装置、电子设备及存储介质 | |
CN109067716A (zh) | 一种识别暗链的方法与*** | |
CN111934949A (zh) | 一种基于数据库注入测试的安全测试*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 102209 southeast, 6th floor, block B, national power investment Central Research Institute, South District, future science city, Changping District, Beijing Applicant after: BEIJING KEYWARE Co.,Ltd. Address before: 102208 key technology on the fourth floor of the production building of the second Pinzi Bona group, Huilongguan, Changping District, Beijing Applicant before: BEIJING KEYWARE Co.,Ltd. |
|
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20200703 |