Banco Serfinanza 利用人工智能将查找管理时间缩短了约 90%,并实现了安全开发控制的自动化。

案例分析

Banco Serfinanza 标志

关于 Banco Serfinanza

Banco Serfinanza SA 是一家总部位于巴兰基亚的哥伦比亚金融机构,专门从事消费银行、零售融资以及为中小企业提供金融解决方案。

作为其增长和数字化转型战略的一部分,该银行已构建自身的技术能力,以加快数字产品和服务的推出。其软件开发基于两大支柱:内部软件工厂和一组为该银行编写代码的专业战略合作伙伴。

挑战:分布式开发中的内置安全性

当开发速度加快,且开发工作分散在内部团队和多个外部合作伙伴之间时,安全控制就不能再依赖人工审查了。每一次交付都可能导致代码漏洞或不安全的基础设施配置在无人及时发现的情况下进入生产环境。

检测本身并不是问题。通过定期审查,安全团队会收到大量发现的信息,这些信息必须手动分类,逐一决定哪些值得开发人员投入时间,然后再进行分配。瓶颈在于分类工作,而不是分析。Banco Serfinanza 确定了三个具体需求:

• 持续、一致的可见性 所有进入银行的代码,无论是由银行内部工厂编写的还是由合作伙伴编写的,都存在风险。
• 自动优先级排序,无需人工分诊。 决定首先修复什么问题不应该取决于某人逐一审查清单。
• 在开发周期内进行控制,而不是在开发周期结束后进行控制。 分析应该在每个 commit 每 pull request而不是像定期审查那样,在一轮和下一轮之间留有空隙。

其根本目标并非增加另一个分析工具,而是通过自动化、可衡量的证据来加强安全开发治理。

我们面临的挑战并非发现漏洞,而是要以与内部开发团队和外部合作伙伴相同的速度发现漏洞。业务的快速发展意味着进入银行的代码量不断增加,而人工控制无法满足这种需求。

莱昂内尔·圣地亚哥·萨南德雷斯

运营风险总监

解决方案:一个与数字化转型愿景相契合的平台

经过对市场上各种替代方案的全面评估,该银行最终选择了 Xygeni。

第一次接触发生在西班牙莱昂由 INCIBE 组织的 18ENISE 活动上,Banco Serfinanza 团队在那里发现了 Xygeni 在软件开发中管理安全的方法。

在此基础上,我们进行了概念验证,以验证两件事:一是该平台能够与银行已有的流程和工具集成,二是其产生的结果具有可操作性,且不会给安全团队增加工作量。

Xygeni 通过单一平台涵盖了整个生命周期,包括对专有代码、开源依赖项、运行中的应用程序、API、暴露的凭据和基础设施即代码的分析,以及软件供应链保护等。 ASPM 该层将自身的研究结果和从其他工具中获取的研究结果整合到一个单一的风险模型中。

基于该平台,Banco Serfinanza部署了四项功能,这些功能均符合该银行的优先事项:人工智能 SAST 基于专有代码, CI/CD 安全方面 pipelines, IaC Security 基于基础设施即代码,以及平台的人工智能层,该层可自动对其他三个层检测到的所有内容进行分类和优先级排序。

该集成是在 GitLab 上完成的,为现有功能添加了分析功能。 pipeline存储库的逐步上线是分阶段进行的,并根据银行的优先事项而定,而不是一次性启用所有存储库的分析功能。cision 避免了安全部署通常会产生的影响:初始发现的问题数量庞大,以至于开发团队会忽略它们。

结果显示,与组织的目标高度一致,尤其是在自动化、风险可见性和更强大的安全开发控制方面。

使用 Xygeni 产品

尽管 Banco Serfinanza 已测试了所有 Xygeni 产品,提高了分析覆盖范围和问题检出率,但在概念验证期间,重点和已验证的益处集中在以下方面:

CI/CD 安保防护

