软件缺陷等级评定综述

1. 前言

正确评估软件缺陷等级,在项目的生命周期中有着重要的作用:

  • 指导缺陷修复的优先级和资源分配
    在软件开发和维护过程中,资源(包括人力、时间和资金)是有限的。通过明确缺陷的危险等级,可以帮助团队合理分配资源。软件缺陷等级可以帮助开发团队确定修复缺陷的优先顺序。高等级的缺陷通常对软件的功能和性能影响更大,因此需要优先修复,可能需要更多的资源和注意力来快速解决。例如,对于高危险等级的缺陷,如系统崩溃、数据泄露等问题,需要立即调配经验丰富的开发人员和测试人员进行修复,投入较多的时间和精力,确保系统的关键功能和安全性不受影响。而对于低危险等级的缺陷,像界面上的一些小瑕疵,可以安排在资源相对充裕的时候处理。

  • 评估软件质量和风险管理
    缺陷危险等级为风险评估提供了一个量化的指标。它使得团队能够清晰地识别出哪些缺陷可能对系统造成严重的危害,从而提前做好应对措施。通过缺陷等级的划分,可以对软件的质量进行评估。不同等级的缺陷对软件的影响程度不同,从而影响软件的整体质量。
    通过识别和分类缺陷,可以更好地管理项目风险。高等级的缺陷可能涉及到安全、合规或重大的业务影响,需要特别关注。基于缺陷危险等级,管理人员可以做出更明智的风险管理决策。对于高危险等级的缺陷,可能会决定暂停系统的发布或更新,直到缺陷得到修复;对于中等级缺陷,可以考虑采取一些临时的缓解措施,如限制功能的使用范围,同时安排修复计划;对于低等级缺陷,则可以根据实际情况权衡修复的成本和收益。

本文将从软件静态分析工具、开发规范、国家标准、以及评估体系多个角度讨论软件缺陷等级的划分方式,以便对软件缺陷检查工具、软件缺陷管理中缺陷等级的划分起到一定的指导作用。

2. SonarQube规则的严重等级

SonarQube 是我们非常熟悉的一个开源的代码质量管理平台,用于对代码进行静态分析,以帮助开发团队检测和解决代码中的潜在问题,提升代码质量。

SonarQube 针对质量的不同特性给出了四种缺陷类型:

  • 可维护性: 代码异味(Code smellj)
  • 可靠性: 错误(Bug)
  • 安全性:漏洞(Vulnerability)
  • 安全性:安全热点(Security hotspot)

在缺陷的严重等级上,采用影响和可能性两个维度,来评估问题的等级。

严重等级影响(Impact)可能性(Likelihood)
致命(Blocker)
严重(Critical)
主要(Major)
次要(Minor)

3. Fortify规则的严重等级

Fortify 是一款广泛使用的应用程序安全检测工具,可以说是静态分析领域的领军工具。

Fortify据问题的影响性,以及被利用的可能性,将问题分为以下四个风险象限:

在这里插入图片描述

由此得到缺陷的四个等级的划分:

  • 严重(Critical)- 高影响 (>=2.5) 和高可能性 (>=2.5)。攻击者很容易发现和利用关键问题,从而导致广泛的资产损失;
  • 高(High)- 影响高 (>=2.5),但可能性低 (<2.5)。高优先级问题通常难以发现和利用,但可能会导致广泛的资产损失;
  • 中(Medium)- 低影响 (<2 .5), 但可能性高 (>=2.5)。中等优先级的问题很容易被发现和利用,但通常造成的资产损失很小;
  • 低(Low)- 低影响 (<2.5) 和低可能性 (<2.5)。低优先级问题难以发现和利用,通常造成的资产损失很小。

与SonarQube 不同的是,可能性的指数是根据规则的另外三个参数计算出来的。

  • 可能性计算公式:

可能性(Likelihood) = (准确性(Accuracy) x 可信度(Confidence) x 可能性(Probability)) / 25

这样就可能性指数就由工具的在规则上采用的检测技术和准确性来决定了,工具得到的信息越多,检测的越准确,可能性的指数也就越准确。

4. CERT规范的严重等级

