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

这篇具有很好参考价值的文章主要介绍了《安全软件开发框架(SSDF) 1.1:降低软件漏洞风险的建议》解读(六)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

 

实践5(生产安全可靠的软件) 任务 概念实现参考示例 参考
遵守安全编码实践创建源代码(PW.5): 减少软件中的安全漏洞数量,并通过最大限度地减少源代码创建过程中引入的符合或超过组织定义的漏洞严重性标准的漏洞来降低成本。 PW.5.1:遵循适合开发语言和环境的所有安全编码实践,以满足组织的要求。 示例1:验证所有输入,对所有输出进行验证和正确编码。


示例2:避免使用不安全的函数和调用。


示例3:检测错误,并妥善处理。


示例4:提供日志记录和跟踪功能。


示例5:使用具有自动化功能的开发环境,开发环境应该鼓励或要求使用实时的、培训到位的安全编码实践。


示例6:当自动化方法不足或不可用时,手动遵循确保遵守安全编码实践的程序。


示例7:使用工具(例如,linters、formatters)来标准化源代码的样式和格式。


示例8:检查开发语言和环境中常见的其他漏洞。


示例9:让开发人员审查自己的人类可读代码(human-readable code),以补充(非取代)其他人或工具执行的代码审查。参见PW.7。
不一一展示,需要原文件可私信我获取
PW.5.2:移至PW.5.1作为示例
实践6(生产安全可靠的软件) 任务 概念实现参考示例 参考
配置编译、解释器和构建过程以提高可执行文件的安全性(PW.6): 通过在测试之前消除漏洞,减少软件中的安全漏洞数量并降低成本。 PW.6.1:使用编译器、解释器和构建工具,些工具可以提供提高可执行文件安全性的功能。 示例1:使用最新版本的编译器、解释器和构建工具。

示例2:在部署或更新编译器、解释器和构建工具时,遵循更改管理流程,并审核工具的所有意外变更。


示例3:定期验证编译器、解释器和构建工具的真实性和完整性。参见PO.3。
不一一展示,需要原文件可私信我获取
PW.6.2:确定应使用哪种编译器、解释器和构建工具功能,以及应如何配置每种功能,然后实施和使用批准的配置。 示例1:启用编译器功能,这些功能会在编译过程中对安全性较差的代码发出警告。

示例2:实现“干净构建”理念,将所有编译器警告视为错误并消除,被确定为误报或无关的警告除外。


示例3:在一个专用的、高度受控的构建环境中执行所有的构建。


示例4:启用使执行特征随机化或模糊化的编译器功能,例如内存位置使用,否则这些执行特征是可预测的,因此可能被利用。


示例5:进行测试以确保功能按预期运行,并且不会无意中导致任何操作问题或其他问题。


示例6:持续验证批准的配置是否正在使用。


示例7:将已批准的工具配置作为配置代码提供,以便开发人员可以方便地使用它们。
实践7(保护软件) 任务 概念实现参考示例 参考
审查和/或分析人工可读代码(Human-Readable Code),以识别漏洞并验证是否符合安全要求(PW.7): 帮助识别漏洞,以便在软件发布之前对其进行更正,以防止被利用。使用自动化方法可以减少检测漏洞所需的工作量和资源。人工可读代码包括源代码、脚本和组织认为人工可读的任何其他形式的代码。 PW.7.1:根据组织的定义,确定是否应该使用代码审查(一人工直接查看代码以发现问题)和/或代码分析(使用工具来发现代码中的问题,以完全自动化的方式,或与人工审查相结合的方式)。 示例1:遵循组织的政策或指导方针,确定何时进行代码审查以及如何进行代码审查。这可能包括第三方代码和内部编写的可重用代码模块。

示例2:遵循组织的政策或指导方针,了解何时应该执行代码分析,以及应该如何进行。


示例3:根据软件的阶段选择代码审查和/或分析方法。
不一一展示,需要原文件可私信我获取
PW.7.2:根据组织的安全编码标准执行代码审查和/或代码分析,并在开发团队的工作流程或问题跟踪系统中记录和分类所有发现的问题和建议的补救措施。 示例1:执行代码的同行评审,对所有的代码审计进行审查,并把分析或测试结果作为同行评审的一部分。


