文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

提升CI/CD 安全性的四个关键步骤

2024-12-13 16:25

关注

应用持续集成/持续交付 (CI/CD) 管道已成为实现现代软件系统自动化敏捷开发的重要方式,确保开发人员在其流程中的各个阶段都能满足安全防护措施要求,防止攻击者利用CI/CD管道的安全漏洞开展攻击活动至关重要。在软件开发的早期阶段识别和缓解CI/CD 管道中的安全风险,可以让企业组织从被动的安全防护转变为主动状态。但是鉴于网络犯罪策略的快速发展和变化,保障CI/CD应用安全充满挑战。

本文总结了一份包含四个关键步骤的CI/CD应用安全防护清单,以及相关的安全工具和策略,可以帮助企业和开发人员了解如何提升CI/CD管道应用的安全性。

步骤1:创造一个健康开发环境

软件开发团队应该在软件开发的每个阶段都充分考虑软件的安全性,即便是开发项目还处于规划设计阶段也应该如此。通过创建健康的安全开发环境,开发团队可以在制定产品路线图时,就实施一些特定的安全任务,例如威胁建模和软件组件 (SLSA)级别评定等。

威胁建模聚焦于潜在的攻击类型和区域,并帮助开发者引入缓解这些攻击所需的对策。通过从攻击者视角去观察、思考,开发团队可以不断评估系统的安全状况并通过攻击模拟来加强防御。SLSA 框架在软件项目的规划阶段特别有用,作为一种确定 CI/CD 管道安全性的通用语言,它由一系列控制、标准和最佳实践做法组成,可有效识别和应对常见的软件供应链攻击模式。

步骤 2:提升代码的安全可见性

开发团队无法保护他们看不到的内容。要了解整个 CI/CD 管道应用的安全性,就需要了解软件系统各组件的所有代码以及它们之间的关联性和交互性。软件开发团队可以通过执行软件组合分析 (SCA) 和使用软件物料清单 (SBOM) 来对所有代码的安全性进行检测和分析。开发团队还应该积极应用静态应用程序安全测试 (SAST)。

SAST 安全测试过程会包含多种代码安全检测工具,用于检查应用程序源代码、汇编代码、字节码和二进制文件是否存在安全漏洞。实践经验表明,开发人员应该在软件系统开发的早期阶段就利用以上安全工具去发现问题,这样才可以在开发项目完成时,确保所有代码库的安全。当然,任何安全工具都不是完美的,因此部署这些工具并不能完全替代安全专业人员手动代码审查的责任。

步骤3 :进行充分的安全性验收测试 

在系统正式上线应用前,需要开发人员对软件系统进行反复的、充分的安全性验收测试,尤其是在新功能即将发布的情况下。开展充分的安全性验收测试对于提升CI/CD 管道应用安全性非常重要,可以确保现有的安全控制措施足够有效,保护系统在实际运行时的安全状况。安全性验收测试主要包括对系统在安全漏洞、参数配置、身份验证、授权控制等方面的状态验证,可以通过自动化工具、手动或者两者结合的方式去完成。

在安全性验收测试过程中,开发人员可以使用动态应用程序安全测试 (DAST) 工具来模拟真实的攻击行为,从外到内进行安全性验证和分析。与静态环境中检测缺陷的SAST工具不同,DAST工具可以在动态、主动变化的环境中检测软件系统真实运行时可能存在的安全性缺陷。对有条件的开发团队,还可以使用容器扫描工具,因为容器开发模式已被广泛接受,并且是云计算未来应用发展的主流趋势。

步骤4:开展持续的安全监控 

当软件系统开发的环境安全、代码安全和验收测试策略均已启动并有效运行后,就需要采取一些有效的预防措施来保持 CI/CD 管道能够长期处于安全稳定的状态。这个过程是一项需要长期执行并不断优化调整的任务。为了取得真正的安全性,CI/CD 管道应用必须实现持续性的监控。

为了实现这个目标,做好身份和访问管理 (IAM) 就变得非常重要。IAM 可以帮助企业解决一些简单但非常重要的安全问题:用户的访问权限和级别是什么?什么时候可以访问?如何对权限进行标识?很多开发人员在开发过程中经常会忽略应用系统和IAM的连接协同,但加强访问控制和权限分离已成为实现持续安全开发环境的基础。

保护 CI/CD 管道应用安全需要完善很多方面,开发团队还应该根据组织的业务需求和应用特点来确定风险的优先级。通过基于风险的安全监控安全方法,可以使安全团队将应用系统风险管控落实到软件开发流程的每个阶段。基于风险的安全监控将确保开发团队能够抵御针对 CI/CD 管道的各种攻击,并引导企业整体网络风险管理计划向更好的方向发展。

来源:安全牛内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