CERT安全编码标准是由卡内基梅隆大学软件工程研究所(Software Engineering Institute, SEI)计算机应急响应小组(Computer Emergency Response Team (CERT))为各种语言开发的,其中的内容是接纳了全球范围的软件工程师社区的贡献而实现的。其目的是通过遵循统一的规则确保创建高质量、安全的代码,避免出现安全问题。

CERT 的安全编码涵盖了 C/C++/Java/Perl 等语言。CERT 规范参考了IEC 60812:2018 Failure modes and effects analysis (FMEA and FMECA)中基于故障模式(Failure Mode)、影响(Effects)和危急程度分析(Criticality Analysis)(FMECA)度量标准设定问题处理的优先级(priority)。

  • 告警分为四类: 致命, 严重, 一般, 提示(只用于检视类规则, 会存在较高的误报率)。
  • 告警等级依据:告警的严重性(Severity); 缺陷发生的可能性(Likelihood); 修复成本(Remediation Cost) 三个维度进行综合衡量, 得到告警处理的优先级。

4.1. 严重性(Severity)

  • 严重性(Severity): 忽略规则的后果有多严重。
含义缺陷举例
1高(High)拒绝服务攻击、异常终止
2中(Medium)数据完整性违规,无意中信息泄露
3低(Low)执行任意代码

4.2. 可能性(Likelihood)

  • 可能性(Likelihood): 违反规则而引入的缺陷可能导致可利用的漏洞。
含义
1不可能(Unlikely)
2有可能(Probable)
3可能(Likely)

4.3. 修复成本(Remediation Cost)

  • 修复成本(Remediation Cost): 遵守规则的成本有多高。
  • 注意: 修复成本越低, 得分越高;
含义检测修正
1高(High)人工人工
2中(Medium)自动人工
3低(Low)自动自动

4.4. 等级评定

  • 将每个规则的严重性(Severity)、可能性(Likelihood)、修复成本(Remediation Cost)的值相乘;
  • 等级(Level) = 严重性(Severity) * 可能性(Likelihood) * 修复成本(Remediation Cost)
  • 乘积的范围是1到27,尽管只有以下10个不同的值是可能的:1、2、3、4、6、8、9、12、18和27。
    • 一般: 优先级在1 - 4;
    • 严重: 优先级在6 - 9;
    • 致命: 优先级在12 - 27;
    • 提示: 这个用于检视类的规则, 不在等级评估范围之内。
  • 以下是优先级和级别的可能解释。
LevelPrioritiesPossible Interpretation
L112 , 18 , 27严重性高,可能,维修成本低
L26 , 8 , 9 中等严重性,可能,中等维修成本
L31 , 2 , 3 , 4严重性低,不太可能,维修成本高
提示用于检视类规则

在这里插入图片描述

5. GB/T 30279-2020 信息安全技术 网络安全漏洞分类分级指南

GB/T 30279-2020《信息安全技术 网络安全漏洞分类分级指南》将漏洞分级分为技术分级和综合分级两种方式,每种分级方式均包括超危、高危、中危和低危四个等级。其划分依据如下:

5.1. 技术分级

危险等级描述
超危漏洞一旦被利用,将对系统造成极其严重的危害,如完全控制系统、导致关键数据大量泄露或系统完全瘫痪等。例如,存在可远程执行任意代码且无需用户交互的严重漏洞,攻击者可以轻易获取系统的最高权限,对整个系统进行任意操作,这类漏洞就属于超危级别。
高危漏洞被利用后,会对系统的安全性产生重大影响,如导致重要数据泄露、系统的关键功能受到严重破坏等。比如,存在可远程获取系统敏感信息的漏洞,或者能够使系统的重要服务中断的漏洞,这些都属于高危漏洞。
中危漏洞被利用后,会对系统造成一定程度的影响,但不会导致系统完全失控或关键数据的大量泄露。例如,存在一些可能导致系统部分功能异常、数据的完整性受到一定程度破坏,但不会对系统的整体运行产生致命影响的漏洞。
低危漏洞被利用后,对系统的影响较小,通常只是一些轻微的安全隐患,如可能导致系统的一些非关键功能出现异常、信息的保密性或完整性受到轻微影响等。

5.2. 综合分级

综合考虑了漏洞的技术分级以及环境因素等,反映在特定时期特定环境下漏洞的危害程度。其考虑的环境因素指标包括被利用成本、修复难度、影响范围等。

