乐趣区

关于开源:KCD技术分享以SBOM为基础的云原生应用安全治理

随着越来越多的企业和组织将他们的利用迁徙到云上,云原生技术的利用部署和治理正在变得更加灵便和高效,但也相应地引入了一些新的平安危险。2023 年 4 月 15 日,由云原生计算基金会(CNCF)发动,寰球各国当地的 CNCF 大使、员工以及 CNCF 会员单位联结组织的 Kubernetes Community Days(KCD)技术沙龙在中国大连圆满举办。

在本次技术沙龙上,来自不同畛域和企业的平安专家聚焦云原生生态,分享了云原生平安的最佳实际和解决方案。悬镜平安 COO 董毅应主办方的邀请,发表了题为“以 SBOM 为根底的云原生利用平安治理”的演讲。

图 1 悬镜董毅在 KCD 2023 云平安技术沙龙上发表主题演讲以下为演讲实录:

软件物料清单

正如食品行业有配料表,软件行业也有属于本人的配料表,即软件物料清单(Software Bill of Material, SBOM)。简而言之,软件物料清单就是展现软件成分的列表。现在,软件物料清单已成为重要的基础设施,其起因在于云原生时代的利用危险面与 IT 技术产生了根本性的改革。在新的 IT 架构下,传统的平安进攻伎俩曾经不再实用,以 SBOM 为代表的新一代平安治理工具便显得尤为不可或缺。

云原生时代,重大的技术改革首先在开发模式上,从瀑布到麻利到当初以 DevOps 为主的开发模式,对平安进攻伎俩麻利化的需要越来越强。第二在云架构上,从大型零碎到 SOA 到微服务为主的销售模式使很多传统的边界进攻伎俩不再实用。因而,基于 SBOM 的轻量化治理等新伎俩开始锋芒毕露。第三在代码实现上,从传统的闭源到开源到当初的混源模式,很多场景中应用开源代码的同时会调用闭源的 API 接口,在平安方向上须要进行非凡思考。第四点是服务模式,从物理机到虚拟机到当初容器化为主,随之而来的是以开源组件为主的危险以及 API、容器危险。

SBOM 的根本定位是云原生时代利用平安危险治理的基础设施;除此之外,它还有以下几项特点:

  • 是治理第三方组件危险(开源 + 闭源)的必备工具
  • 可深度交融于 DevOps 利用生产模式
  • 可与多种 DevSecOps 工具链联动强化效力(SCA、RASP、破绽情报)
  • 在云原生利用的开发端与经营端均发挥作用

SBOM 实际现状

依据 Anchore《2022 软件供应链平安报告》,只管 SBOM 在云原生利用可见性方面施展着基础性作用,只有三分之一的组织正在遵循 SBOM 最佳实际。

图 2 Anchore《2022 软件供应链平安报告》

去年悬镜公布的《DevSecOps 行业洞察报告》中显示,只有 3% 的受调者应用了 SBOM;可见 SBOM 作为一种平安管理手段,在利用实际上还有很大的倒退空间。

图 3 悬镜《2022 DevSecOps 行业洞察报告》

一方面,实际侧 SBOM 的利用度显著有余;另一方面,监管侧目前的筹备又如何呢?云原生时代的底层是依赖于开源世界而倒退进去的。剥离了宽泛的开源云原生基础设施以及云原生的开源软件应用,很多的云原生利用和场景都将无奈实现。开源世界有个很显著的特色就是责任自负。云原生时代,做利用开发或经营时,咱们本人是利用平安的第一甚至惟一责任人;这种状况下,安全性并不是开源组件供应方优先考量的方面。悬镜平安之前公布了本人的开源工具 OpenSCA,咱们用它扫描了一些云原生开源基础设施,能够看到每个利用根本都有十到几十个不等的破绽。特地地,性能越弱小、利用越宽泛的开源组件,破绽可能就更多,因为弱小的性能通常意味着频繁的数据库存取或者第三方 API 交互的行为,进而产生更多的危险点。

图 4 云原生开源利用破绽概览

Gartner 认为,到 2025 年,寰球 45% 的组织会受到软件供应链攻打;比 2021 年增长三倍。软件供应链攻打中很大也是最重要的一部分,来源于对第三方组件的利用破绽的利用,比方第三方投毒等。近几年,重大的软件供应链攻打事件很多都与开源破绽相干。

图 5 云原生时代下的软件供应链攻打

SBOM 概述

SBOM 是代码中所有凋谢源代码和第三方组件的清单。施行 SBOM 有助于揭示整个软件供应链中的破绽与弱点、进步软件供应链的透明度、加重软件供应链攻打的威逼,进而加强云原生利用的平安。通过应用 SBOM 能够帮忙企业进行破绽治理、应急响应、资产治理、许可证和受权治理、知识产权治理、合规性治理、基线建设和配置管理等。下图为 SBOM 作用的一个例子。在未应用 SBOM 的状况下,组件破绽暴发时,组件上下游厂商因为对本身的组件资产无所不知,对破绽毫不知情,因而无奈在第一工夫作出破绽处理动作,导致该破绽的治理存在一个十分长的不可控阶段,治理老本和危险相应减少。而应用 SBOM 之后,上下游的组件厂商会在第一工夫通晓破绽动静以及其对本身组件的影响范畴,从而立即进行破绽缓解及后续修复,真正做到第一工夫全流程全周期的破绽治理,无效升高危险。

图 6 SBOM 作用示意

