遵循开源软件安全路线图

毫无疑问,开源软件对于满足联邦任务所需的开发和创新至关重要,因此其安全性至关重要。

OSS(运营支持系统) 支持联邦政府内的每个关键基础设施部门。

联邦政府认识到这一点,并正在采取措施优先考虑 OSS 安全,例如国家网络主任办公室最近的 OS3I 计划、随后的公共信息请求以及网络安全和基础设施安全局的开源软件安全路线图。

这些举措将帮助各机构更好地了解、管理和降低我们国家关键基础设施所依赖的开源软件的风险。

CISA、政府领导人和行业合作伙伴等监督机构有责任为 OSS 使用设定基准预期,并确保顶级安全性来保护机构的关键数据——如果机构未能制定明确的标准,这些数据可能会受到威胁。

为了大规模减少漏洞,政府领导人需要优先考虑安全性并促进开源软件开发最佳实践。这可以分为三个增强安全性的首要考虑因素:

1. 利用受支持的企业 OSS;

2. 在开发阶段实施安全设计实践;

3. 利用人工智能。

支持的企业 OSS 提供更高的安全性

与普遍看法相反,并非所有开源软件都是生而平等的。处理敏感数据的联邦机构应尽可能使用受支持的企业开源软件。大规模使用企业 OSS 免费版本的机构无法获得确保数据安全所需的支持级别。即使它们功能丰富,免费工具项目也无法大规模提供可审核、可证明的安全性。

受支持的企业 OSS 提供了更高级别的安全性和监管,并对所提供的代码提供了额外的责任。它通过质量检查点、自动化测试和可执行的 DevSecOps 管道来实现这一点,以一致地验证对软件的贡献。它还可以更好地管理风险,并提供增强的可见性、透明度、报告和可审计性功能。

此外,应为企业版 OSS 创建和发布强化指南和最佳实践,以降低风险。同行代码审查是 OSS 社区开发中的常见做法。为了提高透明度和安全性,托管 OSS 的平台应该能够了解同行评审和贡献批准者历史记录。

公私合作伙伴关系对于提高软件开发过程的问责制和透明度至关重要。政府可以向行业合作伙伴寻求安全开源软件最佳实践的支持。

通过设计确保 OSS 安全

除了 OSS 安全路线图之外,CISA 最近还为软件提供商发布了关于安全设计实践的新指南,作为确保 OSS 安全的关键方法。设计安全的产品在软件生命周期开始时就将安全性融入其中,而不是事后才考虑或在开发过程结束时考虑。

CISA 的指导以及NIST 的安全软件开发框架(SSDF)等标准制定的指南,强化了通过设计保持软件安全的关键考虑因素,这些因素必须延续到开源环境中。具体就 OSS 安全而言,SSDF 充当确认设计安全原则的指南,并为 OSS 采用带来初始信任级别。根据设计安全原则,使用软件的开发人员和联邦领导人应考虑使用能够自动扫描漏洞并具有强大环境可见性的工具。

政府领导人应考虑确保所有软件设计安全的另一个工具是软件物料清单或构成软件的组件清单。SBOM 还包括有关用于开发、构建和部署软件工件的库、工具和流程的关键信息。记录用于生成 SBOM 的工具以及随附的数字证明可以证明工件未被修改。

在开发阶段和选择受支持的平台上优先考虑安全对于建立和维持信任至关重要。通过用于构建、测试和安全功能的单一 DevSecOps 平台,也可以更轻松地实现证明和可信度。

应用 AI 增强 OSS

联邦政府正在通过使用人工智能来扩展其能力,这是各机构在 OSS 安全之旅中应该考虑的另一个工具。人工智能有能力自动执行琐碎的任务,并将减轻开发人员的一些负担,让他们有更多时间专注于安全性。组织还应该不仅仅将人工智能用于代码开发,而应将其纳入整个软件开发生命周期,例如向非技术用户解释代码和提供安全支持。

当人工智能集成到软件开发生命周期的每个阶段时,可以帮助主动防止或减少开发过程中的审批要求。它还可以应用于新代码和自动测试创建、自动选择审阅者以及辅助修复已识别的漏洞。

考虑人工智能的政府机构应关注所使用的模型和平台、供应商透明度和编码最佳实践。人工验证代码应该继续成为一项持续的要求,并辅之以自动安全扫描。

