《安全软件开发框架(SSDF) 1.1:降低软件漏洞风险的建议》解读(三)

news2024/11/25 8:20:02

安全软件开发框架SSDF是由美国国家标准与技术研究院发布的关于安全软件开发的一组实践,帮助开发组织减少发布的软件中的漏洞数量,减少利用未检测到或未解决的漏洞的潜在影响,从根本上解决漏洞防止再次发生。本文根据《Secure Software Development Framework (SSDF) Version 1.1:Recommendations for Mitigating the Risk of Software Vulnerabilities》文档翻译整理,本文是第三部分,主要是该框架的安全实践列表以及相应的参考中的组织准备部分。 

表1:安全软件开发框架(SSDF)1.1版本

实践1(组织准备)任务概念实现参考示例参考
定义软件开发的安全要求(PO.1):

确保随时了解软件开发的安全要求,以便在整个SDLC中考虑到这些要求,并且由于需求信息可以统一收集并共享,因此可以最大限度地减少重复工作。包括来自内部来源(如组织的政策、业务目标和风险管理战略)和外部来源(如适用的法律法规)的要求。
PO.1.1:确定并记录软件开发基础设施和过程的所有安全要求,并长期维护这些要求。示例1:保护整个SDLC中的软件开发基础架构及其组件(包括开发端点)的安全并维护该安全。 示例2:保护整个SDLC中的软件开发过程的安全,包括正在开发的软件所使用的开源和其他第三方软件组件的安全性。 示例3:至少每年审查和更新一次安全要求,如果内部或外部来源有新的要求,或者发生了针对软件开发基础设施的重大安全事件,应尽快审查和更新安全要求。 示例4:就即将发生的需求变更对相关角色进行培训。不一一展示,需要原文件可私信我获取
PO.1.2:确定并记录所开发软件要满足的所有安全要求,并长期维护这些要求。示例1:定义并指定基于风险的软件体系结构和设计需求的策略,例如使代码模块化以促进代码重用和更新;在执行期间将安全组件与其他组件隔离;避免未记录的命令和设置;提供相关功能帮助软件收购者安全部署、操作和维护软件。 示例2:定义并规定组织软件安全要求的策略,并在SDLC中的关键点验证合规性(例如,由gates验证的软件缺陷类别、对已发布软件中漏洞的实时响应)。 示例3:分析适用技术堆栈(例如,语言、环境、部署模型)的风险,并建议或要求使用风险较低的堆栈。 示例4:根据SDLC模型、软件寿命及其他因素,指定每个软件版本需要归档的内容(例如,代码、包文件、第三方库、文档、数据清单)以及需要保留多长时间。 示例5:确保策略覆盖整个软件生命周期,包括通知用户软件支持即将结束和软件寿命终止的日期。 示例6:至少每年审查一次所有安全要求,如果内部或外部来源有新的要求,发布的软件中发现了重大漏洞,或者发生了针对组织开发的软件的重大安全事件,应尽早审查。 示例7:建立并遵循处理需求异常请求的流程,包括对所有已批准的异常请求进行定期审查。
PO.1.3:将要求传达给向组织提供商业软件组件的所有第三方。[原PW.3.1]示例1:定义软件组件的核心安全需求集,并将其包含在采购文档、软件合同和与第三方签订的其他协议中。 示例2:定义选择软件的安全相关标准;标准可以包括第三方的漏洞披露计划和产品安全事件响应能力,或者第三方对相关方面的履约情况。 示例3:要求第三方证明其软件符合组织的安全要求。 示例4:要求第三方为其软件的所有组件提供来源数据和完整性验证机制。 示例5:当需要购买的第三方软件组件不符合安全要求时,要建立并遵循流程以解决风险;对所有已批准的例外需求情况的定期审查也应该这样。
实践2(组织准备)任务概念实现参考示例参考
实施角色和责(PO.2):

