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

强制完整性级别(MIL)和用户账户控制(UAC)的联系与区别

强制完整性级别(MIL)用户账户控制(UAC) 都是 Windows 操作系统中的安全机制,旨在增强系统的安全性并防止恶意软件和攻击者在系统中获得更高的权限。尽管它们有共同的目标,但它们的工作原理、应用范围和作用对象有所不同。以下是对这两者的详细对比。

1. 强制完整性级别(MIL)

强制完整性级别(Mandatory Integrity Level, MIL)是 Windows 安全模型的一部分,用于标识对象(如进程、文件、注册表等)的安全级别。每个对象都有一个完整性级别,决定它与其他对象的交互方式,特别是限制较低完整性级别的进程对较高完整性级别对象的操作。

完整性级别的类型:
  • Low:低完整性级别,常用于不可信的进程(例如浏览器)。
  • Medium:中等完整性级别,通常用于普通用户进程。
  • High:高完整性级别,通常用于管理员进程。
  • System:系统级完整性,适用于操作系统核心组件。
工作原理:
  • 强制完整性级别通过 Windows 安全模型来控制对象之间的访问权限。一个低完整性级别的进程不能修改或访问高完整性级别的进程或文件,这样可以有效防止恶意软件通过用户进程进行攻击。
  • 它在 访问控制列表(ACL)中使用 Mandatory Label 来定义每个进程、文件或其他对象的完整性级别。

2. 用户账户控制(UAC)

用户账户控制(User Account Control,UAC)是 Windows 中的安全功能,旨在限制程序在系统中执行时所能获得的权限。UAC 通过弹出提示来询问用户是否授予管理员权限,目的是减少恶意软件在不知情的情况下获取管理员权限。

工作原理:
  • UAC 主要控制程序是否能够在管理员权限下运行。当用户尝试运行需要管理员权限的应用程序时,UAC 会弹出一个确认对话框,询问用户是否允许该程序获得提升权限。
  • 它通过 进程令牌 来控制进程的权限。当一个程序请求管理员权限时,UAC 会创建一个提升后的令牌,允许该程序以管理员身份运行。
  • UAC 机制不依赖于进程的完整性级别,而是基于用户权限和应用程序是否需要提升权限。

3. 强制完整性级别(MIL)与 UAC 的联系

尽管 强制完整性级别UAC 是不同的安全机制,它们有一些共同的目标——防止恶意程序和用户操作破坏系统的完整性。它们之间的联系可以体现在以下几个方面:

  • UACMIL 都可以限制进程的权限。在 UAC 启用的情况下,系统会要求提升权限,而 MIL 通过强制不同完整性级别之间的访问控制,防止低完整性进程对高完整性进程进行不当操作。
  • 如果 UAC 被启用并且进程以管理员权限运行,该进程将拥有高完整性级别(例如 High)。如果该进程是低权限的用户启动的,它将具有 Medium 完整性级别。这样,UAC 提供的是一个权限提升机制,而 MIL 则是对已经存在的进程或对象设置的访问控制。

4. 强制完整性级别(MIL)与 UAC 的区别

虽然 MILUAC 都与进程的权限相关,但它们的实现方式和作用范围不同:

实现方式的不同
  • UAC 通过用户提示来控制程序是否能够获得管理员权限。如果程序需要以管理员身份运行,UAC 会弹出对话框请求用户确认。即使是一个低权限的用户,若执行特定操作(例如安装软件),也可以通过 UAC 获得管理员权限。
  • MIL 则是通过操作系统内部的完整性级别来控制进程之间的交互和资源访问。它基于强制性访问控制,不依赖于用户的输入。低完整性级别的进程不能对高完整性级别的进程进行修改。
作用范围的不同
  • UAC 主要用于限制进程的权限提升,防止恶意程序在用户不知情的情况下获取管理员权限。它影响的是进程的 令牌,即控制程序是否能够执行高权限操作。
  • MIL 控制的是进程与文件、注册表等资源之间的交互。例如,低完整性进程不能写入高完整性文件或修改高完整性进程的状态。
是否依赖用户输入
  • UAC 需要用户的干预(确认或拒绝),因此 UAC 的行为是用户驱动的。
  • MIL 是系统自动控制的,用户没有直接干预的机会,除非管理员手动配置对象的完整性级别。

