DZone>DevOps专区 >如何通过保障DevOps的安全来防止供应链的攻击
如何通过保障DevOps的安全来防止供应链上的攻击
在几起备受关注的供应链攻击事件之后,监管和媒体的关注点正在转向解决第三方软件风险。
·
Aug. 07, 21 -DevOps Zone -分析
喜欢 (1)
评论
保存
Tweet
2.16K浏览次数
加入DZone社区,获得完整的会员体验。
在几起备受关注的供应链攻击事件之后,监管和媒体的关注点正在转向解决第三方软件风险。国防部于2020年1月31日建立的网络安全成熟度模型认证,是创建供应链安全合规任务的首次尝试。仅仅几个月后,威胁者声名狼藉地进入了SolarWinds的构建环境,并将一个漏洞直接插入到安全更新中,然后推送到生产中。这种内部威胁和供应链攻击的结合最终损害了安装该更新的客户,包括美国联邦机构。为了应对日益增长的供应链攻击的威胁,关于改善国家网络安全的行政命令规定了软件材料清单(SBOM)的要求。无论是为了经济还是政治利益,威胁者都在关注供应链攻击。软件开发人员可以通过保障DevOps的安全来防止供应链攻击。
什么是供应链攻击?
在供应链攻击中,威胁者针对第三方服务提供商的网络安全弱点,然后利用供应商的产品,未经授权进入使用该产品或服务的公司。
软件供应链攻击可能产生于以下任何一种服务或产品。
- 用于开发软件的开放源码或第三方代码。
- 开源平台。
- 收集、存储或处理数据的商业或技术合作伙伴。
- 云服务提供者。
威胁者可能会利用一个软件漏洞,使他们能够在客户的系统或网络中部署恶意软件。例如,在SolarWinds的供应链攻击中,威胁者将恶意代码插入该公司的猎户座平台的构建中。然后,威胁者利用这一漏洞,在未经授权的情况下访问安装了更新的SolarWinds客户。最新的数字表明,这次攻击直接影响了9个联邦机构和100家私营公司,而且攻击者还在继续尝试对微软进行攻击。
供应链攻击正变得越来越普遍。在2021年第一季度,这个数字上升了42%,影响了27个不同供应商的137个组织。
供应链攻击的影响是什么?
供应链攻击可以产生短期和长期的影响。此外,这些攻击损害了多个业务领域,而不仅仅是IT部门。
财务影响
供应链攻击的财务影响可能是最明显和最有新闻价值的。例如,2017年一个利用软件漏洞的数据泄露事件使一家消费者信用报告公司估计损失了20亿美元。最近,威胁者利用 一个零日漏洞攻击端点管理和网络技术供应商Kaseya。Kaseya的客户主要是管理服务提供商,他们自己都有多个终端客户。威胁者能够通过勒索软件攻击接触到这些终端客户,影响到大约1000个组织,其中大多数是小型企业。虽然这是一次供应链攻击,但它不被认为是内部威胁攻击。但是,研究人员特别指出,虽然威胁者没有 "用他们的漏洞提供一个植入物",但他们可以这样做。
了解供应链攻击的直接财务影响包括审查以下成本。
- 客户通知
- 法律
- 响应
- 危机管理
- 业务中断
违规行为
虽然违反法规会带来财务影响,但也包括运营成本。当一个公司没有安装安全更新或没有有效地监控安全时,往往会发生供应链攻击。
违反法规的成本包括。
- 处罚/罚款。
- 补救措施。
- 额外的审计以证明持续的合规性。
客户流失(声誉
每个人都在谈论与供应链攻击有关的声誉风险,但量化其影响往往比较困难。
例如,一项调查询问了1000名客户,在发生数据泄露后,他们是否还会与某公司做生意。受访者表示,在发生数据泄露后,他们不太可能与之保持消费关系。
- 零售店。58%
- 连锁酒店:80%
- 金融机构:83%
- 社会媒体网站。86%
- 乘车服务: 93%
如何防止供应链上的攻击?
随着威胁者更加专注于供应链攻击,在开发过程中建立安全机制变得至关重要。软件开发人员需要接受DevSecOps,以防止他们的应用程序被用于供应链攻击。他们可以通过创建标准来确保编码的最佳实践,特别是在涉及第三方代码的时候。
参与尽职调查
建立编码标准的一部分应该是在将其整合到应用程序之前审查开放源代码。开发人员需要像对待第三方供应商一样对待开源代码。这意味着在过程中建立尽职调查,并在使用前审查开放源代码。
作为一个最佳实践,团队应该确保他们。
- 创建和维护所有使用的开放源码库的清单。
- 注意这些代码是用于内部还是外部项目。
- 记录他们计划如何使用开源组件。
- 审查资源库所有者是否提供安全更新。
- 审查所有者更新资源库的频率。
通过对代码应用供应商风险管理流程,开发团队在他们的实践中建立了治理。
监控第三方代码
无论是保护自己的代码还是开放源代码的安全,开发人员都应该持续监控他们的代码。虽然开发人员经常担心安全测试会降低他们的生产力,但这是一个基本的供应链攻击预防策略。
威胁者在漏洞被发布到公众面前时就知道了,如果不是之前的话。如果一个团队正在使用一个具有已知漏洞的开源软件(OSS)库,威胁者可以利用这个弱点作为武器来攻击应用程序。问题是,一份报告指出,只有23%的组织在构建管道中进行软件漏洞扫描。
开发人员需要将静态和动态评估纳入其构建流程,以确保持续的安全性。
确定补救措施的优先次序
对于开发人员来说,确定补救措施的优先次序往往是确保软件开发生命周期安全的最困难部分。并非每个漏洞都是实际或潜在的可利用的。开发人员需要了解该漏洞是否可被利用。
软件组成分析(SCA)提供了应用程序的代码是否调用具有已知漏洞的开源库的可见性,并有助于优先处理漏洞。然而,39%的组织等到测试阶段才运行SCA扫描,而此时修复工作更加困难,成本更高。
团队应该在开发过程中尽可能早地寻找漏洞并确定修复策略的优先次序,以增强安全性并降低总体成本。
确保DevOps流程的安全可以防止供应链攻击并降低成本
在软件开发过程中建立安全机制可以防止供应链上的攻击,因为开发人员会在应用程序投入生产之前消除漏洞。此外,通过在构建阶段不断审查代码,企业可以降低成本。
同样重要的是,开发人员需要了解一个漏洞是否构成实际或潜在的风险。第一步是确定漏洞代码是否被调用,但这还不足以确定 "可及性"。即使代码被调用,开发团队也可能以一种使漏洞无法从攻击面到达的方式来组装它,所以花时间来修复它导致了不必要的开发成本。团队需要知道如何集中他们的精力,以便他们能够按时交付产品。
通过将漏洞监控和优先级纳入构建阶段,团队可以满足最后期限并减少风险。开发人员可以在不降低生产力的情况下将安全问题纳入他们的流程。
主题。
供应链, devops, 软件开发, 网络安全, 计算机科学
经Vickie Li许可发表于DZone。点击这里查看原文。
DZone贡献者所表达的观点属于他们自己。
DZone上的热门文章
评论