确保参与SDLC的组织内外的每个人都能够在整个SDLC中履行与SDLC相关的角色和责任。
PO.2.1:根据需要创建新角色或调整现有角色的职责,以涵盖SDLC的所有部分。定期审查和维护已定义的角色和职责,并根据需要定期更新。示例1:明确软件开发团队中所有成员在SDLC中的角色和职责。 示例2:将安全角色集成到软件开发团队中。 示例3:明确网络安全员工、安全负责人、项目经理和主管、高级管理层、软件开发人员、软件测试人员、软件保证主管和员工、产品所有者、运营和平台工程师以及参与SDLC的其他人员的角色和职责。 示例4:对所有角色和责任进行年度审查。 示例5:如果角色和责任发生变更,要提前对相关人员进行培训,并确认其理解这些变更并同意遵守这些变更。 示例6:采用相关工具和流程,促进具有SDLC相关角色和职责的个人之间的沟通和参与,例如为团队讨论创建消息传递渠道。 示例7:为每一个项目都指定一个组或一个团队作为代码所有者。不一一展示,需要原文件可私信我获取
PO.2.2:为所有负责安全开发的人员提供基于角色的培训。定期审查人员熟练程度和参与培训的情况,并根据需要更新培训。示例1:记录每个角色的预期培训结果。 示例2:为实现每个角色的预期结果设计培训或课程类型。 示例3:为每个角色创建培训计划。 示例4:根据不同组织地需求,定制化地为每一个角色设计培训内容。 示例5:制定绩效指标,不断优化培训的效果。
PO.2.3:向最高管理层或相关授权人员获取获取有关安全发展的承诺,并将这份承诺传达给与之相关的所有角色和相关人。示例1:指定一个领导者或领导团队,负责整个安全软件开发过程,包括负责将软件发布到生产环境,并在适当的时候委派职责。 示例2:提高授权人对在整个开发生命周期中不集成安全性的情况下开发软件的风险以及安全开发实践提供的风险缓解的认识。 示例2:提高授权人对开发软件的风险的认识,对整个开发生命周期中的集成安全性以及安全开发实践保持足够的重视。 示例3:协助上级管理层将安全的开发的相关要求纳入到与具有开发相关角色和职责的人员的沟通中。 示例4:对所有相关的角色和职责的人员进行培训,使其了解高级管理层对安全发展的承诺以及安全发展对组织的重要性。
实践3(组织准备)任务概念实现参考示例参考
实施支持工具(PO.3):

