您当前的位置:   首页 > 新闻中心
顶级软件供应链攻击:代码签名面临风险
发布时间:2023-07-21 15:30:32   阅读次数:

image.png

在一个以互连软件系统和广泛依赖第三方库为主导的时代,软件供应链攻击已成为组织和个人的重大威胁。这些攻击利用软件开发和分发漏洞,旨在损害应用程序的完整性和安全性。在攻击者采用的各种技术中,一种特别令人担忧的途径是代码签名机制的妥协。代码签名是开发人员用来验证软件真实性的一种值得信赖的方法,由于它容易受到复杂的供应链攻击,因此现在受到越来越严格的审查。


代码签名在软件安全中的作用

代码签名在维护软件应用程序的安全性和可信性方面发挥着至关重要的作用。它涉及使用加密密钥对软件二进制文件或组件进行数字签名,从而将它们与已知实体(例如开发人员或组织)相关联。代码签名的主要目的包括:

  • 真伪验证

    代码签名允许用户验证软件的来源和完整性。用户可以通过检查数字签名来确保恶意行为者没有篡改或修改软件。


  • 信托设立

    当软件具有有效的代码签名时,它就在开发人员和最终用户之间建立了信任。用户更有可能信任并安装签名软件,相信它来自信誉良好的来源。


  • 降低恶意软件风险

    代码签名有助于识别和防止安装恶意软件或未经授权的软件。操作系统和安全软件通常将未签名或签名不当的应用程序视为潜在的安全风险,发出警告或阻止其执行。


著名的软件供应链攻击

  • 太阳风攻击

    2020 年底发现的SolarWinds攻击暴露了软件供应链中的漏洞。攻击者破坏了 SolarWinds Orion 软件的构建过程,将恶意后门注入分布式软件更新中。由于该软件是使用有效的数字证书签名的,因此它绕过了传统的安全措施,使攻击者能够未经授权地访问众多知名组织和政府机构。


  • 华硕实时更新攻击

    2019 年,攻击者通过向许多用户分发受感染的软件更新来破坏 ASUS Live Update 实用程序。攻击者通过冒充合法更新向毫无戒心的用户提供受恶意软件感染的二进制文件。受感染的更新是使用从华硕窃取的有效代码签名证书进行签名的,这使得防病毒软件很难检测到威胁。


代码签名漏洞及缓解措施:

  • 证书被盗

    攻击者通过各种手段攻击代码签名证书,包括社会工程、网络钓鱼或危害证书颁发机构 (CA)。一旦拥有被盗的证书,攻击者就可以对恶意软件进行签名,使其对毫无戒心的用户来说显得合法。开发人员应采用强大的证书管理 实践来降低这种风险,包括安全存储、双因素身份验证和定期证书审核。


  • 弱证书验证

    开发人员应执行严格的证书验证流程,及时验证信任链并撤销受损或过期的证书。在某些情况下,开发人员未能实施严格的验证机制,导致使用弱证书或过期证书。攻击者可以通过使用自签名或欺诈证书签署恶意软件来利用这种监督。


  • 受损的构建环境

    供应链攻击通常针对软件开发组织的构建环境。通过破坏构建系统,攻击者可以将恶意代码注入最终产品中。开发人员必须针对构建环境采用强大的安全措施,包括安全访问控制、持续监控和漏洞评估。


代码签名攻击的最新趋势

近年来,随着网络犯罪分子不断发展其策略,代码签名攻击出现了显着的趋势。了解这些趋势可以帮助组织保持警惕并实施有效的安全措施。以下是一些需要探索的关键小标题:

  • 供应链中毒

    攻击者越来越多地以软件供应链为目标,在构建或分发过程中将恶意代码注入到合法软件包中。这种投毒技术使他们能够绕过传统的安全措施,并将受感染的软件分发给毫无戒心的用户。


  • 证书滥用和伪造

    网络犯罪分子利用证书基础设施中的漏洞来滥用和伪造代码签名证书。他们要么从开发人员那里窃取合法证书,要么创建看似真实的欺诈证书。这些策略使他们能够对恶意软件进行签名,并欺骗用户相信它来自可信来源。


  • 针对高价值软件的针对性攻击

    黑客已将注意力转向高价值的软件目标,例如广泛使用的操作系统、企业应用程序或关键基础设施软件。破坏此类软件的代码签名过程可能会产生深远的后果,使攻击者能够渗透到众多组织并造成重大损害。


  • 复杂的证书欺骗

    攻击者采用先进技术来欺骗代码签名证书,使他们的恶意软件显得更有说服力。这包括创建具有相似名称的证书或操作证书元数据以紧密匹配合法实体。这种策略使得用户和安全软件很难区分正版软件和恶意软件。


安全代码签名的最佳实践

为了减轻与代码签名相关的风险并防范软件供应链攻击,组织应实施以下最佳实践:

  • 安全密钥管理

    保护用于代码签名的私钥,确保它们安全存储并且只有授权人员才能访问。采用强加密、硬件安全模块 (HSM)和定期密钥轮换,以最大限度地减少密钥泄露的影响。


  • 证书生命周期管理

    建立健全的证书颁发、更新和撤销程序。申请或更新证书时实施严格的验证流程。定期审核和监控正在使用的证书,及时撤销任何受损或过期的证书。


  • 构建系统安全

    加强建筑环境周围的安全措施,包括安全访问控制、入侵检测系统和持续监控。定期更新和修补构建工具和依赖项,以缓解已知漏洞。


  • 供应链完整性

    在整个软件开发生命周期中实施严格的控制,包括安全代码存储库、持续集成和部署 (CI/CD) 管道以及定期安全审核。在将第三方组件和库合并到软件项目之前验证其完整性。


  • 用户教育和意识

    教育用户有关代码签名的重要性以及如何验证软件的真实性。提高对潜在风险和常见攻击媒介的认识,例如社交工程或冒充合法软件更新的网络钓鱼尝试。


结论

代码签名曾经是软件真实性验证的可信方法,现已成为复杂供应链攻击的主要目标。


组织必须主动解决代码签名漏洞,采取强大的安全措施,并及时了解新出现的攻击趋势,以保护其软件供应链并在日益互联的数字环境中维持用户的信任。


作为Thales(泰雷兹)的合作伙伴,揽阁信息为广大客户提供满足eIDAS要求的eToken 5110 CC和Luna HSM产品,用于保障代码签名的私钥安全。欢迎联系我们获取更多相关信息。


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

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


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

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


相关阅读

购买咨询电话
021-54410609