微软宣布 S2C2F 已被 OpenSSF 采用

news2024/11/13 15:19:40

开源供应链安全对大多数 IT 领导者来说是个日益严峻的挑战,围绕确保开发人员在构建软件时如何使用和管理开源软件 (OSS) 依赖项的稳健策略至关重要。Microsoft 发布安全供应链消费框架 (S2C2F) 是一个以消费为中心的框架,它使用基于威胁的风险降低方法来缓解开源软件 (OSS) 中的安全威胁。近日,S2C2F 已经被 OpenSSF 采用。S2C2F 与以供应商为中心和以工件为中心的框架相结合(例如 SLSA),为软件生产者和消费者提供了安全创建和使用软件的能力。
 

S2C2F 基本概念

S2C2F 是一个安全保证和降低风险的流程,专注于保护开发人员使用开源软件的方式。自2019年以来,作为微软范围内的一项计划,S2C2F在整个开发人员内部循环和外循环流程中提供安全指导和工具,这些流程在 Microsoft 中使用开源软件来防御和防止供应链攻击方面发挥了关键作用。
 

使用基于威胁的风险降低方法,S2C2F 的目标是:

  • 提供强大的 OSS 治理计划
  • 缩短平均修复时间(MTTR)以解决 OSS 中的已知漏洞
  • 防止使用已泄露和恶意的 OSS 软件包
     

S2C2F 三大核心概念

S2C2F 基于三个核心概念来建立模型,即控制所有工件输入、持续过程改进和规模。
 

控制所有工件输入

开发人员今天有无数种方式使用 OSS:gitclone,wget,复制粘贴源代码,将二进制文件签入存储库,直接从公共包管理器,将 OSS 重新打包为.zip,curl,apt-get,git 子模块等。如果开发团队不遵循使用 OSS 的统一流程,那么想要保障开源软件供应链安全几乎是不可能完成的任务。实施有效的安全开源软件供应链策略需要在整个组织的各个开发人员团队中标准化企业的 OSS 使用流程。
 

持续流程改进

为了帮助指导组织进行持续流程改进,将 S2C2F 组织为成熟度模型。这有助于企业确定应首先实施哪些要求的优先级。由于安全风险是动态的,新威胁随时可能出现,因此S2C2F 非常重视了解 OSS 供应链面临的新威胁,并要求定期评估 S2C2F 控制措施并引入变化以应对新技术进步或新威胁。
 

规模

S2C2F 框架工具在设计时考虑了规模。某些组织可能会尝试通过企业中央内部镜像仓库来保护其 OSS 提取过程。但是如果开发人员选择直接从 pypi.org 或 npmjs.com 中提取该如何阻止?企业中央内部镜像仓库还存在需要团队管理流程和工作流的问题。因此,开发 S2C2F 工具是为了保护如今大规模使用 OSS 的工作方式。
 
截屏2022-12-07 上午9.49.51.png
图片来源:Microsoft
 

S2C2F 八大实践

S2C2F自 2019 年以来一直在Microsoft内部使用和完善。它被构建为一个以消费为中心的框架,使用基于威胁的风险降低方法来减轻现实世界的威胁。该框架列举了现实世界供应链对 OSS 的威胁列表,并解释了框架的要求如何减轻这些威胁。该框架还包括分为 8 个不同的实践领域:
8 practices.jpeg
图片来源:Microsoft
 

由于所有 8 个实践无法同时合理实施,因此以下成熟度模型将 8 个实践中每个实践的需求组织成 4 个不同的级别。它允许组织从其现有的安全功能集逐步发展到更安全的防御态势。此外,成熟度模型在每个成熟度级别考虑不同的威胁和主题。
 

S2C2F 成熟级别

根据项目及其条件,企业可以跨项目实现多个框架级别。此外,与风险/回报相比,成熟度模型的第 4 级具有较高的估计实施成本,因此应被视为企业最理想的模式。虽然很难在整个组织中大规模实施 Level 4,但在最关键项目的最关键依赖项上实施级别 4 是可行的。
 

Level 1 – 改级别代表许多企业已经应用的一组基本治理实践,使用包管理器、执行 OSS 清单以及扫描和更新 OSS 依赖项。
 

