共计 6318 个字符,预计需要花费 16 分钟才能阅读完成。
摘要:CWE 在往年 2 /24 公布 4.0,首次将硬件安全漏洞纳入了 CWE 中,6/25 公布 4.1,8/20 就公布了 4.2。
- 依照常规,先说故事
咱们先说下 CWE 的幕后老板 –MITRE[1]。MITRE 称本人是一家“非赢利组织”,通过联邦赞助的研发核心 (Federally Funded R&D Centers(FFRDC)) 运作。指标是为更平安的世界解决问题(we solve problems for a safer world)。
1.1. MITRE 的起源
MITRE 的历史能够追溯到美、苏二战后的热战期间。50 年代前期,面对苏联核打击的威逼,美国空军呐喊麻省理工学院帮忙其建设一个防空零碎,以帮忙其侦察即将来临的轰炸机。该研究所提出了半自动高空环境(SAGE)零碎联合了雷达,无线电和网络通信来检测敌机,对左近的空军基地收回警报并不断更新,这些基地的战机会及时升空拦挡即将来临的威逼。SAGE 也是美国的第一个现代化防空零碎[6]。MITRE 的前三个字母 MIT 就是麻省理工学院的缩写。记得以前的一个法国电影《蛇》(1973),讲的就是这个历史背景下的故事人员发现苏联制作策略轰炸机残余的资料,做成了衣架被用到民用航空上,人员就千方百计偷了来,交给实验室剖析,厉害的科学家们,通过资料的组成成分,推算出了由此资料制成的轰炸机满载时的航程。有趣味的敌人能够翻出来看一看,那个年代十分经典的谍战片。
1.2. 驰名的 ATT&CK
对于 MITRE 这个名字,可能更多的人会先想到这些年比拟火的 MITRE 的 ATT&CK 攻打框架,这个引领寰球网络安全攻防潮流的平安技术战术知识库框架。10/27 号 MITER 刚刚公布了 ATT&CK 的第 8.1 版本。说它是个战术的常识框架,是因为 ATT&CK 将入侵期间可能产生的状况,细分成 14 个策略阶段:侦察、资源开发、入侵初期、执行、长久化、权限晋升、进攻回避、凭证拜访、发现、横向挪动、收集、指挥和管制、浸透、影响。而后针对攻打方在每个阶段所应用的技术、工具加以总结、归类成知识库,从而有助于咱们了解攻击者具备的能力。目前 ATT&CK 按畛域分为:
- 企业(Enterprise):传统企业网络和云环境;
- 挪动(Mobile):挪动通信设施;
- ICS:Idustrial Control System 工控零碎
下图为企业的 ATT&CK:
1.3. 经营模式:臭鼬工厂(Skunk Work)
MITRE 经营着一些最隐秘、低调的科学技术实验室,这些实验室就像电影《007》中的 M16 实验室。因为 MITRE 是非赢利组织,所以 MITRE 通过“联邦赞助的研发核心”(FFDRC)的形式,经营着 7 家“臭鼬工厂”(Skunk Work)级别的研发核心。
兴许大家对“臭鼬工厂”这个模式有些生疏,这里略微解释一下。1943 年,为了与德国飞机制造公司 Messerschmitt 制作的飞机竞争,洛克希德公司成立了一个名为 Skunk Works(臭鼬工厂)的顶级机密钻研和生产基地,它明确的工作是在 180 天内开发一架高速战斗机。我的项目在决策上给予了很大的自主权,激励忽视规范程序。后果我的项目创纪录的在 143 天里,开发并交付了洛克希德公司的 P-80 射击机,这是美国陆军航空兵的第一架喷气式战斗机。以及前面咱们相熟的 U2,F22,F35 都是由这类工作室研发进去的。起初臭鼬工厂就成为一种翻新的模式被始终沿用至今,苹果、Google 等大公司都有相似的工作室。下图是 2014 年洛克希德公司在臭鼬工厂 70 年的时候的一个宣传图。
1.4. 研发畛域
MITRE 的研发畛域涵盖先进的航空零碎、企业现代化技术、司法工程、医疗保健、国家网络安全等。产品也从机载预警通信零碎 (AWACS)、军用卫星通信零碎;到 FBI 的社交媒体图像指纹识别我的项目和与之关联的人体解剖学和立功史数据库;帮忙美国疆土安全部(DHS)开发的物联网(包含智能手机、健身追究器、智能家居产品等)入侵与检测零碎;据说还正在研发一项通过体味变动测谎的技术 ……。Mitre 吸引了少量最顶尖的网络安全人才和跨界科技专家、科学家,也营造了很多传奇的故事。比方,前 MITRE 工程师 Matt Edman(秃头,胡须, 清脆的男中音) 曾与联邦调查局 (FBI) 单干,利用其黑客技巧帮忙 FBI 捣毁了臭名远扬的公开网络 du 品市场 –“丝绸之路(Silk Road)”。
往年新冠疫情风行,美国的卫生机构向 Mitre Corp. 提出打造一种名为“Sara Alert”的监控零碎。通过 Sara Alert 零碎,公共卫生官员能够注销和监控生病或有感化危险的集体和家庭,被注销的人被要求每天通过短信、电子邮件、电话或网站输出他们的症状。这将有助于卫生保健机构确定哪些人须要护理,哪些人须要隔离。美国疾病管制和预防核心当初正依附 Sara Alert 来解救该国的新冠肺炎疫情监测工作。感觉有些像咱们的“衰弱码”。
- CWE 的简介
2.1. CWE 的诞生
回到明天的主题上来,从 1999 年 MITRE 开始公布 CVE(Common Vulnerabilities and Exposures)[2]缺点列表。作为 CVE 的一部分,MITRE 的 CVE 团队对破绽、攻打、故障和其余概念进行了初步分类,以帮忙定义常见的软件破绽。然而这些分类过于毛糙,无奈用于代码平安评估行业产品中提出的缺点的辨认和分类的需要。为此,MITRE 参加美国疆土安全部(DHS)资助的美国国家标准技术研究院(NIST)的软件保障度量和工具评估(SAMATE)我的项目中,于 2005 年首次批改了外部 CVE 类别工作,以用于代码评估行业。于是便产生了 CWE(Common Weakness Enumeration)[3]。CWE 被用于以下目标:
- 用通用语言形容和探讨软件和硬件的弱点;
- 查看现有软件和硬件产品中的弱点;
- 评估针对这些弱点的工具的覆盖范围;
- 利用常见的基准规范来辨认,缓解和预防破绽;
- 在部署之前避免软件和硬件破绽;
于是 CWE 做为软件缺陷分类的重要规范, 对平安钻研、平安规范、缺点治理起了重要的纽带作用。CWE 使代码缺点不同畛域的钻研人员在交换平安问题时,可能采纳雷同的定义,缩小了歧义性。
2.2. CWE 编号类型
目前 CWE 对软件和硬件的缺点进行了分类和形容, 每一个分类领有惟一的一个 CWE 编号, 并依照 CWE 编号的类型(类缺点、根底缺点和变种缺点等)造成了多层次的缺点类型划分体系。
- CWE 4.2 的新视图
近些年随着软件平安问题越来越成为软件应用零碎危险防控的重要因素,CWE 的更新速度也显著放慢。
特地是往年 2 /24 公布 4.0,首次将硬件安全漏洞纳入了 CWE 中,6/25 公布 4.1,8/20 就公布了 4.2。
- CWE-1350: Weaknesses in the 2020 CWE Top 25 Most Dangerous Software Weaknesses
- CWE-1305: CISQ Quality Measures (2020)
3.1. CWE-1350: CWE/SANS Top 25
这个视图是 CWE 依照 NIST(National Institute of Standards and Technology)治理的缺点库 NVD(National Vulnerability Database)[3]中的缺点 CVE(Common Vulnerabilities and Exposures), 并按照 CVSS[4]评分体系 (Common Vulnerability Scoring System) 给出的出危害性 (severity) 和缺点的呈现频率(prevalence), 按公式计算后的得分给出的排名。从这里能够看到数据的可靠性, 可能反映 2020 年发现的次要的平安缺点,对工具、测试和平安钻研有着重要的指导作用。
CWE 和 SANS 学院一起,从 2009,2010,2011 一共公布了三次 TOP 25[5]。但起初不晓得因何原因,直到 2019 才又再次公布了 TOP 25, 这是继 CWE 2019 TOP 25 后的又一次更新。CWE 2020 TOP 25 统计了从 2018 到 2019 大概 27,000 CVE 破绽。咱们来看以下 2020 和 2019 年 Top 25 产生的变动。
3.1.1. CWE 2020 TOP 25 vs CWE 2019 TOP 25
- 回升较快的有:
- CWE-787 (Out-of-bounds Write): from #12 to #2;
- CWE-522 (Insufficiently Protected Credentials): from #27 to #18
- CWE-306 (Missing Authentication for Critical Function): from #36 to #24
- CWE-862 (Missing Authorization): from #34 to #25
- CWE-863 (Incorrect Authorization): from #33 to #29
从这里能够看出, 除了 787 是缓冲区问题之外,另外回升较快的都是权限管制相干的问题. - 降落较快的有:
- CWE-426 (Untrusted Search Path): from #22 to #26
- CWE-295 (Improper Certificate Validation): from #25 to #28
- CWE-835 (Loop with Unreachable Exit Condition): from #26 to #36
- CWE-704 (Incorrect Type Conversion or Cast): from #28 to #37
3.1.2. CWE 2020 TOP 25 变动表
3.1.3. 排名算法
因为排名得分的算法,思考到了呈现频率 (prevalence) 和危害 (severity) 两个参数, 确保呈现频率低, 危害小的缺点, 不容易呈现在排行榜中, 而是让频率高, 危害高的缺点呈现在排行榜中。这个算法只能从统计学的角度消减数据偏差,但对于对缺点归属哪一个 CWE 的了解问题的偏差,依然会对造成在 CVE 的缺点分类映射到 CWE 时据造成肯定的误差。这些在 CWE 分类档次上始终存在的问题,只能心愿在前期的 CWE 版本逐渐失去解决。
- 计算公式:
- Freq = {count(CWE_X’∈ NVD) for each CWE_X’in NVD}
- Fr(CWE_X) = (count(CWE_X ∈ NVD) – min(Freq)) / (max(Freq) – min(Freq))
- Sv(CWE_X) = (average_CVSS_for_CWE_X – min(CVSS)) / (max(CVSS) – min(CVSS))
- Score(CWE_X) = Fr(CWE_X) Sv(CWE_X) 100
3.2. CWE-1305: CISQ Quality Measures (2020)
3.2.1. CISQ 背景
CISQ 是信息和软件品质联盟 (Consortium for Information & Software Quality(CISQ)) 基于自动化品质特色度量规范来掂量软件品质。这个质量标准源于自对象治理组织 (Object Management Group (OMG))[7]。对象治理组(OMG)是一个国际性,凋谢成员,非营利性技术标准联盟。OMG 规范由供应商,用户,学术机构推动。OMG 工作组针对各种技术和更宽泛的行业制订企业集成规范。咱们相熟的 Unified Modeling Language (UML) 和 Model Driven Architecture (MDA) 就是这个组织制订的。
- CISQ
CISQ 由卡耐基梅隆大学的工程学院 (Software Engineering Institute (SEI) at Carnegie Mellon University) 和对象治理组织 (OMG) 于 2010 年独特创建。这两个组织都受到零碎集成商的邀请,并被要求制订掂量软件可靠性和安全性软件属性的规范。建设寰球规范是为了对供应商的 IT 应用程序在基准测试应用程序中进行比拟的重要步骤。 - 创始人与赞助商
- https://www.omg.org/
- https://www.castsoftware.com/
- https://www.cgi.com/en
- https://www.cognizant.com/
- https://ishpi.net/
- http://www.northropgrumman.co…
- https://www.synopsys.com/
- https://www.techmahindra.com/…
- https://www.it-cisq.org/index…
- 谁在应用
有超过 1500 个软件组织退出了 CISQ 的会员, CISQ 也被许多顶级的系统集成或软件开发商应用, 例如: Cognizant, CGI, Tech Mahindra, GSA, BNY Mellon, U.S. Air Force, Generali, BMW。 - ISO/IEC 正在启动将 CISQ 并入 ISO/IEC DIS 5055 Information technology — Software measurement — Software quality measurement — Automated source code quality measures 规范中。预计这个规范在明年就会正式公布。
3.2.2. CISQ 如何评估软件品质
- CISQ 会集了世界出名软件专家, 定义了一套最佳实际, 以确保软件的: 可靠性, 性能效率, 安全性 和可维护性;
- 对评估的四个维度, CISQ 整顿了 CWE 中 800 多个已知的软件弱点, CISQ 确定了最要害和影响最大的 CWE,并针对每个品质特色对它们进行了标准化以实现自动化;
- 在每个品质度量的角度, 都能够通过动态剖析的办法, 通过代码层面和架构层面进行自动化评估;
- CISQ 四个个性的概览
3.2.3. CISQ 2020 vs CISQ 2016
CWE 在 2019 年 3 月份的 3.2 版本引入了 CISQ 的 2016 年公布的草案 0.9 版本。这次公布的是 CISQ 往年 1 月份公布的 1.0 正式版。
- 小结
- 从 2020 TOP 25 来看, 2019,2020 缓冲区溢出, 输出校验引起的问题(注入, CSRF) 依然是软件平安和工具须要面对的次要问题; 同时权限设置引入的问题, 在呈上升的趋势;
- CISQ 通过动态剖析来实现软件品质的主动度量, 并采纳对 CWE 的问题检测, 细化了掂量的规范。这为通过工具对应用软件品质的自动化度量提供了一个思路, 也为建设一个对立的规范下的软件品质的测评提供了重要依据。
- 参考
[1] MITRE: https://www.mitre.org/
[2] CVE: http://cve.mitre.org/cve/
[3] CWE: https://cwe.mitre.org/
[4] NVD: https://nvd.nist.gov/
[5] CVSS: https://nvd.nist.gov/vuln-met…
[6] Inside americas secretive 2billion research hub collecting fingerprints from facebook hacking smartwatches and fighting covid-19
[7] OMG: https://www.omg.org/about/ind…
[8] List of Weaknesses Included in the CISQ Automated Source Code Quality Measures June 2019
[8] List of Weaknesses Included in the CISQ Automated Source Code Quality Measures June 2019
本文分享自华为云社区《话说 CWE 4.2 的新视图》,原文作者:Uncle_Tom。
点击关注,第一工夫理解华为云陈腐技术~