今天的大部分软件并不是完全从头进行开发设计的。相反,现在的开发人员频繁的依赖一系列第三方组件来创建他们的应用程序。通过使用预构建的库,开发人员不需要重新发明轮子。他们可以使用已经存在的工具,花更多的时间在专有代码上。这些工具有助于区分他们的软件,更快的完成项目,降低成本,并保持竞争力。这些第三方组件库构成了软件供应链的一部分,虽然它们的集成是有益的,但同时也给软件供应链带来了风险,需要加以保护。

近期发生的重要违规事件表明,软件供应链受到攻击的频率正在上升。Log4j漏洞和SolarWinds供应链攻击事件提醒我们,软件组件可能是一种安全威胁。由于这些类型的攻击相对较新,大多数组织往往难以确定他们的应用程序在何时会受到何种影响,以及采用何种方法来应对新的威胁。

有效的软件供应链安全体系可以确保应用程序代码的任何组件或对其产生影响的任何组件都是安全可靠的。在本文中,我们将进一步探讨什么是软件供应链安全,以及为什么它很重要,同时我们可以采用哪些最佳实践,以确保公司和组织免受供应链攻击。

一、什么构成了软件供应链?

软件供应链是指直接参与开发应用程序的所有组件。它们包括:

  1. 硬件和基础设施
  2. 操作系统
  3. 编译器和编辑器
  4. 驱动程序和依赖关系
  5. 开源脚本和打包软件
  6. 存储库引擎、测试套件和CI/CD工具
  7. 云服务和数据中心

供应链还应该包括各种人员,如外包公司、顾问和承包商。

软件供应链安全的主要重点是将风险管理和网络安全原则结合起来。这样做可以检测、减轻和最小化与应用程序中这些第三方组件相关的风险。

二、威胁来自何方?

供应链威胁的存在是因为企业对供应链的信任。例如,没有人觉得微软会发布一个安全补丁,将他们的环境暴露给攻击者。攻击者恰恰利用了这种信任,因为他们知道大多数开发人员不会不遗余力的交叉检查他们正在使用的软件。

以下来举例说明,企业在哪些环节容易受到软件供应链攻击。

1.软件更新

通过破坏分布广泛的软件更细,攻击者可以访问多种系统。例如,许多公司每个月都会发布新的安全补丁,这些补丁会被成千上万的开发人员下载,已部署到他们的项目和CI/CD管道中。如果攻击者可以操纵一个更新,那么他们就可以轻松的访问部署该更新的所有系统。

2.开源项目

对开源项目的提交权限通常授予受信任的贡献者。如果攻击者破坏了一个受信任的账户,他们可以将恶意代码插入到存储库中。开发人员不知不觉的使用了这些代码,从而无意中打开了对环境的访问权限。

3.第三方开发人员

许多公司现在雇用承包商或自由职业者进行应用程序开发,如果没有进行适当的背景调查,恶意的外部组织可以轻松的窃取数据或IP,以获取经济利益或从事工业间谍活动。

这些只是一小部分例子,更多其他案例还包括证书被盗、软件开发工具被破坏、设备预先安装了恶意软件等等。

三、为什么软件供应链安全很重要?

软件供应链安全已经变得如此重要,以至于在2021年5月,拜登签署了一项行政命令来解决此问题。有两起事件在这次命令中起到了关键作用:SolarWinds和Apple/Quanta。

在SolarWinds事件中,黑客将恶意代码部署到“Orion”系统的更新中,据统计该系统有超过33000个用户。这次袭击非常隐蔽且手段高明,甚至软件开发人员在14个月后才发现了端倪。由于没有意识到这个漏洞,SolarWinds向安装了这些软件的客户发布了软件更新。这使得黑客不仅可以访问SolarWinds系统,还可以访问每个安装了更新的人的系统。

在Apple/Quanta的受攻击事件中,Quanta公司的系统在2021年4月遭到攻击。他是苹果产品的主要台湾供应商。勒索软件集团REvil声称窃取了最新款Macbook的设计蓝图,并索要5000万美元的解密秘钥。当Quanta公司拒绝付款后,REvil开始在暗网公布被盗的蓝图。

这两起攻击都与软件供应链有关,一起涉及软件补丁,另一起发生在硬件供应商身上。这些类型的攻击不仅仅针对知名公司,它们可能发生在任何规模的公司内。

四、软件供应链安全的最佳实践

