1.6 基本安全设计准则

思维导图:

 

 1.6 基本安全设计准则笔记


目标:理解和遵循一套广泛认可的安全设计准则,以指导保护机制的开发。

主要准则

  1. 机制的经济性:安全机制应设计得简单、短小,便于测试和验证,减少漏洞和降低维护难度。
  2. 故障安全默认:默认应该是无访问权限,只有在核实条件满足时才允许访问。出现错误时更容易发现。
  3. 完整的监察:每个访问都要检查,不依赖缓存决策。例如,每次访问文件或数据库时,都需要执行访问控制。
  4. 开放的设计:安全机制的设计应公开,密钥保密,加密算法公开,增加用户对算法的信任。
  5. 权限分离:访问受限资源时需要多个权限属性。例如,多因素用户认证。
  6. 最小权限:执行任务所需的最小权限集。例如,基于角色的访问控制。

讨论点

  • 设计的简化性是关键,但在现实中可能是最难实现的,因为系统不断演进和添加新特性。
  • 故障安全默认值在多数文件访问系统和客户端/服务器系统中得到实现。
  • 在完整的监察准则中,资源密集型的监察方法很少使用。
  • 加密算法的开放性是建立其可靠性和信任的关键。
  • 权限分离和最小权限可以有效地减少潜在的损害和风险。

我的理解:

  • 机制的经济性:这个准则强调的是“简洁是美”。一个简单而直接的设计更容易被测试、验证和理解。复杂的设计提供了更多的缝隙和可能性供攻击者寻找和利用弱点。

  • 故障安全默认:这个概念建议采取一种“宁可错杀一千,不可放过一个”的策略。默认情况下,应拒绝所有访问请求,除非它们经过明确的验证和授权。

  • 完整的监察:这意味着安全系统不应偷懒。每次资源访问请求都应该经过验证,而不是仅依赖于之前的决策或缓存结果。

  • 开放的设计:安全不应该依赖于秘密的设计或实现,而是应该依赖于秘密的数据,如密钥。通过公开设计,可以让整个社区参与到评估和改进的过程中。

  • 权限分离:这是一个多重验证的概念。要访问某些特定的资源或执行某些操作,可能需要满足多个条件或具有多个授权。

  • 最小权限:这是“给予必要、拒绝多余”的概念。用户或程序只应该获得完成其任务所需的最小权限,这样即使出现安全问题,破坏也会最小化。

 

 

主要概念:

  1. 最低权限原则:

    • 为角色分配仅完成其功能所需的最低权限。
    • 只有在显式获得权限后才能访问资源。
    • 权限应根据时间限制进行调整。例如,系统管理员在执行普通任务时应收回特殊权限。
  2. 最小共同机制准则:

    • 尽量减少不同用户之间共享的功能。
    • 目标是减少非预期的通信路径和所有用户依赖的硬件和软件数量。
  3. 心理接受度准则:

    • 安全机制应尽量对用户透明。
    • 如果安全机制过于复杂或妨碍资源的使用,用户可能关闭它。
  4. 隔离准则:

    • 公共访问系统应与关键资源隔离。
    • 用户的进程和文件也应被隔离。
    • 安全机制自身也应隔离,以防止未经授权的访问。
  5. 密封准则:

    • 类似面向对象编程的封装,集合数据和过程来提供保护。
  6. 模块化准则:

    • 安全功能应作为独立的模块开发。
    • 公共的安全函数与服务应当作公共模块提供。
  7. 分层准则:

    • 使用多层叠加的保护方法。
    • 即使其中一层失败,整个系统依然受到保护。
  8. 最小意外准则:

    • 接口应使意外事故的处理响应最小化。
    • 安全机制应对用户透明,让用户能理解其工作方式。

 

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

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

相关文章

2023我和云栖有个约会

时间:2023.11.1 地点:云栖小镇 事件:约会 昨天刚在网上看到了有阿姨在云栖大会给自己女儿相亲的照片,今天直接就赶了过去。约会了一整天,虽然很累,但真的很值得。由于是第一次和云栖约会,那就…

