当前位置: 首页 > article >正文

如何深入理解引用监视器,安全标识以及访问控制模型与资产安全之间的关系

一、核心概念总结

  1. 安全标识(策略决策的 “信息载体)

    1. 是主体(如用户、进程)和客体(如文件、数据库、设备)的安全属性,用于标记其安全等级、权限、访问能力或受保护级别,即用于标识其安全等级、权限范围或约束条件。

    2. 是访问控制的 “基础数据”,为系统判断 “主体是否有权访问客体” 提供依据。

    3. 典型形式

      • 标签(Labels):如 MAC 中的分级标签(绝密>机密>秘密)、完整性标签(高>中>低);
      • 标识符(Identifiers):如访问权限列表(ACL)中的用户ID、角色 ID、安全组。
      • 属性(Attributes):如用户部门、设备位置、访问时间等动态属性。
  2. 访问控制模型(安全策略的规则集)

    1. 是一套形式化或系统化的规则集合,定义 “主体如何访问客体”,是引用监视器执行决策的依据,定义了如何利用安全标识来制定和实施访问策略。

    2. 访问控制分类与安全标识的关联

      • 强制访问控制(MAC):核心依赖安全标识(如主体 / 客体的安全标签),通过标签的层级关系(如 “机密”“绝密”)强制实施访问规则(如 “上读下写”);即主体的安全等级必须高于或等于客体的敏感度标签才能访问(如 “向下读,向上写”);
      • 自主访问控制(DAC):基于主体身份(如用户 ID)或所有权(如文件属主),安全标识表现为 ACL 中的授权条目;
      • 基于角色的访问控制(RBAC):安全标识体现为 “角色”(如 “管理员”“普通用户”),主体通过角色间接获得权限;即主体的角色决定其能访问的客体(如 “管理员” 角色拥有文件修改权限)。
      • 属性基访问控制(ABAC):安全标识扩展为多维度属性(如主体部门、客体创建时间、环境 IP),规则基于属性组合动态判断。
  3. 引用监视器(访问控制的 “仲裁者)

    • 是一个抽象的 “逻辑组件”,负责实时监控所有对系统资源(资产)的访问请求,根据访问控制模型和安全标识执行访问决策。通俗来讲负责对所有主体(如用户、进程)对客体(如文件、内存)的访问请求进行 “调解”,确保访问符合安全策略。
    • 关键特性:
      • 完整性:必须被正确实现且无法绕过;
      • 隔离性:运行在安全的环境中,避免被恶意篡改;
      • 可验证性:其设计和实现可被形式化验证,确保策略执行的一致性。

二:三者的逻辑关系分析

抽象层:  
引用监视器(概念框架)  ↓ 定义“调解访问”的机制(TRI原则)  
策略层:  
访问控制模型(规则集合)  ↓ 依赖安全标识作为“策略参数”  
实现层:  
安全标识(属性载体)  ↓ 被引用监视器用于具体访问决策  

        1. 引用监视器通过安全标识执行访问控制模型规则

  • 核心流程(以强制访问MAC为例)

    1. 主体发起访问请求(如进程读取文件);
    2. 引用监视器捕获请求,提取主体安全标识(如进程的安全标签 “机密级”)和客体安全标识(如文件的标签 “秘密级”);
    3. 应用访问控制模型规则:根据 MAC 的 “简单安全条件”(主体标签≥客体标签时允许读取),判断是否允许访问;
    4. 执行决策:符合规则则放行,否则拒绝。

        不同访问控制模型中安全标识的作用

访问控制模型安全标识的表现形式引用监视器的检查逻辑
MAC分级标签(如 Confidential/Secret)主体标签是否 “支配” 客体标签(如满足安全级 + 范畴包含)
DAC用户 ID/ACL 授权条目主体 ID 是否在客体的 ACL 允许列表中
RBAC角色 ID(如 Role=Admin)主体是否拥有目标操作对应的角色权限
ABAC多维度属性(如 Attr=“财务部”+Time=9-18)属性组合是否满足策略表达式(如 “部门 = 财务部且时间在工作时段”)

        2. 安全标识作为访问控制模型的 “策略输入”             

  • 在 MAC 中的核心作用

    • 安全标识是 MAC 的 “灵魂”,如 Bell-LaPadula 模型通过主体 / 客体的标签实现 “信息流向控制”(不允许高保密级信息流向低保密级主体);
    • 引用监视器通过比较标签的 “安全级” 和 “范畴”(如 “绝密级 + 国防部范畴”),确保访问符合 “不向上写、不向下读” 规则。
  • 在 RBAC 中的间接作用

    • 安全标识表现为 “角色”,引用监视器通过 “角色 - 权限映射表” 判断主体的角色是否具备目标操作权限(如 “角色 = 数据库管理员” 是否有权修改表结构)。
  • 在 ABAC 中的动态扩展

    • 安全标识突破静态标签,变为动态属性(如 “设备是否通过合规检查”“用户是否处于可信网络”),引用监视器需实时获取这些属性并计算策略表达式。

        3. 引用监视器对安全标识的依赖与约束