危险等级描述
超危在特定环境下,漏洞的危害程度极高,其影响范围广泛,可能对整个组织或网络造成严重的破坏,并且被利用成本低、修复难度极大。
高危在特定的网络环境和业务场景中,漏洞的危害程度较高,对系统的正常运行和数据安全有较大威胁,被利用成本相对较低,修复难度较高。
中危漏洞在当前环境下具有一定的危害性,但影响范围相对较小,被利用成本和修复难度处于中等水平。
低危漏洞的危害程度相对较低,对系统的影响较小,被利用成本较高或者需要特定条件才能被利用,修复难度相对较低。

5.3. 漏洞分级过程

漏洞分级过程主要包括最初的指标赋值、中间的指标评级和最后的分级计算三个步骤,

  • 指标赋值:是对根据具体漏洞对每个漏洞分级指标进行人工赋值;

  • 指标评级:是根据指标赋值结果分别对被利用性、影响程度和环境因素等三个指标类进行评级;

  • 分级计算:是根据指标评级计算产生技术分级或综合分级的结果。

    • 技术分级:结果由被利用性和影响程度两个指标类计算产生
    • 综合分级:由被利用性、影响程度和环境因素三个指标类计算产生。
  • 漏洞分级过程图

在这里插入图片描述

5.4. 网络安全漏洞指标评级

5.4.1. 被利用性评级

被利用性评级反映网络安全漏洞触发的技术可能性。被利用性指标组中各指标的不同取值的组合对应不同的被利用性级别。被利用性级别分为9级,用1-9的数字表示,数值越大被利用的可能性越高。被利用性指标组中指标有:

  • 访问路径
  • 触发要求
  • 权限需求
  • 交互条件

5.4.2. 影响程度评级

影响程度评级反映网络安全漏洞触发造成的危害程度。影响程度指标组中各指标的不同取值的组合对应不同的影响程度级别。不同的影响程度级分为9级,用1-9的数字表示,数值越大导致的危害程度越高。影响程度指标组中指标有:

  • 保密性
  • 完整性
  • 可用性

5.4.3. 环境因素评级

环境因素是对漏洞进行评级是需要考虑的漏洞所处的网络环境、当前漏洞被利用的技术程度等外部环境。环境因素评级反映在参考环境下,漏洞的危害程度。环境因素指标组中各指标的不同取值的组合对应不同的环境因素级别。不同的环境因素级别分为9级,用1-9的数字表示,数值环境因素导致的漏洞危害程度越高。环境因素指标组中指标有:

  • 被利用成本
  • 修复难度
  • 影响范围

5.5. 评级示例:CVE-2014-0160(OpenSSL缓冲区溢出)

CVE-2014-0160(OpenSSL缓冲区溢出) 漏洞分级示例。

  • 漏洞简介
    OpenSSL的TLS和DTLS实现过程中的d1_both.c和t1_lib.c文件中存在安全漏洞,该漏洞源于当处理Heartbeat Extension数据包时,缺少边界检查。远程攻击者可借助特制的数据包利用该漏洞读取服务器内存中的敏感信息(如用户名、密码、Cookie、私钥等)。

  • 漏洞评级
    CVE-2014-0160漏洞评级表

指标类指标子类描述赋值分级
被利用性访问路径通过网络远程访问网络9
-触发要求无需特定环境,普通环境即可触发
-权限需求无需任何特权信息或身份验证
-交互条件漏洞触发无需用户或系统的参与或配合不需要
影响程度保密性攻击者从内存中可读取多达64KB的数据,通过该漏洞读取每次攻击泄露出来的信息,可轻松获取到服务器的私钥、用户的cookie和密码等严重4
-完整性漏洞对完整性不产生影响
-可用性漏洞对可用性不产生影响
环境因素被利用成本协议本身漏洞, 直接暴露于公网之下,容易被利用7
-修复难度已有较为完整的修复方案,修复难度不大
-影响范围影响范围广泛
  • 漏洞分级
    通过上述表格,CVE-2014-0160漏洞
  • 被利用性为 9 级、影响程度为 4 级,因此技术评级为: 高危;
  • 该漏洞的环境因素为 7 级,结合技术评级为:高危;因此该漏洞的综合评级为高危。

