为什么世界现在需要软件材料

2021-03-21 20:37:48

“森伯斯特”是世界上最先进的黑客。到目前为止从攻击中学到的最紧急课程之一:我们现在需要强制实施全球软件供应链管理。 ¹

关于“森伯斯特”攻击的第一个细节在解释者2020中发布:一个高度避免的攻击者利用了基于美国的软件公司Solarwinds的供应链,以损害管理I.T.管理工具由成千上万的私人和政府组织使用。 Microsoft“十年的最复杂和旷日持久的入侵攻击”的后户间和恶意软件已被召集.2(这是一周超过成千上万的Microsoft Exchange服务器被黑了,但唉) 。

从第一个法医分析中汲取明确的结论仍然为时尚早,但这很清楚:供应链攻击不仅仅对个体组织造成毁灭,而且它们从根本上破坏了信息技术的信任。

攻击如此成功的潜在原因之一是我们的社会,大大,具有基本的软件问题。这个问题是系统性的,它正在转变为一个启示录。

我们越来越依赖于他们运行的计算机和软件。在金融部门,在医疗保健,在军队,在制造业,在服务领域,我们依靠我们相信的软件可以信任。

并且软件不再仅限于计算机。它现在控制手机,复杂发电机,医疗硬件,汽车,门铃,摄像机和厨房用具的操作。随着软件工程师和风险投资商Marc Andreessen将其十年前填写,“软件正在饮用世界。”

世界上的软件运行。它在信息技术上运行。但如果主要政府正在扰乱和攻击这种方式攻击软件供应链,则无法充满信心。 Microsoft的总裁BradSmith.¶

在软件供应链攻击令人难以置信的破坏性之前,对Solarwinds的攻击使其更加明显。由小型软件供应商提供的微型模块中所做的损坏可以打破全球软件帝国的安全性。这可能导致敏感客户信息的损失,制造过程中断或声誉损害。

但是,有一种更令人担忧的效果:如果攻击是可能的,因此他们的效果在整个部门,国家或甚至全球范围内,就像“太阳能”攻击一样,他们有可能从根本上破坏我们对信息技术的信任。

攻击全球软件供应链很容易。它并没有采取成千上万工程师在一个国家的协调努力,逐步逐步逐步全球供应链攻击。在开源库中插入恶意代码很简单。最近,截至2021年2月,一位年轻的黑客描述了如何通过攻击普通编程语言(如Python和Ruby),如Python和Ruby,负载外部模块,为Apple和PayPal等公司建立了成功的供应链攻击。可以简单地欺骗该机制,以从公共代码存储库安装受损模块。 ⁴

供应链攻击不是新的,他们可以在任何行业发生。然而,软件领域具有独特的一些风险使其特别容易受到篡改。

首先,所有软件都通过用户逐渐发现或报告的缺陷和漏洞来推动市场。然后,供应商纠正,可以介绍阶段的新错误。这导致供应链中的贴片管理长尾。大多数应用程序由数百个甚至数千个功能模块组成。所有这些模块都有不同的责任模式和补丁过程的问责制。软件产品具有越多,潜在的攻击表面越大。

每个模块可能对法律设置非常不同;有些是开放的,其他人是专有的。这意味着它可能很难弄清楚责任。修补不作为强制分包商与法律论据的行动强制起来。

其次,错误,无意或刻意,可以影响软件产品的所有分层层。在片上软件的最低级别中可能存在错误。然后它的效果可能会转到操作系统级别。从那里,它可以影响数据传输级别或应用程序框架级别。然后,在软件金字塔的顶部,可能会影响实际应用程序。

所有这些级别都有依赖性:对低系统级别的攻击可能能够损坏或规避更高水平的保护措施。例如,对操作系统级别的攻击可能会突出应用程序级别的所有数据加密。

第三,协议 - 描述如何存储,运输或处理的数据的技术标准 - 不是一个和完成的安全措施。它们可以具有理论局限,例如,通过设计中的缺陷 - 例如,需要低安全标准。或者它们可能受到类似于放射性元素的衰减半衰期的影响,就像具有加密标准的情况一样,在计算机变得足够强大以打破它们之前它是时间问题。

第四,不同层级中的组件的软件修补程序具有不同的周期性。片上固件可能每五年左右更新。典型的框架或平台,例如Oracle或SAP,季度更新。工业应用可能有几年的释放计划。 Microsoft在2003年介绍了每月的“补丁周二”.GOLE现在还每月更新其Web浏览器Chrome。在尤其是关键漏洞的情况下发布了ad-hoc补丁。