总结:MIL 与 UAC 的联系与区别

  • 联系:它们都旨在提高 Windows 操作系统的安全性,防止恶意程序或用户破坏系统的完整性。二者都通过限制进程的权限来防止低权限进程对高权限进程进行不当操作。
  • 区别:UAC 主要关注通过用户授权提升程序权限,而 MIL 是通过强制的安全策略限制不同完整性级别的进程和对象之间的交互。UAC 基于用户输入控制权限,而 MIL 是系统自动实施的。

这些机制是互补的,结合使用时能够增强系统的防御能力,确保恶意程序即使成功执行也无法轻易获取系统级权限。

相关文章:

强制完整性级别(MIL)和用户账户控制(UAC)的联系与区别

强制完整性级别(MIL) 和 用户账户控制(UAC) 都是 Windows 操作系统中的安全机制,旨在增强系统的安全性并防止恶意软件和攻击者在系统中获得更高的权限。尽管它们有共同的目标,但它们的工作原理、应用范围和…...

性能附录:如何计算并发用户数(摘自高楼老师《性能30讲》)

高楼老师《性能30讲》: 性能测试实战30讲-极客时间 感兴趣的同学可以去读一下,个人感觉写的非常好 目录 什么是并发? 在线用户数、并发用户数怎么计算 总结 什么是并发? 我们假设上图中的这些小人是严格按照这个逻辑到达系统的,那显然,…...

视频推拉流EasyDSS点播平台云端录像播放异常问题的排查与解决

EasyDSS视频直播点播平台是一个功能全面的系统,提供视频转码、点播、直播、视频推拉流以及H.265视频播放等一站式服务。该平台与RTMP高清摄像头配合使用,能够接收无人机设备的实时视频流,实现无人机视频推流直播和巡检等多种应用。 最近&…...

【Python系列】Python 连接 PostgreSQL 数据库并查询数据

???欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老…...

辛格迪客户案例 | 甫康(上海)健康科技有限责任公司药物警戒管理系统(PVS)项目

01 案例企业 甫康(上海)健康科技有限责任公司(简称“甫康”)该公司成立于2015年11月3日。公司的核心团队由来自中国和国外顶级制药公司的专业人士组成,与中国科学院上海药物研究所等知名研究机构保持紧密合作。此外,甫康药业还与…...

重新审视 ChatGPT 和 Elasticsearch:第 2 部分 - UI 保持不变

作者:来自 Elastic Jeff Vestal 本博客在第 1 部分的基础上进行了扩展,介绍了基于 RAG 的搜索系统的功能齐全的 Web UI。最后,你将拥有一个将检索、搜索和生成过程结合在一起的工作界面,同时使事情易于调整和探索。 不想读完整个内…...

坐标变换及视图变换和透视变换(相机透视模型)

文章目录 2D transformationScaleReflectionShear(切变)Rotation around originTranslationReverse变换顺序复杂变换的分解 齐次坐标(Homogenous Coordinates)3D transformationScale&TranslationRotation Viewing / Camera t…...

基于反激电路的电池充放电均衡控制

基于反激电路的电池充放电均衡控制是一种高效的能量转移型主动均衡方法,适用于锂离子电池组等串联电池组的管理。以下从原理、拓扑结构、控制策略和设计要点进行详细分析: 一、基本原理 反激电路(Flyback Converter)是一种隔离型…...

Windows版FFmpeg使用及B站视频下载示例python源码

Windows版FFmpeg使用及B站视频下载示例python源码 FFmpeg介绍和下载 FFmpeg 是一个功能强大、灵活且广泛使用的多媒体处理工具,无论是在专业领域还是日常使用中,都能满足各种多媒体处理需求。FFmpeg 是一个开源项目,遵循 LGPL 或 GPL 许可。…...

leetcode_动态规划/递归 509. 斐波那契数

509. 斐波那契数 斐波那契数 (通常用 F(n) 表示)形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是: F(0) 0,F(1) 1F(n) F(n - 1) F(n - 2),其中 n …...

对泰坦尼克号沉没事件幸存者数据分析和预测

一、分析目的 探究决定泰坦尼克号沉没事件中什么因素决定着船上人的生死,并对实例进行判别和预测。 二、数据介绍 Titanic.csv数据中包含了891个样本,记录了泰坦尼克号遇难时的891个乘客的基本信息,其中包括以下信息: Passenger…...

算法之排序算法

排序算法 ♥常见排序算法知识体系详解♥ | Java 全栈知识体系 算法 - 排序 | CS-Notes 面试笔记 十大经典排序算法总结 | JavaGuide...

DMA发送全部历史记录数据到串口

背景 博主参与的项目中,有个读取全部历史记录的功能,如果下位机在主程序中将全部历史记录单纯地通过串口传输会比较占用cpu资源,影响主程序中别的功能。最后商量得出以下实现方案: 定义两个发送缓冲区DMATxbuf1和DMATxbuf2&…...