使用自动化减少人力,提高整个SDLC中安全实践的准确性、可重复性、可用性和全面性,并提供记录和演示这些实践使用的方法。工具链和工具可以在组织的不同层次使用,例如组织范围或特定项目,并且可以处理SDLC的特定部分,就像构建管道一样。
PO.3.1:明确每个工具链中必须或应该包含哪些工具或工具类型,以及工具链组件如何相互集成,以减轻已识别的风险。示例1:定义工具链的类别,并指定每个类别要强制使用的工具或工具类型。 示例2:确定要集成到开发人员工具链中的安全工具。 示例3:定义在工具之间需要传递的信息以及要使用的数据格式。 示例4:评估工具的签名能力,以创建不可变的记录/日志,以便在工具链中进行审核。 示例5:使用自动化技术进行工具链的管理和编排。不一一展示,需要原文件可私信我获取
PO.3.2:遵循推荐的安全实践来部署、操作和维护工具以及工具链。示例1:评估、选择和获取工具,并评估每个工具的安全性。 示例2:将工具与现有的其他工具以及软件开发过程与工作流集成。 示例3:将基于代码的配置用于工具链(例如,管道即代码、工具链即代码)。 示例4:实现可重复构建所需的技术和过程。 示例5:根据需要更新、升级或更换工具,以解决工具漏洞或添加新的工具功能。 示例6:持续监控工具和工具日志,实时发现潜在的操作和安全问题,包括策略违规和异常行为。 示例7:定期验证工具的完整性并检查每个工具的来源,以识别潜在问题。 示例8:关于编译器、解释器和构建工具,请参见PW.6。 示例9:关于实施和维护安全环境,请参见PO.5。
PO.3.3:配置工具以生成支持组织定义的安全软件开发实践的Artifact。示例1:使用现有的工具(例如,工作流跟踪、问题跟踪、价值流映射)来创建安全开发相关行为的审计跟踪,帮助组织持续改进。 示例2:确定应该多久对收集的信息进行一次审核,并实施必要的流程。 示例3:为Artifact数据建立并实施安全和保留策略。 示例4:将工具无法生成的Artifact分配下去。
实践4(组织准备)任务概念实现参考示例参考
定义和使用软件安全检查标准(PO.4): 在开发期间,通过定义和使用检查软件安全性的标准,确保由SDLC产生的软件满足组织的期望。PO.4.1:定义软件安全检查的标准,并跟踪整个SDLC。示例1:确保标准充分表明如何有效地管理安全风险。 示例2:定义关键性能指标(KPI)、关键风险指标(kri)、漏洞严重性分数以及其他软件安全度量。 示例3:将软件安全标准添加到现有检查中(例如,敏捷SDLC方法中完成的定义)。 示例4:检查作为软件开发工作流系统的一部分而生成的Artifact,以确定它们是否满足标准。 示例5:将安全检查批准、拒绝和例外请求记录作为工作流和跟踪系统的一部分。 示例6:分析收集每个开发项目的安全成功和失败的上下文中的数据,并使用结果改进SDLC。不一一展示,需要原文件可私信我获取
PO.4.2:实施流程、机制等,以收集和保护支持标准的必要信息。示例1:使用工具链自动收集信息,为安全决策提供信息。 示例2:如果需要,部署额外的工具来支持支持标准的信息的生成和收集。 示例3:利用标准自动化决策过程,并定期审查这些过程。 示例4:仅允许授权人员访问收集的信息,并防止对信息进行任何更改或删除。
实践5(组织准备)任务概念实现参考示例参考
实施和维护安全的软件开发环境(PO.5): 确保软件开发环境的所有组件都受到强有力的保护,免受内部和外部威胁,以防止环境或其中正在开发或维护的软件受到损害。软件开发环境包括开发、构建、测试和分发环境。PO.5.1:隔离和保护软件开发中涉及的每个环境。示例1:对每个环境使用多因素、基于风险的身份验证和条件访问。 示例2:使用网络隔离和访问控制将环境彼此隔离,并与生产环境隔离,并将每个非生产环境中的组件相互隔离,以减少攻击面和攻击者的横向移动以及权限/访问升级。 示例3:强制身份验证并严格限制进入和退出每个软件开发环境的连接,包括尽量减少对互联网的访问。 示例4:尽量减少对工具链系统(如构建服务)的直接人工访问。持续监控和审核所有访问尝试和所有特权访问的使用。 示例5:尽量减少使用生产环境软件以及来自非生产环境的服务。 示例6:定期记录、监控和审核环境之间以及每个环境中的组件之间的授权和访问信任关系。 示例7:持续记录和监控开发环境所有组件的操作和警报,以检测、响应和恢复未遂和实际的网络事故。 示例8:配置隔离和保护环境所涉及的安全控制和工具,以生成其活动的Artifact。 示例9:持续监控每个环境中部署的所有软件是否存在新的漏洞,并按照基于风险的方法对漏洞做出适当响应。 示例10:配置并实施措施,以确保环境的托管基础架构遵循零信任架构。不一一展示,需要原文件可私信我获取
PO.5.2:保护和强化开发端点(即软件设计人员、开发人员、测试人员、构建人员等的端点),使用基于风险的方法执行开发相关任务。示例1:根据批准的强化指南、清单等配置每个开发端点。;例如,对所有静态和传输中的敏感数据启用符合FIPS标准的加密。 示例2:配置每个开发端点和开发资源,以提供用户和服务所需的最少功能,并实施最小特权原则。 示例3:持续监控所有开发端点的安全状况,包括监控和审计所有特权访问的使用。 示例4:配置安全控制和其他涉及保护和加固开发端点的工具,为其活动生成Artifact。 示例5:要求对开发端点和开发资源的所有访问进行多因素身份验证。 示例6:在非生产网络上提供专用的开发端点,用于执行所有与开发相关的任务。在生产网络上为所有其他任务提供单独的端点。 示例7:按照零信任架构配置每个开发端点。

