据赛门铁克最近开展的一项研究报告显示,一家称作Suckfly的中国高级威胁组织针对与代码签名证书相关联的私钥展开攻击来传播恶意软件,且已持续两年之久。这一发现再次证实了网络攻击者散布伪装成合法文件和应用程序的恶意软件的上升趋势。
为什么网络攻击者会瞄准代码签名证书的私钥下手?问题在于其目的的截然对立性,以及传统代码签名做法的管理。
代码签名的主要目的是:a) 验证内容的完整性,并确保其不被篡改,以及 b) 提供有关文件或应用程序创建者的属性和不可抵赖性。代码签名通过以下方法来提升文件和应用程序的信任级别:a) 保证内容未被修改过;b) 将内容与经过第三方验证的身份相关联。出于上述原因,许多软件公司和行业团体都会要求使用代码签名。
从实际应用的角度来看,一些浏览器会在用户尝试下载任何未签名的应用程序时显示警告,以此保护其用户。在其他领域,一些安全应用程序会阻止用户下载和/或执行未签名的文件和应用程序,以尽量减少执行来自未知或未经授权的发布者的代码,从而降低风险。因此,我们发现重视安全的组织和大量的内部软件或应用程序开发通常已采用代码签名技术。无论从发布还是降低风险的角度看,这都是有益的。
在传统的代码签名技术中,保管在签名中使用的私钥的责任和义务由发布组织承担。在这些组织中,私钥的安全和管理通常由开发团队负责,这是因为:文件和应用程序大多是由应用程序或软件开发人员发布的。如果该团队未接受过安全最佳做法方面的培训,也不必为密钥丢失、被盗或遭到滥用的后果负责,则较为大型的组织往往会面临私钥遭他人窃取后用于签署恶意软件的风险。
有一些行业最佳做法可帮助组织防止密钥被盗或遭到滥用。它们包括:
- 保护私钥
- HSM或在专用的安全环境中
- 跟踪私钥和签名事件
- 提供有关签名操作的一切信息,比如:谁在何时签署了哪些内容
- 管理发布者的任务分配和撤销
- 确保只有经过授权的用户才能访问私钥
- 审计能力
- 设立问责制和保留有关代码签名活动的证据
除了最佳做法以外,某些组织可能更看重通过避免现场分散存储私钥(而是通过健全的密钥管理机制将其保管在集中、安全的位置)来提高安全性。作为全球65%的代码签名证书的提供商*,赛门铁克提供了下一代替代技术,有助于解决传统代码签名做法缺乏管理等问题,并降低私钥被盗的风险。赛门铁克安全应用服务是一种全面的基于云的代码签名管理解决方案,它能够集中管理密钥、跟踪代码签名事件,并进行用户管理。
网络犯罪分子会继续想方设法地攻破组织的安全防线并窃取重要数据。严格遵循行业最佳做法或采用“赛门铁克安全应用服务”等解决方案有助于抵御犯罪分子的攻击,并确保代码签名能够达到其与生俱来的目的 — 提供信任。
*资料来源:rsEdge开展的一项国际调研(2014年)