Pipelines 会像代码一样进行分析,分析频率与应用程序代码相同。Xygeni 检查 pipeline 定义和 SCM 针对不安全配置、权限过大、分支未受保护以及构建过程中的风险设置,已映射到 OWASP。 CI/CD 前十名。对于一家采用分布式开发的银行而言, pipeline 它与代码本身一样是一个至关重要的控制点:所有进入银行的信息,无论来自内部还是外部,都会汇聚于此。

AI SAST

对每个专有代码进行人工智能驱动的静态分析 commit 和 pull request它能检测诸如 SQL 注入或跨站脚本攻击等不安全模式,并利用代码库自身的上下文信息将可利用的漏洞与理论上的漏洞区分开来,从而确保开发者只看到真正重要的内容。 standard 适用于内部团队和战略合作伙伴的代码,当发现问题时,AI 自动修复功能会直接在代码中提出修复方案。 pull request.

IaC Security

在 Terraform、CloudFormation、ARM、Bicep、Kubernetes、Helm 和 Dockerfiles 以及它们构建的容器镜像中,基础设施即代码中的不安全配置会在部署之前被检测到。 Guardrails ,在 pull request 和 pipeline 在风险变更上线之前将其拦截,AI 自动修复功能会提供修正后的模板。修复过程只需几分钟即可完成,而不是在部署之后,那样会占用维护时间。

结果

识别、确定优先级和分配安全发现所需的时间减少了 90%。
节省的成本并非来自更快的检测速度,而是来自不再需要人工分类。分析工作从定期审查转变为每次自动运行。 commit 每 pull request人工智能层能够根据实际情境而非理论上的严重程度来评估风险。过去安全团队需要反复审核列表并决定任务分配,而现在这些工作都已完成。90% 的转化率提升与人工智能层的引入不谋而合。人工智能已经解决了持续检测的问题。 SAST, CI/CD 安全和 IaC Security所缺少的是消除每次分析后堆积如山的手动工作。

对非银行自身团队编写的代码进行治理

安全控制同样适用于内部工厂和战略合作伙伴的研发工作。该银行已从信任每个供应商的做法转变为要求所有供应商都提供相同的可验证信息。 standard并有自动化证据证明,在持续分析的 100 多个存储库中,每次交付都符合要求。这是整个部署中影响最深远的成果。 standard 每次交付时都要进行检查,这并不取决于每个合作伙伴的成熟度或与他们的商业关系,这使得银行在与供应商的对话中处于不同的地位。

在生产部署前尽早发现弱点

在开发周期中即可识别代码漏洞和不安全的基础设施配置,此时修复成本远低于后期修复。如今,所有关键和高危漏洞都会在上线生产环境之前得到解决。

从发现问题到修复:整个过程以小时而非天来计算。

以前可能要等到下次例行审查才能发现的漏洞,现在会在几分钟内显现出来,而且就在同一系统中。 pull request 在问题引入的位置进行修复,并且趁着开发者对上下文记忆犹新的时候进行修复。这样一来,修复就不再是一种干扰,而是成为正在进行的工作的一部分。

自动优先级排序:从海量结果到精选列表

风险分级不再是安全团队的职责。该平台的人工智能会根据实际上下文对风险进行排序,并减少传递给开发团队的干扰信息。其效果不仅限于技术层面:它还能改进自动优先级排序:将大量的发现简化为安全与产品之间关系的简短列表,因为开发人员需要修复的问题都是合理的。

实施 Xygeni 后,我们能够通过自动化控制和及早发现漏洞,显著加强安全开发流程。

我们已将管理和确定问题优先级所花费的时间缩短了约 90%,如今大多数问题在上线前都已得到解决。除了平台的技术能力之外,我们也十分重视其团队。 commit旨在持续改进、创新,并在整个过程中提供密切支持。

Xygeni 已成为我们数字化转型和技术风险管理战略中的重要推动力量。

莱昂内尔·圣地亚哥·萨南德雷斯
Banco Serfinanza SA 操作风险总监

保护您的软件开发和交付

与 Xygeni Security 合作