所有这些更新都具有功能依赖项。更新片上模块的组件或操作系统中的底层数据通信过程可能会在其他地方中断。用户需要通过安装较新版本的依赖模块来解决此问题。反过来,这可能会破坏其他依赖性,并将问题推到另一组包。

管理过程中存在高度的不确定性。一方面,选择不执行更新的后果是合理的,众所周知:它们导致至少一种已知的脆弱性。然而,这种漏洞将被利用的可能性是什么?

另一方面,选择实施补丁的后果几乎是不可能预测的。依赖关系可以在系统上的特定版本的软件中已知,但可以根据各个配置或甚至在特定系统的处理状态上变化而变化。功能可能会在一个特定应用中,在操作系统中,在一个系统内的软件模块或互联系统之间的特定应用程序之间。结果是依赖地狱。

依赖性地狱使软件链特别容易受到攻击,因为软件更新过程需要仔细规划和测试,这可能会导致额外的延迟。历史上最重要的数据泄露之一,Equifax 2017漏出了数亿次客户记录,因为组织未能在几个月内更新低级Web服务器模块中的漏洞 - 意思是不是一个特别糟糕或不寻常的错误,它将是修补程序的例行工作。然而,无论出于何种原因 - 也许弄清楚如何在不影响其系统的可用性的情况下做到这一点 - 它需要2个月三个月来做到这一点。这给恶意演员足够了。

这导致软件供应链如此易受攻击的第五个原因:已知软件漏洞的纯粹数量。截至3月1日,在美国政府漏洞管理数据库中有203.241个漏洞。⁶十多年来,报告的漏洞数量在每月400左右相当稳定。但是在2017年,报告的漏洞的数量加倍,而且自那时以来一直是指数。这意味着安全操作团队每天都会被漏洞淹没。

攻击者具有自动扫描和入侵。这是软件供应链漏洞漏洞的另一个原因:攻击者具有战略优势,因为他们需要做的成功是什么可以更轻松的自动化,而不是维德斯需要做的事情。当然,他们只需要一劳永逸,而捍卫者则需要一直正确。

软件域为供应链攻击的非凡漏洞的最终因素是在大规模规模上应用外部软件组件。 2017年审计和分析超过一千种商业,跨部门的码布,发现96%的软件产品包括第三方软件组件和商业现成的组件,以及来自开源的模块和库商业第三方。

这背后的整个假设是我们可以建立建立的系统验证渠道,以获得对系统和ICT基础架构的特权访问权限。但这已经不再是真:渠道基本上受到软件领域内的趋势的影响,例如全球化,分散,软件制造过程的外包,现在也被国家演员,他决心破坏所有信任链。该添加到该云计算和管理服务提供商的外包ICT管理和服务,并且软件域中已经大量的供应链问题乘以几个数量级。

总而言之,软件本质上是一种用于供应链攻击的坐鸭。我们可以做什么?

在其他行业,如汽车工业或其他制造业,一个工具已被证明是供应链攻击的有效缓解战略:材料清单或“BOM”。在其最简单的形式中,BOM类似于长期的成分列表,其中列出了制造最终产品所需的所有材料和数量。在实践中,BOMS大多是嵌套的分层列表,顶层表示成品和后续级别表示产品的子模块,功能齐全地组合在一起。制造机构在20世纪60年代开始使用嵌套BOM,灵感来自物理学家W. Edwards Deming的工作。

篡改硬件不是一种容易的攻击者路径,而且由于出于成功的妥协出现的重大风险,它一直是追踪制造业的重要风险。从半个世纪的使用BOM在制造供应链中,主要学习是大约一半的攻击发生在原始承包商⁹。此外,在将其作为整体跨域努力建立时,物料清单可保护最佳供应链漏洞,确保工程和制造之间的无缝连接。

为此正常工作,材料清单必须代表所有涉及的项目,学科,零件,组件和第三方。在整个组织中以极大的精度和严谨完成,可以深入了解产品和所有部分及其相应的供应链漏洞。

同样,软件材料或SBOM,标识和列出所有软件组件,有关这些组件的信息,以及它们之间的关系。包括,至关重要的,任何已知的漏洞和公布的概念证明漏洞。 SBOM是一种工具,允许利益相关者通过揭示已知的脆弱软件组件到各种供应链利益相关者来更好地管理成本和ICT和安全风险。如果用户不知道他们的软件中的组件是什么,他们不知道什么时候需要补丁,对右?

