版本控制 | SVN,Git 与 Helix Core,谁的数据管理基础设施更安全?
2022 年 2 月底,全球知名的半导体芯片公司英伟达被爆遭到勒索软件攻击,不久后,英伟达公司官方证实遭到入侵,攻击者已开始在线泄露员工凭据和私密信息。勒索软件组织表示,如果英伟达拒绝支付高达 100 万美元的赎金,他们将在线泄露所有数据。
随着半导体行业的快速发展,类似的数据和生产过程的信息安全泄露事件屡见不鲜,如何避免因为数据泄露而引发的损失和潜在风险,也成了企业关注焦点。为了更好地避免这些风险,您需要选择更具安全性且高性能的版本控制软件。
龙智作为 DevSecOps 研发安全运营一体化解决方案供应商、Perforce 授权合作伙伴,持续关注半导体 IP 与数据管理领域动态与发展,为您提供最新洞察与最佳实践参考,帮助半导体团队更好地进行资产管理,加强协作,提升效率。立即联系我们,了解半导体开发的最佳实践与案例。
网络安全问题包括试图破坏公司和政府的基础设施,窃取高价值技术公司的知识产权,以及接管车辆和公共设施服务控制权的恐怖行为。对于半导体行业的从业者来说,保护基础设施和资产安全至关重要。
其中一个特别重要的方面是在设计和发布过程中确保 IP 数据的安全。这些设计蓝图有多种形式,包括软件代码、硬件设计描述、规格和计划,以及成品或里程碑实施数据的发布,并且通常保存在版本控制工具中,来保持可追溯性和来源。
一个薄弱的安全层可能意味着外部实体能够从这些版本控制系统中窃取 IP,或者更糟糕的是,在设计进入生产阶段(集成到客户系统中)后,被恶意的实体利用,来对设计进行未被发现的修改。
阅读本篇文章,您将了解到当今最流行的版本控制和数据管理软件,以及他们各自的安全性。
数据管理基础设施的选择
分布式版本控制系统:Git、Mercurial
Git 和 Mercurial 是流行的分布式版本控制系统(DVCS),由开源社区维护,允许用户在本地维护自己的文件储存库副本,并独立工作,直到准备好将他们的修改合并到主分支。
分布式系统在设计上缺乏一个集中的控制模型——这会导致各种安全问题,包括:
将整个存储库复制到用户的本地磁盘;
用户错误地签入私人身份认证密钥;
没有真正的身份认证或验证措施;
系统管理只能通过物理登录托管服务器来完成。
另一个问题是,Git 和 Mercurial 让人很容易重写变更历史,这使系统的来源变得难以追溯。一般来说,这类开源系统都是基于一张"好人卡",意思是期望用户是一个不做破坏行为的好人;不幸的是,在今天的网络环境中,这一点很难保证。
商业分布式版本控制系统:GitHub/GitLab
GitHub/GitLab 是商业产品,它们在开源的 Git 上增加了一个专有层,来改进使用模型并解决前面提到的一些限制。不幸的是,企业仍然会遇到安全问题,这些问题来源于需要加速修补且频繁出现的安全漏洞,以及在同一实例中维护个人和企业代码库的首要问题。由于这些问题的出现,最佳实践往往被遗忘和/或被忽略,从而导致企业暴露在威胁中。
一般来说,任何与 Git 相关的解决方案(包括 GitHub 和 GitLab)都会被薄弱的安全模式所影响。当存储库被克隆后,所有用户都能看到里面的全部内容。存储库中的所有内容都是可读的,包括所有历史版本,这意味着读取权限的粒度是在储存库级别。
为了保护敏感内容,管理员需要根据访问级别来分离存储库。鉴于安全访问的众多变化,让授予适当的访问权限变得几乎不太可能,并最终导致错误和泄漏。写入权限无法超过分支级别,所以无法控制谁不可以改变单个文件。
除非管理员实施 "每个存储库一个文件"的配置,否则很难达到所需的安全水平,企业最终会为了能更容易访问而牺牲适当的安全性。这就导致了一个系统暴露在威胁中。
另外,由于克隆的存储库包含了完整的修订历史,如果用户的桌面被入侵,危险分子不仅可以访问源的当前状态,还可以访问所有的历史版本。这使得危险分子可以在旧版本的代码/硬件中找到漏洞,即使最新版本已经打了补丁。一旦确定了旧的漏洞,危险分子就可以针对该领域中已知拥有这个漏洞的特定版本发起攻击。
GitHub/GitLab 试图在 Git 前面添加基本的身份认证,但从根本上来说,Git 基本上没有访问控制或足够的内置安全性。
集中式版本控制系统:Subversion(SVN), CVS
Subversion 和 CVS 是另外两个由开源社区维护的版本控制管理工具。这些都是集中式系统,使用单一的中央存储库来存储版本文件和客户/服务器模型,允许用户从中央存储库签出文件到一个工作区。
这种模式的集中性质让用户失去了在本地克隆整个版本库的能力,这是一个重大的安全改进。然而,这些工具在客户端元数据方面仍然存在问题。包括明文密码和保存到用户工作区中的 URL。
另外,其推荐的 Apache/SSH 传输协议的性能较差,用户可能会使用更快但非常不安全的本地 SVN 协议。最后,和前面讨论的 DVCS 工具一样,SVN 的权限是在 SVN 服务器上的一个物理文件中配置的,需要登录才能访问机器。
总的来说,CVS 和 SVN 的开发已经不再积极了,它们与安全漏洞保持同步更新的能力正在迅速衰减。CVS 没有内置的安全或访问机制。它是通过文件/NFS 级别的访问来完成的,几乎不可能以正确的粒度水平进行管理。
Perforce Helix Core
Perforce 作为一个商业解决方案已经存在了 20 多年,由于其可扩展性和安全设计的特性,它已经被部署在许多大型企业软件组织中。
Perforce Helix Core默认是一个集中式的版本控制系统,具有高度优化的架构,专为关键的部署而设计。Perforce Helix Core 内置的一些安全措施包括:
在其 p4d 数据库中维护的元数据只能通过 TCP/IP 客户端访问;
工作区不包含本地元数据,因此不容易像本篇讨论的其他工具那样发生 IP 泄漏;
可以根据目标环境部署多个安全级别,从最小的密码要求(例如:在评估或开源项目期间)到严格的每个用户认证,可配置的令牌和会话超时、代理/代理身份认证和多因素认证(MFA);
可以将传输机制设置为对所有用户交互、代理和代理配置使用基于 SSL 的加密。
访问权限可以在 repo、分支、目录或一直到单个文件级别进行管理控制,所有这些都在同一个储存库内进行读写操作。
提高数据管理基础设施的安全性
综上所述,我们可以看到,现在使用的许多流行的版本控制系统都可能产生严重的安全问题。现在流行的开源 DVCS 工具几乎没有提供安全控制,而老的 CVCS 工具,如 Subversion 和 CVS 的安全漏洞也没有得到及时修补。Perforce Helix Core的设计初衷是为了处理其中的许多问题,再当今恶劣的安全环境中,它正成为安全数据管理的行业标准。
用 Perforce 保护您的 IP
Perforce 半导体解决方案包括作为领先数据管理工具之一的 Perforce Helix Core,用于 IP 生命周期管理的 Methodics IPLM 以及用于可扩展规划的 Hansoft。
作者简介:
西蒙·巴特勒(Simon Butler)
Perforce 公司 Methodics 总经理
西蒙·巴特勒是 Methodics 公司的创始人兼首席执行官,该公司于 2020 年被 Perforce 收购,目前西蒙单担任 Perforce Methodics 业务部门的总经理一职。Methodics 将 IPLM 创建为企业软件领域的一个新业务部门,为基于 IP 和组件的设计需求提供服务。西蒙拥有 30 年的 IC 设计经验和 EDA 工具开发经验,擅长产品策略及设计。
评论