《 博弈论教程(罗云峰版) 》——习题一答案

前言 博弈论这门课程,我们主要参考的教材是《博弈论教程(罗云峰版)》,但是罗老师的课后习题并没有给出完整的答案,秉着学习的态度,本人结合教材和 PPT 在这里给出课后习题的答案。 由于我们只学了完全信息静…

ps提示vcruntime140.dll无法继续执行此代码的多种解决方法分享

我在安装Photoshop软件时遇到了一个问题,即在运行过程中弹出了一个错误提示框,显示“由于找不到vcruntime140.dll,无法继续执行此代码”,我通过查找资料了解到vcruntime140.dll是一个动态链接库文件,它是Visual C Redi…

Physics2DPlugin3加载后会跳转gsap官网解决

因工作需要使用Physics2DPlugin3库,目标效果 加载他里面的在线js,使用效果正常,但是几秒会跳转官网,我们app内部、浏览器都会这样。 于是研究js代码,发现里面有setTimeout跳转。 删掉就好了 分享我改好的文件&#x…

Qwt 使用QwtDial绘制汽车仪表盘

1.概述 QwtDial是Qwt库中的一个类,用于绘制一个可旋转的仪表盘。 以下是类继承关系: 2.常用方法 void setOrigin(double origin) 设置仪表盘的原点角度,以度为单位,默认为0度,正值为逆时针旋转,负值为顺时…

探索C++中的不变之美:const与构造函数的深度剖析

W...Y的主页😊 代码仓库分享💕 🍔前言: 关于C的博客中,我们已经了解了六个默认函数中的四个,分别是构造函数、析构函数、拷贝构造函数以及函数的重载。但是这些函数都是有返回值与参数的。提到参数与返回…

MySQL启动后反复重新启动故障

MySQL版本为5.6.45 系统为Ubuntu 20.04 LTS 该服务器重启后,MySQL需要手动执行启动。 运行执行脚本后发现异常,如下图: 提示MySQL服务在不停重复启动。 反复使用ps -ef |grep mysql命令查看,发现mysql进程号一直在变化&#x…

Qlik Sense Enterprise 忘记PostgreSQL密码

在 Windows 上安装 Qlik Sense Enterprise 期间会提供密码。如果您忘记了该密码,则无法找回;但是,可以按照以下步骤重置密码。 如何在 Qlik 中重置忘记的 PostgreSQL 密码... - Qlik Community - 1712725 如果该过程完成后记录了密码错误的…

信号、进程、线程、I/O介绍

文章目录 信号进程进程通信线程可/不可重入函数线程同步互斥锁条件变量自旋锁读写锁 I/O操作阻塞/非阻塞I/OI/O多路复用存储映射I/O 信号 信号是事件发生时对进程的通知机制,可以看做软件中断。信号与硬件中断的相似之处在于其能够打断程序当前执行的正常流程。大多…

分享一下怎么做一个商城小程序

如何制作一个商城小程序:功能解析、设计思路与实现方法 一、引言 随着移动设备的普及和微信小程序的兴起,越来越多的消费者选择在商城小程序上进行购物。商城小程序具有便捷、高效、即用即走等特点,为企业提供了新的销售渠道和推广方式。本…

回归预测 | Matlab实现WOA-CNN-SVM鲸鱼算法优化卷积神经网络-支持向量机的多输入单输出回归预测

回归预测 | Matlab实现WOA-CNN-SVM鲸鱼算法优化卷积神经网络-支持向量机的多输入单输出回归预测 目录 回归预测 | Matlab实现WOA-CNN-SVM鲸鱼算法优化卷积神经网络-支持向量机的多输入单输出回归预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.WOA-CNN-SVM鲸鱼算法…

关于嵌入式rtthread系统与单片机芯片

简介 我估计已经有很久没更新了,近一年都在某个国企里工作,我做的就是嵌入式工程师的岗位,最近才刚刚退出来,想来说说自己的工作使用的软件和系统。 本身进公司的时候,其实做的就是写单片机的板子的程序的工作&#x…