【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

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:232194
用户头像

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

关注

评论

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

重新刷新你对Redis集群的理解

Java工程师

数据库 复制 数据共享 集群 redis'

全球央行积极推进CBDC 俄罗斯制裁或成催化剂?

CECBC

Redis集群架构剖析(2):槽位

非晓为骁

redis集群 slots 分布式,

又一重量级国赛来啦,保研可加分 | 中国软件杯飞桨遥感赛道正式启动

百度大脑

在线CSS3压缩美化格式化

入门小站

工具

实用机器学习笔记二十九:NLP 中的微调

打工人!

机器学习 学习笔记 nlp 机器学习算法 3月月更

Flutter 开发一个常用的登录界面

岛上码农

ios 移动端开发 3月月更 flutter开发 安卓开发

Java 中的静态字段和静态方法

踏雪痕

Java 3月程序媛福利 3月月更

10个Python set 常用操作函数!,oppoPython面试题

程序媛可鸥

Python 程序员 面试

毕业总结

Geek_93ffb0

「架构实战营」

区块链正在塑造医疗保健生态系统!

CECBC

06 - vulhub - Apache HTTPD 多后缀解析漏洞,2021年Python大厂面试分享

程序媛可鸥

Python 程序员 面试

第三空间娱乐体验重构:AITO 问界 M5雕刻的七宝楼台

脑极体

调查:区块链游戏玩家将玩NFT游戏视为一份潜在的全职工作

CECBC

Linux之alias命令

入门小站

Linux

golang里的一些奇奇怪怪的东西

不登山的小鲁

golang Go 语言

软件入门之《编程指南》-学习路径和经验随谈

hongfei

个人成长 编程好习惯 经验总结

人工智能1秒检测一辆车,TA助力广本新车质量排名第一

百度大脑

开学季 | 飞桨AI Studio课程学习,小白也可以成为一名优秀的算法工程师

百度大脑

#yyds内容盘点# 一文带你搞懂Python中变量与常量,Python开发框架

程序媛可鸥

Python 程序员 面试

北京大学董豪老师解密人工智能开发工具的过去与未来

OpenI启智社区

人工智能 开发工具 启智社区 北京大学

架构实战营模块九-毕业设计-电商秒杀系统

Jude

架构实战营

Axios 教程:Vue + Axios 安装及实战 - 手把手教你搭建加密币实时价格看板

蒋川

Vue Node axios

CorelDRAW2022下载及新增功能讲解

茶色酒

cdr2022

重新开始学习测试驱动开发

escray

学习笔记 测试驱动开发

在线JSON转HTML工具

入门小站

工具

深度关注 | 元宇宙如何改写人类社会生活

CECBC

"三高"Mysql - Mysql的基础结构了解

懒时小窝

MySQL 数据库

Top Trending Libraries of 2021,PaddleOCR再开源8大前沿顶会论文模型!

百度大脑

Redis Pipeline原来是这么用的

Java工程师

数据库 程序员 代码 pipeline redis'

《软件开发的201个原则》思考:3.开发效率和质量密不可分

非晓为骁

程序员 个人成长 软件工程 软件开发原则 开发质量

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