CN111290963A - 对源代码缺陷划分级别方法、设备和计算机可读存储介质 - Google Patents
对源代码缺陷划分级别方法、设备和计算机可读存储介质 Download PDFInfo
- Publication number
- CN111290963A CN111290963A CN202010137771.0A CN202010137771A CN111290963A CN 111290963 A CN111290963 A CN 111290963A CN 202010137771 A CN202010137771 A CN 202010137771A CN 111290963 A CN111290963 A CN 111290963A
- Authority
- CN
- China
- Prior art keywords
- vulnerability
- source code
- score
- level
- computer
- 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
- 238000000034 method Methods 0.000 title claims abstract description 42
- 230000007547 defect Effects 0.000 title claims abstract description 24
- 238000004590 computer program Methods 0.000 claims description 5
- 238000001514 detection method Methods 0.000 description 6
- 238000002347 injection Methods 0.000 description 5
- 239000007924 injection Substances 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000013077 scoring method Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 241000700605 Viruses Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000002155 anti-virotic effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000000243 solution Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis for verifying properties of programs
- G06F11/3608—Software analysis for verifying properties of programs using formal methods, e.g. model checking, abstract interpretation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及一种对源代码缺陷划分级别的方法、设备和计算机可读存储介质。该方法包括:步骤1:定义一个关于漏洞的具体的规则,然后对该规则进行两个维度的打分;步骤2:根据公式对漏洞进行分值计算;步骤3:根据所计算的分值与级别对应表对应的危险级别,得出漏洞的最终危险级别;步骤4:对于该漏洞进行归类。本发明解决了如何比较科学地定义每种漏洞的安全级别的技术问题,采用两层架构的方式对漏洞进行评分,具有高度的稳定性和一定的灵活性,独创了漏洞的两个维度指标,计算漏洞危害级别的公式科学合理,突出了不同指标不同的权重。
Description
技术领域
本发明涉及源代码安全检测的技术领域,具体地涉及一种对源代码缺陷划分级别的方法、设备和计算机可读存储介质。
背景技术
目前,软件源代码安全漏洞扫描工具检测出来的漏洞主要包含安全漏洞,同时也包含少量的代码质量和代码性能方面的漏洞。专业的代码检测工具覆盖的漏洞通常有1000多种,而在真实的企业级的项目检测中通过有数以千计甚至上万个漏洞。用户在查看这些漏洞的时候迫切地需要知道哪些漏洞是非常危险的,需要在第一时间内修复,哪些漏洞危险等级次之,哪些漏洞并不危险,哪些漏洞可以不用修复。这里所说的漏洞只是从代码层面分析,理论上可能会造成的危害。这些漏洞可能在一定的条件下会被利用,而在一些条件下不会被利用,比如在企业内网等。总之,用户需要对这么多的漏洞一个总体安全级别上的认识,以便于后面顺利地展开工作。
本发明的技术方案对代码工具检测出来的漏洞进行一个统一的级别划分。通常代码检测工具都有一个漏洞库,就像防病毒软件的病毒库。有一种做法可以在漏洞库里对每一种漏洞进行安全级别的划分,及漏洞专家在定义这个漏洞的时候就给其定义级别。但实际的情况是代码漏洞是复杂的,每一种漏洞的产生方式通常不只一种,有2-3种产生方式是很正常的,特殊的漏洞产生方式可能上10种。而每一种产生方式的危害性不一样,发生的可能性更不一样。这时如果统一把其定义为一种安全级别是不合理的。所以需要一种比较科学的方法来定义每种漏洞的安全级别。
发明内容
本发明所要解决的技术问题是提供一种对源代码缺陷划分级别的方法、设备和计算机可读存储介质,使得能够比较科学地定义每种漏洞的安全级别。
具体地,随着信息技术的飞速发展,网络在国民生活中的应用越来越普遍。现代人们的生活几乎离不开网络,然而最近几年的网络安全事件层出不穷,这些安全事件中应用层产生的安全漏洞占据非常大的比重。因此应用程序的源代码安全缺陷扫描成为防范网络攻击的重要措施。
由于软件中的安全漏洞已经引起信息安全人员的高度重视,软件源代码安全漏洞检测工具也变得流行起来。世界著名的Web应用安全漏洞组织CWE每年都会发布在Web服务上新产生的漏洞,每年都有新的漏洞被黑客组织所利用。商用的源代码安全漏洞检测工具通常收录1000多种安全漏洞,并且每年都有增加新的漏洞或增加新的漏洞产生途经。
国际上普遍用到的安全漏洞分级是从高到低4个级别,分别是:危险、高危、中危、低。另一种级别分类是3个级别:高危、中危、低。国内还有一种分类方法是两层分类法,首先从漏洞类别上分为安全类、质量类、性能类、样式类,然后安全类里面再分级别。针对这多种分类方法,发明人充分研究和评估后采用国际最通用的分类方法,危险、高危、中危、低。发明人根据国内的实际情况从两个维度评估,对每一类漏洞进行安全级别的划分。
通过本发明可以实现的技术目的不限于上文已经特别描述的内容,并且本领域技术人员将从下面的详细描述中更加清楚地理解本文中未描述的其他技术目的。
本发明解决上述技术问题的技术方案如下:
根据本公开的一方面,本发明提供一种对源代码缺陷划分级别的方法,其特征在于,所述方法包括:
步骤1:定义一个关于漏洞的具体的规则,然后对该规则进行两个维度的打分;
步骤2:根据公式对漏洞进行分值计算;
步骤3:根据所计算的分值与级别对应表对应的危险级别,得出漏洞的最终危险级别;
步骤4:对于该漏洞进行归类。
可选地,在如上所述的方法中,所述两个维度是危害性和可能性,其中危害性和可能性从高到低为:3,2,1,0。
可选地,在如上所述的方法中,所述两级别对应表是【3,2,1,0】,分别与所述两级别对应表对应的危险级别为危险、高、中、低。
可选地,在如上所述的方法中,根据以下公式对漏洞进行分值计算:分值D的初始值为0,D=0,如果危害性的分值B>=2.5,则D+=2,然后如果可能性的分值A<2.5,则D+=0。
根据本公开的一方面,本发明提供一种对源代码缺陷划分级别的设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上任一项所述的对源代码缺陷划分级别的方法的步骤。
根据本公开的一方面,本发明提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有信息传递的实现程序,所述程序被处理器执行时实现如上任一项所述的对源代码缺陷划分级别的方法的步骤。
上述技术方案仅为本发明实施例的一些部分,本领域技术人员从以下本发明的详细描述中可以导出和理解包含了本发明的技术特征的各种实施例。
本发明的技术方案采用两层架构的方式对漏洞进行评分,具有高度的稳定性和一定的灵活性。根据安全类漏洞的特点,独创了漏洞的两个维度指标:危害性和可能性。计算漏洞危害级别的公式科学合理,突出了不同指标不同的权重。对于一些特殊的用户可以灵活调整指标的权重。独创了两维象限法对漏洞进行级别定义。
本领域技术人员将会理解,通过本发明可以实现的效果不限于上文已经具体描述的内容,并且从以下详细说明中将更清楚地理解本发明的其他优点。
附图说明
被包括以提供对本发明的进一步理解的附图示出本发明的实施例,并且与说明书一起用于解释本发明的原理。
图1为本发明实施例提供的一种对源代码缺陷划分级别的方法的流程图。
图2为本发明实施例提供的一种对源代码缺陷划分级别的方法的示意图。
图3为本发明实施例提供的一种对源代码缺陷划分级别的设备的示意图。
具体实施方式
现在将详细参考本发明的示例性实施例,其示例在附图中示出。下面将参考附图给出的详细描述旨在解释本发明的示例性实施例,而不是示出可以根据本发明实现的唯一实施例。以下详细描述包括具体细节以便提供对本发明的透彻理解。然而,对于本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下实践本发明。
在一些情况下,已知的结构和设备被省略或以框图形式示出,集中于结构和设备的重要特征,以免模糊本发明的概念。在整个说明书中将使用相同的附图标记来表示相同或相似的部分。
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
在本发明的描述中,需要理解的是,术语“上”、“下”、“中心”、“内”、“外”、“顶”、“底”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。源代码是指计算机编程语言的源码。不同的源码由该语言的关键字和基本语法组成。缺陷是指源代码中出现的设计不合理,或使用不当等造成程序的缺陷。漏洞是指源代码中出现的由于代码设计不合理引起的安全威胁。漏洞规则是指软件安全漏洞工具中匹配每一种漏洞都会定义相应的规则,一个规则只能对应一种漏洞,但是一种漏洞可以有多个规则。每种规则对应该漏洞的不同产生方式。安全等级是指对不同的安全漏洞进行等级划分,级别高的危害性大,级别低的相对危害性小。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
实施例1
图1示出本发明实施例提供的一种对源代码缺陷划分级别的方法的流程图。本发明实施例提供一种对源代码缺陷划分级别的方法,所述方法包括:步骤1:定义一个关于漏洞的具体的规则,然后对该规则进行两个维度的打分;步骤2:根据公式对漏洞进行分值计算;步骤3:根据所计算的分值与级别对应表对应的危险级别,得出漏洞的最终危险级别;步骤4:对于该漏洞进行归类。可选地,在如上所述的方法中,所述两个维度是危害性和可能性,其中危害性和可能性从高到低为:3,2,1,0。可选地,在如上所述的方法中,所述两级别对应表是【3,2,1,0】,分别与所述两级别对应表对应的危险级别为危险、高、中、低。可选地,在如上所述的方法中,根据以下公式对漏洞进行分值计算:分值D的初始值为0,D=0,如果危害性的分值B>=2.5,则D+=2,然后如果可能性的分值A<2.5,则D+=0。
根据本发明的具体实施方式,本发明的技术方案采用两层评分制来确定一类具体漏洞的危害级别。参考图2,先通过给每一个具体的漏洞规则定义两个维度的数据,分别是危害性指标【0-3】,可能性指标【0-3】。这两个指标都是根据当前漏洞规则对应的实际情况而由漏洞专家评估的。危害性即当前漏洞规则所产生的漏洞或所发生的漏洞实际所造成的危害程度。这个危害程度从高到低为:3,2,1,0。3代表这个漏洞会带来级别最高的危害。2代表这个漏洞会带来高风险的危害。1表示中等程度的危害,0表示危害性很低。另外一个指标为可能性,即当前漏洞规则所产生的漏洞可以被利用的程度或发生的概率。发生概率的大小也分为:3,2,1,0。3代表这个漏洞发生的概率非常大,可以利用的程度非常高。0代表这个漏洞几乎不可以被利用。
本发明的技术方案制定的漏洞安全级别危险,高,中低分别对应【3,2,1,0】。首先对每一个漏洞规则进行危害程度和可能性两方面的打分。然后再计算出它们的安全级别的数值,这个数据范围是0-3之间的整数。如果权重值为D,可能性为A,危害性为B。本发明的技术方案规定初始值D=0,如果B>=2.5,D+=2。如果A>=2.5,D+=1。如果2.5>B>=2,D+=1。这样D的值在0-3之间。只有危害性和可能性指标都超过2.5时,当前漏洞规则对应的漏洞才为高危漏洞。在这个公式中,提高了危害性指标的分值,降低了可能性指标的分值。这样更符合源代码安全漏洞定级的标准。
根据本发明的具体实施方式,本发明的方法的实际操作可以参考图2所示。本发明的方法分两层来对漏洞进行打分,第一层对漏洞的具体规则进行两个维度的打分,第二层在第一层的评分基础上对每一类规则进行分值计算。具体实施步骤如下:
首先定义一个具体的规则,比如分析mybatis框架中操作数据库的配置文件sql.xml,当sql语句中有变量拼接的时候会发生注入漏洞的一种实现方式,然后对这个规则进行两个维度的打分。例如sql注入的危害性分值为2.55,可能性分值为1。
根据公式对这个sql注入方式进行分值计算。初始值D=0,如果B>=2.5,D+=2。如果A<2.5,D+=0。所以D=2+0=2。
最终分值为2,再根据级别对应表【3,2,1,0】对应的危险,高,中,低。得出定义的这个mybatis配置文件中出现的sql注入漏洞的最终危险级别为高。
虽然这个漏洞发生的可能性比较低,分值为1,但是sql注入这一类漏洞的危害程度非常大。所以最终这一类规则找出来的漏洞被归为高级别风险的漏洞。
实施例2
根据本发明的实施例,本发明提供一种对源代码缺陷划分级别的设备,如图3所示,包括:存储器10、处理器12及存储在所述存储器10上并可在所述处理器12上运行的计算机程序,所述计算机程序被所述处理器12执行时实现如上实施例1中所述的对源代码缺陷划分级别的方法的步骤。
实施例3
根据本发明的实施例,本发明提供一种计算机可读存储介质,所述计算机可读存储介质上存储有信息传递的实现程序,所述程序被处理器执行时实现如上实施例1中所述的对源代码缺陷划分级别的方法的步骤。
本发明的技术方案采用两层架构的方式对漏洞进行评分,具有高度的稳定性和一定的灵活性。根据安全类漏洞的特点,独创了漏洞的两个维度指标:危害性和可能性。计算漏洞危害级别的公式科学合理,突出了不同指标不同的权重。对于一些特殊的用户可以灵活调整指标的权重。独创了两维象限法对漏洞进行级别定义。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本申请可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现。基于这样的理解,本申请的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
如上所述,已经给出了本发明的优选实施例的详细描述,以使本领域技术人员能够实施和实践本发明。虽然已经参照示例性实施例描述了本发明,但是本领域技术人员将会理解,在不脱离所附权利要求书中描述的本发明的精神或范围的情况下,可以在本发明中进行各种修改和改变。因此,本发明不应限于在此描述的特定实施例,而应被赋予与本文公开的原理和新颖特征一致的最宽范围。
Claims (6)
1.一种对源代码缺陷划分级别的方法,其特征在于,所述方法包括:
步骤1:定义一个关于漏洞的具体的规则,然后对该规则进行两个维度的打分;
步骤2:根据公式对漏洞进行分值计算;
步骤3:根据所计算的分值与级别对应表对应的危险级别,得出漏洞的最终危险级别;
步骤4:对于该漏洞进行归类。
2.根据权利要求1所述的方法,
其特征在于,所述两个维度是危害性和可能性,其中危害性和可能性从高到低为:3,2,1,0。
3.根据权利要求2所述的方法,
其特征在于,所述两级别对应表是【3,2,1,0】,分别与所述两级别对应表对应的危险级别为危险、高、中、低。
4.根据权利要求2所述的方法,
其特征在于,根据以下公式对漏洞进行分值计算:分值D的初始值为0,D=0,如果危害性的分值B>=2.5,则D+=2,然后如果可能性的分值A<2.5,则D+=0。
5.一种对源代码缺陷划分级别的设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至4中任一项所述的对源代码缺陷划分级别的方法的步骤。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有信息传递的实现程序,所述程序被处理器执行时实现如权利要求1至4中任一项所述的对源代码缺陷划分级别的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010137771.0A CN111290963A (zh) | 2020-03-03 | 2020-03-03 | 对源代码缺陷划分级别方法、设备和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010137771.0A CN111290963A (zh) | 2020-03-03 | 2020-03-03 | 对源代码缺陷划分级别方法、设备和计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111290963A true CN111290963A (zh) | 2020-06-16 |
Family
ID=71026934
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010137771.0A Pending CN111290963A (zh) | 2020-03-03 | 2020-03-03 | 对源代码缺陷划分级别方法、设备和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111290963A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040221176A1 (en) * | 2003-04-29 | 2004-11-04 | Cole Eric B. | Methodology, system and computer readable medium for rating computer system vulnerabilities |
CN101950338A (zh) * | 2010-09-14 | 2011-01-19 | 中国科学院研究生院 | 一种基于层次化漏洞威胁评估的漏洞修复方法 |
CN106570403A (zh) * | 2016-11-02 | 2017-04-19 | 北京知道未来信息技术有限公司 | 一种基于风险模型的漏洞危害程度识别方法 |
CN107220549A (zh) * | 2017-05-26 | 2017-09-29 | 中国民航大学 | 基于cvss的漏洞风险基础评估方法 |
-
2020
- 2020-03-03 CN CN202010137771.0A patent/CN111290963A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040221176A1 (en) * | 2003-04-29 | 2004-11-04 | Cole Eric B. | Methodology, system and computer readable medium for rating computer system vulnerabilities |
CN101950338A (zh) * | 2010-09-14 | 2011-01-19 | 中国科学院研究生院 | 一种基于层次化漏洞威胁评估的漏洞修复方法 |
CN106570403A (zh) * | 2016-11-02 | 2017-04-19 | 北京知道未来信息技术有限公司 | 一种基于风险模型的漏洞危害程度识别方法 |
CN107220549A (zh) * | 2017-05-26 | 2017-09-29 | 中国民航大学 | 基于cvss的漏洞风险基础评估方法 |
Non-Patent Citations (1)
Title |
---|
马驰 等: "基于模糊理论的漏洞危害等级评估", 计算机应用研究 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ganin et al. | Multicriteria decision framework for cybersecurity risk assessment and management | |
Dambra et al. | SoK: Cyber insurance–technical challenges and a system security roadmap | |
Maheshwari et al. | Integrating risk assessment and threat modeling within SDLC process | |
US11507674B2 (en) | Quantifying privacy impact | |
Kotenko et al. | Selection of countermeasures against network attacks based on dynamical calculation of security metrics | |
Shin et al. | ART: automated reclassification for threat actors based on ATT&CK matrix similarity | |
CN113901484A (zh) | 一种基于风险的漏洞管理方法和装置 | |
CN114091042A (zh) | 风险预警方法 | |
Kim et al. | A framework for event prioritization in cyber network defense | |
CN116846619A (zh) | 一种自动化网络安全风险评估方法、系统及可读存储介质 | |
Fehling-Kaschek et al. | A systematic tabular approach for risk and resilience assessment and Improvement in the telecommunication industry | |
CN115329336A (zh) | 一种基于依赖项检测和开源评分体系的net平台开源软件供应链漏洞评分方法 | |
Wideł et al. | Security countermeasures selection using the meta attack language and probabilistic attack graphs | |
CN117376228B (zh) | 一种网络安全测试工具确定方法及装置 | |
Lohmann et al. | Systematic Literature Review of Threat Modeling Concepts. | |
CN111290963A (zh) | 对源代码缺陷划分级别方法、设备和计算机可读存储介质 | |
Fung et al. | Electronic information security documentation | |
Kuehn et al. | The Notion of Relevance in Cybersecurity: A Categorization of Security Tools and Deduction of Relevance Notions | |
KR20220091248A (ko) | 보안 취약점 관리 시스템과 방법 및 그 기록매체 | |
Yu et al. | An LLM Maturity Model for Reliable and Transparent Text-to-Query | |
Hamill et al. | Risk management and the value of information in a defense computer system | |
Samuel et al. | Leveraging external data sources to enhance secure system design | |
CN116260637B (zh) | 渗透测试的路径规划方法、装置、电子设备及存储介质 | |
Pai et al. | Phishing website analyzer to secure e-banking and e-commerce websites | |
Singh et al. | Network security risk level estimation tool for information security measure |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200616 |
|
RJ01 | Rejection of invention patent application after publication |