Level 2 – 此级别在第一级的基础上构建,侧重于通过提高引入配置安全性、减少平均修复时间以修补 OSS 漏洞以及响应事件来进一步实现“安全左移”。2020 年的 SaltStack 漏洞就很好地证明,攻击者能够在宣布 CVE-2020-11651 后的 3 天内开始利用它。即使有补丁可用,企业也无法足够快地修补他们的系统。因此,此级别的一个关键组件利用自动化来帮助开发人员保持其 OSS 安全和更新。理想的目标是让企业能够比攻击者更快地进行修补。
 

Level 3 – 该级别侧重于主动安全分析与预防性控制相结合,主动对企业最常用的 OSS 组件执行安全分析并降低使用恶意包的风险。在下载软件包之前扫描 OSS 中的恶意软件是防止泄露的关键。然后,要对 OSS 进行主动安全审查,企业可以将源代码克隆到内部位置。主动安全审查可帮助企业查找尚未发现的漏洞,以及识别其他威胁类别,例如检测后门。
 

Level 4 – 此级别代表可减轻最复杂攻击但难以大规模实施的控制措施。在受信任的构建基础设施上重建 OSS是确保OSS在构建时不会受到威胁的防御步骤,这种成熟级别是防御最复杂的攻击时所需要的。此外,重建 OSS 还有许多刁钻的技术挑战,例如如何命名包以防止与上游发生冲突?如何确保所有开发人员都使用内部包而不是外部包?
 
4 levels.jpeg
图片来源:Microsoft
 

使用 S2C2F,团队和组织能够根据成熟度模型更有效地确定他们工作的优先级。在框架内针对特定级别的合规性的能力意味着团队可以在降低供应链风险方面取得有意和渐进的进展。S2C2F 包括评估组织成熟度的指南,以及推荐来自整个行业的工具以帮助满足企业的框架要求的实施指南。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/68163.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

linux下安装部署es-head插件

es通过程序代码调用es 各种api接口。 es-head查看与显示es状态信息,数据量,具体数据。 1、elasticsearch-head介绍 官方地址: https://github.com/mobz/elasticsearch-head elasticsearch-head 是一款用来管理Elasticsearch集群的第三方插件工具。 e…

用二元泊松模型预测2022年世界杯淘汰赛结果

用二元泊松模型预测2022年世界杯淘汰赛结果 网上有很多文章用双泊松(Double Poisson)模型来预测世界杯比赛结果。但是双泊松模型有一个严重的缺陷,那就是它假设比赛中两队的比分是条件独立的。而我们都知道,在对抗性比赛中&…

国产API管理神器Eolink也太强了吧

一、研发痛点 什么是API研发管理 API研发管理是包含了API开发管理、开发团队协作、自动化测试、网关以及监控等等API管理全生命周期的一系列管理过程。可以帮助公司实现开发运维一体化,提升开发速度,达到降本增效的目标。 前端痛点 针对前端开发在使…

Metabase学习教程:权限-2

使用集合权限 设置具有权限的集合,以帮助用户组织和共享与其相关的工作。 集合保持问题,仪表板,和模型有条理,容易找到。将集合视为存储我们工作的文件夹是很有帮助的。集合权限授予一群人访问: 查看或编辑保存在集合中的问题、…

激活企业数字化采购价值,智慧采购管理系统助力半导体行业提升采购协同效率

如今,随着国内经济不断发展以及国家对半导体行业的政策扶持,我国半导体行业发展迅速,半导体技术含量与日俱增的同时,也对我国半导体企业的管理效能与管理工具提出了更高的要求。在海外对国内半导体产业发展日益严格的当下&#xf…

Netty篇之如何优雅的关服

强制关服的危害 linux中关服如果我们使用 kill -9 pid号或者在windows中使用 taskkill /f /pid pid号来关服的话,相当于是突然断电的方式,会导致如下几种情况。 缓存中的数据丢失正在进行文件的写操作,没有更新完成,突然退出会…

技术分享 | Redis 集群架构解析

作者:贲绍华 爱可生研发中心工程师,负责项目的需求与维护工作。其他身份:柯基铲屎官。 本文来源:原创投稿 *爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。 一、集群架构的一…

决策树算法中处理噪音点