注:该标准于 2020 年 11 月 19 日公布,与 2021 年 6 月 1 号正式实施。该标准参考了 2019 年 6 月发布的 CVSS 3.1版本。所以该标准的很对地方很接近 CVSS 的评级方法。

6. 通用漏洞评分系统(Common Vulnerability Scoring System(CVSS))

CVSS 是事故响应与安全团队论坛(FIRST)发布的通用漏洞评分系统。CVSS 是评估软件安全漏洞严重性的标准化框架,可根据可利用性、可依据保密性、完整性、可用性和所需权限的影响等因素进行评分,或以低、中、高和关键几种等级定性,最终分数越高则表示漏洞越严重。

通用漏洞评分系统 (CVSS) 是一个开放式框架,用于传达软件漏洞的特征和严重性。CVSS 由四个指标组组成:基本指标组(Base)、威胁指标组(Threat)、环境指标组(Environment) 和 补充指标组(Supplemental)。

  • 基本指标组(Base): 表示漏洞的内在特性,这些特性在一段时间内和用户环境中保持不变;
  • 威胁指标组(Threat): 反映随时间变化的漏洞特征;
  • 环境指标组(Environment): 表示用户环境独有的漏洞特征。

2023 年 6 月 发布了 CVSS 4.0, 4.0 中重新定义了评分术语体系,强调 CVSS 不等同于 CVSS 基础分,提出了 CVSS-B(CVSS 基础分)、CVSS-BT(CVSS 基础分 + 威胁分)、CVSS-BE(CVSS 基础分 + 环境分)、CVSS-BTE(CVSS 基础分 + 威胁分 + 环境分)等概念,使用的评分指标越多,漏洞评分的准确性也越高。

CVSS 向量字符串由用于派生分数的值的压缩文本表示形式组成。

CVSS 4.0使用四个指标组来评估漏洞风险,最终转换成分数的方法如下:

在这里插入图片描述

6.1. 基本指标组(Base Metrics)

6.1.1. 可利用性(Exploitability)

  • 攻击向量(Attack Vector(AV)):评估利用漏洞所需的访问级别。例如,网络访问(Network)比本地访问(Local)的攻击向量得分更高,因为远程利用漏洞通常更容易且影响范围更广,而物理接触(Physical)访问的漏洞利用难度相对更大,得分则较低。
  • 攻击复杂度(Attack Complexity(AC)):反映攻击者控制范围之外的因素对利用漏洞的影响程度。如果攻击者无需额外信息或特殊技术就能轻松利用漏洞,那么该漏洞的攻击复杂度低,得分较高;反之,如果需要复杂的技术、大量的信息收集或特定的环境条件才能利用漏洞,攻击复杂度则高,得分较低。
  • 攻击要求(Attack Requirements (AT)):此指标捕获启用攻击的易受攻击系统的先决条件部署和执行条件或变量。这些与安全增强技术/技术(参考攻击复杂性)不同,因为这些条件的主要目的不是明确缓解攻击,而是作为易受攻击系统的部署和执行的结果自然出现。如果攻击者不采取措施来克服这些情况,则攻击可能只是偶尔成功或根本不会成功。
  • 所需权限(Privileges Required(PR)):基于攻击者利用漏洞所需的权限级别进行评分。如果漏洞利用需要高级权限(如管理员权限),那么得分相对较低,因为获取高级权限通常较为困难;如果只需要普通用户权限甚至不需要任何权限就能利用漏洞,得分则较高。
  • 用户交互(User Interaction(UI)):判断攻击者是否需要其他用户的操作来利用漏洞。若攻击者可以在无需用户进一步操作的情况下完成攻击,得分会更高;如果需要用户执行特定操作(如点击链接、下载文件等)才能触发漏洞利用,得分则会受到一定影响。

6.1.2. 缺陷影响(Vulnerable Impact)

  • 保密性(Confidentiality(VC)):反映可能被泄露或丢失的数据量。如果漏洞可能导致大量敏感信息泄露,那么保密性方面的影响较大,得分较高;如果只是少量非敏感信息可能受到影响,得分则相对较低。
  • 完整性(Integrity(VI)):对攻击者可以对系统中的数据施加的操纵程度和数据的可信性进行评分。例如,如果漏洞能让攻击者轻易篡改关键数据,破坏数据的完整性,那么在这方面的得分会较高;如果只是对数据的影响较小,得分则较低。
  • 可用性(Availability(VA)):反映攻击对其他用户访问系统的能力的影响。如果漏洞攻击会导致系统完全无法使用或严重影响系统的正常运行,使其他用户无法访问系统,那么可用性方面的得分会很高;如果只是对系统的可用性造成轻微影响,得分则相对较低。