示例2:使用专家评审员检查代码中是否存在后门和其他恶意内容。


示例3:使用有助于同行评审过程的同行评审工具,并记录所有讨论和其他反馈。


示例4:使用静态分析工具自动检查代码是否存在漏洞,以及是否符合组织的安全编码标准,同时由人工检查工具报告的问题,并在必要时进行补救。 示


例5:使用审查清单来验证代码是否符合要求。


示例6:当人工可读 代码被检入代码存储库时,使用自动化的工具持续地识别和修复文档化的和验证的不安全的软件实践。 示例7:识别并记录发现问题的根本原因。 示例8:在开发人员可以访问和搜索的wiki中记录从代码审查和分析中获得的经验教训。
实践8(保护软件) 任务 概念实现参考示例 参考
测试可执行代码以识别漏洞并验证是否符合安全要求(PW.8): 帮助识别漏洞,以便在软件发布之前对其进行更正,以防止被利用。使用自动化方法可以减少检测漏洞所需的工作量和资源,并提高可追溯性和可重复性。可执行代码包括二进制文件、直接执行的字节码和源代码,以及组织认为可执行的任何其他形式的代码。 PW.8.1:确定是否应执行可执行代码测试,以发现先前审查、分析或测试未发现的漏洞,如果需要,应使用哪种类型的测试。 示例1:遵循组织的政策或指导方针,确定何时进行代码测试以及如何进行代码测试(例如,在沙盒环境中)。这可能包括第三方可执行代码和内部编写的可重复使用的可执行代码模块。

示例2:根据软件的阶段选择测试方法。
不一一展示,需要原文件可私信我获取
PW.8.2:确定测试范围,设计测试,执行测试,并记录结果。记录和分类所有在开发团队的工作流或问题跟踪系统中发现的问题和建议的补救措施。 示例1:对安全功能进行健壮功能测试


示例2:将动态漏洞测试集成到项目的自动化测试套件中。


示例3:将以前报告的漏洞测试纳入项目的测试套件,以确保不会重新引入错误。


示例4:在制定测试计划时,要考虑软件在生产中使用的基础设施和技术堆栈。


示例5:使用模糊测试工具来发现输入处理的问题。


示例6:如果资源可用,使用渗透测试来模拟攻击者在高风险情况下如何试图破坏软件。


示例7:识别并记录发现问题的根本原因。


示例8:在开发人员可以访问和搜索的wiki中记录从代码测试中获得的经验教训。


示例9:在开发测试计划时使用源代码、设计记录和其他资源。
实践9(保护软件) 任务 概念实现参考示例 参考
将软件配置为默认具有安全设置(PW.9): 在安装时帮助提高软件的安全性,以降低软件部署时安全设置薄弱的可能性,从而避免更大的泄露风险。 PW.9.1:通过确定如何配置对安全有影响的每个设置或与安全相关的设置来定义安全基线,以便默认设置是安全的,确保不会削弱平台、网络基础设施或服务提供的安全功能。 示例1:进行测试,以确保设置(包括默认设置)按预期工作,并且不会无意中导致任何安全缺陷、操作问题或其他问题。 不一一展示,需要原文件可私信我获取
PW.9.2:实现默认设置(或默认设置组,如果适用),并为软件管理员记录每个设置。 示例1:验证已批准的软件配置是否到位。


示例2:记录每个设置的用途、选项、默认值、安全相关性、潜在的操作影响以及与其他设置的关系。


示例3:使用权威的、有规划的编程机制,来记录软件管理员如何实现和评估每个设置。


示例4:以可用的格式存储默认配置,并遵循更改控制要求进行修改(例如,将配置作为代码)。

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


(谢绝转载,更多内容可查看我的主页)文章来源地址https://www.toymoban.com/news/detail-538203.html

