安全设计 | CISA:构建不可侵犯的代码,软件安全设计的未来之路

软件制造商在产品设计和开发过程中应采取安全设计原则和方法,以减少网络安全风险,并转变责任重心,使产品在设计时就内置安全特性,而不是依赖于后期的补丁和修复。为此CISA发布了《软件安全设计的原则和方法》,帮助软件制造商确保其产品的安全性,并鼓励全球合作伙伴共同努力提高软件安全标准。

1. 概览

互联网几乎融入了我们日常生活的每个方面,他直接影响到我们的经济繁荣、生计甚至健康。互联网在带来便利的同时也产生了一个缺点,即不安全的技术和关键系统中的漏洞可能会引发恶意网络入侵,产生全球性的网络安全事件。

因此,软件制造商必须将安全设计和默认安全作为产品设计和开发过程的焦点。CISA(网络安全和基础设施管理局)鼓励软件制造商彻底改革他们的设计和开发程序,只允许安全设计和默认安全的产品出货。

  • 安全设计的产品从开发之前就以安全为目标,再有产品可以通过多次迭代逐步演变为安全设计状态
  • 默认安全的产品是指"开箱即用"的安全,几乎不需要进行配置更改,且安全功能无需额外成本即可使用。

以上两种理念共同将保持安全的大部分责任转移到制造商身上,并减少客户因配置不当、客户打补丁速度不够快或许多其他常见问题而成为安全事件受害者的机会。

2. 安全设计的原则与方法

安全设计(Secure by Design)是一种软件开发方法,旨在从一开始就将安全性纳入产品的设计和开发过程中。以下是一些核心原则和方法。

2.1. 安全设计的原则

  1. 拥有客户安全成果的责任(Take Ownership of Customer Security Outcomes): 软件制造商应该负责确保他们的产品设计和开发具有安全性,而不仅仅是在产品发布后修补漏洞。
  2. 拥抱彻底的透明度和问责制(Embrace Radical Transparency and Accountability): 制造商应该对外公开他们的安全实践和漏洞信息,以及他们如何处理安全事件。
  3. 由高层牵引(Lead from the Top): 高级管理层应该将安全性视为产品开发的核心要素,并在整个组织中推动这一理念。

2.2. 安全设计的方法

  1. 威胁建模(Threat Modeling): 在产品设计阶段,通过威胁建模来识别潜在的安全威胁,并在产品蓝图中包含相应的保护措施。
  2. 最小权限原则(Principle of Least Privilege): 确保系统组件仅拥有完成其功能所必需的最小权限集合。
  3. 安全默认设置(Secure by Default): 产品应该默认启用最重要的安全控制,而不需要用户进行额外的配置。
  4. 纵深防御(Defense in Depth): 通过多层防御策略来保护系统,即使攻击者突破了一层防线,还有其他层可以阻止他们。
  5. 安全编码实践(Secure Coding Practices): 遵循安全编码标准和最佳实践,例如输入验证、代码审查和使用安全的编程语言。
  6. 持续监控和响应(Continuous Monitoring and Response): 实施持续的监控机制来检测和响应安全事件。
  7. 安全更新和补丁管理(Security Patching and Update Management): 快速响应安全漏洞,提供及时的更新和补丁来修复已知问题。
  8. 隐私保护设计(Privacy by Design): 在设计阶段就考虑用户隐私,确保个人数据的安全和合规性。

通过遵循这些原则和方法,软件制造商可以创建更加安全的产品,减少安全漏洞的风险,并提高整体的网络安全态势。

3. 总结

CISA发布的《软件安全设计的原则和方法》文档提供了一系列具体的建议和策略,包括威胁建模、最小权限原则、默认安全配置、纵深防御、安全编码实践、持续监控和响应、安全更新和补丁管理等,以帮助软件制造商实现这些原则 。

文档强调了国际合作的重要性,并呼吁行业反馈,以共同提高全球软件安全标准。通过这些努力,文档旨在促进一个更安全、更有韧性的技术生态系统,其中技术产品在设计和默认状态下都是安全的。

若想了解更多关于软件安全设计的原则和方法的详细指导,可以参阅:

  • Secure By Design_1025_508c.pdf (共36页,访问密码: 6277)