为了确保软件供应链的安全性,需要对应用程序的每个部分都有一个清晰的视图和控制。虽然技术控制是必不可少的,但是为业务流程、策略和过程开发一个具体的治理、风险和遵从框架也是至关重要的。可以从以下几点着手:

  • 评估供应链

为了让应用程序的依赖关系具有完全的可见性,需要对一些问题进行评估,例如:

  1. 开发生命周期的每个步骤涉及到什么?
  2. 是否有承包商具有代码访问权限?
  3. 谁安装软件更新,如何安装?

企业应审核其所有应用程序以及授予内部和外部各自的访问权限。理想情况下, 这应该有完备的文档记录和高度自动化的流程。这样,当发生一些突发情况时,可以很快找出谁有访问权限。

  • 安全的访问权限管理

一旦攻击者获得了对系统的访问权限,他们往往会尝试通过网络横向移动来找到一个特权账户。如果从成功,他们将使用该账户访问敏感数据或控制其他系统。

出于此原因,一个负责的安全团队应该密切监视特权账户的异常活动。它应该监视密码更改、登陆活动和权限更改,并且应该做出相应的响应。例如,假设一个域管理员账户多次尝试错误密码。在这种情况下,安全小组应该调查并锁定账户,直到他们确定这是一个失败尝试的合法案例。

另外,管理员应该在所有网络账户上应用最小特权原则,只要在必要时才授予高级的访问权限。最后,系统管理员应该使用自动化和组态管理的相关工具来控制和监控账户,这样就没有人为干预和可能出现错误的余地。

  • 只使用可信任的伙伴

评估任何潜在合作伙伴的可信度、服务历史、过去的项目和市场声誉是很重要的。对于个人来说,要经常进行严格的背景审查,以确定诸如犯罪记录或破产申请之类的危险行为。对供应商和服务提供商进行类似的尽职调查,事实上,一些法规要求某些供应商必须具备ISO 27001这样的资质。

  • 监控第三方

持续监控第三方就有助于减轻供应商泄露或攻击的影响。这有助于解决一些问题,例如在暗网中暴露出来的证书或者任何过去数据泄露的历史。企业可以要求并检查任何供应商的安全文档,以确保其政策和程序符合行业最佳实践和相应安全标准。

  • 找到并修复漏洞

供应链攻击的罪魁祸首是未打补丁的软件。一旦漏洞公告发布给公众,攻击者就会搜索未打补丁的系统并加以利用。因此,公司的IT团队必须利用SCA工具来发现第三方代码中的漏洞,并提出补丁和更新等修复方法。

事实上,目前市场上存在很多SCA工具供企业选择,例如:Checkmarx、Synopsys、Veracode、泛联新安等等许多公司的对应检测软件。

  • 创建一个事故应对计划

简单来说,就是假设公司将受到攻击,并据此制定计划。

事故响应计划定义了当攻击发生时需要做什么,谁应该做什么,以及响应顺序。RACI矩阵有助于确定谁负责采取行动、应该与谁协商以及在此类事件发生期间通知谁等一系列问题。另一个需要考虑的领域是RACI的不同成员之间的沟通计划、要使用的沟通渠道和表达式数。

一个有效的灾难恢复计划应该是可靠的,并经过了多种场景的测试。DR计划可以应该包括传统的备份或故障转移站点,同时经过测试的恢复机制可以防止系统受到勒索软件的攻击

五、总结

企业必须面对真实存在的网络攻击威胁,这就是事实。尽管软件供应链攻击发生的频率相对较少,但它们可以造成严重的破坏。

对于这种类型的攻击,最好的防护措施是了解你的供应链,审核所依赖的第三方,扫描软件组件中的漏洞,并建立一个健全的事件管理计划。


泛联新安拥有专业的经验来帮助企业完善他们的软件安全体系。如果您还没有软件供应链安全工具,可以考虑泛联新安的DevSecOps体系。这能帮助您缩短解决问题的时间,同时有效的实现安全左移,将问题阻断在开始阶段。最后,关键点在于培训您的软件开发和安全人员将Sec的最佳实践直接集成到他们的CI/CD管道中。这样一来,客户同样会对您应用程序的安全性更有信心。

