当前位置: 首页 > news >正文

遵循开源软件安全路线图

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

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 安全性,进而使政府能够针对关键任务运营进行创新。

相关文章:

遵循开源软件安全路线图

毫无疑问,开源软件对于满足联邦任务所需的开发和创新至关重要,因此其安全性至关重要。 OSS(运营支持系统) 支持联邦政府内的每个关键基础设施部门。 联邦政府认识到这一点,并正在采取措施优先考虑 OSS 安全&#xff…...

294_C++_

1、全部大致解析: struct alarminfo_t {unsigned int alarmid;INTF_ALARM_INFO_S pAlarm; };typedef enum{INTF_IO_ALARM_E= 0, //I/O探头告警开始INTF_MOTION_ALARM_E, //移动侦测告警开始INTF_AI_ALARM_E,...

【计算机网络笔记】网络地址转换(NAT)

系列文章目录 什么是计算机网络? 什么是网络协议? 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能(1)——速率、带宽、延迟 计算机网络性能(2)…...

【flink理论】动态表:关系查询处理流的思路:连续查询、状态维护;表转换为流需要编码编码

文章目录 一. 使用关系查询处理流的讨论二. 动态表 & 连续查询(Continuous Query)三. 在流上定义表1. 连续查询2. 查询限制2.1. 维护状态2.2. 计算更新 四. 表到流的转换1. Append-only 流2. Retract 流3. Upsert 流 本文主要讨论了: 讨论通过关系查询处理无界流…...

2023年09月 Python(六级)真题解析#中国电子学会#全国青少年软件编程等级考试

Python等级考试(1~6级)全部真题・点这里 一、单选题(共25题,每题2分,共50分) 第1题 以下选项中,不是tkinter变量类型的是?( ) A: IntVar() B: StringVar() C: DoubleVar() D: FloatVar() 答案:D tkinter 无 FloatVar()变量类型。 第2题 关于tkinter,以下说…...

Ubuntu16.04上安装Docker

Ubuntu16.04上安装Docker 更新 apt 包索引: sudo apt-get update安装依赖包,以便使用 HTTPS 仓库 sudo apt-get install apt-transport-https ca-certificates curl software-properties-common添加 Docker GPG 密钥 curl -fsSL https://download.docker.com/linux/ubuntu…...

FSOD论文阅读 - 基于卷积和注意力机制的小样本目标检测

来源:知网 标题:基于卷积和注意力机制的小样本目标检测 作者:郭永红,牛海涛,史超,郭铖 郭永红,牛海涛,史超,郭铖.基于卷积和注意力机制的小样本目标检测 [J/OL].兵工学报. https://…...

Windows系统中搭建docker (ubuntu,Docker-desktop)

一、docker安装前的准备工作 1. 开启CPU虚拟化,新电脑该默认是开启的,如果没开启可以根据自己电脑型号品牌搜索如克开启CPU虚拟化。当开启成功后可在设备管理器中看到。 2.开通Hyper-V 通过 Windows 控制面板 --> 程序和功能 -->启用或关闭…...

使用记录-MongoDB

find常用方法 在 MongoDB 的 find 方法中,可以使用各种查询操作符来执行不同类型的查询。其中之一是 $in 操作符,它用于在一个字段中匹配多个值。 $eq 操作符: 用于匹配字段值等于指定值的文档。 // 查询 age 字段等于 25 的文档 db.colle…...

用归并排序算法merge_sort( )求解 逆序对的数量 降低时间复杂度为 nlogn

题目简述 给定一个序列有n个数&#xff0c;求n个数中逆序对的个数&#xff0c;逆序对的定义&#xff1a;i < j && a[i] > a[j]。 输入格式 第一行包含一个整数n。 第二行包含 n 个整数&#xff08;所有整数均在1~1e9范围内&#xff09;&#xff0c;表示整数数…...

大功率电源芯片WD5030L

电源管理芯片作为现代电子设备中最关键的元件之一&#xff0c;直接影响着设备的性能和效率。而大功率电源芯片作为电源管理芯片中的一种&#xff0c;其性能和应用领域更加广泛。本文将介绍一款具有宽VIN输入范围、高效率和多种优良性能的大功率电源芯片WD5030L&#xff0c;并探…...

Spring Boot使用EhCache完成一个缓存集群

在上一篇在SpringBoot中使用EhCache缓存&#xff0c;我们完成了在Spring Boot中完成了对EhCaChe的使用&#xff0c;这篇&#xff0c;我们将对EhCache的进一步了解&#xff0c;也就是搭建一个EhCache的缓存集群。 集群 在搭建一个EhCache的时候&#xff0c;我们需要先了解&…...

yolov5模型代码怎么修改

yaml配置文件 深度乘积因子 宽度乘积因子 所有版本只有这两个参数的不同&#xff0c;s m l x逐渐加宽加深 各种类型层参数对照 backbone里的各层&#xff0c;在这里解析&#xff0c;只需要改.yaml里的各层参数就能控制网络结构 修改网络结构 第一步&#xff1a;把新加的模块…...

VIM去掉utf-8 bom头

Windows系统的txt文件在使用utf-8编码保存时会默认在文件开头插入三个不可见的字符&#xff08;0xEF 0xBB 0xBF&#xff09;称为BOM头 BOM头文件 0.加上BOM标记&#xff1a; :set bomb 1.查询当前UTF-8编码的文件是否有BOM标记&#xff1a; :set bomb? :set bomb? 2.BOM头:文…...

Go 使用Viper处理Go应用程序的配置

在开发Go应用程序时&#xff0c;处理配置是一个常见的需求。配置可能来自于配置文件、环境变量、命令行参数等等。Viper是一个强大的库&#xff0c;可以帮助我们处理这些配置。 什么是Viper&#xff1f; Viper是一个应用程序配置解决方案&#xff0c;用于Go应用程序。它支持JS…...

hadoop安装网址

Hadoop是什么 1&#xff09;Hadoop是一个有Apache基金会所开发的分布式系统基础架构。 2&#xff09;主要解决海量数据的存储和海量数据的分析计算问题。 3&#xff09;广义上来说&#xff0c;Hadoop通常是指一个更广泛的概念---Hadoop生态圈。 Hadoop发行版本 Hadoop发行的…...

JavaMail邮件发送服务

记录一次使用基于SpringBoot来设置发送邮件的服务 导入依赖 <!--邮件发送--> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId><version>${springboot.version}</ve…...

【918.环形子数组的最大和】

目录 一、题目描述二、算法原理三、代码实现 一、题目描述 二、算法原理 三、代码实现 class Solution { public:int maxSubarraySumCircular(vector<int>& nums) {int sum0;for(auto x:nums) sumx;vector<int> f(nums.size());vector<int> g(nums.size…...

Unity Quaternion接口API的常用方法解析_unity基础开发教程

Quaternion接口的常用方法 Quaternion.Euler()Quaternion.Lerp()Quaternion.Inverse()Quaternion.RotateTowards() Quaternion在Unity中是一种非常重要的数据类型&#xff0c;用于表示3D空间中的旋转。Quaternion可以表示任何旋转&#xff0c;无论是在哪个轴上旋转多少度&#…...

Rust开发——使用rust实现Redis中hset

一、Redis中hset HSET 是 Redis 中用于在哈希数据结构中设置指定字段的值的命令。哈希是一种类似于字典或映射的数据结构&#xff0c;它存储了键值对的集合&#xff0c;其中每个键都包含多个字段和与这些字段相关联的值。 哈希表在 Redis 中以键值对形式存储&#xff0c;并通…...

React 第五十五节 Router 中 useAsyncError的使用详解

前言 useAsyncError 是 React Router v6.4 引入的一个钩子&#xff0c;用于处理异步操作&#xff08;如数据加载&#xff09;中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误&#xff1a;捕获在 loader 或 action 中发生的异步错误替…...

突破不可导策略的训练难题:零阶优化与强化学习的深度嵌合

强化学习&#xff08;Reinforcement Learning, RL&#xff09;是工业领域智能控制的重要方法。它的基本原理是将最优控制问题建模为马尔可夫决策过程&#xff0c;然后使用强化学习的Actor-Critic机制&#xff08;中文译作“知行互动”机制&#xff09;&#xff0c;逐步迭代求解…...

React hook之useRef

React useRef 详解 useRef 是 React 提供的一个 Hook&#xff0c;用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途&#xff0c;下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...

Cesium1.95中高性能加载1500个点

一、基本方式&#xff1a; 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...

理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端

&#x1f31f; 什么是 MCP&#xff1f; 模型控制协议 (MCP) 是一种创新的协议&#xff0c;旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议&#xff0c;它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...

postgresql|数据库|只读用户的创建和删除(备忘)

CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...

Cinnamon修改面板小工具图标

Cinnamon开始菜单-CSDN博客 设置模块都是做好的&#xff0c;比GNOME简单得多&#xff01; 在 applet.js 里增加 const Settings imports.ui.settings;this.settings new Settings.AppletSettings(this, HTYMenusonichy, instance_id); this.settings.bind(menu-icon, menu…...

【2025年】解决Burpsuite抓不到https包的问题

环境&#xff1a;windows11 burpsuite:2025.5 在抓取https网站时&#xff0c;burpsuite抓取不到https数据包&#xff0c;只显示&#xff1a; 解决该问题只需如下三个步骤&#xff1a; 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...

QT: `long long` 类型转换为 `QString` 2025.6.5

在 Qt 中&#xff0c;将 long long 类型转换为 QString 可以通过以下两种常用方法实现&#xff1a; 方法 1&#xff1a;使用 QString::number() 直接调用 QString 的静态方法 number()&#xff0c;将数值转换为字符串&#xff1a; long long value 1234567890123456789LL; …...

【碎碎念】宝可梦 Mesh GO : 基于MESH网络的口袋妖怪 宝可梦GO游戏自组网系统

目录 游戏说明《宝可梦 Mesh GO》 —— 局域宝可梦探索Pokmon GO 类游戏核心理念应用场景Mesh 特性 宝可梦玩法融合设计游戏构想要素1. 地图探索&#xff08;基于物理空间 广播范围&#xff09;2. 野生宝可梦生成与广播3. 对战系统4. 道具与通信5. 延伸玩法 安全性设计 技术选…...