您当前的位置:   首页 > 新闻中心
代码签名在软件供应链中的重要性
发布时间:2021-06-06 14:53:53   阅读次数:

代码签名在软件供应链中的重要性(图1)

你怎么知道你的代码是可信的? 


在一个难以获得信任的世界里,问自己一个重要的问题。我们如何知道我们正在运行的应用程序、我们正在部署的容器或我们提供给客户的代码是真实的?我们怎么知道它没有被篡改?


这一切都归结为代码签名。


今天,软件是每个企业背后的运营引擎。为了让引擎像润滑良好的机器一样运行,我们需要知道我们构建的一切和部署的一切都是可信的。


软件供应链中信任的核心是代码签名。代码签名可证明代码源供应商的身份,并验证代码自发布以来未被篡改。 


我们正在迅速迈向一切都需要签署的现实。不仅是我们从第三方供应商处购买的软件,同样重要的是,我们在自己的组织中构建和部署的软件。这意味着从 PowerShell 脚本、Bash 脚本、容器、库、文件和可执行文件(您可以命名)的所有内容。


但是代码签名已经存在多年了。那么,有什么变化呢?


软件供应链中的威胁

由于采用了 CI/CD 以及构建和测试自动化工具,应用程序和运营团队的发展速度比以往任何时候都快。这意味着可以直接看到整个管道中发生的事情的人眼更少。 


从高级持续威胁 (APT) 组织到地下室黑客,不法分子在这些快速变化和复杂的环境中寻找弱点或漏洞。为了保持低调,恶意代码通常会在供应链的几乎任何一点被注入或修改,而不会被发现。要么是这样,要么他们损害了代码签名过程本身。


黑客可以将恶意代码注入开源软件、源代码存储库或破坏构建服务器本身。以SolarWinds 为例,黑客仅将几行看似良性的代码注入到单个 DLL 文件中,从而在整个供应链中造成了深刻而广泛的威胁。 


黑客还可能获取或窃取在易受攻击的系统上发现的代码签名密钥,以对其恶意软件工具进行签名。我们已经在许多不同的场景中看到了这种情况,其中代码签名私钥被构建服务器、开发人员工作站泄露,甚至意外地暴露在固件或软件本身中。


因此,从安全角度来看,仅仅对代码进行签名是不够的。现在,同样重要的是:

  1. 确保开发人员正在构建的内容被签名并交付给您的客户。

  2. 用于签署代码的基础设施和私钥受到严格控制。


代码签名:黑客的自然目标

黑客已将攻击目标进行了转移。他们不是直接针对组织,而是在软件供应链中寻找可以窃取工具或破坏代码的薄弱环节。黑客掌握了这项技术十多年,通过妥协他们的软件供应商或供应商间接瞄准了广泛的公司。

代码签名在软件供应链中的重要性(图2)

(点击图片查看大图)


代码签名是黑客的自然目标,因为它允许黑客入侵供应链并从内部破坏目标。这是如何发生的:

  • 密钥盗窃或滥用:黑客通过未受保护的系统或错误配置的帐户访问控制窃取代码签名材料。

  • 系统危害:黑客还可以危害集中签名或更新服务器,以在交付过程中劫持软件更新。

  • 代码泄露:恶意代码被注入开源库或源代码存储库,并且在签名并推送给最终用户之前未被检测到。

  • 内部威胁:组织内的开发人员可能会有意签署恶意代码,甚至可能会在可公开访问的软件更新或存储库中无意泄露签名密钥。


代码签名的现状

尽管存在这些众所周知的威胁,但现实情况是,今天大多数组织并没有像他们应有的那样进行签名,更重要的是,他们通常没有一致的代码签名流程。 


在最近的一项研究中发现,公司平均拥有 25 个代码签名证书。大约 51% 的受访者表示,他们将相关的私钥存储在硬件安全模块 (HSM) 中。另一方面,许多人表示在构建服务器 (33%) 和开发人员工作站 (19%) 上也可以找到私钥,近三分之二 (60%) 的公司没有正式的代码访问控制和审批流程——签名密钥。 

代码签名在软件供应链中的重要性(图3)

阻碍是什么?

问题在于代码签名通常与软件开发松散耦合,而不是紧密集成。这两个过程是脱节的,这会造成软件交付的摩擦和延迟,或者更糟糕的是,它为不良行为者提供了利用的可能性。以下是一些常见的障碍:

  • 远程团队:去中心化开发是新常态,它带来了一些挑战。在机器上本地存储密钥不是一种选择,但将大文件传输到集中签名系统会导致等待时间很长。

  • 无流程:代码签名密钥在 HSM 中得到了很好的保护,但仍然需要控制签名的内容、谁可以签名等。

  • 手动流程:策略护栏必不可少,但严重依赖硬件配置和手动审批流程的流程无法扩展。

  • 无集成:缺乏文件类型支持或与现有工具(例如 SignTool、Authenticode、jarsigner)的集成使得在允许开发人员透明工作的同时保持集中控制变得极其困难。


所以问题就变成了,你如何让开发人员签署代码变得简单和透明,同时保持对他们可以签署的内容和方式的集中控制?这是我们问自己的一个问题,但我们没有去寻找答案,而是建立了它。



揽阁信息可提供的部分安全产品和解决方案信息

联系揽阁信息,您可以获取到更多满足全球合规性要求的信息安全产品资料,以及相关的整体解决方案的相关资料。如:


您还可以得到揽阁信息所提供的优质服务。

揽阁信息 · 值得您信赖的信息安全顾问!


相关阅读

购买咨询电话
021-54410609