写点什么

2020 年最危险的 25 个软件漏洞

  • 2020-10-29
  • 本文字数:2292 字

    阅读完需:约 8 分钟

2020年最危险的25个软件漏洞

在 8 月份,2020 年 CWE Top 25 正式公布,这 25 个软件漏洞是指在过去一段时间发现的最常见和影响最大的安全问题。


这些漏洞非常危险,因为它们不仅很容易被发现和利用,而且能让攻击者完全接管系统、窃取数据或阻止应用程序正常运行。无论是软件开发者,还是安全人员,都应该好好了解,因为 CWE Top 25 能帮开发人员、测试人员和用户以及项目经理、安全研究人员和培训工作者深入了解当前最严重的安全漏洞。


据悉,CWE 团队使用美国国家标准技术研究院(NIST)国家漏洞数据库(NVD)里的 CVE(Common Vulnerabilities and Exposures)数据以及与每一个 CVE 相关的 CVSS(Common Vulnerability Scoring System)得分。基于每个 CWE 的传播程度和严重程度,他们使用一个公式对其进行评分。

CWE Top 25 清单

下面是 2020 年 CWE Top 25 清单,其中包含了每一个 CWE 的总体得分。


分析与评论

2019 年和 2020 年 CWE Top 25 清单之间的主要区别在于从抽象类别级别的漏洞向更具体的漏洞过渡。尽管这些类别级别的漏洞仍在清单中,但排名下降了。


随着社区不断改进映射方式,预计这种趋势将在未来几年继续。从清单中可以看出,类别级别的漏洞 CWE-119(不恰当的内存缓冲区操作限制)、CWE-20(不恰当的输入验证)和 CWE-200(向未经授权的行为体公开敏感信息)下移了几名,而 CWE-79(页面生成过程中不恰当的输入)、CWE-787(写越界)和 CWE-125(读越界)等更具体的漏洞正在取代它们。这种变化以及随后的发展趋势将有助于用户对威胁当今系统的问题加深了解。


清单中最大的四个变化与身份验证和授权相关:


  • CWE-522(凭证保护不足):从 27 位到 18 位;

  • CWE-306(关键功能缺少认证):从 36 位到 24 位;

  • CWE-862(缺少认证):从 34 位到 25 位;

  • CWE-863(不正确的认证):从 33 位到 29 位。


这四个漏洞都代表了最难以分析的系统的某些方面。从理论上看,导致这一趋势是因为社区改善了与之前 CWE Top 25 漏洞相关的培训、工具和分析能力,并减少了这些漏洞的发生,从而降低了它们的排名,同时提升了这些更难以应付的漏洞的排名。


排名下降最多的四个漏洞是:


  • CWE-426(不信任的搜索路径):从 22 位到 26 位;

  • CWE-295(不恰当的证书验证):从 25 位到 28 位;

  • CWE-835(循环退出条件不可达):从 26 位到 36 位;

  • CWE-704(不正确的类型转换):从 28 位到 37 位。


在 2019 年,CWE-772(资源在有效生命周期之后没有被释放)排名第 21 位。但是,这并不能说明全部情况,因为指明哪种类型的资源没有被释放也很重要。


2020 年,一个更具体的映射方式指明了确切的资源类型。因为这个变化,CWE-401(缺少有效生命周期后的内存释放)从清单之外一下子进入到第 32 位,而代表所有非内存资源释放的 CWE-772 降至第 75 位。


需要注意的是,“二等”清单将 CWE-77(不恰当使用命令中的特殊元素)放在了第 31 位。在描述漏洞时,“命令注入”一词可能有不一样的意思,通常以牺牲“ 操作系统命令注入”这种精确性为代价,或者被用于描述结果(而非漏洞的根源)。这是 CWE 团队正在研究的问题,希望能够在将来的 CWE Top 25 清单中得到改进。

确定清单的方法

2020 年的 CWE Top 25 以 NVD 以发布的漏洞数据为基础。NVD 从 CVE 获取漏洞数据,并补充其他的分析和信息数据,包括与一个或多个漏洞的映射以及 CVSS 得分(基于标准化特征集的数字得分,表示漏洞的潜在严重程度)。NVD 以可解析的格式提供信息,有助于以数据驱动的方式创建 2020 年的 CWE Top 25 清单。这种方法可以客观地了解当前现实世界中存在的漏洞,为基于公开的漏洞而非主观的调查和意见构建严格分析奠定了基础,并让这个过程可重复执行。


2020 年 CWE Top 25 利用了 2018 年和 2019 年的 NVD 数据,其中包含约 27000 个与漏洞相关的 CVE。评分公式用于计算漏洞的排名,将 CWE 成为漏洞根源的频率与被利用的严重程度相结合。频率和严重程度都相对于最小值和最大值进行了归一化。


为了确定 CWE 的频率,评分公式会计算 CWE 映射到 CVE 的次数。在计算当中只使用具有相关漏洞的那些 CVE,因为使用 NVD 的整个 CVE 集合会导致非常低的频率,并且不同漏洞类型之间的差异变小。


Freq = {count(CWE_X’ ∈ NVD) for each CWE_X’ in NVD}

Fr(CWE_X) = (count(CWE_X ∈ NVD) - min(Freq)) / (max(Freq) - min(Freq))