根据上述各子指标的评估结果,综合计算得出基本指标组的分数,该分数在一定程度上反映了漏洞的内在特征和潜在影响。

6.2. 威胁指标组(Threat Metrics)

这部分指标主要考虑漏洞在当前威胁环境下的相关因素,如漏洞的利用代码成熟度、攻击者的能力和动机等。不过,威胁指标组的具体计算方式相对复杂,需要结合更多的外部信息和专业判断。例如,一个漏洞如果已经存在成熟的利用代码,并且有大量的攻击者对其感兴趣,那么该漏洞在威胁指标组的得分会相应提高。这部分指标是对基本指标组的补充,用于更全面地评估漏洞在实际威胁环境下的风险程度。

6.3. 环境指标组(Environmental Metrics)

环境指标是针对发现漏洞的特定环境而言的,具有唯一性。它需要考虑组织的安全协议、易受攻击的组件对其系统的重要性以及任何安全漏洞对漏洞的影响等因素。例如,在一个安全防护措施较为薄弱的环境中,漏洞的风险可能会被放大,环境指标组的得分会相应增加;而在一个具有强大安全防护体系的环境中,漏洞的影响可能会受到限制,得分则会相对较低。

6.4. 补充指标组(Supplemental Metrics)

包括一些额外的因素,如漏洞的可自动化程度(是否可蠕虫攻击)、漏洞响应的力度和紧迫性等。这些指标可以为漏洞评估提供更多的参考信息,但对最终分数的影响相对较小。

6.5. 漏洞评分

综合以上四个指标组的评估结果,按照一定的算法和权重分配,最终得出漏洞的CVSS 4.0分数。CVSS 4.0的分数范围仍然是0.0到10.0,分数越高表示漏洞越严重。一般来说:

  • 0.1 - 3.9分为低风险漏洞;
  • 4.0 - 6.9分为中等风险漏洞;
  • 7.0 - 8.9分为高风险漏洞;
  • 9.0 - 10.0分为关键风险漏洞。

需要注意的是,具体的转换算法和权重分配是由CVSS 4.0标准的制定者确定的,并且可能会根据实际情况不断进行调整和优化。

6.6. CVSS评分举例:CVE-2021-44228(log4shell)

以我们熟悉的 Log4j 缺陷举例:

  • 各指标评估:

VSS v4 分数:基础 + 威胁 10.0

Metric 度量Value 价值Comments 评论
攻击向量(Attack Vector(AV))Network 网络易受攻击的系统可从远程网络访问。
攻击复杂度(Attack Complexity(AC))Low 低不需要专业条件或高级知识。
攻击要求(Attack Requirements (AT))None 没有尽管攻击者必须准备环境,以便通过控制可访问的 LDAP 服务器来实现攻击的最坏结果(例如,代码执行),但应假定系统易受攻击。
所需权限(Privileges Required(PR))None 没有攻击者无需任何权限即可成功利用此漏洞。
用户交互(User Interaction(UI))None 没有该攻击不需要任何用户交互。
易受攻击的系统机密性(Vulnerable System Confidentiality(VC))High 高攻击者可以使用提升的权限运行任意命令并访问敏感的系统信息。
易受攻击的系统完整性(Vulnerable System Integrity(VI))High 高攻击者可以使用提升的权限运行任意命令并修改系统配置。
易受攻击的系统可用性(Vulnerable System Availability(VA))High 高攻击者可以使用提升的权限运行任意命令,并获得足以重置或关闭设备的访问权限。
后续系统机密性(Subsequent System Confidentiality(SC))High 高攻击者可以利用此漏洞查看下游系统的敏感信息。
后续系统完整性(Subsequent System Integrity(SI))High 高攻击者可以利用此漏洞修改下游系统中的数据。
后续系统可用性(Subsequent System Availability(SA))High 高攻击者可以利用此漏洞影响下游系统的可用性。
漏洞利用成熟度(Exploit Maturity(E))Attacked 攻击在野外有已知的漏洞。
  • CVSS 4.0 评估字符串:
    CVSS 4.0的评估为:CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H/E:A

  • 计算页面计算得分:
    通过计算页面可以得到风险值为:10, 可见这个漏洞的危害性之大。

