摘要:CWE在往年2/24公布4.0,首次将硬件安全漏洞纳入了CWE中,6/25公布4.1, 8/20就公布了4.2。
  1. 依照常规,先说故事

咱们先说下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来解救该国的新冠肺炎疫情监测工作。感觉有些像咱们的“衰弱码”。

  1. 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编号的类型(类缺点、根底缺点和变种缺点等)造成了多层次的缺点类型划分体系。

  1. 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正式版。

  1. 小结

  • 从2020 TOP 25来看, 2019,2020 缓冲区溢出, 输出校验引起的问题(注入, CSRF) 依然是软件平安和工具须要面对的次要问题; 同时权限设置引入的问题, 在呈上升的趋势;
  • CISQ 通过动态剖析来实现软件品质的主动度量, 并采纳对CWE的问题检测, 细化了掂量的规范。这为通过工具对应用软件品质的自动化度量提供了一个思路, 也为建设一个对立的规范下的软件品质的测评提供了重要依据。
  1. 参考

[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 。

点击关注,第一工夫理解华为云陈腐技术~