OSS 是软件开发的基础,可促进创新并使政府能够更快地开发关键项目,为关键基础设施提供基础。遵循 OSS 安全最佳实践对于降低风险并更好地保护政府资产至关重要。

这项事业不必单独完成——联邦领导人应该寻求激励政府和行业之间的有意合作伙伴关系,以鼓励合作和问责。共同努力保护 OSS 对国家安全至关重要。利用这些考虑因素可以增强 OSS 安全性,进而使政府能够针对关键任务运营进行创新。

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

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

相关文章

前端学习笔记--ES6

修正 ES6是ECMA为JavaScript制定的第6个标准版本,相关历史可查看此章节《ES6-ECMAScript6简介》。 标准委员会最终决定,标准在每年6月正式发布并作为当年的正式版本,接下来的时间里就在此版本的基础上进行改动,直到下一年6月草案…

LeetCode算法题解|LeetCode738. 单调递增的数字、LeetCode968. 监控二叉树

一、LeetCode738. 单调递增的数字 题目链接&#xff1a;738. 单调递增的数字 题目描述&#xff1a; 当且仅当每个相邻位数上的数字 x 和 y 满足 x < y 时&#xff0c;我们称这个整数是单调递增的。 给定一个整数 n &#xff0c;返回 小于或等于 n 的最大数字&#xff0c…

milvus数据库-连接

Milvus 支持 19530 和 9091 两个端口&#xff1a; 端口 19530 用于 gRPC 和 RESTful API。 这是您使用不同 Milvus SDK 或 HTTP 客户端连接到 Milvus 服务器时的默认端口。 端口 9091 用于 Kubernetes 内的指标收集、pprof 分析和运行状况探测。 它用作管理端口。 1.连接到数…

新晋“学霸”夸克大模型拿下C-Eval和CMMLU双榜第一

11月16日&#xff0c;根据最新成绩&#xff0c;千亿级参数的夸克大模型登顶C-Eval和CMMLU两大权威评测榜单&#xff0c;多项性能优于GPT-4。在国内大模型赛道火热的当下&#xff0c;夸克自研大模型凭借过硬的研发能力及数据、行业、平台等优势成为新晋“学霸”。 作为国内最权…

深度学习损失函数

Loss 是深度学习算法中重要的一部分&#xff0c;它的主要功能是评价网络预测的准确性和指导权重更新。合适 Loss 可以让网络收敛更快&#xff0c;预测更准。这个项目介绍了损失函数的基本概念以及7种常用损失函数的形式&#xff0c;性质&#xff0c;参数&#xff0c;使用场景及…

[C++]:8.C++ STL引入+string(介绍)