在这里插入图片描述
在这里插入图片描述

7. DREAD模型

DREAD,由 Microsoft 创建的威胁建模框架(Meier 等人,2003 年)。尽管 Microsoft 后来以担心其主观性为由放弃了该模型(Shostack,2008 年),但它今天仍被广泛使用。

DREAD 模型使用比例评级系统定量评估网络威胁的严重性,该系统为风险类别分配数值。DREAD 模型有五类:

  • 破坏性(Damage):了解特定威胁能够造成的潜在损害。
  • 可重复性(Reproducibility):确定复制攻击的难易程度。
  • 可利用性(Exploitability):分析系统的漏洞以确定对网络攻击的敏感性。
  • 受影响的用户(Affected Users):计算有多少用户会受到网络攻击的影响。
  • 可发现性(Discoverability):确定发现系统基础结构中的漏洞的难易程度。

DREAD 模型使分析师能够对威胁的严重性进行评级、比较和确定其优先级,方法是在上述每个类别中为给定问题分配 0 到 10 之间的评级。最终评级(计算为这些类别评级的平均值)表示风险的总体严重性。

7.1. D - 破坏性(Damage potential)

攻击可能造成的伤害。

评级描述
0无损伤
5信息披露
8与个人或雇主相关的非敏感用户数据泄露
9非敏感管理数据泄露
10破坏信息系统;数据或应用程序不可用

7.2. R - 可重复性(Reproducibility)

攻击被复制的难易程度。

评级描述
0困难或不可能
5复杂
7.5简单
10非常简单

7.3. E - 可利用性(Exploitability)

发起攻击需要的条件。

评级描述
2.5高级编程和联网技能
5可用的攻击工具
9Web 应用程序代理
10Web 浏览器

7.4. A - 受影响的用户(Affected Users)

攻击会影响的范围。

评级描述
0无用户
2.5个人用户
6用户少
8管理用户
10所有用户

7.5. D - 可发现性(Discoverability)

发现漏洞的难易程度。

评级描述
0难以发现漏洞
5HTTP 请求可以发现漏洞
8在公共领域发现的漏洞
10在 Web 地址栏或表单中发现漏洞

7.6. 总体威胁评级

总体威胁评级的计算方法是将这五个关键领域获得的分数相加。威胁的风险严重性类别如下:

评级分数范围描述
严重(Critical)40–50严重漏洞;地址。
高(High)25–39严重脆弱性;请考虑尽快进行审核和解决。
中等(Medium)11–24中等风险;在解决严重和关键风险后进行审查。
低(Low)1–10对基础设施和数据的风险较低。

8. 总结

  • 我们了解了各种缺陷的的评级方法,这包括:
    • 静态分析工具:Sonarqube、Fortify;
    • 编程规范:CERT编程规范;
    • 国家标准:GB/T 30279-2020《信息安全技术 网络安全漏洞分类分级指南》;
    • 业界缺陷评级方法:CVSS 4.0 和 微软 DREAD;
  • 为了更细致的处理缺陷,通常会将缺陷分为四级,可以简单的表示为:致命、高、中、低;
  • 评判的指标通常包含:危害性、可利用性、修复成本;
  • 各个方法都试图完全通过定量的方式进行评级,但不可避免的还是会存在一定的主观性判定;
  • 同一缺陷会因为所处应用系统的位置不同,承担的业务不同,所处的环境不同,带来危害也会存在差异。用户需要在处理的时候根据这些差异评估风险;
  • 分析工具中给出的往往是一个综合的危害,针对不同的应用程序,应在实际的使用中,做出相应的调整。

9. 参考

  • SonarQube serverites
  • SonarQube overview
  • Fortify serverity calculate
  • SEI CERT Coding Standards
  • GB/T 30279-2020 信息安全技术 网络安全漏洞分类分级指南
  • CVSS 4.0 user guide
  • Improving Web Application Security: Threats and Countermeasures(DREAD)
  • Experiences Threat Modeling at Microsoft
  • DREAD Threat Modeling: An Introduction to Qualitative Risk Analysis

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/59963.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Pikachu】Cross-Site Scripting跨站脚本攻击实战