到了这里,关于《安全软件开发框架(SSDF) 1.1:降低软件漏洞风险的建议》解读(六)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 软件外包开发的VUE开发框架

    Vue.js(通常简称为Vue)是一个流行的渐进式JavaScript框架,用于构建用户界面。它的核心库专注于视图层,但也可以结合其他库和工具来构建完整的单页面应用(SPA)。以下分享Vue.js的开发框架和特点,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公

    2024年02月13日
    浏览(66)
  • 间谍软件开发商利用漏洞利用链攻击移动生态系统

    导语:间谍软件开发商结合使用了零日漏洞和已知漏洞。谷歌TAG的研究人员督促厂商和用户应加快给移动设备打补丁的步伐。 间谍软件开发商利用漏洞利用链攻击移动生态系统去年,几家商业间谍软件开发商开发并利用了针对 iOS 和安卓用户的零日漏洞。然而,它们的漏洞利

    2024年02月09日
    浏览(48)
  • C#软件外包开发框架

    C# 是一种由微软开发的多范式编程语言,常用于开发各种类型的应用程序,从桌面应用程序到移动应用程序和Web应用程序。在 C# 开发中,有许多框架和库可供使用,用于简化开发过程、提高效率并实现特定的功能。下面和大家分享一些常见的 C# 开发框架,希望对大家有所帮

    2024年02月12日
    浏览(45)
  • AI数字人软件系统开发框架

    AI数字人(AI Digital Human)开发涉及到多个领域,包括自然语言处理、计算机视觉、声音合成、人机交互等。以下是一些用于开发AI数字人的开发框架和工具,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合作。 1.Unity MARS :Unity MARS是

    2024年02月09日
    浏览(49)
  • 开发安全、软件供应链安全及开源软件安全的概念差异

    开发安全、软件供应链安全和开源软件安全是在软件生命周期中不同阶段涉及到的安全概念,它们有着一些共同点,同时也存在一些显著的差异。以下是它们之间的比较总结: 范围 : 开发安全 :关注于整个软件开发过程中的安全性,包括代码编写、测试、部署等环节。 软

    2024年03月14日
    浏览(93)
  • 软件测试 | 测试开发 | Django+Celery框架自动化定时任务开发

    ** 本章介绍使用DjCelery即Django+Celery框架开发定时任务功能,在Autotestplat平台上实现单一接口自动化测试脚本、业务场景接口自动化测试脚本、App自动化测试脚本、Web自动化测试脚本等任务的定时执行、调度、管理等,从而取代Jenkins上的定时执行脚本和发送邮件等功能。** 自动

    2023年04月08日
    浏览(56)
  • 详解自动驾驶安全软件开发流程

    1 引言 自动驾驶汽车开发越来越重视性能、质量和性价比,自动驾驶口碑成为新技术应用取得市场成功的关键,而口碑的建立依赖于相关软件开发流程、周期、时间和质量。一家汽车企业只有拥有或者其软件开发供应商具有成熟的软件开发团队、软件开发流程、可复用的软件

    2024年02月08日
    浏览(46)
  • 软件开发企业SDL安全培训案例

    随着计算机技术的发展、internet及mobile应用的普遍使用,软件安全像功能、性能、稳定性一样是计算机系统的一个非常重要部分。没有安全的软件,任何美好的功能都是徒劳的,没有安全的软件,公司的机密数据、客户隐私、系统的可靠性都得不到保障.如何有效评估、开发安全、可

    2024年02月11日
    浏览(36)
  • 桌面软件开发框架 Electron、Qt、WPF 和 WinForms 怎么选?

    Electron 是一个基于 Web 技术的跨平台桌面应用程序开发框架。它使用 HTML、CSS 和 JavaScript 来构建应用程序界面,并借助 Chromium 渲染引擎提供强大的页面渲染能力。Electron 的主要特点包括: 跨平台:Electron 可以在 Windows、macOS 和 Linux 等多个主流操作系统上运行,为开发者提供了

    2024年02月12日
    浏览(48)
  • 软件开发中如何安全传输存储用户密码?

    前言 我们开发网站或者APP的时候,首先要解决的问题,就是 「如何安全传输和存储用户的密码」 。一些大公司的用户数据库泄露事件也时有发生,带来非常大的负面影响。因此,如何安全传输存储用户密码,是每位程序员必备的基础。本文将跟大家一起学习,如何安全传输

    2024年04月12日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包