CN111368305A - 一种代码安全风险检测方法 - Google Patents

一种代码安全风险检测方法 Download PDF

Info

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
Application number
CN201910628412.2A
Other languages
English (en)
Inventor
巨李岗
从慧珅
田伟丽
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Keyware Co ltd
Original Assignee
Beijing Keyware Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Keyware Co ltd filed Critical Beijing Keyware Co ltd
Priority to CN201910628412.2A priority Critical patent/CN111368305A/zh
Publication of CN111368305A publication Critical patent/CN111368305A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing 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进行匹配。
CN201910628412.2A 2019-07-12 2019-07-12 一种代码安全风险检测方法 Pending CN111368305A (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (7)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
刘臻等: "基于漏洞指纹的软件脆弱性代码复用检测方法", 《浙江大学学报(工学版)》, no. 11, 15 November 2018 (2018-11-15), pages 143 - 153 *

Cited By (3)

* Cited by examiner, † Cited by third party
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