只管把目标定在高峰&#xff0c;人家要笑就让他去笑&#xff01; 1.XSS&#xff08;跨站脚本&#xff09;概述 XSS&#xff08;跨站脚本&#xff09;概述 Cross-Site Scripting 简称为“CSS”&#xff0c;为避免与前端叠成样式表的缩写"CSS"冲突&#xff0c;故又称…

【SpringBoot】 黑马大事件笔记-day2

目录 用户部分 实体类属性的参数校验 更新用户密码 文章部分 规定josn日期输出格式 分组校验 上期回顾&#xff1a;【SpringBoot】 黑马大事件笔记-day1 用户部分 实体类属性的参数校验 对应的接口文档&#xff1a; 基本信息 请求路径&#xff1a;/user/update 请求方式&#…

大数据面试题--kafka夺命连环问

1、kafka消息发送的流程&#xff1f; 在消息发送过程中涉及到两个线程&#xff1a;一个是 main 线程和一个 sender 线程。在 main 线程中创建了一个双端队列 RecordAccumulator。main 线程将消息发送给双端队列&#xff0c;sender 线程不断从双端队列 RecordAccumulator 中拉取…

QT信号和槽与自定义的信号和槽

QT信号和槽与自定义的信号和槽 1.概述 这篇文章介绍下QT信号和槽的入门知识&#xff0c;通过一个案例介绍如何创建信号和槽&#xff0c;并调用他们。 2.信号和槽使用 下面通过点击按钮关闭窗口的案例介绍如何使用信号和槽。 创建按钮 在widget.cpp文件中创建按钮代码如下 …

unity显示获取 年月日周几【日期】