从狭义的分类上看,SBOM 有三种不同的应用场景:

  • 软件生产商应用 SBOM 来帮助构建和保护他们提供的软件;
  • 软件采购商应用 SBOM 来进行洽购前参考、协商折扣和制订洽购策略;
  • 软件运营商应用 SBOM 为破绽治理和资产治理提供信息,治理许可和合规性,并疾速辨认软件和组件依赖关系以及供应链危险。

从企业角色类型来看,不同团队对 SBOM 有不同的应用需要:

  • 我的项目团队:用于管理软件资产,在开发晚期即可评估平安危险,筛选适宜的组件 / 软件,并继续更新 SBOM;
  • 平安团队:通过提交的 SBOM 剖析软件危险,并通过对立治理进行继续监控,及时响应安全事件;
  • 法务团队:核查软件受权问题,防止后续公司业务本身权利受到侵害。

图 7  各角色的 SBOM 应用需要

SBOM 实际要点

  • SBOM 与危险情报关联
    SBOM 记录了软件的组件组成信息。供应商或开发者能够通过提供 SBOM 清单至组件破绽信息剖析平台,获取最新破绽危险情报,安顿修复并及时更新 SBOM。平安经营人员可通过保护 SBOM 清单库,在有破绽情报推送或供应链安全事件产生时,疾速反向定位存在危险的软件,放慢供应链攻打事件应急响应速度。

图 8  SBOM 与风险管理实际

  • 拥抱自动化
    自动化的反对是 SBOM 的底层要求。SBOM 作为一个列表清单,波及的组件可能成千上万,必须要用自动化的形式来做 SBOM 的获取治理以及后续的匹配。
  • 应用标准化格局
    美国国家电信和信息管理局(NTIA)公布的《构建软件组件透明度:建设通用软件物料清单(SBOM)》第二版中提出:SBOM 是一个蕴含软件组件列表和档次依赖信息且机器可读的规范性清单。只有应用标准化格局能力做到机器可读,并保障足够的规范性。常见的三种国内通用的规范格局别离是 SPDX、CycloneDX 和 SWID。

图 9 国际标准 SBOM 格局

  • 围绕 SBOM 建设治理流程
    在确定了 SBOM 的格局与对应的工具后,能够围绕 SBOM 对立平安评估规范、建设软件生命周期威逼卡点。治理流程由企业平安流程治理团队对立制订,并受权软件供应链平安评测团队进行平安评估测试、输入评估后果。通用治理流程框架如下:

图 10 围绕 SBOM 建设平安治理流程

轻量落地计划

利用架构模式和开发模式的转变都要求新兴的平安能力可适配新型场景。悬镜从以下三个方面提出一体化的利用平安计划,将根底环境、代码和平安能力进行整合,独特打造云原生平安场景下的利用防护能力。

  • 源头检测
    软件成分剖析(SCA)技术是对软件的组成部分进行辨认、剖析和追踪的技术。SCA 工具能够剖析开发人员所应用的各种源码、模块、框架和库,辨认和盘点开源软件(OSS)的组件及其形成和依赖关系,并精准识别系统中存在的已知安全漏洞或者潜在的许可证受权问题。通过 SCA 工具,可生成残缺的 SBOM 作为制品成分清单,同时建设软件形成图谱,为后续剖析提供根底。将 SCA 工具接入 DevOps 流程,对编译构建环节进行卡点,可保障软件构建时所依赖组件的安全性,确保不引入存在破绽的组件。

图 11 应用 SCA 工具进行制品成分剖析

在此基础上,应用基于插桩技术的 IAST 工具,在功能测试的同时,检测是否存在高危破绽危险,并展现破绽触发数据流,便于修复领导。

  • 出厂免疫针

对随时可能暴发的未知 0DAY 破绽,举荐应用运行时利用自免疫(RASP)工具实现利用自进攻,通过利用的函数行为剖析、上下文情境感知及热补丁技术阻断绝大部分 RCE 类未知破绽攻打,进行精准无效的防护。

图 12 应用 RASP 实现出厂免疫

  • 继续经营
    在 SBOM 的根底上,要解决上线后经营阶段的平安问题、实现平安研发和经营的闭环,不能仅仅局限于单个的 SCA 工具,而须要与其余更适配继续经营场景的工具联合,造成整体联动的解决方案。

需建设常态化应用和经营平安可信的制品库,通过 SCA 和 SBOM 继续为每个应用程序构建具体的软件物料清单,全面洞察每个应用软件的组件状况;同时应用 IAST 对 API 进行危险剖析及调用威逼阻断;再加上 RASP 热补丁及攻打防御能力配合开源破绽情报,第一工夫发现并解决开源破绽危险,构建云原生时代利用危险治理全流程。

以上是本次分享的全部内容。


感激每一位开源社区成员对 OpenSCA 的反对和奉献。咱们激励更多搭档参加到 OpenSCA 开源我的项目的建设中来,成为开源贡献者,有任何倡议都能够发在评论区或者 Gitee、GitHub 上 OpenSCA 我的项目的 Issues 中。

让咱们一起拥抱开源,共筑开源平安生态,促成开源产业衰弱倒退。OpenSCA 的代码会在 GitHub 和 Gitee 继续迭代,欢送 Star 和 PR,成为咱们的开源贡献者,也可提交问题或倡议至 Issues。咱们会参考大家的倡议不断完善 OpenSCA 开源我的项目,敬请期待更多功能的反对。

GitHub:
https://github.com/XmirrorSecurity/OpenSCA-cli/releases

Gitee:
https://gitee.com/XmirrorSecurity/OpenSCA-cli/releases

OpenSCA 官网:
https://opensca.xmirror.cn/

退出移动版