GitLab 与其竞争对手 GitHub 一样,诞生于开源 Git 项目,并且仍然是一家开放核心公司(即,将任何人都可以贡献的开源软件商业化的公司)。 自 2011 年作为开源代码共享平台推出以来,其 DevOps 软件包的用户数量已超过 3000 万。 据该公司称,2023 年 5 月,该公司通过 GitLab 16 在其 DevSecOps 平台中推出了新的 AI 功能,其中包括近 60 项新功能和增强功能。
在本月举行的 2023 年黑帽大会上,GitLab 首席信息安全官 Josh Lemos 与 TechRepublic 讨论了 DevSecOps 以及该公司如何将安全功能注入其平台,以及 AI 如何加速持续集成并使安全左移变得更容易 。 Lemos 解释说,GitLab 植根于源代码管理以及持续集成和管道; 如果你愿意的话,可以说是一家用于构建软件的铸造厂。
大规模保护构建链
Karl Greenberg:您能谈谈您在 GitLab 的角色吗?
Josh Lemos:首先,当安全性被纳入 DevOps 和代码的整个生命周期时,它使我们有机会在构建链的早期插入安全性。 作为一名首席信息安全官,我基本上在帮助公司确保其构建管道的安全方面发挥着重要作用。 因此,我不仅帮助 GitLab 并做我作为 CISO 为任何公司所做的事情,在保护我们自己的产品软件方面,我还在为数千家公司大规模做这件事。
Karl Greenberg:在这个存储库生态系统中,GitLab 如何与 GitHub 等公司区分开来?
Josh Lemos:这个生态系统基本上是双头垄断。 GitHub 更倾向于源代码管理和构建阶段; GitLab 专注于 DevSecOps 或整个构建链,因此基础设施即代码和持续集成 – 整个周期一直到生产。
供应链攻击:更少关于赎金,更多关于持久性
Karl Greenberg:当您查看该周期内威胁行为者的杀伤链时,DevSecOps 旨在阻止的攻击(例如使用 Log4j 的供应链攻击)这并不是一些出于经济动机寻求赎金的行为者,不是吗?
乔什·莱莫斯:当然,这将是一个结果,但勒索软件是一个相当有限的最终游戏。 我认为从攻击者的角度来看,更有趣的是弄清楚如何保持沉默,长时间不被发现。 [攻击者]的最终目标是破坏数据或出于各种原因深入了解公司、政府或任何组织; 它可能是出于经济动机、政治动机或损害知识产权的动机。
Karl Greenberg:或者,当我想到威胁行为者在网络中持续存在时,我认为访问代理会这样做。
Josh Lemos:一般来说,攻击者不想销毁他们的访问权限,所以他们希望尽可能长时间地保留这些持久性记录。 因此,回到第一个问题,我所有这一切的目标是创建一个环境,使公司能够有效地保护其构建管道、限制对其机密的访问并大规模利用云安全和 CI/CD 安全控制。
GitLab 的 AI 工具包,从代码生成到自然语言建议
Karl Greenberg:GitHub 在 Copilot 的采用方面非常成功。 GitLab 的生成式 AI 创新是什么?
Josh Lemos:我们有十多个人工智能功能,其中一些设计用于执行代码生成等任务,这是一个明显的用例; 例如,我们的 Copilot 版本是 GitLab Duo。 我们还有其他人工智能功能,在提出更改建议和项目审阅者方面非常有用:我们可以查看谁为项目做出了贡献,谁可能想要审查该更改,然后使用人工智能提出这些建议。 因此,所有这些工具都会自动将安全性融入到开发中,而开发人员不必放慢速度并寻找错误。
卡尔·格林伯格:但显然,你想尽早这样做,因为当它出现在野外时,它的成本很高,而且你正在处理一个暴露问题——一个实时漏洞。
Josh Lemos:是的,在流程早期收紧反馈循环方面是左移,当开发人员提交代码时,他们仍在考虑那段代码。 他们将在识别问题并在流程中以及我们的平台上解决问题方面获得反馈,因此他们不必使用外部工具。 此外,由于这种紧密的反馈循环,他们不必等待软件投入生产,然后在构建时发现问题。
左移:及时向开发人员提供可操作的反馈
Karl Greenberg:除了您谈到的那些工具之外,软件过程中的哪些关键安全挑战还需要某种安全解决方案?
Josh Lemos:一般来说,我认为许多左移术语实际上是为了确保我们能够保护软件管道,无论涉及多少开发人员。 我们可以通过向构建和开发过程中的开发人员提供良好的、可操作的和有意义的反馈来做到这一点。 我们希望这部分尽可能自动化,以便我们可以开始使用我们的安全团队在流程的早期阶段进行更有洞察力的设计和架构工作,甚至在到达他们正在构建和提交的部分之前 代码。
Karl Greenberg:我们纯粹在谈论机器学习和人工智能驱动的工具吗?
Josh Lemos:有多种工具和功能。 其中一些是传统的静态代码分析工具; 其中一些是容器扫描,用于查找已知的 CVE(常见漏洞和暴露)和软件包。 因此,存在人工智能和非人工智能的混合体。 但自动化蕴藏着巨大的机遇。 无论是人工智能自动化还是传统软件、CI/CD 安全类型自动化,它们都可以减少手动工作和工作量,从而使您的团队能够专注于其他尚无法自动化解决的问题。 我认为这是安全团队的重大转变:我们如何才能首先实现自动化,以便我们能够扩展并满足我们作为一家公司所需满足的速度,以及我们需要满足我们的工程团队所需的速度?