unity显示获取 年月日周几【日期】 public void ShowDate(Text txt){//txt.text DateTime now DateTime.Now; // 获取当前时间int year now.Year; // 获取年份int month now.Month; // 获取月份&#xff08;1-12&#xff09;int day now.Day; // 获取天数&#xff08;1-31&…

emr上使用sparkrunner运行beam数据流水线

参考资料 https://time.geekbang.org/column/intro/167?tabcatalog Apache Beam和其他开源项目不太一样&#xff0c;它并不是一个数据处理平台&#xff0c;本身也无法对数据进行处理。Beam所提供的是一个统一的编程模型思想&#xff0c;而我们可以通过这个统一出来的接口来编…

AUTOSAR CP SocketAdaptor(SoAd)规范导读

《AUTOSAR_SWS_SocketAdaptor》规范的主要内容包括&#xff1a; 简介和功能概述&#xff1a;说明了 AUTOSAR 基本软件模块 Socket Adaptor&#xff08;SoAd&#xff09;的功能、API 和配置。数据传输的 TCP/IP 概念在计算和电信环境中已成为标准&#xff0c;应用程序的寻址等…

代码随想录-栈和队列-用栈实现队列

问题描述 题目描述中有说不存在空栈的pop和peek&#xff0c;所以无需判断这个 解析 重点在于思路&#xff0c;代码白给。 要用栈实现队列&#xff0c;肯定是两个栈才可以。一个做入队操作&#xff0c;一个做出队操作。 首先入队简单&#xff0c;往栈里加就完事了。 出队复…

【设计模式】结构型模式(四):组合模式、享元模式

《设计模式之结构型模式》系列&#xff0c;共包含以下文章&#xff1a; 结构型模式&#xff08;一&#xff09;&#xff1a;适配器模式、装饰器模式结构型模式&#xff08;二&#xff09;&#xff1a;代理模式结构型模式&#xff08;三&#xff09;&#xff1a;桥接模式、外观…

轻型民用无人驾驶航空器安全操控------理论考试多旋翼部分笔记

官网&#xff1a;民用无人驾驶航空器综合管理平台 (caac.gov.cn) 说明&#xff1a;一是法规部分&#xff1b;二是多旋翼部分 本笔记全部来源于轻型民用无人驾驶航空器安全操控视频讲解平台 目录 官网&#xff1a;民用无人驾驶航空器综合管理平台 (caac.gov.cn) 一、轻型民用无人…

【leetcode练习·二叉树】用「分解问题」思维解题 I

本文参考labuladong算法笔记[【强化练习】用「分解问题」思维解题 I | labuladong 的算法笔记] 105. 从前序与中序遍历序列构造二叉树 | 力扣 | LeetCode | 给定两个整数数组 preorder 和 inorder &#xff0c;其中 preorder 是二叉树的先序遍历&#xff0c; inorder 是同一棵…

深入解析四种核心网络设备:集线器、桥接器、路由器和交换机

计算机网络系列课程《网络核心设备》 在现代网络技术中&#xff0c;集线器、桥接器、路由器和交换机扮演着至关重要的角色。本文&#xff0c;将深入探讨这四种设备的功能、工作原理及其在网络架构中的重要性。 集线器&#xff1a;基础网络连接设备 集线器&#xff08;Hub&…

宏景eHR uploadLogo.do 任意文件上传致RCE漏洞复现

0x01 产品简介 宏景eHR人力资源管理软件是一款专为复杂单组织或多组织客户设计的人力资源管理软件,融合了最新的互联网技术和先进的人力资源管理理念和实践。宏景eHR软件支持B/S架构,特别适合集团化管理和跨地域使用。它提供了全面的人力资源管理功能,包括人员、组织机构、…

ssm基于JAVA的网上订餐管理系统+vue

系统包含&#xff1a;源码论文 所用技术&#xff1a;SpringBootVueSSMMybatisMysql 免费提供给大家参考或者学习&#xff0c;获取源码看文章最下面 需要定制看文章最下面 目 录 目 录 I 摘 要 III ABSTRACT IV 1 绪论 1 1.1 课题背景 1 1.2 研究现状 1 1.3 研究内容…

NVR设备ONVIF接入平台EasyCVR私有化部署视频平台如何安装欧拉OpenEuler 20.3 MySQL

在当今数字化时代&#xff0c;安防视频监控系统已成为保障公共安全和个人财产安全的重要工具。NVR设备ONVIF接入平台EasyCVR作为一款功能强大的智能视频监控管理平台&#xff0c;它不仅提供了视频远程监控、录像、存储与回放等基础功能&#xff0c;还涵盖了视频转码、视频快照、…

测试网空投进行中 — 全面了解 DePIN 赛道潜力项目 ICN Protocol 及其不可错过的早期红利

随着云计算技术的飞速发展&#xff0c;越来越多的企业和个人对云服务的需求变得多样化且复杂化。然而&#xff0c;传统的中心化云服务平台&#xff08;如AWS、微软Azure等&#xff09;往往存在着高成本、数据隐私保护不足以及灵活性差等问题。 为了解决这些挑战&#xff0c;Imp…

CulturalBench :一个旨在评估大型语言模型在全球不同文化背景下知识掌握情况的基准测试数据集

2024-10-04&#xff0c;为了提升大型语言模型在不同文化背景下的实用性&#xff0c;华盛顿大学、艾伦人工智能研究所等机构联合创建了CulturalBench。这个数据集包含1,227个由人类编写和验证的问题&#xff0c;覆盖了包括被边缘化地区在内的45个全球区域。CulturalBench的推出&…

CAD VBA 图元颜色跟随图层

效果如下&#xff1a; 一、所有图元颜色为bylayer Sub 图元颜色跟随图层() Dim item As AcadEntityFor Each item In ThisDrawing.ModelSpace item.color acByLayer Next ThisDrawing.Regen acActiveViewport End Sub二、与图层颜色相同&#xff08;不是bylayer&#xff09;:…

介绍一下数组(c基础)(smart 版)

c初期&#xff0c;记住规则&#xff0c;用规则。 我只是介绍规则。&#xff08;有详细版&#xff0c;这适合smart人看&#xff09; 数组&#xff08;同类型&#xff09; int arr[n] {} ; int 是 元素类型。 int arr[n] {} ; arr为标识符。 {} 集合&#xff0c;元素有次…

【数据结构】插入排序——直接插入排序 和 希尔排序

直接插入排序 和 希尔排序 一、直接插入排序二、直接插入排序的弊端三、希尔排序&#xff08;1&#xff09;对插入排序的联想&#xff08;2&#xff09;希尔排序的思路 四、直接插入排序和希尔排序效率对比1>随机生成10000个数2>我们随机生成100000个数3>我们随机生成…