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

VSole2022-12-30 13:42:49

应用持续集成/持续交付 (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 管道的各种攻击,并引导企业整体网络风险管理计划向更好的方向发展。

软件ci
本作品采用《CC 协议》,转载必须注明作者和本文链接
2022年的RSA会议上,来自Coalfire的副总裁和首席战略官Dan Cornelld的议题《What Executives Need to Know about CI/CD Pipelines and Supply Chain Security》从使用CI/CD管道的安全性出发,首先向各位观众讲述了什么是CI/CD管道,并提出我们为何需要关注CI/CD使用过程中的安全风险,
思科发出警告针对CVE-2020-3118高严重性漏洞的攻击,该漏洞会影响运行Cisco IOS XR软件的多个运营商级路由器。该漏洞存在于Cisco IOS XR软件Cisco发现协议实施中,并且可能允许未经身份验证的相邻攻击者执行任意代码或导致重新加载受影响的设备。“该漏洞是由于对来自思科发现协议消息中某些字段的字符串输入进行的不正确验证所致。攻击者可以通过向受影响的设备发送恶意的Cisco发现协议数据包来利用此漏洞。”
思科小型企业交换机软件存在可被远程攻击利用的漏洞CVE-2018-15439, 该漏洞可使攻击者绕过用户身份验证机制获得完全控制权限,专家称,成功的攻击可能允许远程攻击者破坏整个网络。思科220系列和200E系列智能交换机不受影响,运行Cisco IOS软件Cisco IOS XE软件Cisco NX-OS软件的设备也不受影响。
最新消息,思科修复了其产品中的多个缺陷,其中包括 NX-OS 和 FXOS 软件中的三个高严重性缺陷。攻击者可以利用这三个问题导致拒绝服务 (DoS) 情况。
RaaS在Reveton扎根Reveton通过向被感染的电脑发送虚假的警察机构信息进行勒索入侵者甚至冒充美国联邦调查局或其他执法机构,强迫受害者支付罚款。据报道,Reveton的网络攻击者每月从受害者那里赚取约40万美元。Reveton定期发布新功能和新定制的赎金信息。毫无疑问,RaaS导致了勒索软件事件的持续上升。
以美国为首的“五眼”网络安全部门,刚刚向其盟友(包括英国、加拿大、澳大利亚和新西兰)发出了关键网络基础设施的维护警告。美国家安全局(NSA)给出的理由是 —— 受俄罗斯支持的黑客组织,或对乌克兰境内外的组织构成更大的风险 —— 因而建议各组织对相关网络威胁保持高度警惕,并遵循联合咨询中提当过的缓解措施,以增强 IT 和 OT 网络。
回想起大约两个月前,我们报告了Samba网络软件中一个7年前的严重远程代码执行漏洞,允许黑客远程完全控制易受攻击的Linux和Unix机器。我们将该漏洞命名为SambaCry,因为它与两个多月前在全球造成严重破坏的WannaCry勒索软件所利用的Windows SMB漏洞相似。
外媒消息思科发布安全公告称其智能安装(SMI)协议遭到滥用,数十万设备在线暴露。目前一些研究人员已经报告了用于智能安装客户端(也称为集成分支客户端(IBC))的智能安装协议可能会允许未经身份验证的远程攻击者更改启动配置文件并强制重新加载设备,在设备上加载新的 IOS 映像,以及在运行 Cisco IOS 和 IOS XE 软件的交换机上执行高权限 CLI 命令。
Samba网络软件中存在一个7年的关键远程代码执行漏洞;入侵Linux计算机并安装恶意软件来挖掘加密货币。同一组黑客现在正通过一个新的后门攻击Windows计算机,这是一个基于QT的重新编译版本,与用于攻击Linux的恶意软件相同。
2021年5月18日,《美国创新与竞争法案》(United States Innovation and Competition Act of 2021)通过,由芯片和ORAN5G紧急拨款、《无尽前沿法案》、《2021战略竞争法案》、国土安全和政府事务委员会相关条款、《2021迎接中国挑战法案》和其他事项六部分构成。该法案进一步强化了《无尽前沿法案》提出的在科技领域赢得与中国的竞争的目标,提出了十大
VSole
网络安全专家