(1)完整性要求
引用监视器必须确保安全标识不可被未授权篡改(如 MAC 标签由系统强制分配,用户无法自行修改),否则策略失效。

(2)最小化原则
安全标识需仅包含访问控制模型所需的最小必要信息(如 MAC 中只需标签层级,无需额外属性),避免冗余导致的复杂度和漏洞。

(3)可验证性基础
安全标识的格式和逻辑必须清晰(如标签的层级关系可形式化定义),以便引用监视器的决策逻辑能被数学验证(如通过形式化方法证明 Bell-LaPadula 模型的安全性)。

   总结:

  1. 策略执行的一致性
    引用监视器通过统一检查安全标识,确保所有访问控制模型的规则被一致执行,避免 “策略孤岛”。
  2. 安全边界的清晰性
    安全标识明确划分主体与客体的安全属性,引用监视器基于这些属性快速决策,降低系统攻击面。
  3. 合规性与可审计性
    安全标识的标准化(如符合 FIPS 140-2、GDPR 等规范)使引用监视器的决策过程可追溯,满足合规要求。

    三、三者与资产安全的关系

    1. 安全标识:资产安全的 “数字身份证”

    • 资产分类与保护的基础:通过为客体(资产)分配安全标识(如敏感度标签、权限属性),明确其重要性和受保护级别;主体的安全标识(如权限、角色)则限制其访问能力。
    • 示例:将数据库中的用户数据标记为 “敏感个人信息”(客体标识),并为访问该数据的应用进程分配 “数据读取” 权限(主体标识),确保只有符合标识的主体才能接触资产。

    2. 访问控制模型:资产安全的 “策略引擎”

    • 策略落地的框架:基于安全标识制定规则,定义 “谁(主体)能以何种方式(操作)访问什么(客体)”,防止未授权或越权访问。
    • 资产分层保护:不同模型适用于不同场景,例如:
      • MAC 用于高安全等级场景(如军事系统),通过严格的标签匹配保护核心资产;
      • RBAC 用于企业环境,通过角色权限划分避免员工过度访问业务资产。
    • 风险控制:模型规则可限制资产的暴露面,例如 “最小权限原则” 通过访问控制模型落地,确保主体仅拥有完成任务所需的最小权限。

    3. 引用监视器:资产安全的 “执行网关”

    • 实时防护的核心:作为所有访问请求的 “守门人”,在主体试图访问客体时,强制检查双方的安全标识是否符合访问控制模型的规则。
    • 防止攻击的最后一道防线:即使攻击者绕过部分安全机制(如获取了主体权限),引用监视器仍会基于标识和模型规则阻止非法访问(例如:低权限用户试图修改高敏感度文件时被阻断)。
    • 审计与追溯:记录访问决策过程,为资产安全事件的审计和追责提供依据。

    四、三者的协同工作机制

    1. 安全标识为 “输入”:主体和客体的标识(如标签、权限、角色)被输入到访问控制模型中,作为决策的条件。
    2. 访问控制模型为 “逻辑”:模型根据安全策略(如 “机密数据只能被授权用户读取”),将安全标识转化为具体的允许 / 拒绝规则(如 “主体 A 的 clearance ≥ 客体 B 的敏感度标签”)。
    3. 引用监视器为 “执行体”:在每次访问请求时,引用监视器检索主体和客体的安全标识,调用访问控制模型的规则进行验证,最终决定是否允许访问。

    示例流程

    用户尝试访问加密文档流程如下:

    用户(主体)的安全标识:角色 “普通员工”,权限 “文件读取”;
    文档(客体)的安全标识:标签 “内部机密”,允许访问的角色列表 “普通员工、经理”;
    访问控制模型(RBAC)规则:“角色拥有对应权限即可访问”;
    引用监视器检查:主体角色在客体允许的列表中,且具备 “读取” 权限 → 允许访问。
    若用户试图修改文档(权限不匹配),引用监视器则根据模型规则拒绝。

      四、对资产安全的价值

      1. 机密性(Confidentiality):通过安全标识的标签匹配(如 MAC 模型)和引用监视器的强制检查,防止资产被未授权主体访问。
      2. 完整性(Integrity):访问控制模型中的 “写规则”(如 Biba 模型的 “不允许低完整性主体修改高完整性客体”)结合引用监视器的执行,避免资产被非法篡改。
      3. 可用性(Availability):通过合理的访问控制规则(如限制并发访问量)和引用监视器的流量控制,防止恶意耗尽资源(如 DDoS 攻击),保障资产可用。
      4. 合规性:三者协同实现安全策略(如 GDPR 的数据访问控制要求),确保资产处理符合法规标准。

      五、总结

              安全标识是资产安全的 “数据基础”,访问控制模型是 “策略大脑”,引用监视器是 “执行卫士”。三者缺一不可:   

      • 缺少安全标识,访问控制失去判断依据;
      • 缺少访问控制模型,安全策略无法系统化落地;
      • 缺少引用监视器,规则无法被强制实施,存在绕过风险。

      在资产安全架构中,需从设计阶段将三者整合:

      1. 为资产和主体定义清晰的安全标识体系;
      2. 选择适合业务场景的访问控制模型(单一或混合模型);
      3. 在系统核心层实现引用监视器(如操作系统内核、数据库引擎),确保所有访问请求被监控和验证。

      通过这种协同,形成 “标识定义→策略制定→强制执行” 的闭环,有效抵御未授权访问、越权操作、数据泄露等风险,最终保障资产的安全与合规。

      相关文章:

      如何深入理解引用监视器,安全标识以及访问控制模型与资产安全之间的关系

      一、核心概念总结 安全标识(策略决策的 “信息载体) 是主体(如用户、进程)和客体(如文件、数据库、设备)的安全属性,用于标记其安全等级、权限、访问能力或受保护级别,即用于标识其安全等级、权限范围或约束…...

      Linux的Socket开发补充

      是listen函数阻塞等待连接,还是accept函数阻塞等待连接? 这两个函数的名字,听起来像listen一直在阻塞监听,有连接了就accept,但其实不是的。 调用listen()后,程序会立即返回,继续执行后续代码&a…...

      Flutter异常Couldn‘t find dynamic library in default locations

      Flutter项目在Windows系统使用ffigen生成代码时报下面的错误: [SEVERE] : Couldnt find dynamic library in default locations. [SEVERE] : Please supply one or more path/to/llvm in ffigens config under the key llvm-path. Unhandled exception: Exception: …...

      Spring-AOP分析

      Spring分析-AOP 1.案例引入 在上一篇文章中,【Spring–IOC】【https://www.cnblogs.com/jackjavacpp/p/18829545】,我们了解到了IOC容器的创建过程,在文末也提到了AOP相关,但是没有作细致分析,这篇文章就结合示例&am…...

      [特殊字符] Prompt如何驱动大模型对本地文件实现自主变更:Cline技术深度解析

      在AI技术快速发展的今天,编程方式正在经历一场革命性的变革。从传统的"人写代码"到"AI辅助编程",再到"AI自主编程",开发效率得到了质的提升。Cline作为一款基于VSCode的AI编程助手,通过其独特的pro…...

      【专业解读:Semantic Kernel(SK)】大语言模型与传统编程的桥梁

      目录 Start:什么是Semantic Kernel? 一、Semantic Kernel的本质:AI时代的操作系统内核 1.1 重新定义LLM的应用边界 1.2 技术定位对比 二、SK框架的六大核心组件与技术实现 2.1 内核(Kernel):智能任务调度中心 2…...

      PHP 8 中的 Swow:高性能纯协程网络通信引擎

      一、什么是 Swow? Swow 是一个高性能的纯协程网络通信引擎,专为 PHP 设计。它结合了最小化的 C 核心和 PHP 代码,旨在提供高性能的网络编程支持。Swow 的核心目标是释放 PHP 在高并发场景下的真正潜力,同时保持代码的简洁和易用性…...

      你学会了些什么211201?--http基础知识

      概念 HTTP–Hyper Text Transfer Protocol,超文本传输协议;是一种建立在TCP上的无状态连接(短连接)。 整个基本的工作流程是:客户端发送一个HTTP请求(Request ),这个请求说明了客户端…...

      每天学一个 Linux 命令(29):tail

      ​​可访问网站查看,视觉品味拉满: http://www.616vip.cn/29/index.html tail 命令用于显示文件的末尾内容,默认显示最后 10 行。它常用于实时监控日志文件或查看文件的尾部数据。以下是详细说明和示例: 命令格式 tail [选项] [文件...]常用选项 选项描述-n <NUM> …...

      【形式化验证基础】活跃属性Liveness Property和安全性质(Safety Property)介绍

      文章目录 一、Liveness Property1、概念介绍2、形式化定义二、Safety Property1. 定义回顾2. 核心概念解析3. 为什么强调“有限前缀”4. 示例说明4.1 示例1:交通信号灯系统4.2 示例2:银行账户管理系统5. 实际应用的意义三. 总结一、Liveness Property 1、概念介绍 在系统的…...

      技工院校无人机专业工学一体化人才培养方案

      随着无人机技术在农业植保、地理测绘、应急救援等领域的深度应用&#xff0c;行业复合型人才缺口持续扩大。技工院校作为技能型人才培养主阵地&#xff0c;亟需构建与行业发展同步的无人机专业人才培养体系。本文基于"工学一体化"教育理念&#xff0c;从课程体系、实…...

      PI0 Openpi 部署(仅测试虚拟环境)

      https://github.com/Physical-Intelligence/openpi/tree/main 我使用4070tisuper, 14900k,完全使用官方默认设置&#xff0c;没有出现其他问题。 目前只对examples/aloha_sim进行测试&#xff0c;使用docker进行部署, 默认使用pi0_aloha_sim模型(但是文档上没找到对应的&…...

      计算机视觉——利用AI幻觉检测图像是否是生成式算生成的图像

      概述 俄罗斯的新研究提出了一种非常规方法&#xff0c;用于检测不真实的AI生成图像——不是通过提高大型视觉-语言模型&#xff08;LVLMs&#xff09;的准确性&#xff0c;而是故意利用它们的幻觉倾向。 这种新方法使用LVLMs提取图像的多个“原子事实”&#xff0c;然后应用自…...

      性能测试工具和JMeter功能概要

      主流性能测试工具 LoadRunner JMeter [本阶段学习] 1.1 LoadRunner HP LoadRunner是一种工业级标准性能测试负载工具&#xff0c;可以模拟上万用户实施测试&#xff0c;并在测试时可实时检测应用服务器及服务器硬件各种数据&#xff0c;来确认和查找存在的瓶颈支持多协议&am…...

      《理解 Java 泛型中的通配符:extends 与 super 的使用场景》

      大家好呀&#xff01;&#x1f44b; 今天我们要聊一个让很多Java初学者头疼的话题——泛型通配符。别担心&#xff0c;我会用最通俗易懂的方式&#xff0c;带你彻底搞懂这个看似复杂的概念。准备好了吗&#xff1f;Let’s go! &#x1f680; 一、为什么我们需要泛型通配符&…...

      C#学习第17天:序列化和反序列化

      什么是序列化&#xff1f; 定义&#xff1a;序列化是指把对象转换为一种可以轻松存储或传输的格式&#xff0c;如JSON、XML或二进制格式。这个过程需要捕获对象的类型信息和数据内容。用途&#xff1a;使得对象可以持久化到文件、发送至网络、或存储在数据库中。 什么是反序列…...

      FlaskRestfulAPI接口的初步认识

      FlaskRestfulAPI 介绍 记录学习 Flask Restful API 开发的过程 项目来源&#xff1a;【Flask Restful API教程-01.Restful API介绍】 我的代码仓库&#xff1a;https://gitee.com/giteechaozhi/flask-restful-api.git 后端API接口实现功能&#xff1a;数据库访问控制&#xf…...

      CSS预处理工具有哪些?分享主流产品

      目前主流的CSS预处理工具包括&#xff1a;Sass、Less、Stylus、PostCSS等。其中&#xff0c;Sass是全球使用最广泛的CSS预处理工具之一&#xff0c;以强大的功能、灵活的扩展性以及完善的社区生态闻名。Sass通过增加变量、嵌套、混合宏&#xff08;mixin&#xff09;等功能&…...

      微信小程序中,将搜索组件获取的值传递给父页面(如 index 页面)可以通过 自定义事件 或 页面引用 实现

      将搜索组件获取的值传递给父页面&#xff08;如 index 页面&#xff09;可以通过 自定义事件 或 页面引用 实现 方法 1&#xff1a;自定义事件&#xff08;推荐&#xff09; 步骤 1&#xff1a;搜索组件内触发事件 在搜索组件的 JS 中&#xff0c;当获取到搜索值时&#xff0c…...

      深度学习预训练和微调

      目录 1. 预训练&#xff08;Pre-training&#xff09;是什么&#xff1f; 2. 微调&#xff08;Fine-tuning&#xff09;是什么&#xff1f; 3. 预训练和微调的对象 4. 特征提取如何实现&#xff1f; 预训练阶段&#xff1a; 微调阶段&#xff1a; 5. 这样做的作用和意义 …...

      AI 速读 SpecReason:让思考又快又准!

      在大模型推理的世界里&#xff0c;速度与精度往往难以兼得。但今天要介绍的这篇论文带来了名为SpecReason的创新系统&#xff0c;它打破常规&#xff0c;能让大模型推理既快速又准确&#xff0c;大幅提升性能。想知道它是如何做到的吗&#xff1f;快来一探究竟&#xff01; 论…...

      Qt通过ODBC和QPSQL两种方式连接PostgreSQL或PolarDB PostgreSQL版

      一、概述 以下主要在Windows下验证连接PolarDB PostgreSQL版&#xff08;阿里云兼容 PostgreSQL的PolarDB版本&#xff09;。Linux下类似&#xff0c;ODBC方式则需要配置odbcinst.ini和odbc.ini。 二、代码 以下为完整代码&#xff0c;包含两种方式连接数据库&#xff0c;并…...

      MobaXterm连接Ubuntu(SSH)

      1.查看Ubuntu ip 打开终端,使用指令 ifconfig 由图可知ip地址 2.MobaXterm进行SSH连接 点击session,然后点击ssh,最后输入ubuntu IP地址以及用户名...

      Lambda 函数与 peek 操作的使用案例

      Lambda 函数和 peek 操作是 Java 8 Stream API 中非常有用的特性&#xff0c;下面我将介绍它们的使用案例。 Lambda 函数使用案例 Lambda 表达式是 Java 8 引入的一种简洁的匿名函数表示方式。 集合操作 List<String> names Arrays.asList("Alice", "B…...

      C# 的 字符串插值($) 和 逐字字符串(@) 功能

      这段代码使用了 C# 的 字符串插值&#xff08;$&#xff09; 和 逐字字符串&#xff08;&#xff09; 功能&#xff0c;并在 SQL 语句中动态拼接变量。下面详细解释它们的用法&#xff1a; 1. $&#xff08;字符串插值&#xff09; $ 是 C# 的 字符串插值 符号&#xff0c;允许…...

      软考 中级软件设计师 考点知识点笔记总结 day13 数据库系统基础知识 数据库模式映像 数据模型

      文章目录 数据库系统基础知识6.1 基本概念6.1.1 DBMS的特征与分类 6.2 数据库三级模式两级映像6.3 数据库的分析与设计过程6.4 数据模型6.4.1 ER模型6.4.2 关系模型 数据库系统基础知识 基本概念 数据库三级模式两级映像 数据库的分析与设计过程 数据模型 关系代数 数据库完整…...

      蓝桥杯2024省A.成绩统计

      蓝桥杯2024省A.成绩统计 题目 题目解析与思路 题目要求返回至少要检查多少个人的成绩&#xff0c;才有可能选出k名同学&#xff0c;他们的方差小于一个给定的值 T 二分枚举答案位置&#xff0c;将答案位置以前的数组单独取出并排序&#xff0c;然后用k长滑窗O(1)计算方差 问…...

      Mac mini 安装mysql数据库以及出现的一些问题的解决方案

      首先先去官网安装一下mysql数据库&#xff0c;基本上都是傻瓜式安装的流程&#xff0c;我也就不详细说了。 接下来就是最新版的mysql安装的时候&#xff0c;他就会直接让你设置一个新的密码。 打开设置&#xff0c;拉到最下面就会看到一个mysql的图标&#xff1a; 我设置的就是…...

      俄罗斯方块-简单开发版

      一、需求分析 实现了一个经典的俄罗斯方块小游戏&#xff0c;主要满足以下需求&#xff1a; 1.图形界面 使用 pygame 库创建一个可视化的游戏窗口&#xff0c;展示游戏的各种元素&#xff0c;如游戏区域、方块、分数等信息。 2.游戏逻辑 实现方块的生成、移动、旋转、下落和锁…...

      STM32的启动方式

      目录 一、从主闪存存储器启动&#xff08;Main Flash Memory&#xff09; 二、从系统存储器启动&#xff08;System Memory&#xff09; 三、从内置SRAM启动&#xff08;Embedded SRAM&#xff09; 四、从外挂存储介质启动的实现方式 1. 存储介质选型 2. 硬件连接 3. 引…...