软考-访问控制技术原理与应用
本文为作者学习文章,按作者习惯写成,如有错误或需要追加内容请留言(不喜勿喷)
本文为追加文章,后期慢慢追加
by 2023年10月
访问控制概念
访问控制是计算机安全的一个重要组成部分,用于控制用户或程序如何使用系统资源。访问控制的目标是确保只有经过授权的用户或程序可以访问特定的资源,例如文件、文件夹、系统设置、网络服务和数据库等。
访问控制由以下三个概念构成:
-
主体:主体是指被授权或未经授权试图访问系统的用户、程序或进程。
-
资源:资源是指需要被保护的系统资源,例如文件、数据、设备或服务等。
-
访问控制规则:访问控制规则是指由系统管理员定义的规则,用于限制主体对资源的访问权限。根据访问控制规则的不同,主体可以被授予不同的访问权限,例如读取、写入、执行或删除等。
在实现访问控制时,通常会采用多层次的安全措施,例如认证、授权、审计和加密等技术。这些技术可以帮助系统管理员有效地控制和保护敏感信息和系统资源。
访问控制的主要目标
确保只有经过授权的用户、程序或进程可以访问特定的系统资源。以下是访问控制的目标:
-
保护系统资源:访问控制的主要目标是保护系统资源免受未经授权的访问或恶意攻击。这可以防止数据泄露、系统崩溃或破坏等安全问题。
-
实现数据保密性:访问控制可以确保只有授权用户可以访问敏感信息,从而保护数据的保密性。
-
管理权限:访问控制可以帮助管理员控制和管理用户权限,即用户可以做什么和不能做什么。这可以确保用户只能执行必要的任务,防止滥用权限和误操作。
-
管理身份验证:访问控制可以提供身份验证机制,以确保只有经过身份验证的用户可以访问资源。这可以防止身份伪造和欺诈。
-
管理审计:访问控制可以记录用户活动和系统事件,以帮助管理员审计用户行为。这可以帮助发现潜在的安全问题和保证合规性。
综上所述,访问控制的目标是保护系统资源,实现数据保密性,管理权限,管理身份验证和管理审计。它是计算机安全的重要组成部分,可以帮助组织保护敏感信息和系统资源。
访问控制模型
参考监视器访问控制模型组成要素主要有主体(Subject).(Reference Monitor) 、客体(Object) 、访问控制数据库、审计库。
访问控制模型组成要素
- 主体:是客体的操作实施者。实体通常是人、进程或设备等,一般是代表用户执行操作的进程。
- 客体:是被主体操作的对象
- 参考监视器:是访问控制的决策单元和执行单元的集合体
- 访问控制数据库:记录主体访问客体的权限及其访问方式的信息,提供访问控制决策判断的依据,也称为访问控制策略库。
- 审计库:存储主体访问客体的操作信息,包括访问成功访问失败以及访问操作信息。
访问控制类型
- 访问控制列表(Access Control List,ACL)
- 基于角色的访问控制(Role-Based Access Control,RBAC)
- 强制访问控制(Mandatory Access Control,MAC)
- 自主访问控制(Discretionary Access Control,DAC)
- 基于属性的访问控制(Attribute-Based Access Control,ABAC)
自主访问控制
自主访问控制(DAC)是一种访问控制机制,它根据主体(如用户)对资源(如文件或目录)的自主权来控制对资源的访问。这意味着主体拥有对自己所拥有的资源进行控制的权力,例如,决定其他主体是否可以访问、修改或删除该资源。
基于行的自主访问控制方法是在每个主体上都附加一个该主体可访问的客体的明细表,根据表中信息的不同又可分成三种形式,即能力表(capability list) 、前缀表(profiles) 和口令(password)。
- 能力表。能力是访问客体的钥匙,它决定用户能否对客体进行访问以及具有何种访问模式读、写、执行)。拥有一定能力的主体可以按照给定的模式访问客体。
- 前缀表。前缀表包括受保护客体名和主体对它的访问权限。当主体要访问某客体时,自主访问控制机制检查主体的前缀是否具有它所请求的访问权。
- 口令。在基于口令机制的自主存取控制机制中,每个客体都相应地有一个口令。主体在对客体进行访问前,必须向系统提供该客体的口令。如果正确,它就可以访问该客体。
基于列的自主访问控制机制是在每个客体上都附加一个可访问它的主体的明细表,它有两种形式,即保护位(protection bits)和访问控制表(Access Control List, ACL)。
- 保护位。这种方法通过对所有主体、主体组以及客体的拥有者指明一个访问模式集合,通常以比特位来表示访问权限。UNIX/Linux 系统就利用这种访问控制方法。
- 访问控制表。访问控制表简称ACL,它是在每个客体上都附加一个主体明细表,表示访问控制矩阵。表中的每项都包括主体的身份和主体对该客体的访问权限。
自主访问控制优点:访问机制简单、灵活
自主访问控制缺点:实施依赖于用户的安全意识和技能,不能满足高安全等级的安全要求。
强制访问控制
强制访问控制(Mandatory Access (ontrol,MAC)是指系统根据主体和客体的安全属性,以强制方式控制主体对客体的访问。与自主访问控制相比较,强制访问控制更加严格。BLP和Biba模型都属于强制访问控制。
在政府部门、军事和金融等领域,常利用强制访问控制机制,将系统中的资源划分安全等级和不同类别,然后进行安全管理。
基于角色的访问控制
基于角色的访问控制(Role-Based Access Control,RBAC)是一种常见的访问控制机制,用于控制用户对系统资源的访问。在基于角色的访问控制中,用户被分配到一个或多个角色,而每个角色具有一组权限,用于访问系统中的不同资源。用户可以访问与他们角色相对应的资源,而不能访问与他们角色不符合的资源。
基于角色的访问控制(RBACL是指根据完成某些职责任务所需要的访问权限来进行授权和管理。RBAC 由用户(U)、角色(R)、会话(S) 和权限(P)四个基本要素组成。
基于角色的访问控制有以下优点:
-
管理简单:通过角色来定义权限,降低了管理的复杂性,避免了在管理多个用户时需要分别分配权限的麻烦。
-
安全可控:基于角色的访问控制控制了用户对系统资源的访问权限,从而保证了系统的安全性。
-
可扩展性好:当系统需要增加新的用户或资源时,只需要将新用户分配到相应的角色,或将新资源的权限分配给现有的角色即可。
-
便于审计:基于角色的访问控制记录用户访问资源的信息,便于对系统的安全性进行审计。
基于属性的访问控制
基于属性的访问控制(ABAC)是一种访问控制模型,它使用多个属性(如用户、资源、环境和行为特征)进行决策。这种访问控制模型允许管理员为每个属性定义规则,并将其组合以形成访问控制策略。属性可以包括任何与访问控制相关的信息,例如时间、位置、设备等。基于属性的访问控制可以增强访问控制的精度和灵活性,还可以帮助组织遵守安全合规性要求。
访问控制策略
访问控制策略由所要控制的对象、访问控制规则、用户权限或其他访问安全要求组成。访问控制策略常见类型机房、拨号服务器、路由器、交换机、防火墙、主机、数据库、客户端、网络服务访问控制策略等。
访问控制规则
主要的访问控制规则:
- 基于用户身份的访问控制规则
- 基于角色的访问控制规则
- 基于地址的访问控制规则
- 基于时间的访问控制规则
- 基于异常事件的访问控制规则
- 基于服务数量的访问控制规则
访问控制过程
要实现访问控制管理,一般需要五个步骤
- 第一步,明确访问控制管理的资产,例如网络系统的路由器、Web 服务等
- 第二步,分析管理资产的安全需求,例如保密性要求、完整性要求、可用性要求等;
- 第三步,制定访问控制策略,确定访问控制规则以及用户权限分配;
- 第四步,实现访问控制策略,建立用户访问身份认证系统,并根据用户类型授权用户访问资产;
- 第五步,运行和维护访问控制系统,及时调整访问策略。
最小特权原则(Principle of Least Privilege) 指系统中每一个主体只能拥有完成任务所必要的权限集。特权的分配原则是”按需使用(Need to Use)"这条原则保证系统不会将权限过多地分配给用户,从而可以限制特权造成的危害。用户管理是网络安全管理的重要内容之一,其主要工作包括用户登记、用户权限分配、访问记录、权限监测、权限取消、撤销用户。
口令安全管理原则
- 口令选择应至少在8 个字符以上,应选用大小写字母、数字、特殊字符组合;
- 禁止使用与账号相同的口令;
- 更换系统默认口令,避免使用默认口令;
- 限制账号登录次数,建议为3次;
- 禁止共享账号和口令;
- 口令文件应加密存放,并只有超级用户才能读取;
- 禁止以明文形式在网络上传递口令;
- 口令应有时效机制,保证经常更改,并且禁止重用口令;
- 对所有的账号运行口令破解工具,检查是否存在弱口令或没有口令的账号。
访问控制主要产品
访问控制的主要产品类型有4A 系统、安全网关、系统安令增强等
- 4A系统:4A 是指认证(Authentication)、授权(Authorization)、账号(Account)、审计(Audit),中文名称为统安全管理平台平台集中提供账号、认证、授权和审计等网络安全服务。该产品的技术特点是集成了访问控制机制和功能,提供多种访问控制服务。平台常用基于角色的访问控制方法,以便于账号授权管理。
- 安全网关:安全网关产品的技术特点是利用网络数据包信息和网络安全威胁特征库,对网络通信连接服务进行访问控制。这类产品是一种特殊的网络安全产品,如防火墙、统一威胁管理(UTM)等
系统安全增强系统安全增强产品的技术特点是通常利用强制访问控制技术来增强操作系统、数据库系统的安防止特权滥用。如Linux的安全增强系统SELinux、Windows 操作系统加固等
访问控制主要技术指标:
- 产品支持访问控制策略规则类型。一般来说,规则类型多,有利于安全控制细化和灵活授权管理。
- 产品支持访问控制规则最大数量:访问规则的数量多表示该产品具有较高的控制能力。
- 产品访问控制规则检查速度:产品的主要性能指标,速度快则意味着产品具有较好的性能;
- 产品自身安全和质量保障级别:针对产品本身的安全所采用的保护措施,产品防范网络攻击的能力,产品所达到的国家信息安全产品的等级。
Linux 访问权限与方式
访问权限分为读(read)、写(write)、执行(execute)三种,
并且涉及到文件所有者(user)、文件所属组(group)、其他人(other)三个主体。
选取上图红框中的两行为例,结合下面的表格先讲一下基本结构:
改变文件/目录的放我权限命令:chomd [mode] filename
例:chmod 755testsh //755表示”创建者拥有读写可执行权限、同一组用户以及其他用户拥有读和执行权限
windows访问控制权限
Windows 用户登录到系统时,WinLogon 进程为用户创建访问令牌,包含用户及所属组的安全标识符(SID)作为用户的身份标识。文件等客体则含有自主访问控制列表(DACL),标明谁有权访问,还含有系统访问控制列表(SACL),标明哪些主体的访问需要被记录。
DACL主要用于设置用户以及用户组对安全对象的访问权限
SACL用于配置对安全对象的访问的审计(生成日志)
每个ACL由多个 ACE(Access Control Entries)构成
IIS服务器访问控制权限
IIS(Internet Information Services)服务器是一种Web服务器,可以用来托管Web应用程序和网站。在IIS服务器上,可以通过访问控制权限来限制用户对网站的访问。
以下是一些常见的访问控制权限:
-
IP地址限制:可以通过设置某些IP地址或IP地址范围来限制用户的访问。只有在指定的IP地址范围内的用户才能访问网站。
-
身份验证:可以设置必须进行身份验证才能访问网站或特定页面。可以使用基本身份验证、Windows身份验证或其他第三方身份验证方式。
-
目录权限:可以设置目录级别的权限来限制用户对文件和文件夹的访问。可以使用NTFS权限或IIS权限来实现。
-
SSL证书:可以通过安装SSL证书来加密传输数据,并限制只有拥有证书的用户才能访问网站。
以上是一些常见的访问控制权限,可以根据实际情况进行选择和设置。
网络访问控制
网络通信连接控制常利用防火墙、路由器、网关等来实现,通常将这些设备放在两个不同的通信网络的连接处,使得所有的通信流都经过通信连接控制器,只有当通信流符合访问控制规则时,才允许通信正常进行。
基于VLAN的网络隔离:根据网络的功能和业务用途,将网络划分为若干个小的子网(网段),或者是外部网和内部网,以避免各网之间多余的信息交换。
相关文章:

软考-访问控制技术原理与应用
本文为作者学习文章,按作者习惯写成,如有错误或需要追加内容请留言(不喜勿喷) 本文为追加文章,后期慢慢追加 by 2023年10月 访问控制概念 访问控制是计算机安全的一个重要组成部分,用于控制用户或程序如…...

优测云测试平台 | 有效的单元测试
一、前言 本文作者提出了一种评价单元测试用例的质量的思路,即判断用例是否达到测试的“四大目标”。掌握识别好的用例的能力,可以帮助我们高效地写出高质量的测试用例。 评判冰箱的好坏,并不需要有制造一台冰箱的能力。在开始写测试用例之…...

Java设计模式之外观模式
定义 又名门面模式,是一种通过为多个复杂的子系统提供一个一致的接口,而使这些子系统更加容易被访问的模式。该模式对外有一个统一接口,外部应用程序不用关心内部子系统的具体的细节,这样会大大降低应用程序的复杂度,…...
MyBatis实现延时加载的方式
MyBatis实现延时加载的方式有两种: 使用resultMap的association和collection标签配置延时加载:在查询语句中,使用association标签配置一对一关联关系,使用collection标签配置一对多关联关系。然后在查询结果映射的resultMap中配置…...

计算未来:微软眼中的人工智能
计算未来 :人工智能及其社会角色(The Future Computed. Artificial Intelligence and its role in society )这本书于2018年09月由北京大学出版社出版。 书籍的作者是:沈向洋(微软全球执行副总裁),(美&…...
字号和磅的对应关系
字号「八号」对应磅值5 字号「七号」对应磅值5.5 字号「小六」对应磅值6.5 字号「六号」对应磅值7.5 字号「小五」对应磅值9 字号「五号」对应磅值10.5 字号「小四」对应磅值12 字号「四号」对应磅值14 字号「小三」对应磅值15 字号「三号」对应磅值16 字号「小二」对应磅值18 …...

Bag of Tricks for Efficient Text Classification(FastText)
主要的有点就是快,用途就是用于文本分类,模型结构如上,主要是通过embedding将文本转换成向量,然后进行mean-pooling,然后输入到hidden隐向量中,通过softmax输出多分类,损失函数是对数似然损失函…...

vue elementUI form组件动态添加el-form-item并且动态添加rules必填项校验方法
vue elementUI form组件动态添加el-form-item并且动态添加rules必填项校验方法 先看一下效果图(想在表单里动态的增删 form-item,然后添加rules,校验其必填项; ): html部分 <div v-for"(item, index) in …...

使用 ClickHouse 深入了解 Apache Parquet (一)
【squids.cn】 全网zui低价RDS,免费的迁移工具DBMotion、数据库备份工具DBTwin、SQL开发工具等 自2013年作为Hadoop的列存储发布以来,Parquet几乎已经成为一种无处不在的文件交换格式,它提供了高效的存储和检索。这种采纳使其成为更近期的…...

【每周一测】Java阶段二第四周学习
目录 1、request中的getParameter(String name)方法的功能是 2、request中的getParameter(String name)方法的功能是 3、spring创建bean对象没有以下哪个方式 4、spring依赖注入中没有以下哪个方式 5、RequestParam、RequestBody、PathVariable的应用场景及区别 6、Cooki…...

系统设计 - 我们如何通俗的理解那些技术的运行原理 - 第四部分:微服务架构
本心、输入输出、结果 文章目录 系统设计 - 我们如何通俗的理解那些技术的运行原理 - 第四部分:微服务架构前言典型的微服务架构是什么样的微服务的优势 微服务最佳实践在开发微服务时,我们需要遵循以下最佳实践: 微服务通常使用什么技术堆栈…...

顺序表ArrayList
作者简介: zoro-1,目前大二,正在学习Java,数据结构等 作者主页: zoro-1的主页 欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖💖 顺序表 概念Arraylist构造方法相关方法遍历操作 自…...
python软件安装技巧
安装软件时候加上源地址去安装,快速稳 pip install openni -ihttps://pypi.tuna.tsinghua.edu.cn/simple...

解析Apache Kafka中的事务机制
这篇博客文章并不是关于使用事务细节的教程,我们也不会深入讨论设计细节。相反,我们将在适当的地方链接到JavaDocs或设计文档,以供希望深入研究的读者使用。 为什么交易? 我们在Kafka中设计的事务主要用于那些显示“读-进程-写”模式的应用…...

Vue虚拟节点和渲染函数
1.虚拟节点 虚拟节点(dom)本质上就是一个普通的JS对象,用于描述视图的界面结构 2.渲染函数render():接收一个 createElement()函数创建的VNode Vue.component("board", {render: function(createElement) {return cr…...

后台交互-首页->与后台数据进行交互,wsx的使用
与后台数据进行交互wsx的使用 1.与后台数据进行交互 // index.js // 获取应用实例 const app getApp() const apirequire("../../config/app.js") const utilrequire("../../utils/util.js") Page({data: {imgSrcs:[{"img": "https://cd…...

【微服务保护】Sentinel 流控规则 —— 深入探索 Sentinel 的流控模式、流控效果以及对热点参数进行限流
文章目录 前言一、快速掌握 Sentinel 的使用1.1 什么是簇点链路1.2 Sentinel 的简单使用示例 二、Sentinel 流控模式2.1 直接模式2.2 关联模式2.3 链路模式 三、流控效果3.1 快速失败3.2 预热模式3.3 排队等待 四、对热点参数的流控4.1 热点规则4.2 热点规则演示 前言 微服务架…...

ZXing.Net 的Core平台生成二维码
一、引用 二、代码 帮助类 /// <summary>/// ZXing.NET 二维码帮助类/// </summary>public class ZXingHelper{/// <summary>/// 站点二维码的目录/// </summary>private static string QRCodeDirectory "QRCode";/// <summary>/// 使…...
【C++】假设给类分配的是栈的空间,那么计算机是如何访问栈中不同位置的对象的数据的呢?
2023年10月22日,周日上午 当在栈上创建一个对象时,计算机会为该对象分配一块连续的内存空间。该内存空间的位置在栈帧中,栈帧是用来存储函数调用信息和局部变量的一块内存区域。 栈帧中包含一个指针,称为栈指针(stack…...
iOS使用CoreML运用小型深度神经网络架构对图像进行解析
查找一个图片选择器 我用的是ImagePicker 项目有点老了,需要做一些改造,下面是新的仓库 platform :ios, 16.0use_frameworks!target learnings dosource https://github.com/CocoaPods/Specs.gitpod ImagePicker, :git > https://github.com/KevinS…...

大型活动交通拥堵治理的视觉算法应用
大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动(如演唱会、马拉松赛事、高考中考等)期间,城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例,暖城商圈曾因观众集中离场导致周边…...

[ICLR 2022]How Much Can CLIP Benefit Vision-and-Language Tasks?
论文网址:pdf 英文是纯手打的!论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误,若有发现欢迎评论指正!文章偏向于笔记,谨慎食用 目录 1. 心得 2. 论文逐段精读 2.1. Abstract 2…...

论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)
笔记整理:刘治强,浙江大学硕士生,研究方向为知识图谱表示学习,大语言模型 论文链接:http://arxiv.org/abs/2407.16127 发表会议:ISWC 2024 1. 动机 传统的知识图谱补全(KGC)模型通过…...
【C语言练习】080. 使用C语言实现简单的数据库操作
080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...

IT供电系统绝缘监测及故障定位解决方案
随着新能源的快速发展,光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域,IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选,但在长期运行中,例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...

JVM虚拟机:内存结构、垃圾回收、性能优化
1、JVM虚拟机的简介 Java 虚拟机(Java Virtual Machine 简称:JVM)是运行所有 Java 程序的抽象计算机,是 Java 语言的运行环境,实现了 Java 程序的跨平台特性。JVM 屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需生成在 JVM 上运行的目标代码(字节码),就可以…...

mac 安装homebrew (nvm 及git)
mac 安装nvm 及git 万恶之源 mac 安装这些东西离不开Xcode。及homebrew 一、先说安装git步骤 通用: 方法一:使用 Homebrew 安装 Git(推荐) 步骤如下:打开终端(Terminal.app) 1.安装 Homebrew…...

android13 app的触摸问题定位分析流程
一、知识点 一般来说,触摸问题都是app层面出问题,我们可以在ViewRootImpl.java添加log的方式定位;如果是touchableRegion的计算问题,就会相对比较麻烦了,需要通过adb shell dumpsys input > input.log指令,且通过打印堆栈的方式,逐步定位问题,并找到修改方案。 问题…...

在 Spring Boot 中使用 JSP
jsp? 好多年没用了。重新整一下 还费了点时间,记录一下。 项目结构: pom: <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://ww…...
LangFlow技术架构分析
🔧 LangFlow 的可视化技术栈 前端节点编辑器 底层框架:基于 (一个现代化的 React 节点绘图库) 功能: 拖拽式构建 LangGraph 状态机 实时连线定义节点依赖关系 可视化调试循环和分支逻辑 与 LangGraph 的深…...