以上是安全软件开发框架(SSDF)1.1版本中的组织准备部分的全部内容,后面会继续为大家整理软件保护部分、可靠软件生产部分和漏洞响应部分,欢迎大家继续关注。

(谢绝转载,更多内容可查看我的主页)

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

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

相关文章

【Nginx05】Nginx学习:HTTP核心模块(二)Server

Nginx学习:HTTP核心模块(二)Server 第一个重要的子模块就是这个 Server 相关的模块。Server 代表服务的意思,其实就是这个 Nginx 的 HTTP 服务端所能提供的服务。或者更直白点说,就是虚拟主机的配置。通过 Server &…

SpringBoot操作Excel实现导入和导出功能(详细讲解+Gitee源码)

前言:在日常的开发中,避免不了操作Excel,比如从系统当中导出一个报表,或者通过解析客户上传的Excel文件进行批量解析数据入库等等,本篇博客主要汇总日常开发中如何使用开源的Apache提供的POI流操作Excel进行导入导出功…

el-dialog 层级问题混乱

使用 element -UI 的弹窗时,一般来说弹窗的层级应该比较高,背景置灰。 下边这个弹窗是正常情况下的: 有时候出现这样的情况: 解决问题: 只需要 在标签里边添加 append-to-body 属性问题就解决了。

WPF TextBox 添加范围验证

WPF TextBox 添加范围验证 添加范围验证,若出现范围错误添加信息捕捉 使用到技术:使用ValidationRules实现范围验证,当范围出现错误时,可以通过触发器Validation.HasErrorTrue设置自定义错误样式。 使用Behavior技术捕捉所有验证…

1-Nginx介绍及安装(源码安装)

1.Nginx介绍 Nginx(engine x)是一个轻量级、高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。 Nginx特点: ->占用内存少 ->并发能力强(3W/S) 2.Nginx安装 2.1.环境 [rootcentos79-3 ~]# cat /etc/redha…

未来网站开发必备:14个让你惊艳的JavaScript Web API!

微信搜索 【大迁世界】, 我会第一时间和你分享前端行业趋势,学习途径等等。 本文 GitHub https://github.com/qq449245884/xiaozhi 已收录,有一线大厂面试完整考点、资料以及我的系列文章。 快来免费体验ChatGpt plus版本的,我们出的钱 体验地…

进制(数制)及进制之间的转换汇总(超详细)

进制是一种表示数字的方法,它决定了数字在数值系统中的位置和权值。常见的进制包括十进制、二进制、八进制和十六进制。 1. 十进制(decimal): 十进制是我们日常生活中最常用的进制,使用0-9这10个数字来表示。每一位的…

小研报 - 神奇的 SD 图(InsCode Stable Diffusion 美图活动一期)

一、 Stable Diffusion 模型 在线使用地址:https://inscode.csdn.net/inscode/Stable-Diffusion 二、模型版本及相关配置 Steps: 20, Sampler: Euler a, CFG scale: 7, Seed: 2391134711, Size: 512x512, Model hash: 74c61c3a52, Model: GuoFeng3, Version: v1.2…

【应用笔记】CW32 电容式触摸按键设计指南

前言 CW32 电容式触摸按键设计指南向客户提供一种利用 CW32 内部资源结合软件编程实现电容式触摸按键有效 触摸检测的方法。本指南的内容重点在于工作原理、软件检测过程以及调试指引。 利用芯源半导体的 CW32 系列小规模 MCU 的 IO、比较器、定时器、高速高精度内置 RC 时钟…

C++ 实现跳表

目录 1.什么是跳表-skiplist 2.skiplist的效率如何保证? 3.skiplist的实现 4.skiplist跟平衡搜索树和哈希表的对比 1.什么是跳表-skiplist skiplist 本质上也是一种查找结构,用于解决算法中的查找问题,跟平衡搜索树和哈希表的价值是一样…