蓝桥杯好题推荐-----高精度减法

🌈个人主页:羽晨同学 💫个人格言:“成为自己未来的主人~” 题目链接 记录详情 - 洛谷 | 计算机科学教育新生态https://www.luogu.com.cn/record/205122671 思路讲解 这个题目的解题思路,其实是和高精度加法是非常像的。怎么说…...

SpringMVC (3)

目录 1. 传递对象 2. 后端参数重命名(后端参数映射) 3. 传递数组 4. 传递集合 5. 传递JSON数据 5.1 JSON概念 5.2 JSON语法 5.3 JSON字符串和Java对象互转 5.4 JSON优点 5.5 传递JSON对象 6. 获取URL中参数PathVariable 7. 上传文件RequestP…...

vscode使用豆包MARSCode----集成doubao1.5 DeepSeekR1 DeepseekV3模型的ai编程插件

引入扩展 打开VSCode扩展窗口,在搜索窗口搜索MarsCode,找到MarsCode 插件单击「install」,完成安装,登录即可使用MarsCode 编程助手。 主要功能 主要快捷键 / explain 解释项目代码,AI 返回的内容有结构分类&#…...

Ubuntu 下 nginx-1.24.0 源码分析 - ngx_buf_t

ngx_buf_t 定义在 src/core/ngx_buf.h typedef struct ngx_buf_s ngx_buf_t;struct ngx_buf_s {u_char *pos;u_char *last;off_t file_pos;off_t file_last;u_char *start; /* start of buffer */u_char …...

分布式开源协调服务之zookeeper

Zookeeper简介 Zookeeper是什么? Zookeeper官网中对Zookeeper的定义还是比较明确的: ZooKeeper is a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services…...

ubuntu系统安装playhouse三方库

ubuntu系统python3.10安装playhouse三方库 问题描述 问题描述 虚拟环境中使用pip install playhouse,返回安装成功 用pip list查看,能看到playhouse及版本号 导包时提示没有找到playhouse我那件目录,能发现 检查site-package发现问题&#x…...

【星云 Orbit-F4 开发板】04.一触即发:GPIO 外部中断

【星云 Orbit-F4 开发板】04. 一触即发:外部中断控制 摘要 本文详细介绍了如何使用STM32F407微控制器的HAL库实现外部中断功能。通过配置GPIO引脚作为外部中断源,并在中断回调函数中处理按键事件,实现了按键控制LED状态翻转的功能。本文旨在…...

深入剖析AI大模型:大模型时代的 Prompt 工程全解析

今天聊的内容,我认为是AI开发里面非常重要的内容。它在AI开发里无处不在,当你对 AI 助手说 "用李白的风格写一首关于人工智能的诗",或者让翻译模型 "将这段合同翻译成商务日语" 时,输入的这句话就是 Prompt。…...

微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】

微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来,Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...

循环冗余码校验CRC码 算法步骤+详细实例计算

通信过程:(白话解释) 我们将原始待发送的消息称为 M M M,依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)(意思就是 G ( x ) G(x) G(x) 是已知的)&#xff0…...

深入理解JavaScript设计模式之单例模式

目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式(Singleton Pattern&#…...

Spring AI 入门:Java 开发者的生成式 AI 实践之路

一、Spring AI 简介 在人工智能技术快速迭代的今天,Spring AI 作为 Spring 生态系统的新生力量,正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务(如 OpenAI、Anthropic)的无缝对接&…...

Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)

参考官方文档:https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java(供 Kotlin 使用) 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...

10-Oracle 23 ai Vector Search 概述和参数

一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI,使用客户端或是内部自己搭建集成大模型的终端,加速与大型语言模型(LLM)的结合,同时使用检索增强生成(Retrieval Augmented Generation &#…...

以光量子为例,详解量子获取方式

光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学(silicon photonics)的光波导(optical waveguide)芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中,光既是波又是粒子。光子本…...

【Java学习笔记】BigInteger 和 BigDecimal 类

BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点:传参类型必须是类对象 一、BigInteger 1. 作用:适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...

GruntJS-前端自动化任务运行器从入门到实战

Grunt 完全指南:从入门到实战 一、Grunt 是什么? Grunt是一个基于 Node.js 的前端自动化任务运行器,主要用于自动化执行项目开发中重复性高的任务,例如文件压缩、代码编译、语法检查、单元测试、文件合并等。通过配置简洁的任务…...