得分公式中的另一个组成部分是漏洞的严重程度,它使用映射到特定 CWE 的所有 CVE 的平均 CVSS 得分来表示。下面的公式用于计算严重程度。


Sv(CWE_X) = (average_CVSS_for_CWE_X - min(CVSS)) / (max(CVSS) - min(CVSS))


然后,通过将严重程度得分乘以频率得分来确定 CWE 的危险等级。


Score(CWE_X) = Fr(CWE_X) * Sv(CWE_X) * 100


关于一些属性值的进一步解释:


  • 很少被发现的漏洞不会获得高分,不管它被利用会产生怎样的后果。这样做是有道理的,因为如果开发人员没有犯这些错误,那么就不应该在 CWE Top 25 清单中突出显示。

  • 影响较小的漏洞不会获得高分。这也是有道理的,因为攻击者无法通过利用这些漏洞造成重大伤害,所以它们的等级应该低于可以导致重大伤害漏洞的等级。

  • 既常见又可造成重大伤害的漏洞应该得高分。

带有得分指标的 CWE Top 25 清单

下表显示了 2020 年 CWE Top 25 以及相关的得分信息,包括与 NVD 数据集中特定 CWE 相关的条目数,以及每个漏洞的平均 CVSS 得分。


“二等”清单

延续去年的主题,CWE 团队感到分享以下 15 个 Top 25 之外的漏洞也很重要。根据得分公式,这些漏洞可能不足以严重或普遍到可以列入 2020 年 CWE Top 25 的程度。


基于 2020 年 CWE Top 25 进行风险决策的人可能也需要考虑以下这些漏洞:



原文链接:


https://cwe.mitre.org/top25/archive/2020/2020_cwe_top25.html


2020-10-29 14:232385
用户头像

发布了 114 篇内容, 共 46.8 次阅读, 收获喜欢 313 次。

关注

评论

发布
暂无评论
发现更多内容

一场专属开发者的技术盛宴——华为开发者联创日首站登陆深圳

华为云PaaS服务小智

云计算 AI 华为云 华为开发者大会2023

DevOps|中式土味OKR与绩效考核落地与实践

laofo

DevOps OKR 研发效能 绩效考核

强化学习从基础到进阶-常见问题和面试必知必答[2]:马尔科夫决策、贝尔曼方程、动态规划、策略价值迭代

汀丶人工智能

人工智能 深度学习 强化学习 马尔科夫决策 6 月 优质更文活动

2023上半年Java高频面试题库总结(600+java面试真题含答案解析)

小小怪下士

Java 程序员 面试

基于OpenHarmony开发的玻璃拟态天气应用(2)构建当前天气组件

路北路陈

前端 HarmonyOS OpenHarmony应用开发 6 月 优质更文活动

PWA和小程序的比较与优势

没有用户名丶

CSR格式如何更新? GES图计算引擎HyG揭秘之数据更新

华为云开发者联盟

大数据 华为云 华为云开发者联盟 企业号 6 月 PK 榜

火山引擎数智平台最新直播活动:ByteHouse技术架构与最佳实践分享

字节跳动数据平台

数据 活动 直播

来啊!跟我一起“单排”推荐系统!

博文视点Broadview

IoTLink版本更新V1.29.0

山东云则信息科技

软件测试/测试开发丨Pytest结合数据驱动-JSON

测试人

json 程序员 软件测试 数据驱动 pytest

趋势分享 | 多云时代数据安全面临的挑战

原点安全

软件设计原则与设计模式

源字节1号

开源 软件开发 前端开发 后端开发 小程序开发

这可能是2023年看过最全最详细的Java面试八股文,备战秋招,查缺补漏

架构师之道

java面试

盘点那些IT技术面试官常用的10个挂人套路

程序员小毕

程序员 程序人生 java面试 后端架构师 技术面

华为云GaussDB为MetaERP“成本核算”产品“保驾护航”

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号 6 月 PK 榜

.NET源码解读kestrel服务器及创建HttpContext对象流程

不在线第一只蜗牛

.net 开发语言

重磅国赛来了!2023中国高校计算机大赛-人工智能创意赛启动报名

飞桨PaddlePaddle

人工智能 百度 paddle 飞桨

分享6个SQL小技巧

EquatorCoco

sql 开发语言

滴滴开源的深度与温度——滴滴开源委员会秘书长吴国斌专访

开源雨林

开源 滴滴 滴滴夜莺 开源治理

千万不能小瞧的PCB半孔板

华秋PCB

科普 电路 PCB PCB设计 涨知识

强化学习从基础到进阶-案例与实践[2]:马尔科夫决策、贝尔曼方程、动态规划、策略价值迭代

汀丶人工智能

人工智能 深度学习 强化学习 马尔科夫决策 6 月 优质更文活动

以梦为码 自主创新 | 华为云开发者日成都站圆满举行!

华为云开发者联盟

云计算 华为云 华为云开发者联盟 企业号 6 月 PK 榜

Java 网络编程 —— RMI 框架

不在线第一只蜗牛

Java

汇聚漫天星光,点燃HarmonyOS之火,2023HSD校园行·清华大学站圆满收官

最新动态

带你彻底掌握Bean的生命周期

华为云开发者联盟

后端 开发 华为云 华为云开发者联盟 企业号 6 月 PK 榜

2020年最危险的25个软件漏洞_安全_MITRE_InfoQ精选文章