目录 如何解决?——采用剪枝的方法。 预剪枝 后剪枝 如果训练集中存在噪音点,模型在学习的过程总会将噪音与标签的关系也学习进去,这样就会造成模型的过拟合化,也就是模型在训练集的分类效果很好,在未知数据上处理效…

python快速实现2048小游戏

《2048》是一款比较流行的数字游戏,最早于2014年3月20日发行。原版2048首先在GitHub上发布,原作者是Gabriele Cirulli,后被移植到各个平台。这款游戏是基于《1024》和《小3传奇》的玩法开发而成的新型数字游戏。 操作指南: 每次…

景区票务系统毕业设计,景区售票系统设计与实现,旅游售票系统毕业设计源码分析

项目背景和意义 目的:本课题主要目标是设计并能够实现一个基于java的景区景点预约购票系统,整体使用javaMySql的B/S架构,技术上采用了springboot框架;通过后台添加景区资讯、景点介绍,管理用户订单;用户通过…

Vue怎么通过JSX动态渲染组件

一、明确需求 有一组数组结构如下: const arr [ { tag: van-field }, // 输入框{ tag: van-cell }, // 弹出层{ tag: van-stepper } // 步进器 ] 想通过循环arr,拿到tag渲染对应的组件。 下面我们分析如何写才是最优。 二、进行分析 2.1 v-if走天…

JavaScript期末大作业:基于HTML+CSS+JavaScript黑色的bootstrap响应式企业博客介绍模板

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…

JTable详细介绍

目录 一、基本表格 二、修改列宽并显示列的名称 三、使用AbstractTableModel抽象类存储数据 一、基本表格 显示一个Table需要两组数据 1. 一维数组: String[]columnNames 表示表格的标题 2. 二维数组: String[][] heros 表格中的内容 默认情况下&…

使用openssl工具生成CSR文件

使用OpenSSL工具生成CSR文件 登录服务器。 安装OpenSSL工具。 执行以下命令,生成CSR文件。 openssl req -new -nodes -sha256 -newkey rsa:2048 -keyout [$Key_File] -out [$OpenSSL_CSR] 说明 -new:指定生成一个新的CSR文件。 -nodes:指定…

WindowsNT下的OpenGL

三、WindowsNT下的OpenGL 3.1、Windows NT下的OpenGL函数   如前面的章节所述,Windows NT下的OpenGL同样包含100多个库函数,这些函数都按一定的格式来命名,即每个函数都以gl开头。Windows NT下的OpenGL除了具有基本的OpenGL函数外&#xf…

威马汽车欲曲线上市:沈晖已提前持股并任职,销量垫底、员工降薪

12月5日,港交所上市公司Apollo出行(HK:00860)发布公告称,该公司拟收购一家从事智能电动车的公司,目标公司的业务涵盖一系列配备先进技术的智能电动车,目标客户为中国年轻且精通技术的用户(特别是…

小迪-day14(注入类型之提交注入)

1、参数提交注入 1.1 明确参数类型 数字,字符,搜索,JSON等1.2 明确提交方式 GET, POST,COOKIE,REQUEST,HTTP头等可能有些网站是以Request的方式接受参数,所以GET和POST都行 注入的地方可能在User-Agent、cookie上&a…

辽宁熤星传媒文化:抖音原创特效怎么做?

现在很多小伙伴在家都基本上会去找一些副业来做,或者是一些赚钱的方法,要知道,抖音其实还是有很多赚钱的机遇在里面的,那么大家拍抖音都是需要去使用特效的,那么抖音特效应该怎么做呢?跟着辽宁熤星传媒小编…

探索可观测性:AIOps中的时序数据应用

01. 背景 随着科技的发展,时序数据在我们的认知中占据越来越多的位置,小到电子元件在每个时刻的状态,大到世界每天的新冠治愈人数,一切可观测,可度量,可统计的数据只要带上了时间这个重要的因素就会成为时…

Antlr4 快速入门 - 编写语法解析器

Antlr全称(ANother Tool for Language Recognition),Antlr4是一款强大的语法分析器生成工具,推特,Haddop,Oracle等各大知名公司在用到了Antlr来构建自己的语言处理类项目。 一门语言的正式描述称为语法(grammar),Antl…