虹科分享 | 软件供应链攻击如何工作?如何评估软件供应链安全?

说到应用程序和软件,关键词是“更多”。在数字经济需求的推动下,从简化业务运营到创造创新的新收入机会,企业越来越依赖应用程序。云本地应用程序开发更是火上浇油。然而,情况是双向的:这些应用程序通常更复杂,使用的开放源代码比以往任何时候都包含更多的漏洞。此外,威胁行为者正在创造和使用更多的攻击方法和技术,通常是组合在一起的。

最终,我们得到了各种攻击机会的大杂烩,威胁行为者知道这一点。事实上,Mend.io最近发布的关于软件供应链恶意软件的报告显示,从2021年到2022年,发布到NPM和RubyGems上的恶意包数量跃升了315%。这些攻击通常会危及受信任的供应商。

正是因为他们利用了可信的关系,他们可能很难被发现和击退。

那么,如何防御它们呢?

软件供应链攻击是如何运作的?

软件供应链是为应用程序提供软件组件的供应商和供应商的网络。敌手侵入第三方软件以获取对您的系统和代码库的访问权限。然后,他们在你的供应链中横向移动,直到他们到达预期的目标。

一般来说,软件供应链攻击遵循一系列阶段。

侦察

恶意行为者研究他们的目标并识别供应链中的漏洞。这涉及到收集关于供应链中的供应商、供应商和合作伙伴的信息。

最初的妥协

第一次接触到供应链中的薄弱环节,如第三方供应商或供应商。它可能涉及网络钓鱼和其他社交工程,以诱骗员工提供访问凭据。

横向运动

一旦进入供应链,攻击者就会试图使用被盗的凭据或利用漏洞等手段访问其他系统或数据。

特权升级

攻击者试图获得对目标企业内的关键系统的管理访问权限,如域控制器或其他保存敏感数据的服务器。

数据外泄

数据或知识产权被盗,或造成其他破坏。

常见的漏洞

通过了解这些阶段,您可以采取措施在软件供应链攻击造成重大破坏之前检测、减轻和防止它们。

软件供应链安全漏洞最常见的原因

代码审查和测试不足,导致漏洞未被检测到。企业应实施全面的代码审查和测试流程,以识别和缓解任何潜在的安全问题。

过时/未打补丁的软件使系统容易受到攻击者利用的已知安全漏洞的攻击。

设计不佳的访问控制和薄弱的身份验证允许攻击者轻松获得对敏感系统和数据的未经授权访问。

薄弱的加密和不安全的通信使数据泄露变得很容易。

如果企业没有工具或专业知识来有效地监控和检测威胁,缺乏对供应链的可见性就会增加暴露在潜在问题中的风险。这是也构成威胁的一些隐藏漏洞中的第一个。

其他包括:

隐藏的漏洞

第三方依赖项:应用程序通常依赖于第三方库和组件,如果管理不当,可能会引入漏洞。这些可能很难检测到,特别是当企业对源代码的可见性很差的时候。

软件供应商缺乏多样性:如果企业依赖于单一的软件供应商,并且无法了解其安全实践,那么它就无法有效地检测隐藏的漏洞。

针对开源软件的攻击之所以发生,是因为企业大量使用开源软件,以至于它是一个巨大的攻击面。

如何评估供应链安全?

确定软件供应商和合作伙伴。生成软件材料清单(SBOM)-所有供应商、承包商和其他合作伙伴的清单,检查他们的安全策略和控制,以及他们是否符合法规。

进行风险评估并制定补救计划,包括可靠的软件测试和增强安全意识。

审查并实施您的控制和策略。确保您的策略符合安全要求。检查访问控制和数据保护,以防止未经授权的访问、加强保密性、限制攻击面并降低第三方风险。

增强加密和安全通信的能力

评估和重新设计供应链架构,以提高供应链可见性,更好地识别和管理潜在问题、恶意活动、第三方风险,并确保满足合规和监管要求。

用于加强安全性的工具

构建全面的安全方法。结合使用漏洞扫描仪、终端保护软件、网络安全工具、身份和访问管理以及特定的软件供应链工具,以及员工培训和响应规划。

在下一篇文章中,我将介绍如何成功地做到这一点,以及您应该如何使用这些工具来加强软件和应用程序的安全性。

虹科推荐

虹科软件组成分解决方案


虹科Mend.是唯一一款旨在让安全团队完全控制整个组织的开源使用情况的 SCA 工具。使用 Mend.io,您可以在所有开发人员和应用程序中实施策略,以消除开源许可风险并更新易受攻击的软件包。


减少MTTR:通过自动拉取请求加速修复,以快速修复开源漏洞。
停止恶意软件包:检测和消除现有代码库中的恶意软件包,并阻止它们进入新的应用程序与Mend的360°恶意软件包保护。
消除误报:确保您的开发人员关注真正的风险。Mend SCA检测漏洞是否实际可访问,指示非可利用漏洞,以便可以安全地忽略它们。
大规模快速部署:在不到一个小时的时间内,跨越所有开发中的应用程序为数千名开发人员实现SCA
确保完全采用:确保100%采用Mend SCA,并通过选择在每次代码提交后都要求扫描来提高整体风险的降低。
持续监控并确定优先顺序

访问控制、风险管理和设计将限制已知漏洞的影响,但是如何确定没有已知漏洞所存在的风险,自动化依赖项更新十分重要。高级的依赖性更新产品将创建一个拉取请求,以便自动合并更新。您的基础设施、容器和应用程序代码也应该自动更新。自动扫描是至关重要的,但它不能涵盖所有内容。SCA能够做到不断监视漏洞并确定其优先级。当一些组件过时或有新的漏洞时将会被标记。

联系我们

扫码加入“虹科网络安全交流群”或关注“虹科网络安全”微信公众号,及时获取一手资讯和更多技术干货/应用案例。