一文读懂什么是软件供应链安全相关推荐

  1. 一文读懂低成本的软件对接方式,数据接口生成器应用于医疗软件全解析

    如今,以"智慧医疗"为代表的健康信息化建设几乎在国内每一个大中城市上马,并逐步在每一家医院落地.无论是围绕智慧医疗所展开的公卫平台建设.精准医疗.医联体建设.远程医疗等一系列产业链 ...

  2. 一文读懂计算机/软件发展史(中)

    每隔一段时间,商业世界的基本逻辑总会因为技术的演变而出现一些"新东西".当时间来到信息化时代,计算机/软件以及后来的互联网就像是一个不断提速的高速引擎,驱动复杂的商业世界步入难以置 ...

  3. AI洞观 | 一文读懂英特尔的AI之路

    AI洞观 | 一文读懂英特尔的AI之路 https://mp.weixin.qq.com/s/E9NqeywzQ4H2XCFFOFcKXw 11月13日-14日,英特尔人工智能大会(AIDC)在北京召 ...

  4. 一文读懂AI简史:当年各国烧钱许下的愿,有些至今仍未实现

    一文读懂AI简史:当年各国烧钱许下的愿,有些至今仍未实现 导读:近日,马云.马化腾.李彦宏等互联网大佬纷纷亮相2018世界人工智能大会,并登台演讲.关于人工智能的现状与未来,他们提出了各自的观点,也引 ...

  5. 一文读懂大数据平台——写给大数据开发初学者的话!

     一文读懂大数据平台--写给大数据开发初学者的话! 文|miao君 导读: 第一章:初识Hadoop 第二章:更高效的WordCount 第三章:把别处的数据搞到Hadoop上 第四章:把Hado ...

  6. gps导航原理与应用_一文读懂角速度传感器(陀螺仪)的应用场景

    前文我们大致了解陀螺仪的来历,原理和种类,那么,它与我们的日常生活有怎样的关系呢? 陀螺仪器最早是用于航海导航,但随着科学技术的发展,它在航空和航天事业中也得到广泛的应用.陀螺仪器不仅可以作为指示仪表 ...

  7. 一文读懂 Copyleft 开源许可证

    开源组件已改变了我们开发软件的方式.来自开源社区的现成库(ready-made libraries)使忙碌的开发者们能专注于他们的秘密武器,这些秘密武器或将成为未来令人兴奋的新软件产品.而且不需要付费 ...

  8. 一文读懂开源许可证异同

    对开源许可证异同的对比并非源自担忧.对开源许可证进行比较并不容易,什么 copyleft 啦,什么宽松许可证啦,光 GNU 就有 GPL 2 和 GPL 3 之分,OSI 批准的许可证就有八十多个,而 ...

  9. mysql 默认事务隔离级别_一文读懂MySQL的事务隔离级别及MVCC机制

    回顾前文: <一文学会MySQL的explain工具> <一文读懂MySQL的索引结构及查询优化> (同时再次强调,这几篇关于MySQL的探究都是基于5.7版本,相关总结与结论 ...

最新文章

  1. linux-dash安装和使用
  2. DotNetBar的使用—(界面风格)
  3. 《廖雪峰 . Git 教程》学习总结
  4. android8.1启动前台服务,Android - 保活(1)前台服务保活
  5. typescript的命名空间
  6. 电脑f2还原系统步骤_使用冰点还原电脑每次重启都会还原,打造一个百毒不侵的系统...
  7. linux之ls只显示文件或者文件夹
  8. 循序渐进PYTHON3(十三) --8-- DJANGO之ADMIN
  9. 四、比特币的基本原理
  10. 图嵌入综述 (arxiv 1709.07604) 译文第三章
  11. Spring : Spring @Transactional事物创建
  12. 吴恩达机器学习练习2:optimset和fminunc函数
  13. Spark取出(Key,Value)型数据中Value值为前n条数据
  14. 北京国企软件开发公司有哪些?哪家比较好呢
  15. 移动应用发展现状_移动应用开发平台:现状和趋势
  16. 【书】软件设计师教程(第4版)(百度云免费下载链接)
  17. CListCtrl 和 CImageList
  18. MSSQL系列之十四 无限极分类的解决办法
  19. 大数据Top K问题
  20. Ubuntu20.04系统联网

热门文章

  1. 【Python】打断点
  2. GPU-Z的显卡BIOS大全
  3. python正则表达式aabb式成语_python——正则表达式
  4. Swift语言中的感叹号是什么意思?
  5. 遇到vmware提示客户机操作系统已禁用 CPU.请关闭或重置虚拟机
  6. HDU 1495 非常可乐
  7. 深度测评4款市面最热脑图软件!有你正在用的吗?
  8. 箱线图(seaborn.boxplot)
  9. linux中安装redis报错
  10. 可视化免费数据库选型