强制完整性级别(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 是不同的安全机制,它们有一些共同的目标——防止恶意程序和用户操作破坏系统的完整性。它们之间的联系可以体现在以下几个方面:
- UAC 和 MIL 都可以限制进程的权限。在 UAC 启用的情况下,系统会要求提升权限,而 MIL 通过强制不同完整性级别之间的访问控制,防止低完整性进程对高完整性进程进行不当操作。
- 如果 UAC 被启用并且进程以管理员权限运行,该进程将拥有高完整性级别(例如 High)。如果该进程是低权限的用户启动的,它将具有 Medium 完整性级别。这样,UAC 提供的是一个权限提升机制,而 MIL 则是对已经存在的进程或对象设置的访问控制。
4. 强制完整性级别(MIL)与 UAC 的区别
虽然 MIL 和 UAC 都与进程的权限相关,但它们的实现方式和作用范围不同:
实现方式的不同:
- 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状态翻转的功能。本文旨在…...
浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)
✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义(Task Definition&…...
Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例
使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件,常用于在两个集合之间进行数据转移,如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model:绑定右侧列表的值&…...
对WWDC 2025 Keynote 内容的预测
借助我们以往对苹果公司发展路径的深入研究经验,以及大语言模型的分析能力,我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际,我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测,聊作存档。等到明…...
在Ubuntu中设置开机自动运行(sudo)指令的指南
在Ubuntu系统中,有时需要在系统启动时自动执行某些命令,特别是需要 sudo权限的指令。为了实现这一功能,可以使用多种方法,包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法,并提供…...
初探Service服务发现机制
1.Service简介 Service是将运行在一组Pod上的应用程序发布为网络服务的抽象方法。 主要功能:服务发现和负载均衡。 Service类型的包括ClusterIP类型、NodePort类型、LoadBalancer类型、ExternalName类型 2.Endpoints简介 Endpoints是一种Kubernetes资源…...
【JavaSE】多线程基础学习笔记
多线程基础 -线程相关概念 程序(Program) 是为完成特定任务、用某种语言编写的一组指令的集合简单的说:就是我们写的代码 进程 进程是指运行中的程序,比如我们使用QQ,就启动了一个进程,操作系统就会为该进程分配内存…...
基于Java+VUE+MariaDB实现(Web)仿小米商城
仿小米商城 环境安装 nodejs maven JDK11 运行 mvn clean install -DskipTestscd adminmvn spring-boot:runcd ../webmvn spring-boot:runcd ../xiaomi-store-admin-vuenpm installnpm run servecd ../xiaomi-store-vuenpm installnpm run serve 注意:运行前…...
在树莓派上添加音频输入设备的几种方法
在树莓派上添加音频输入设备可以通过以下步骤完成,具体方法取决于设备类型(如USB麦克风、3.5mm接口麦克风或HDMI音频输入)。以下是详细指南: 1. 连接音频输入设备 USB麦克风/声卡:直接插入树莓派的USB接口。3.5mm麦克…...
Kubernetes 网络模型深度解析:Pod IP 与 Service 的负载均衡机制,Service到底是什么?
Pod IP 的本质与特性 Pod IP 的定位 纯端点地址:Pod IP 是分配给 Pod 网络命名空间的真实 IP 地址(如 10.244.1.2)无特殊名称:在 Kubernetes 中,它通常被称为 “Pod IP” 或 “容器 IP”生命周期:与 Pod …...
保姆级【快数学会Android端“动画“】+ 实现补间动画和逐帧动画!!!
目录 补间动画 1.创建资源文件夹 2.设置文件夹类型 3.创建.xml文件 4.样式设计 5.动画设置 6.动画的实现 内容拓展 7.在原基础上继续添加.xml文件 8.xml代码编写 (1)rotate_anim (2)scale_anim (3)translate_anim 9.MainActivity.java代码汇总 10.效果展示 逐帧…...
