从GitHub代码签名密钥被盗事件中我们明白了什么

前段时间发生了一起代码签名证书密钥被盗的事件,知名的开源托管服务器平台GitHub于2022年12月6日出现了atom、桌面和其他已弃用的 GitHub 拥有的组织的存储库被与机器帐户关联的受损个人访问令牌 (PAT) 克隆的事件。该公司于12月7日撤销了未授权用户的访问权限,随后发现三份GitHub代码签名证书被盗。

从GitHub代码签名密钥被盗事件中我们明白了什么?

代码签名密钥被盗的后果可能会极大地损害您公司的声誉和底线。使用被盗密钥签名的恶意软件可以快速、轻松地传播,因为用户更可能信任使用信誉良好的密钥签名的软件。这可能导致广泛的安全漏洞、数据盗窃,甚至损坏关键基础设施。

如何保护代码签名证书和代码签名密钥?

幸运的是,您可以采取一些措施来防止类似事件发生在您身上。首先,组织保护和控制其代码签名密钥的使用至关重要。因此,控制和可见性是保护代码签名密钥的关键。执行签名权限、控制谁有权访问签名密钥以及生成显示谁签署了什么、何时何地签署的报告的能力提供了高水平的可见性,并允许您快速解决可能出现的任何问题。此外,密钥需要安全存储,以降低威胁行为者窃取它们的能力。在 GitHub 的案例中,他们的密钥是加密的,这是最佳实践。但是,我们还建议离线存储密钥,并且只将它们联机用于签名。

此外,密钥轮换策略对于代码签名安全性至关重要。如果密钥被泄露,依靠单个密钥来签署所有内容可能会导致重大中断。通过实施强大且频繁的密钥轮换策略、使用唯一密钥以及访问按需密钥,您可以限制安全漏洞造成的损害。

最后,尽管与密钥保护本身没有直接关联,但在对代码进行签名之前,执行病毒扫描以确保代码不含恶意内容非常重要。这将使您高枕无忧,并有助于防止安全威胁。扫描可以在源代码级别(静态应用程序安全测试或 SAST)和编译软件(动态应用程序安全测试或 DAST)上完成,两者都是最佳实践。这些措施补充了代码签名,以帮助保护软件供应链。

相关文章