2019 CWE最危险的软件错误注意:这是一个以前的版本的前25位。为最新版本在这里。 介绍 共同的弱点枚举(CWE™)最危险的软件错误(CWE前25)是一个示范的最广泛和重要的弱点列表可以在软件导致严重的漏洞。这些缺陷往往容易发现和利用。他们是危险的,因为他们会经常让对手完全接管执行软件,窃取数据,或者防止软件工作。CWE的前25名可以使用社区资源,软件开发人员,软件测试人员,软件的客户,软件项目经理,安全研究人员和教育工作者提供洞察一些最常见的安全威胁在软件行业。 创建列表,CWE团队使用一种数据驱动的方法,利用出版常见的漏洞和风险敞口(CVE®)数据和相关CWE映射发现在国家标准与技术研究所(NIST)国家漏洞数据库(NVD),以及普通危险得分系统(CVSS)分数与每一个cf。得分公式被应用于确定每个弱点的患病率和危险水平的礼物。数据驱动的方法可以作为一个可重复的,照本宣科的过程来生成一个CWE定期排名前25位的列表以最小的努力。 CWE的前25名 下面是一个简短的清单的弱点在2019 CWE前25名,包括各自的总分。
方法 2019年CWE前25位是由获得CVE漏洞数据中找到NVD出版。NVD获得从CVE漏洞数据然后用额外补充这些数据分析和数据提供更多信息漏洞。除了提供基本的弱点对于每一个漏洞,NVD提供CVSS分数,这是一个数字分数代表的潜在严重性脆弱性基于一套标准化的脆弱性特征。NVD消化的格式提供了这些信息,帮助推动数据驱动方法创建CWE前25名。这种方法提供了一个客观的看看漏洞目前看到在现实世界中,创建了一个基金会建立在公开报道的漏洞,而不是依靠调查和意见,并使这一过程可重复的在未来几年。 2019年CWE前25位利用NVD数据从2017年到2018年,由大约二万五千个cf。CWE团队开发了一个计分公式计算缺陷的等级次序。CWE的计分公式结合频率是一个漏洞的根本原因与预期严重的剥削。在这两种情况下,频率和严重程度都是归一化相对于最小值和最大值。 确定CWE的频率,计分公式计算的次数CWE映射到CVE NVD之内。只有那些有关联的cf软弱是用于这个计算,因为使用整个组内cf NVD将导致非常低的频率率和不同缺陷类型之间差异非常小。 频率= {count (CWE_X '∈NVD)为每个CWE_X '在NVD} Fr (CWE_X) = (count (CWE_X∈NVD) - min(频率))/ (max(频率)- min(频率)) 计分公式中的其他组件是一个软弱的严重性,这是平均CVSS分数所代表的所有映射到特定的CWE的cf。下面的方程是用来计算这个值。 Sv (CWE_X) = (average_CVSS_for_CWE_X - min (CVSS)) / (max (CVSS) - min (CVSS)) 危险的水平提出的特定CWE然后由严重程度得分乘以频率分数。 分数(CWE_X) = Fr (CWE_X) * Sv (CWE_X) * 100 有几个属性的评分方法,需要进一步解释。
CWE前25的评分指标 下面的表显示了2019年CWE排名前25位的得分与相关信息,包括相关条目的数量内的特定CWE NVD数据集,和平均CVSS分数为每个弱点。
弱点的尖端 在过去的几年里,CWE团队认为重要的是分享更多的连续波,得分排名前25位之外的。每2019对NVD计分标准数据集,这些弱点可能不够严重,或不够普遍,包括在2019年的列表。 开发人员完全缓解和风险决策在2019 CWE排名前25位的可能要寻找这些其他的弱点可能出现在他们的软件。由于这些原因,用户2019 CWE的前25名应该认真考虑包括这些额外的弱点在他们的分析:
方法的局限性 有几个限制选择的数据驱动的方法CWE团队。 数据偏差首先,公开报道的方法只使用数据,NVD捕获,和许多漏洞存在,没有CVE id。的漏洞并不包含在NVD因此被排除在这种方法。例如,CVE / NVD通常不包括漏洞发现和固定在任何软件之前已公开发布,在线服务,或定制的软件,是一个组织内部。弱点导致这些类型的漏洞可能不足2019 CWE的前25位。 第二,甚至对于收到CVE漏洞,往往没有足够的信息来作出准确的(或精确)识别适当的CWE的利用。许多软件厂商发布的CVE条目只描述脆弱性的影响脆弱性本身没有提供细节。在其他情况下,CVE描述涵盖了条目如何攻击,但这并不总是显示相关的弱点是什么。例如,如果一个长输入程序造成了事故,事故的原因可能是由于缓冲区溢出,可以断言,过度的内存分配,一个未处理的异常,等等。在其他CVE条目,只使用通用术语如“恶意输入,使没有关联的弱点。对于一些条目,可能有有用的信息可用的引用,但是很难分析。例如,研究人员可能使用起毛程序生成一个有用的测试用例,会导致崩溃,但开发人员只需修复崩溃没有分类和报告潜在的错误是什么。CWE团队发现了至少2600个cf有足够的细节来执行一个精确的CWE映射。 第三,有固有的偏见CVE / NVD数据集的供应商报告漏洞和所使用的语言,这些供应商。如果最大的贡献者之一CVE / NVD主要使用C编程语言,经常存在于C程序的缺点更有可能出现。起毛对基于内存的程序,程序可以非常有效,所以他们可能会发现更多的漏洞。上述评分指标试图减轻这种偏见不仅仅通过观察最常报道的连续波;它还考虑平均CVSS分数。 CVE / NVD数据集的另一个倾向是,大多数脆弱性研究人员和/或检测工具非常精通发现某些弱点,但没有发现其他类型的弱点。这些类型的缺点,研究人员和工具中很难找到最终将不足2019 CWE-Top 25。 最后,缺口或感知CWE层次结构本身的错误概念导致不正确的映射。正在重新映射帮助CWE团队合作学习这些内容差距和问题,将在后续CWE的版本中解决。 标准偏差一个重要偏差理解相关指标是它间接实现缺陷的敏感度要高于设计缺陷,由于他们的患病率在单独的软件包。例如,一个web应用程序可能有许多不同的跨站点脚本(XSS)由于大漏洞攻击表面,但只有一个实例的使用不安全的密码算法。 重新映射任务 准备的CVE / NVD数据分析,CWE团队回顾了CWE的映射选择CVE / NVD条目,在适当的地方,“重新映射”条目,以便他们参考更合适CWE id。 重新映射,CWE团队使用更广泛的比NVD分析师CWE id可用之前,和团队严格明确标签信息不足。这种重新映射工作进行成千上万的CVE条目。它产生了更丰富的CWE id列表NVD分析师可供选择,反映在CWE - 1003更新视图。NIST的贴图数据共享,这样他们就可以更新他们的CVE NVD内条目。 重新映射的迭代执行,团队最终开发出一个可重复的过程,可以在未来的版本中执行的前25位。的主要活动是:
什么改变了 2011年和2019年之间的主要区别CWE排名前25位的列表方法使用。2011年CWE / SANS是构造使用调查和个人开发者的采访,高级安全分析师,研究人员和供应商。这些反应是规范化的基础上,患病率和水煤浆排名的方法。2019 CWE前25位,另一方面,形成基于现实NVD中发现的漏洞。 由于这个方法的变化,一些改变的弱点列表组成CWE排名前25位的预计。最大的这些变化是包含一些类级别的连续波代表广泛类型的错误:cwe - 119(不当的操作限制的范围内一个内存缓冲区),CWE-20(不当输入验证),cwe - 200(信息暴露)和cwe - 287(不当的身份验证)。这些条目通常使用的供应商和研究人员描述漏洞的根本原因在我们的数据驱动的分析报告,因此普遍NVD。再细看,然而,这些高层次的弱点往往更详细的弱点的母公司之前出现在排名前25位的列表。例如,cwe cwe的母公司- 120 - 119。而后者是2011 # 3列表,它没有找到2019名单尽管前新# 1。同样,cwe - 287是2019年# 13,但并不在2011年出现。近看不过表明cwe - 287是cwe的父- 306(# 5 2011名单),cwe - 862(# 6 2011列表),和cwe - 863(15 # 2011名单),没有发现在2019年名单上。 另一个有趣的变化是一些弱点在2019报告列表在不同的地方在一个潜在的弱点链。例如,cwe - 787(界外写)没有出现在2011年名单但2019年# 12。cwe - 787通常是链的一部分,始于cwe - 120, 2011年# 3。 其他一些2019 CWE排名前25位的列表条目也值得关注。
最后,CWE-20和cwe - 200(分别为# 3和# 4)类级别的弱点和知名的安全编码问题。CWE团队认为存在潜在实例当这些条目用于映射漏洞CWE当更具体,低级缺陷类型可能更适合。这个领域CWE团队进一步调查,希望提高在未来的版本中CWE的前25位。 存档 过去的版本CWE前25名中可用存档。
更多的信息是可用的,请选择一个不同的过滤器。
|