计算机毕业论文内容参考|基于C的空中战机游戏设计与实现

文章目录 导文文章重点摘要前言绪论1课题背景2国内外现状与趋势3课题内容相关技术与方法介绍系统分析系统设计系统实现系统测试总结与展望1本文总结2后续工作展望导文 计算机毕业论文内容参考|基于C的空中战机游戏设计与实现 文章重点 摘要 本文将介绍基于C编程语言的空中战机…

【电影推荐系统】数据加载

目录 数据集 解释 movie.csv ratings.csv tag.csv 数据预处理 mongodb 将数据按照csv文件里的分割符进行分割,转换为DF Moive Rating Tag es 将mongo集合tag 根据mid tag > mid tags(tag1|tag2|tag3...) moive 添加一列 tags 导入后数据库信息 mong…

python爬虫_正则表达式获取天气预报并用echarts折线图显示

文章目录 ⭐前言⭐python re库💖 re.match函数💖 re.search函数💖 re.compile 函数 ⭐正则获取天气预报💖 正则实现页面内容提取💖 echarts的天气折现图 ⭐结束 ⭐前言 大家好,我是yma16,本文分…

SpringBoot使用EasyExcel批量导出500万数据

SpringBoot使用EasyExcel批量导出500万数据 说明excel版本比较EasyExcel介绍项目目录mysql对应表建表语句pom.xmlapplication.yml配置类启动类代码OrderInfo 实体类OrderInfoExcel excel模版标题类(EasyExcel需要使用这个)TestController控制层接口层TestServiceTestServiceImp…

L298N模块驱动2项4线步进电机的多种方法及其优缺点

摘要:本文将详细介绍L298N模块驱动2项4线步进电机的多种方法,并分析各种方法的优缺点。在实例程序中,将展示不同方法的代码示例,帮助读者理解并实际应用。 引言: 步进电机作为一种常用的电机类型,在许多嵌入…

估值 2 个月从 11 亿美元降到 3 亿美元,投资人清仓跑路,国产大模型创业遇冷...

图片来源:由无界 AI生成 创业未半,而中道崩殂。 6 月 29 日,美团发布公告以 20.65 亿元全资收购光年之外全部权益,距离光年之外正式营业刚过去 84 天。 这是目前中国大模型创业领域最大的收购案,光年之外也在 4 个月时…

HTML5 游戏开发实战 | 黑白棋

黑白棋,又叫反棋(Reversi)、奥赛罗棋(Othello)、苹果棋、翻转棋。黑白棋在西方和日本很流行。游戏通过相互翻转对方的棋子,最后以棋盘上谁的棋子多来判断胜负。黑白棋的棋盘是一个有88方格的棋盘。开始时在棋盘正中有两白两黑四个棋子交叉放置&#xff0…

观察级水下机器人第一次使用总结2023年6月

最近有个科研项目需要用到ROV,其合同三年之前就签订了,由于疫情的影响,一直没有执行。刚好我们的ROV也验收了,正好派上用场。因为属于ROV使用的菜鸟级,我们邀请厂家无锡智海张工和陈工,中海辉固ROV操作经验…

纵向越权-业务安全测试实操(32)

纵向越权 某办公系统普通用户权限越权提升为系统权限 服务器为鉴别客户端浏览器会话及身份信息,会将用户身份信息存储在 Cookie中, 并发送至客户端存储。攻击者通过尝试修改Cookie中的身份标识为管理员,欺骗服务器分 配管理员权限,达到垂直越权的目的,如图所示。 某办公系…

「原汤话原食」更名「记者下班」,一切才刚刚开始

大家好,我是《原汤话原食》的小黑。这可能是我最后一次这样介绍自己。 毕竟,以后,我就得说,我是《记者下班》的小黑了。 事情是这样的: 2023年7月5日,津津乐道播客网络旗下《原汤话原食》节目正式更名为《记…