C STL引入string(介绍&#xff09; 一.STL引入&#xff1a;1.什么是STL2.什么是STL的版本&#xff1a;2-1&#xff1a;原始版本&#xff1a;2-2&#xff1a;P. J 版本&#xff1a;2-3&#xff1a;RW 版本&#xff1a;2-4&#xff1a;SGL版本&#xff1a; 3.STL 的六大组件&…

为React Ant-Design Table增加字段设置 | 京东云技术团队

最近做的几个项目经常遇到这样的需求&#xff0c;要在表格上增加一个自定义表格字段设置的功能。就是用户可以自己控制那些列需要展示。 在几个项目里都实现了一遍&#xff0c;每个项目的需求又都有点儿不一样&#xff0c;迭代了很多版&#xff0c;所以抽时间把这个功能封装了…

【Electron】electron-builder打包失败问题记录

文章目录 yarn下载的包不支持require()winCodeSign-2.6.0.7z下载失败nsis-3.0.4.1.7z下载失败待补充... yarn下载的包不支持require() 报错内容&#xff1a; var stringWidth require(string-width)^ Error [ERR_REQUIRE_ESM]: require() of ES Module /stuff/node_modules/…

12 Go的接口

概述 在上一节的内容中&#xff0c;我们介绍了Go的作用域&#xff0c;包括&#xff1a;局部作用域、全局作用域、命名空间作用域等。在本节中&#xff0c;我们将介绍Go的接口。Go语言中的接口是一种类型&#xff0c;它定义了一组函数的集合。接口是一种抽象的描述&#xff0c;它…

一文浅入Springboot+mybatis-plus+actuator+Prometheus+Grafana+Swagger2.9.2开发运维一体化

Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTFUL风格的Web服务,是非常流行的API表达工具。 Swagger能够自动生成完善的 RESTFUL AP文档,,同时并根据后台代码的修改同步更新,同时提供完整的测试页面来调试API。 Prometheus 是一个开源的服务监控系统和时…

葡萄酒质量预测python

葡萄酒质量预测是一个经典的机器学习问题&#xff0c;通常使用基于统计模型的机器学习方法来解决。在Python中&#xff0c;我们可以使用各种机器学习库&#xff0c;如scikit-learn&#xff0c;来构建和训练模型。 以下是一个简单的示例&#xff0c;展示如何使用scikit-learn库…

设计模式解码:软件工程架构的航标

引言 软件工程领域的设计模式&#xff0c;就像是建筑师手中的设计蓝图&#xff0c;它们是经验的总结&#xff0c;指导开发者如何在面对层出不穷的编程难题时&#xff0c;构建出既稳固又灵活的软件结构。就像一座经过精心设计的大厦能够经受住风雨的考验一样&#xff0c;一个利用…

基础框架代码解释

自定义的&#xff0c;用法就是等于号后面的 out是自己定义的层啊 nn.ReLU()是构造了一个ReLU对象&#xff0c;并不是函数调用&#xff0c;而F.ReLU()是函数调用 这里大佬能说一下&#xff0c;为什么forward里面不能用nn.RELU()函数吗&#xff0c;我只知道是因为参数的问题&a…

智慧城市怎么实时监测内涝积水的发生及解决办法?

随着城市化进程步伐不断加快&#xff0c;城市内涝问题越来越受到人们的关注。内涝不仅不便于人们的生活&#xff0c;还可能危害城市之中的基础设施比如路面等。因此实时监测内涝积水的发生并采取有效的解决办法是市政府的紧急任务&#xff0c;同时解决城市内涝也利于城市生命线…

OpenCV中的像素重映射原理及实战分析

引言 映射是个数学术语&#xff0c;指两个元素的集之间元素相互“对应”的关系&#xff0c;为名词。映射&#xff0c;或者射影&#xff0c;在数学及相关的领域经常等同于函数。 基于此&#xff0c;部分映射就相当于部分函数&#xff0c;而完全映射相当于完全函数。 说的简单点…

【算法】算法题-20231117

这里写目录标题 一、搜索插入位置&#xff08;35&#xff09;二、字符串相乘&#xff08;43&#xff09;三、两个相同字符之间的最长子字符串&#xff08;1624&#xff09;四、给你一个 有效括号字符串 s&#xff0c;返回该字符串的 s 嵌套深度 一、搜索插入位置&#xff08;35…

linux高级篇基础理论二(详细文档、LAMP、SHELL、sed正则表达式)

♥️作者&#xff1a;小刘在C站 ♥️个人主页&#xff1a; 小刘主页 ♥️不能因为人生的道路坎坷,就使自己的身躯变得弯曲;不能因为生活的历程漫长,就使求索的 脚步迟缓。 ♥️学习两年总结出的运维经验&#xff0c;以及思科模拟器全套网络实验教程。专栏&#xff1a;云计算技…

C#委托与事件

在C#中&#xff0c;委托&#xff08;Delegates&#xff09;和事件&#xff08;Events&#xff09;是用于实现事件驱动编程的关键组件。 委托&#xff08;Delegates&#xff09; 委托是一种特殊的类型&#xff0c;它定义了方法的签名&#xff08;即方法的返回类型和参数类型&a…

layui的layer.confirm获取按钮焦点

因为ayer.confirm的按钮并非采用button&#xff0c;而是a标签&#xff0c;所以获取按钮焦点获取不到&#xff0c;要采用别的方法&#xff0c;下面介绍在ie11中和ie8中不同的写法 在ie11中 layer.confirm(确定取消这个弹窗吗&#xff1f;,{btn: [确定, 取消],success:function…

海康Visionmaster-环境配置:VB.Net 二次开发环境配 置方法

Visual Basic 进行 VM 二次开发的环境配置分为三步。 第一步&#xff0c;使用 VS 新建一个框架为.NET Framework 4.6.1&#xff0c;平台去勾选首选 32 为的工程&#xff0c;重新生成解决方案&#xff0c;保证工程 Debug 下存在 exe 文件&#xff0c;最后关闭新建工程&#xff1…