医疗技术正处于探索SBOM的最前沿,以改善软件开发生命周期的安全性 - 部分原因是多年来的医疗行业。医院经常用赎金软件成功攻击,而药物和医疗行业也经常攻击,例如在2017年对Merck的R& D制造和销售供应链的攻击中的攻击。

第一个概念证明已经完成。 2018年,国家电信和信息管理局(NTIA)在医疗部门的软件组件透明度启动了一个多利益相关方进程.-医学领域的SBOM的结果非常有趣。

首先,可以捕获SBOM数据的成熟数据标准已经存在。“一个是软件包数据交换(SPDX)格式,由Linux Foundation的LinuxFoundation.¹³去年作为De Facto Industry标准。 SPDX已提交给ISO以考虑为全球规范。另一标准是软件识别(SWID),是各种商业软件发布商使用的正式行业标准。

其次,医学领域的概念证明表明,SBOM中没有任何域名。医疗技术领域的软件适用于任何领域的任何软件链,都是金融,能量或制造。已经设定了成熟的模型,用于评估组织的持续改进过程的质量的方法,已经确定了基于SBOMS的使用。这是重要的,因为成熟度越高,组织可以将事件和错误转化为改进。此外,在该字段中正在测试新的技术标准,例如给出软件组件的方式提供全局唯一标识符或区块链技术。

第三,也许最令人惊讶的是:使用SBOM时创建软件的成本不会上升。相反,通过整个软件价值链考虑,成本减少,因为组织可以节省数百小时的风险分析,漏洞管理和修复过程。

最后,跨国公司(如飞利浦医疗和西门子医疗保健)为SBOM-Management的自动化系统创建了自动化系统,并在医疗领域的客户对客户开展了SBOM,从而将理论付诸实践。

所以,这就是全部;没有任何新的需要发明。但到目前为止,很少使用软件材料清单。它的使用仍然很少在医学领域,关键基础设施或金融部门的组织只是发现其优点。即使在这些重型域中,SBOM仍然很少见。

首先,组织应该查看使用软件材料清单作为其自身成熟度的Litmus测试。此外,组织可以根据SBOM实施的存在和质量开始选择其第三方供应商。这可能导致纹波效果,其中质量软件供应链管理可能上升。

其次,应更新现有成熟度模型并重新校准,以便SBOM的实施水平是达到五个成熟度水平之一的强制性要求。如果有任何可能是良好的表明能够执行软件项目并创建可靠的,值得信赖的软件,它就是SBOM。监管机构应与适当的行业联盟合作,以开发一个软件供应链安全成熟度模型,并将其公开可用。

第三,Linux基金会应管理有兴趣方的软件工具和开源项目的优先级列表,以投资和支持。 Linux Foundation应与专家集成援助和其他适当的资源一起自由提供工具。

第四,标准化组织应整合可以捕获SBM数据的数据标准,例如SPDX。此外,NTIA多利益攸关方流程制定的软件材料草案(SBOM)标准应纳入国际标准。

最后,监管机构应在国际上进行协作,进一步推动SBOM努力。现在应该支持在自下而上的方法中为医疗领域工作的是最迫切的自上而下的宣传工作。具体而言,欧洲联盟“金融部门和修改法规”(DORA)的“数字业务恢复行为”(DORA)的草案应立即纠正其遗漏在其初稿中不包括SBOM,并对第三方ICT风险的一般思路进行了促进安全管理更具体地,通过使所有金融业的SBOM强制性。

与SBOM相关的透明度将有助于在整个软件供应链中带来漏洞和弱点。 这将支持更广泛的努力减轻供应链攻击的威胁,避免我们社会无法相信信息技术的最终风险。 问题解决了? 当然不是。 SBOM是一个必要的,而不是用于软件开发的大型,全球,系统挑战的足够补救措施。 需要其他事情 - 一个全球监管框架,迫使市场进入行动,更好的技术 - 例如, 软件供应链的区块系统 - 以及更好的培训计划,可以提高意识。 最紧迫的是,全球合作的大量利益相关者。 有必要以尽可能高的努力和最大国际合作水平解决问题。 如果这失败,供应链攻击的成本可能很快就会削弱ICT的好处。