如何解决软件供应链的安全问题?

作者:TOMISLAV PERICIN

对于组织来说,更多地了解他们所依赖的软件供应链以及保护它们所需的步骤至关重要。在过去几年中,我们看到恶意行为者利用软件供应链中的漏洞来促进对组织的攻击。但是,重要的是要记住,这些攻击并不是一个新现象。事实上,它们已经存在了几十年。因此,保护我们所依赖的软件的需求并不新鲜,尽管业界将注意力转向这个问题。

软件供应链攻击也并不简单。鉴于软件供应链高度复杂,并且由许多不断变化的组件组成,恶意行为者可以采取的途径很多。例如,软件工件部分由从开源软件存储库下载的组件组成。鉴于开发人员使用它们的频率以及开发组织对它们的信任,这些平台已成为一种受欢迎的攻击途径。据GitHub称,85-97%的企业代码库来自开源存储库。其中两个存储库,npm 和 PyPI,在过去四年中,其平台上的攻击数量激增了近 300%,影响了全球数千个软件供应链。

现在常见的软件供应链攻击的一个例子是IconBurst,这是去年的一个重大攻击,在npm上发现了二十多个域名仿冒的软件包。与最近的其他攻击一样,IconBurst攻击者使用域名仿冒 – 将恶意包上传到名称与同一平台上流行和合法软件包非常相似的存储库。开发人员急于完成他们的工作,经常被欺骗下载这些错别字样的软件包。例如,在 IconBurst 活动的情况下,发现的恶意软件包之一被下载了超过 17,000 次!

鉴于软件供应链攻击的数量显著增加,组织必须更加努力地了解这些攻击的工作原理,然后采取措施保护其软件供应链免受损害。

告别“左移”

首先,开发组织需要重新评估“左移”的口号。

多年来,行业领导者一直在推广“左移”的概念,呼吁将应用程序安全性与应用程序开发相结合:将安全开发工具和实践嵌入到持续集成/持续交付 (CI/CD) 流程中。但时代在变,行业开始明白,虽然左移是必要的,但仅仅保护软件供应链是不够的。

“不要左移;到处转移!“WeHackPurple的创始人兼首席执行官Tanya Janca说。Janca 是作为 Techstrong 最近小组的成员在 Predict 2023 虚拟活动中发言的,“软件供应链:一切都与代码有关”。Janca指出,该行业过去对“左移”的执着以及由此造成的安全差距,因为对软件供应链的威胁不仅发生在开发过程中,而且发生在整个软件发布过程中。

事实上,左移的概念可能会对开发组织和开发人员造成伤害:将保护应用程序的工作完全留给他们。“期望开发人员编写完美的代码是不公平的,”该小组的另一名成员Contrast Security的联合创始人兼首席技术官杰夫威廉姆斯说。

保护软件供应链的新方法

对于希望保护他们所依赖的软件供应链的组织来说,他们必须选择正确的工具。但是,许多安全开发和应用程序安全测试(AST)技术不会削减它。例如,动态或静态应用程序安全测试(DAST / SAST)等工具是安全开发生命周期(SDLC)的关键组成部分。但是,它们并不能全面涵盖所有供应链威胁,包括软件篡改以及受损的开源和第三方库带来的风险。另一方面,软件组成分析(SCA)等工具可以帮助审查开源组件,但通常无法检测到恶意模块或提供软件供应链的全面安全覆盖。当你以 DevOps 的速度发布代码时,知道你的应用程序在事后依赖于恶意的开源包是没有什么安慰的。

这就是为什么应该考虑超越这些功能的现代工具的原因。“这是关于为开发人员提供成功所需的工具,”GitLab的CPO David DeSanto在活动中说。该领域的专家一致认为,改变是必要的,但开发人员和开发团队并没有为成功做好准备。

DevOps领域经验丰富的从业者Mat Matthews表示:“虽然开发人员负责确保代码干净,但需要一个跨职能团队,特别关注安全性,以减少针对供应链攻击的攻击面。

为了实现这一目标,组织需要依靠其安全运营中心(SOC)在帮助保护软件供应链方面发挥更大的作用。开发和 SOC 团队之间的密切合作是为组织的软件供应链提供端到端安全性的最可靠方法。而且,如果提供合适的工具,SOC 和开发团队一起工作将更好地扫描软件包;提高开发流程的可见性;检测与设定基线的偏差;并在可能的供应链妥协对软件发行商及其客户造成实际伤害之前寻求妥协。

随着对软件供应链的威胁和攻击的发展,保护也必须如此。现代软件供应链安全计划应旨在保护整个软件开发过程,从开发人员 IDE 及其插件到开源组件、CI/CD 工作流和发布管道,同时还应具备在开发生命周期的任何阶段发现和寻求妥协的能力。只有这样,开发团队才能防止像SUNBURST,IconBurst和此后发生的无数其他有害攻击。

(1)
上一篇 2023年9月7日 下午7:45
下一篇 2023年9月10日 下午4:49

相关推荐

  • 差点引爆全球的核弹,深度分析XZ-Utils供应链后门投毒事件

    处心积虑的投毒者蛰伏三年多,精心选择对象,通过复杂的攻击手法、专业的技战术,一步步支起一张大网,企图掌控全球主流linux发行版,一旦成功他将可以随意侵入全球绝大多数的服务器,这将是足以引爆全球的核弹危机。所幸由于复杂度过高以及投毒者的疏忽,事件被及早发现,没有造成过大的现实危害。但此次事件再次凸显出开源软件生态的脆弱性,本次事件仍可能只是冰山下的一角。墨菲…

    2024年4月1日
    0
  • 如何排查软件中的使用的开源组件清单?

    软件中为什么会依赖开源组件? 在软件开发的过程中,我们往往会使用一些第三方或者开源的组件,来提供一些基础的功能或者服务,从而简化开发工作,提高效率和质量。例如,我们可能会使用 Apache Commons、Spring Boot、jQuery 等开源组件来实现一些常见的操作,如字符串处理、Web 开发、DOM 操作等。 使用开源组件的好处是显而易见的,它们可…

    2023年8月9日
    0
  • SBOM清单是什么?

    引言 你是否知道你使用的软件都是由哪些组件构成的?你是否了解这些组件的来源、版本、许可证和安全状况?如果你是一个软件开发者或者供应链管理者,你是否能够追踪和管理你的软件产品中包含的所有组件?在当今的软件行业,这些问题都是非常重要和紧迫的。为了提高软件供应链的透明度和安全性,我们需要一种工具来帮助我们识别、记录和共享软件组件的相关信息。这就是SBOM清单。 S…

    2023年8月9日
    0
  • 首起针对国内金融企业的开源组件投毒攻击事件

    简述 2023年8月9日,墨菲监控到用户名为 snugglejack_org (邮件地址:SnuggleBearrxx@hotmail.com)的用户发布到 NPM 仓库中的 ws-paso-jssdk 组件包具有发向 https://ql.rustdesk[.]net 的可疑流量,经过确认该组件包携带远控脚本,从攻击者可控的 C2 服务器接收并执行系统命令…

    2023年8月18日
    0
  • Java开发初学者的五条安全小贴士

    前言 得益于Java的完备生态,Java一直是非常热门的编程语言。但对于刚刚接触Java的开发者来说,很少会去关注安全相关的问题,没有养成良好的开发习惯,在开发过程中容易带来安全隐患。 我们在本文中总结了五条简单有效的小建议。 一、及时更新依赖组件版本 在Java开发中,开发者经常会用到各类开源组件来实现自己的功能点,但是许多开发者不常关注安全资讯,不了解开…

    2023年8月9日
    0