4. 参考链接

  • https://www.cisa.gov/securebydesign

推荐阅读:

  • 安全设计 | 68家国内外科技巨头和安全巨头参与了CISA发起的安全设计承诺,包含MFA、默认密码、CVE、VDP等七大承诺目标
  • 安全设计 | Microsoft 威胁建模工具Threat Modeling Tool安装、使用及威胁生成原理详解(文末附样例)
  • 安全设计 | 安全设计不得马虎!微软STRIDE威胁建模方法让你事半功倍,快速发现应用安全隐患!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Windows11平台在VS2022上通过CMake安装C++绘图库ROOT库

Root库是一个功能强大的开源软件框架,用于数据分析、可视化和存储。它最初是为高能物理实验设计的,但现在已经广泛应用于各种科学领域和工程应用中。Root库使用C编写,提供了许多用于数据处理和分析的工具和算法。它的核心功能包括数据存储、数…

6.Redis之String命令

1.String类型基本介绍 redis 所有的 key 都是字符串, value 的类型是存在差异的~~ 一般来说,redis 遇到乱码问题的概率更小~~ Redis 中的字符串,直接就是按照二进制数据的方式存储的. (不会做任何的编码转换【讲 mysql 的时候,知道 mysql 默认的字符集, 是拉丁文,插入中文…

等保2.0看这一篇就够了

一、等级保护介绍 1.1什么是等级保护 网络安全等级保护是指对国家重要信息、法人和其他组织及公民的专有信息以及信息和存储、传输、处理这些信息的信息系统分等级实行安全保护,对信息系统中使用的信息安全产品实行按等级管理,对信息系统中发生的信息安…

微火问答:全域外卖和本地生活服务是同个项目吗?

当前,本地生活赛道火爆程度不断升级,作为其主要板块之一的团购外卖也持续迸发出新的活力。而全域运营的出现无疑是给团购外卖这把正在熊熊燃烧的烈火,又添了一把新柴! 所谓全域运营,简单来说,就是指所有领…

SAP-技巧篇实现GUI免密码登录

做为上千万的软件怎么会没有免密码登录呢 01 — 背景需求 如何实现SAP GUI免密码登录,不输入密码实现系统自动登录。 免责声明:谨慎设置,因免密登录导致数据泄密,作者概不负责。 02 — 实现 客户端要求:SAP G…

VMware创建虚拟机

1.自定义 2.选择硬件兼容性 3.创建一个空白硬盘 4.选择操作系统和版本 5.设置虚拟机名称以及安装位置 6.处理器配置 7.设置虚拟机内存 8.设置网络类型 8.选择IO控制器 9.选择磁盘类型 10.创建一个新硬盘 11.设置磁盘容量以及磁盘个数 12.设置磁盘文件名称(默认) 13.点击完成创建…

从0开始学统计-P值

1.P值是什么? P值(P-value)是假设检验中的一个重要指标,用于衡量样本数据对于零假设的支持程度。具体来说,P值表示在假设零假设为真的情况下,观察到的样本数据或更极端情况出现的概率。 通常情况下&#…

蓝桥杯-班级活动

题目描述 小明的老师准备组织一次班级活动。班上一共有 ( n ) 名(( n ) 为偶数)同学,老师想把所有的同学进行分组,每两名同学一组。为了公平,老师给每名同学随机分配了一个 ( n ) 以内的正整数作为 id,第 …

KVM热迁移虚拟机+KSM内存页合并

KVM高级功能部署 文章目录 KVM高级功能部署资源列表基础环境一、静态迁移1.1.在源宿主机上准备虚拟机1.1.1、调试VNC1.1.2、创建虚拟机test011.1.3、console登录test01虚拟机1.1.4、标记虚拟机test01当前IP地址 2.1、提取磁盘和配置文件2.2.1、查看虚拟机test01当前状态2.2.2、…

vue+iview tabs context-menu 弹出框怎么修改样式

今天遇到一个需求说页面顶部的菜单右键弹出框离得有点远 代码是这样 <Tabs type"card" closable class"main-tags-col-tabs" v-model"activeTab" on-click"handleClickTag" :before-remove"handleBeforeRemove" capt…

没有telnet情况下判断主机端口是否开放的方法

没有telnet情况下判断主机端口是否开放的方法 方式一 ssh -v 101.132.64.231 -p 80显示结果 如果有显示 debug1: Connection established. 就说明端口是开放的 端口未开放的情况是显示 方式二 echo >/dev/tcp/101.132.64.231/3306效果如下 如果没有任何输出&#xff0c;…

深入了解Nodejs模块机制

深入了解Nodejs模块机制 我们都知道Nodejs遵循的是CommonJS规范&#xff0c;当我们require(moduleA)时&#xff0c;模块是怎么通过名字或者路径获取到模块的呢&#xff1f;首先要聊一下模块引用、模块定义、模块标识三个概念。 1 CommonJS规范 1.1 模块引用 模块上下文提供…

009-Linux的管道和重定向

文章目录 前言 一、重定向 1.1、FD简介 1.2、FD举例 1.3、重定向简介 1.3.1、输出重定向 正确输出&#xff1a; 错误输出 案例1&#xff1a;正确输出重定向 案例2&#xff1a;错误输出重定向 ​编辑 案例3&#xff1a;正确和错误都输出重定向到相同位置 1.3.2、输…

Redis - 缓存场景

学习资料 学习的黑马程序员哔站项目黑马点评&#xff0c;用作记录和探究原理。 Redis缓存 缓存 &#xff1a;就是数据交换的缓冲区&#xff0c;是存储数据的临时地方&#xff0c;读写性能较高 缓存常见的场景: 数据库查询加速&#xff1a;通过将频繁查询的数据缓存起来&…

C从零开始实现贪吃蛇大作战

个人主页&#xff1a;星纭-CSDN博客 系列文章专栏 : C语言 踏上取经路&#xff0c;比抵达灵山更重要&#xff01;一起努力一起进步&#xff01; 有关Win32API的知识点在上一篇文章&#xff1a; 目录 一.地图 1.控制台基本介绍 2.宽字符 1.本地化 2.类项 3.setlocale函…

推荐10款优秀的组件库(一)

1.Ant Desgin UI 网址&#xff1a; https://ant-design-mobile.antgroup.com/zh Ant Design - 一套企业级 UI 设计语言和 React 组件库 "Ant Design Mobile"是一个在线的移动端Web体验平台&#xff0c;让你探索移动端Web的体验极限。 添加图片注释&#xff0c;不…

5月26(信息差)

&#x1f30d; 珠峰登顶“堵车”后冰架断裂 5人坠崖 2人没爬上来&#xff01; 珠峰登顶“堵车”后冰架断裂 5人坠崖 2人没爬上来&#xff01; &#x1f384; Windows 11 Beta 22635.3646 预览版发布&#xff1a;中国大陆地区新增“微软电脑管家”应用 ✨ 成都限购解除即将满…

5.23.12 计算机视觉的 Inception 架构

1. 介绍 分类性能的提升往往会转化为各种应用领域中显着的质量提升&#xff0c;深度卷积架构的架构改进可用于提高大多数其他计算机视觉任务的性能&#xff0c;这些任务越来越依赖于高质量的学习视觉特征。在 AlexNet 功能无法与手工设计、制作的解决方案竞争的情况下&#xf…

能找伴侣的相亲婚恋平台有哪些?6款值得信赖的恋爱交友软件体验测评

在这个超快节奏的社会里&#xff0c;好多人都忙着搞事业和搞钱&#xff0c;却把终身大事给忽略了。但是随着年龄越来越大&#xff0c;来自长辈和社会的压力也越来越大&#xff0c;因此网络上的相亲交友软件&#xff0c;就成了大多数单身贵族的脱单首选了。下面就来给大家讲讲我…

Day06:Flex 布局

目标&#xff1a;熟练使用 Flex 完成结构化布局 一、标准流 标准流也叫文档流&#xff0c;指的是标签在页面中默认的排布规则&#xff0c;例如&#xff1a;块元素独占一行&#xff0c;行内元素可以一行显示多个。 二、浮动 1、基本使用 作用&#xff1a;让块元素水平排列。 …