Windows安全基础:UAC

目录

UAC原理介绍

UAC的四个安全级别定义

UAC的触发条件

UAC用户登录过程

UAC虚拟化

配置UAC


UAC原理介绍

用户账号控制(User Account Control) 为Windows Vista推出的一项安全技术,其原理是通过限制安全应用软件对系统层级的访问,提升Windows操作系统的安全性。

UAC的四个安全级别定义

可以在用户控制设置里面设置级别

使用win+R打开运行框,输入msconfig进入系统配置中

第一级别(最高级别):对所有安全系统设置的行为(如安装程序,更改Windows设置)进行提醒

第二级别(默认级别):仅在程序尝试改变系统设置时才会弹出UAC提醒,用户更改系统设置时不会弹

第三级别:仅当程序尝试更改计算机时通知提示,用户自行设置更改计算机时不会弹出(与第二种基本相同,但是不会使用安全桌面)

第四级别:从来不提示(相当于关闭了UAC)

UAC的触发条件

windows 7中开始涉及UAC的操作时弹出一个窗口,并且会黑屏询问你是否继续使用电脑处于“安全桌面”状态。

以下动作会触发UAC:

  • 配置windows update

  • 增加或者删除用户

  • 改变用户类型

  • 改变UAC设置

  • 安装ActiveX

  • 安装或移除程序

  • 安装设备驱动程序

  • 设置家长控制

  • 查看其他用户文件夹

  • 更改注册表

  • 更改系统保护或者高级系统设置

UAC触发流程

在触发 UAC 时,系统会创建一个consent.exe进程,该进程通过白名单程序和用户选择来判断是否创建管理员权限进程。请求进程将要请求的进程cmdline和进程路径通过LPC接口传递给appinfo的RAiLuanchAdminProcess函数,该函数首先验证路径是否在白名单中,并将结果传递给consent.exe进程,该进程验证被请求的进程签名以及发起者的权限是否符合要求,然后决定是否弹出UAC框让用户进行确认。这个UAC框会创建新的安全桌面,屏蔽之前的界面。同时这个UAC框进程是SYSTEM权限进程,其他普通进程也无法和其进行通信交互。用户确认之后,会调用CreateProcessAsUser函数以管理员权限启动请求的进程。

UAC用户登录过程

在整个Windows操作系统资源中会有一个ACL,这个ACl决定了各个不同的权限的用户/进程能够访问不同的资源。

当一个线程尝试访问某个对象时,当前的系统会先检查该线程所持有的访问令牌以及被访问对象的安全描述符中的DACL规则。

如果安全描述符中不存在DACL规则,则当前系统会允许线程直接访问。

线程访问对象的流程:

正常来说,在我们使用账号登录操作系统会产生令牌令牌会记载我们所拥有的权限。

如果我们以管理员权限进行登录,会生成两份访问令牌:标准用户访问令牌完全管理员访问令牌

下面这幅图展示了管理员用户和普通用户的登录过程

UAC的用户登录过程如下:

  1. Administrato用户的UAC验证过程:

当我们登录的是Adminitrator用户的时候(已经开启UA,想要在管理控制台中执行“添加/删除用户”操作,UAC会弹出“安全桌面”

可以根据实际情况选择是或者否。

出现这种情况的原因是,在访问之前系统会 先检查进程所持有的访问令牌以及被访问对象的安全描述符中的DACL规则,确保携带的令牌以及规则正确无误。因为我们携带的访问令牌是权限最低状态下的受保护的管理员访问令牌,所以当进程请求触发了UAC操作的时候,UAC就会弹出通知,询问我们是否允许。

单机“是”按钮,其实就是向进程发送了我们的管理员令牌,使得管理员的状态由“受保护状态”变更为提升状态。

  1. 标准用户的UAC验证过程:

标准用户登录后,windows会给用户分配一个标准用户访问令牌

要访问某个携带标准用户访问令牌的进程,在进程触发UAC操作的时候会弹出通知,让我们输入管理员密码

此时我们并不具备管理员的访问令牌,通过输入管理员密码可以获取管理员的访问令牌操作。

输入管理员密码的过程本质上是通过管理员凭据为标准用户提权

UAC虚拟化

又称为UAC重定向,当用户没有达到程序要求的权限时,就会进行重定向操作

虚拟化又被分为:文件虚拟化注册表虚拟化

例如:如果一个程序试图写入C:\Program Files\Contoso\Settings.ini,但是用户没有写入那个目录的权限,这个写操作就会被重定向到

C:\Users\Username\AppData\Local\VitualStore\Program Files\Contoso\Settings.ini

对于注册表来说,如果一个程序视图写入HKEY_LOCAL_MACHINE\Software\Contoso,它会自动被重定向到

HKEY_CURRENT_USER\Software\Classes\VirtualStore\Machine\Sofreware\Contoso或

HKEY_USERS\UserSID_Classes\VirtualStore\Machine\Sofreware\Contoso

配置UAC

若要配置 UAC,可以使用:

  • Microsoft Intune/MDM

  • 组策略

  • 注册表

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

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

相关文章

北重T型槽平台厂家介绍铸铁平台在业界有怎样的优势

河北北重厂家简单介绍一下铸铁平台在业界具有哪些优势: 高强度:铸铁平台具有较高的强度和刚性,能够承受较大的重量和荷载。 耐磨性:铸铁平台表面通常经过处理,具有良好的耐磨性,能够在长期使用中保持平整和…

产品设计标书制作全攻略:从入门到精通

在商业竞争日益激烈的今天,一份出色的产品设计标书往往是企业赢得项目、展现实力的重要法宝。那么,如何制作一份既专业又具吸引力的产品设计标书呢? 一、明确目标与需求 在制作产品设计标书之前,首先要明确项目的目标和需求。这…

Linux 安装 Mysql5.7(glibc版)

前言:经过一天半的折腾,终于把 mysql 5.7.17 版本安装上了 centos 7 系统上,把能参考的博客几乎都看了一遍,终于发现这些细节问题,然而翻了无数的文章,基本上都没有提到这些,所以 尽量把这些细节写下来,一方面是供初学者们参考,另一方面也是对摸索做一个总结 。 一、…

SpringBoot3自动配置原理

​​​​​​自动配置 遵循约定大约配置的原则,在boot程序启动后,起步依赖中的一些bean对象会自动注入到ioc容器 看一下我们前面写的代码有没有达到自动配置的效果呢? 没有自动,我们写了配置类,写了Import注解&#…

Spring Boot自定义启动Banner在线生成工具

记录一下,后续有更新添加 链接: Spring Boot自定义启动Banner在线生成工具

【Linux】磁盘分区管理及挂载/永久挂载管理

👨‍🎓博主简介 🏅云计算领域优质创作者   🏅华为云开发者社区专家博主   🏅阿里云开发者社区专家博主 💊交流社区:运维交流社区 欢迎大家的加入! 🐋 希望大家多多支…

S1-05二进制信号量和计数器信号量

二进制信号量 二进制信号量,又叫二值信号量,要么是0,要么是1,也是通过Take和Give方式获取和释放,用于控制对共享资源的访问。在每次访问共享资源之前需要获取二进制信号量,若已被获取则任务会被阻塞直到二…

提供一些防扫描被封禁、防溯源工具

1► 介绍 SecScanC2可以创建P2P网络进行安全扫描和C2。该工具可以帮助安全研究人员更有效地进行渗透测试,防止扫描被封禁,保护自己免受溯源。 2► 工具特性 P2P:将大量互联网节点构建成P2P网络 防止扫描被封禁:随机或指定节点…

二阶贝塞尔曲线生成弧线

概述 本文分享一个二阶贝塞尔曲线曲线生成弧线的算法。 效果 实现 1. 封装方法 class ArcLine {constructor(from, to, num 100) {this.from from;this.to to;this.num num;return this.getPointList();}getPointList() {const { from, to } thisconst ctrlPoint thi…

二级C语言备考4

一、单选 共40题 (共计40分) 第1题 (1.0分) 题号:6198 难度:易 第1章 以下说法正确的是 (). A:C语言被称为"高级语言"是因为它用接近人们习惯的自然语言和数学语言作为表达形式,使人们学习和操…

rime中州韵小狼毫 汉语拼音输入方案

在word中,我们可以轻易的给汉字加上拼音,如下👇: 但是,如何单独的输入拼音呢?例如输入 pīn yīn, 再如 zhōng guō。今天我们分享一个使用rime中州韵小狼毫须鼠管输入法配置的输入汉语拼音的输入方案。功…

C++面试问题---Const

1.const 1.1 作用 修饰变量,说明该变量不可以被改变;修饰指针,分为指向常量的指针(pointer to const)和自身是常量的指针(常量指针,const pointer);修饰引用,…

JFrog_Artifactory CLI 的使用

文章目录 1. 文件上传,下载,删除,拷贝, 移动,搜索2. 用户登录信息配置3. 文件属性设置4. 执行curl命令 1. 文件上传,下载,删除,拷贝, 移动,搜索 #1.上传tar包,并且创建包…

【uniapp-小程序-分享图5/4】

utils.js //裁剪分享的图片为5:4 const makeCanvas (imgUrl) > {console.log("imgUrl",imgUrl);return new Promise((resolve, reject) > {// 获取图片信息,小程序下获取网络图片信息需先配置download域名白名单才能生效uni.getImageInfo({src: imgUrl,succe…

tkinter电子时钟实现时间日期可实现透明无标题栏

您可以使用Python的Tkinter库来创建一个简单的电子时钟应用程序。以下是一个示例代码,它可以在窗口上显示当前的时间和日期,并且窗口是透明的且没有标题栏。 from tkinter import * import time# 创建主窗口 root Tk()# 设置窗口透明 root.attributes(…

【机器学习300问】6、什么是机器学习中的特征量?

一、首先我们看三个例子 例一:在辨别水果的任务中,人类一般会通过外观、味道、颜色等方面信息来进行区分。而机器学习则通过水果的颜色、重量、气味成分的量等被称之为“特征量”的数值来区分。 例二:在手写数字识别任务中,人类…

概率大揭秘:深度复习概率论,事半功倍的学霸秘籍!

第一章 概率论的基本概念 一、事件及其关系与运算 1、样本空间、样本点、随机事件、必然事件、不可 能事件、基本事件和复合事件的概念; 2、事件的包含与相等:若事件A包含事件B,则B的发生必然导致A的发生。进而有P(AB)P(B),P…

什么是算法复杂度?

算法复杂度分析 数据结构有哪些? 数组,链表,二叉树,红黑树,散列表。 为什么要进行复杂度分析? 指导你编写出性能更优秀的代码 评判别人写的代码的好坏。 时间复杂度:代码的执行耗时 空间复…

Spark Doris Connector 可以支持通过 Spark 读取 Doris 数据类型不兼容报错解决

1、版本介绍: doris版本: 1.2.8Spark Connector for Apache Doris 版本: spark-doris-connector-3.3_2.12-1.3.0.jar:1.3.0-SNAPSHOTspark版本:spark-3.3.1 2、Spark Doris Connector Spark Doris Connector - Apache Doris 目…

Web前端 ---- 【Vue】(组件)父子组件之间的通信一文带你了解

目录 前言 父组件传子组件 ---- props 给要传递数据的子组件绑定要传过去的属性及属性值 在子组件中使用props配置项接收 props配置项 子组件传父组件 ---- 组件的自定义事件 子组件向父组件传递数据 通过代码来绑定自定义事件 前言 本文将介绍在Vue中父子组件如何进行…