CN114861160A - 提升非管理员账户权限的方法及装置、设备、存储介质 - Google Patents

提升非管理员账户权限的方法及装置、设备、存储介质 Download PDF

Info

Publication number
CN114861160A
CN114861160A CN202210400321.5A CN202210400321A CN114861160A CN 114861160 A CN114861160 A CN 114861160A CN 202210400321 A CN202210400321 A CN 202210400321A CN 114861160 A CN114861160 A CN 114861160A
Authority
CN
China
Prior art keywords
program
desktop agent
information
system management
desktop
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210400321.5A
Other languages
English (en)
Inventor
刘川意
杨春鹏
杨帅林
张炳
任家东
韩培义
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yanshan University
Shenzhen Graduate School Harbin Institute of Technology
Original Assignee
Yanshan University
Shenzhen Graduate School Harbin Institute of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yanshan University, Shenzhen Graduate School Harbin Institute of Technology filed Critical Yanshan University
Priority to CN202210400321.5A priority Critical patent/CN114861160A/zh
Publication of CN114861160A publication Critical patent/CN114861160A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems

Abstract

本发明适用于计算机技术领域,提供了提升非管理员账户权限的方法,包括:以系统管理权限运行桌面代理程序;所述桌面代理程序获取待运行进程信息;所述桌面代理程序将所述待运行进程信息与程序白名单进行匹配;若匹配成功,则所述桌面代理程序创建待运行进程;若匹配失败,则重新执行所述以系统管理权限运行桌面代理程序的步骤。通过上述方案,本发明可以解决在特定场景下,标准用户无法获得管理员权限导致工作无法推进的技术问题。

Description

提升非管理员账户权限的方法及装置、设备、存储介质
技术领域
本发明属于计算机技术领域,尤其涉及提升非管理员账户权限的方法及装置、设备、存储介质。
背景技术
Windows系列操作系统是由微软公司推出的,目前是主流的桌面操作系统之一。微软在Windows Vista版本之后的操作系统中采用了用户账户控制(User Account Control,记作UAC)机制,以帮助阻止恶意程序对系统造成损坏,也可以帮助部署易于管理的平台。UAC主要是用来区别系统的标准用户和管理员用户的,当安装或运行某程序且需要管理员权限时,便会弹出UAC提示框要求当前正在使用计算机的人员提供管理员凭据,才能实现程序的安装与运行。
在某些企业部门的具体实际场景下,员工是以标准用户权限登录Windows操作系统的,属于受限账户,而安装程序或运行某些程序都需要管理员权限,且必须通过UAC提示框进行管理员凭据验证才能获得权限,进而完成操作。该凭据即为管理员账户和密码。但是管理员凭据是由部门管理员持有并负责的,无法直接授予员工,这使得凭据验证操作只能由管理员到现场输入账户密码,才能完成目标计算机上需要权限的相关任务,过程非常繁琐且效率低下,对管理员密码的安全性也造成了一定的威胁。并且在员工差旅期间,相关操作更是几乎无法完成。
使用任务计划程序和微软提供的一个工具Application Compatibility Toolkit(ACT)可以让某些应用绕过UAC使用管理员权限,而目前Windows相应版本的系统中也存在Bypass旁路绕过UAC的方法,但它们的前提都是当前登录账户需为管理员,而系统当前登录的账户为标准用户,所以无法获得管理员权限(Administrator权限)。
Window系统在开启UAC的情况下,目前国内外尚无可以使标准用户不通过管理员凭据验证就获得系统管理权限的方法。因此,如何使Windows下的标准用户无需验证凭据便可获得管理员权限,完成需要系统高权限的程序安装以及运行某些程序的任务,并且有效控制权限的利用,保证系统的安全性,成为亟待解决的问题。
发明内容
本发明实施例提供了提升非管理员账户权限的方法及装置、设备、存储介质,可以解决在特定场景下,标准用户无法获得管理员权限导致工作无法推进的技术问题。
第一方面,本发明实施例提供了一种提升非管理员账户权限的方法,包括:
以系统管理权限运行桌面代理程序;
所述桌面代理程序获取待运行进程信息;
所述桌面代理程序将所述待运行进程信息与程序白名单进行匹配;
若匹配成功,则所述桌面代理程序创建待运行进程;
若匹配失败,则重新执行所述以系统管理权限运行桌面代理程序的步骤。
在第一方面的一种可能的实现方式中,所述以系统管理权限运行桌面代理程序的步骤包括:
获取开机启动指令;
根据所述开机启动指令启动Windows服务程序;
所述Windows服务程序以系统管理权限启动所述桌面代理程序。
在第一方面的一种可能的实现方式中,所述Windows服务程序以系统管理权限启动所述桌面代理程序的步骤为:
调用获取当前句柄函数获取当前服务进程的句柄HANDLE;
根据所述句柄以及进程访问函数确定取服务进程的系统管理权限令牌;
调用令牌复制函数创建一个新令牌来复制服务进程的系统管理权限令牌;
调用会话ID获取函数获取用户桌面进程的会话ID;
调用进程创建函数并依据所述句柄HANDLE、所述系统管理权限令牌以及所述会话ID创建具有系统管理权限的桌面代理程序进程。
在第一方面的一种可能的实现方式中,所述程序白名单构建方式为:
获取可信任的安装程序或者应用程序的可执行文件;
依据前端加密算法对所述安装程序或所述可执行文件进行计算以确定每一所述安装程序或所述可执行文件对应的第一哈希值;
将每一所述第一哈希值存储为程序白名单。
在第一方面的一种可能的实现方式中,所述桌面代理程序将所述待运行进程信息与程序白名单进行匹配的步骤包括:
获取所述待运行进程信息;
根据所述待运行进程信息以及哈希函数计算对应所述可待运行进程信息的第二哈希值;
将所述待运行进程信息的第二哈希值与所述程序白名单中的第一哈希值进行匹配。
在第一方面的一种可能的实现方式中,所述以系统管理权限运行桌面代理程序之后还包括:
过滤出由桌面代理程序启动的具有系统管理权限的所述待运行进程;
将所述待运行进程的行为信息存储为行为日志信息;
将所述行为日志信息发送至所述桌面代理程序;
所述桌面代理程序将所述行为日志信息上传至服务器进行存储。
在第一方面的一种可能的实现方式中,所述行为日志信息包括进程PID,进程名称,主机名(Windows当前登录用户名),进程行为(进程创建与退出,注册表操作),创建时间(即相应行为发生的时间)。
第二方面,本发明实施例提供了一种提升非管理员账户权限的装置,包括:
执行模块,以系统管理权限运行桌面代理程序;
信息获取模块,所述桌面代理程序获取待运行进程信息;
控制模块,将所述桌面代理程序将所述待运行进程信息与程序白名单进行匹配;若匹配成功,则所述桌面代理程序创建待运行进程;若匹配失败,则重新执行所述以系统管理权限运行桌面代理程序的步骤。
第三方面,本发明实施例提供了一种设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述提升非管理员账户权限的方法。
第四方面,本发明实施例提供了一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上所述提升非管理员账户权限的方法。
可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
本发明实施例与现有技术相比存在的有益效果是:
本发明通过在一般用户权限登录系统时,通过桌面代理程序所述桌面代理程序获取待运行进程信息,从而可以将所述待运行进程信息与程序白名单进行匹配;在匹配成功时,则所述桌面代理程序创建待运行进程,从而可以通过桌面代理程序创建待运行进程,而无需通过管理员去获取凭据验证以获得系统管理权限。解决在特定场景下,标准用户无法获得管理员权限导致工作无法推进的技术问题。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的提升非管理员账户权限的方法的流程示意图;
图2是本发明一实施例提供的提升非管理员账户权限的方法的流程示意图;
图3是本发明实施例提供的提升非管理员账户权限的方法的流程示例图;
图4是本发明实施例提供的提升非管理员账户权限的方法的流程示例图;
图5是本发明实施例提供的提升非管理员账户权限的方法的流程示例图;
图6是本发明实施例提供的升非管理员账户权限的装置的结构示意图;
图7是本发明实施例提供的设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
应当理解,当在本发明说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本发明说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本发明说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本发明说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本发明的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
本发明实施例提供的提升非管理员账户权限的提升非管理员账户权限的方法可以应用于可安装Windows系统的平板电脑、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digitalassistant,PDA)等设备上,本发明实施例对设备的具体类型不作任何限制。
在一实施例中,如图1所示,一种提升非管理员账户权限的方法,包括:
S1、以系统管理权限运行桌面代理程序;
其中,系统管理权限实际上是设置的一种计算机等的最高用户权限、可以对计算机中的所有存储器件以及软件的运行、安装以及软件的基础设置进行修改以及设置,在很多软件中,为了保证安装时所有功能的可执行,需要以系统管理权限进行安装,但是在很多公司里,由于保密以及公司网络安全需要,计算机中的权限需要层层限制,使得很多用户不具备系统管理权限,仅能登陆自己的标准用户账户进行操作。而桌面代理程序实际上是一种执行预设运行流程的代码。
S2、所述桌面代理程序获取待运行进程信息;
其中,所述桌面代理程序可以通过一个桌面交互进程实时获取待运行进程信息,此时,待运行进程信息为应用程序或安装程序可执行文件。
S3、所述桌面代理程序将所述待运行进程信息与程序白名单进行匹配;
其中,此时所说的匹配实际上是匹配待运行进程信息的特征与程序白名单中的特征,当两者一样时,则确认匹配成功。则当两者不一样时,则确认匹配失败。
S4、若匹配成功,则所述桌面代理程序创建待运行进程;
S5、若匹配失败,则重新执行所述以系统管理权限运行桌面代理程序的步骤。
本发明通过在一般用户权限登录系统时,通过桌面代理程序所述桌面代理程序获取待运行进程信息,从而可以将所述待运行进程信息与程序白名单进行匹配;在匹配成功时,则所述桌面代理程序创建待运行进程,从而可以通过桌面代理程序创建待运行进程,而无需通过管理员去获取凭据验证从而获得系统管理权限。解决在特定场景下,标准用户无法获得管理员权限导致工作无法推进的技术问题。而且在提高工作效率,简化业务流程的基础上完善了Windows系统的系统管理权限利用的安全性以及管理员凭据的安全性。
本发明实施例使相应场景下登录Windows操作系统的标准用户(即不具备系统管理权限的用户)能够免凭据验证直接获取Windows系统的系统管理权限,以完成安装与运行相应的程序,并通过程序白名单校验的方式防止权限滥用,还通过内核驱动监控提权进程行为的方式来监视权限利用情况,让权限的利用对系统管理员透明,更加完善了整个系统的安全性。本发明能使得Windows系统下的标准用户可免凭据验证获得系统高权限,完成程序安装以及某些需要高权限程序运行的任务,不需要PC机管理员参与,提高了工作效率,并在一定程度上保护了管理员的账户与密码凭据。
在一种可能的实现方式中,如图2所示,所述以系统管理权限运行桌面代理程序的步骤包括:
S11、获取开机启动指令;
其中,开机启动指令是计算机或者其他个人设备的开机启动指令,用于计算机或者其他个人设备的唤醒并开机工作。
S12、根据所述开机启动指令启动Windows服务程序;
其中,Windows服务程序也是通常常说的Windows系统。
S13、所述Windows服务程序以系统管理权限启动所述桌面代理程序。
通过上述方案,可以在桌面代理程序安装过程中配置服务,通过设置此工作逻辑将桌面代理程序设为开机自启动。通过Windows服务程序实现桌面代理程序(Agent客户端)以系统管理权限(System权限)自启动,并创建可与用户交互的桌面代理程序(桌面应用进程Agent)。且在桌面代理程序(Windows服务AgentService)中通过一个子线程守护桌面代理程序(Agent进程),因为桌面代理程序(Agent进程)一旦被终结,便只能重新启动计算机获得系统管理权限(System权限),子线程对桌面代理程序(Agent进程)进行监控,循环检测桌面代理程序(Agent进程)的句柄是否存在,若存在则阻塞循环,若不存在则重新启动桌面代理程序(Agent进程)。
基于上述实施例,可以首先Windows服务程序在安装时设置为开机自启动,待计算机开机时桌面代理程序便由服务程序以系统管理权限启动,完成了应用程序提权的基础。而且仅仅在开机时仅能实行一次启动,且在存在阻塞循环时,需要重新启动开机启动指令才能再次获取系统管理权限,再以系统管理权限启动所述桌面代理程序,充分保证了运行的安全性。
在一种可能的实现方式中,如图3所示,所述Windows服务程序以系统管理权限启动所述桌面代理程序的步骤为:
S131、调用获取当前句柄函数获取当前服务进程的句柄HANDLE;
其中,在Windows服务进程中,通过调用获取当前句柄函数获取当前服务进程的句柄HANDLE,进程的句柄则是基于特定进程的,此句柄实际是一个指针,对于同一个进程对象,它指向一块包含具体信息数据的内存,可以当做索引。
需要说明的是,获取当前句柄函数可以采用GetCurrentProcess函数实现。
S132、根据所述句柄以及进程访问令牌函数确定取服务进程的系统管理权限令牌;
其中,调用进程访问令牌函数依靠上述获得的句柄来获取服务进程的权限令牌Token,也即系统管理权限令牌,访问令牌是一个被保护的对象,包含了与用户帐户相关的辨识和特权信息。当用户登陆到一台windows计算机,登陆进程会验证用户的登陆凭据。成功后,登陆进程返回一个对应用户的SID(安全标识符)和一个用户的安全组SID列表。
需要说明的是,进程访问令牌函数可以采用OpenProcessToken函数实现。
S133、调用令牌复制函数创建一个新令牌来复制服务进程的系统管理权限令牌;
需要说明的是,令牌复制函数可以采用DuplicateTokenEx函数实现。
S134、调用会话ID获取函数获取用户桌面进程的会话ID;
其中,会话ID获取函数获取用户桌面进程的会话ID,用于启动桌面UI进程,声明STARTUPINFO结构体变量,并设置会话ID,显示方式为用于创建进程,检索指定的Windows登录用户的环境变量,调用CreateEnvironmentBlock函数创建环境块。
需要说明的是,会话ID获取函数可以采用WTSGetActiveConsoleSessionId函数实现。
S135、调用进程创建函数并依据所述句柄HANDLE、所述权限令牌Token以及所述会话ID创建具有系统管理权限的桌面代理程序进程。
需要说明的是,进程创建函数可以采用CreateProcessAsUser函数实现。
在上述实施例中,通过调用进程创建函数,根据之前获取的相关信息创建具有SYSTEM权限的桌面代理程序进程;
CreateProcessAsUser函数参数如下:
Figure BDA0003599690000000091
Figure BDA0003599690000000101
其中,hToken表示上述的进程的权限令牌句柄Token,lpApplicationName表示要启动的进程名,此处即桌面代理程序Agent.exe;lpEnvironment指向新进程的环境块的指针,即上述创建的环境块句柄;lpStartupInfo指向启动信息结构的指针,即上述的STARTUPINFO结构体变量;dwCreationFlag赋值为NORMAL_PRIORITY_CLASS|CREATE_NEW_CONSOLE|CREATE_UNICODE_ENVIRONMENT。
在一种可能的实现方式中,所述程序白名单构建方式为:
获取可信任的安装程序或者应用程序的可执行文件;
其中,服务端的后台管理员在本机的文件目录系统中选择可信任的安装程序或者应用程序的可执行文件,如.msi安装程序文件和.exe可执行文件。
依据前端加密算法对所述安装程序或所述可执行文件进行计算以确定每一所述安装程序或所述可执行文件对应的第一哈希值;
其中,由Web前端JavaScript实现的计算文件SHA1值的库函数计算Hash值,即第一哈希值。其中,前端加密算法可以由用户另外设置,也可以从现有技术中进行选取。
将每一所述第一哈希值存储为程序白名单。
在上述实施例中,通过将第一哈希值存储为程序白名单,构成程序白名单,还可以将其上传到于服务端并存储于数据库中进行备份。以此为依据,能够在解决在特定场景下,标准用户无法获得管理员权限导致工作无法推进的技术问题。还能提高工作效率,简化业务流程的基础上完善了Windows系统的系统管理权限利用的安全性以及管理员凭据的安全性。
需要强调的是,本发明能够使Windows系统的标准用户获取系统的SYSTEM权限,故安全性尤为重要,所以白名单中包含的程序都是可信程序。
在一种可能的实现方式中,参照图4所示,所述桌面代理程序将所述待运行进程信息与程序白名单进行匹配的步骤包括:
S31、获取所述待运行进程信息;
其中,桌面代理程序(Agent)接收用户输入,用户将待运行进程信息,如应用程序可执行文件(如.exe文件)的文件全路径提供给桌面代理程序并选择运行该程序。
S32、根据所述待运行进程信息以及哈希函数计算对应所述可待运行进程信息的第二哈希值;
其中,通过哈希函数计算对应待运行进程信息如可执行文件的第二哈希值。
S33、将所述待运行进程信息的第二哈希值与所述程序白名单中的第一哈希值进行匹配。
然后通过Http协议与服务端通信,服务端访问数据库查询第二哈希值是否在上述的程序白名单中,也即第二哈希值是否有与其匹配的第一哈希值,若无,则所述待运行进程信息则不在程序白名单中,若存在与其匹配的第一哈希值,则桌面代理程序将创建上述待运行进程信息的应用程序进程,而此进程继承桌面代理程序所拥有的系统管理权限。
在此实施例中,通过调用Windows系统API函数CreateProcess运行当前用户选择的应用程序。CreateProcess函数参数如下:
Figure BDA0003599690000000111
Figure BDA0003599690000000121
其中,声明两个空的结构体,分别为决定新进程的主窗体如何显示的STARTUPINFO结构体和接收新进程的识别信息的PROCESS_INFORMATION结构体,并将命令行参数lpCommandLine赋为待提权运行的程序可执行文件的路径,其余为默认值,实现创建新进程。
本实施例,通过程序白名单验证方式,加强了权限使用范围的管控,防范恶意的权限利用对Windows系统的威胁。
在一种可能的实现方式中,参照图5所示,所述以系统管理权限运行桌面代理程序之后还包括:
S6、过滤出由桌面代理程序启动的具有系统管理权限的所述待运行进程;
其中,桌面代理程序(Agent)启动系统管理权限(SYSTEM权限)的进程,内核层监控事件消息,根据父进程与子进程的逻辑关系,依据进程名过滤出由桌面代理程序启动的SYSTEM权限进程的行为。如桌面代理程序的进程名为Agent.exe,则对于新创建的一个进程,若其父进程的进程名为Agent.exe。则将该提权进程的行为信息过滤为具有系统管理权限的所述待运行进程。
S7、将所述待运行进程的行为信息存储为行为日志信息;
即将待运行进程的行为信息,即该提权进程的行为信息过滤并临时记录到缓冲区,存储为行为日志信息。
S8、将所述行为日志信息发送至所述桌面代理程序;
基于内核层与应用层通信技术将进程行为日志信息再发送给桌面代理程序Agent。
S9、所述桌面代理程序将所述行为日志信息上传至服务器进行存储。
桌面代理程序将日志信息上传到服务端存储于关系型数据库。
通过上述方案,可以监控待运行进程的提升权限的进程的行为,使用户的权限利用信息受管理人员的监视。
进一步地,主要监控提权进程的创建与退出以及提权进程对注册表的操作;
具体地,通过使用PsSetCreateProcessNotifyRoutineEx内核函数,并声明一个回调函数,来监控进程的创建和退出,该函数如下:
Figure BDA0003599690000000131
参数NotifyRoutine指向PCREATE_PROCESS_NOTIFY_ROUTINE_EX例程已注册或删除的指针,创建新进程时,操作系统将调用此例程;参数Remove指定PsSetCreateProcessNotifyRoutineEx是否会从回调例程列表中添加或删除指定的例程。如果此参数为TRUE,则从回调例程列表中删除指定的例程。如果此参数为FALSE,则将指定的例程添加到回调例程列表中。
在本实施例中,NotifyRoutine指向定义的回调函数,而监控进程创建时Remove参数设为FALSE,监控进程退出时Remove参数设为TRUE。并将进程行为信息存放到扩展结构中,待传回应用层。
回调函数中通过调用PsGetProcessInheritedFromUniqueProcessId函数获取当前创建的进程的父进程ID,通过调用PsLookupProcessByProcessId函数来根据父进程PID获取PEPROCESS结构体,再调用PsGetProcessImageFileName函数读取到父进程的进程名。如果其父进程名为Agent.exe,则将该进程的创建或退出信息写入内存。
使用CmRegisterCallback内核函数,设置一个回调函数,来监控进程在注册表上执行的操作。该函数如下:
Figure BDA0003599690000000141
参数Function指向RegistryCallback例程的指针,即回调的函数地址;参数Cookie指向LARGE_INTEGER变量的指针,该变量接收标识回调例程的值。
在本实施例中,通过上述的方式获取当前进程的父进程信息,判断父进程名是否为Agent.exe,过滤出提权进程的注册表操作。具体地,通过调用GetRegisterObjectCompletePath函数获取注册表路径,将信息以字符串形式写入内存。
对于写入内存的进程创建与退出以及注册表操作信息,在相应的事件发生时,通过IRP请求将内容发送到内存缓冲区,通知应用层也即Agent.exe读取,Agent.exe中维护一个监听线程与内核层通信。
具体地,当驱动程序获得监控信息后,通过KeSetEvent函数向应用层发送请求。在驱动入口中注册设备通信函数DriverDefaultHandle,当驱动程序收到IRP_MJ_DEVICE_CONTROL请求则执行该函数,该函数将监控信息写入IRP,并向应用层返回IRP报文。
在应用层通过调用CreateFile函数读取信息,调用该函数时会经过I/O管理器生成一个IRP_MJ_CREATE类型的IRP,系统根据函数所针对的设备找到对应的驱动,然后调用驱动中对应的处理函数,并将这个处理函数中返回的值返回给I/O管理器,I/O管理器再返回给应用层的API,应用层线程在while循环中通过WaitForSingleObject函数持续等待内核层ring0事件通知。通过DeviceIoControl直接发送控制代码到指定的设备驱动程序,使设备执行相应的操作,完成内核驱动与应用层进程的通信。
应用层Agent.exe的线程将所述的信息转换为Json格式的数据,并在所述的信息中加入当前登录Windows系统的用户名,然后上传至服务端存储为进程行为日志信息。
可选地,所述行为日志信息包括进程PID、进程名称、主机名(Windows当前登录用户名)、进程行为(进程创建与退出,注册表操作)、创建时间(即相应行为发生的时间)。
本发明还提出一种提升非管理员账户权限的装置,参照图6所示,包括:
执行模块,以系统管理权限运行桌面代理程序;
信息获取模块,所述桌面代理程序获取待运行进程信息;
控制模块,将所述桌面代理程序将所述待运行进程信息与程序白名单进行匹配;若匹配成功,则所述桌面代理程序创建待运行进程;若匹配失败,则重新执行所述以系统管理权限运行桌面代理程序的步骤。
可选地,信息获取模块还用于获取开机启动指令;
执行模块,根据所述开机启动指令启动Windows服务程序;以及所述Windows服务程序以系统管理权限启动所述桌面代理程序。
可选地,控制模块,还用于调用获取当前句柄函数获取当前服务进程的句柄HANDLE;根据所述句柄以及进程访问函数确定取服务进程的系统管理权限令牌;调用令牌复制函数创建一个新令牌来复制服务进程的系统管理权限令牌;调用会话ID获取函数获取用户桌面进程的会话ID;调用进程创建函数并依据所述句柄HANDLE、所述系统管理权限令牌以及所述会话ID创建具有系统管理权限的桌面代理程序进程。
可选地,控制模块还用于获取可信任的安装程序或者应用程序的可执行文件;依据前端加密算法对所述安装程序或所述可执行文件进行计算以确定每一所述安装程序或所述可执行文件对应的第一哈希值;将每一所述第一哈希值存储为程序白名单。
可选地,控制模块还用于获取所述待运行进程信息;根据所述待运行进程信息以及哈希函数计算对应所述可待运行进程信息的第二哈希值;将所述待运行进程信息的第二哈希值与所述程序白名单中的第一哈希值进行匹配。
可选地,控制模块还用于过滤出由桌面代理程序启动的具有系统管理权限的所述待运行进程;
将所述待运行进程的行为信息存储为行为日志信息;
将所述行为日志信息发送至所述桌面代理程序;
所述桌面代理程序将所述行为日志信息上传至服务器进行存储。
本发明通过在一般用户权限登录系统时,通过桌面代理程序所述桌面代理程序获取待运行进程信息,从而可以将所述待运行进程信息与程序白名单进行匹配;在匹配成功时,则所述桌面代理程序创建待运行进程,从而可以通过桌面代理程序创建待运行进程,而无需通过管理员去获取凭据验证从而获得系统管理权限。解决在特定场景下,标准用户无法获得管理员权限导致工作无法推进的技术问题。而且在提高工作效率,简化业务流程的基础上完善了Windows系统的系统管理权限利用的安全性以及管理员凭据的安全性。
本发明实施例使相应场景下登录Windows操作系统的标准用户(即不具备系统管理权限的用户)能够免凭据验证直接获取Windows系统的系统管理权限,以完成安装与运行相应的程序,并通过程序白名单校验的方式防止权限滥用,还通过内核驱动监控提权进程行为的方式来监视权限利用情况,让权限的利用对系统管理员透明,更加完善了整个系统的安全性。本发明能使得Windows系统下的标准用户可免凭据验证获得系统高权限,完成程序安装以及某些需要高权限程序运行的任务,不需要PC机管理员参与,提高了工作效率,并在一定程度上保护了管理员的账户与密码凭据。
本发明还提出一种设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述提升非管理员账户权限的方法。
需要说明的是,由于本发明的设备包含上述提升非管理员账户权限的方法的所有步骤,因此,设备也可以实现提升非管理员账户权限的方法的所有方案,并具有同样的有益效果,在此不再赘述。
本发明还提出一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上所述提升非管理员账户权限的方法。
需要说明的是,由于本发明的存储介质包含上述提升非管理员账户权限的方法的所有步骤,因此,存储介质也可以实现提升非管理员账户权限的方法的所有方案,并具有同样的有益效果,在此不再赘述。
图7为本发明一实施例提供的提升非管理员账户权限的装置/设备的结构示意图。如图7所示,该实施例的提升非管理员账户权限的装置/设备6包括:至少一个处理器60(图6中仅示出一个)处理器、存储器61以及存储在所述存储器61中并可在所述至少一个处理器60上运行的计算机程序62,所述处理器60执行所述计算机程序62时实现上述任意各个提升非管理员账户权限的方法实施例中的步骤。
所述提升非管理员账户权限的装置/设备6可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。该提升非管理员账户权限的装置/设备可包括,但不仅限于,处理器60、存储器61。本领域技术人员可以理解,图7仅仅是提升非管理员账户权限的装置/设备6的举例,并不构成对提升非管理员账户权限的装置/设备6的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。
所称处理器60可以是中央处理单元(Central Processing Unit,CPU),该处理器60还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器61在一些实施例中可以是所述提升非管理员账户权限的装置/设备6的内部存储单元,例如提升非管理员账户权限的装置/设备6的硬盘或内存。所述存储器61在另一些实施例中也可以是所述提升非管理员账户权限的装置/设备6的外部存储设备,例如所述提升非管理员账户权限的装置/设备6上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器61还可以既包括所述提升非管理员账户权限的装置/设备6的内部存储单元也包括外部存储设备。所述存储器61用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器61还可以用于暂时地存储已经输出或者将要输出的数据。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本发明实施例还提供了一种网络设备,该网络设备包括:至少一个处理器、存储器以及存储在所述存储器中并可在所述至少一个处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意各个方法实施例中的步骤。
本发明实施例还提供了一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
本发明实施例提供了一种计算机程序产品,当计算机程序产品在移动终端上运行时,使得移动终端执行时实现可实现上述各个方法实施例中的步骤。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的装置/网络设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

Claims (10)

1.一种提升非管理员账户权限的方法,其特征在于,包括:
以系统管理权限运行桌面代理程序;
所述桌面代理程序获取待运行进程信息;
所述桌面代理程序将所述待运行进程信息与程序白名单进行匹配;
若匹配成功,则所述桌面代理程序创建待运行进程;
若匹配失败,则重新执行所述以系统管理权限运行桌面代理程序的步骤。
2.如权利要求1所述的提升非管理员账户权限的方法,其特征在于,所述以系统管理权限运行桌面代理程序的步骤包括:
获取开机启动指令;
根据所述开机启动指令启动Windows服务程序;
所述Windows服务程序以系统管理权限启动所述桌面代理程序。
3.如权利要求2所述的提升非管理员账户权限的方法,其特征在于,所述Windows服务程序以系统管理权限启动所述桌面代理程序的步骤为:
调用获取当前句柄函数获取当前服务进程的句柄HANDLE;
根据所述句柄以及进程访问令牌函数确定取服务进程的系统管理权限令牌;
调用令牌复制函数创建一个新令牌来复制服务进程的系统管理权限令牌;
调用会话ID获取函数获取用户桌面进程的会话ID;
调用进程创建函数并依据所述句柄HANDLE、所述系统管理权限令牌以及所述会话ID创建具有系统管理权限的桌面代理程序进程。
4.如权利要求1所述的提升非管理员账户权限的方法,其特征在于,所述程序白名单构建方式为:
获取可信任的安装程序或者应用程序的可执行文件;
依据前端加密算法对所述安装程序或所述可执行文件进行计算以确定每一所述安装程序或所述可执行文件对应的第一哈希值;
将每一所述第一哈希值存储为程序白名单。
5.如权利要求4所述的提升非管理员账户权限的方法,其特征在于,所述桌面代理程序将所述待运行进程信息与程序白名单进行匹配的步骤包括:
获取所述待运行进程信息;
根据所述待运行进程信息以及哈希函数计算对应所述可待运行进程信息的第二哈希值;
将所述待运行进程信息的第二哈希值与所述程序白名单中的第一哈希值进行匹配。
6.如权利要求1所述的提升非管理员账户权限的方法,其特征在于,所述以系统管理权限运行桌面代理程序之后还包括:
过滤出由桌面代理程序启动的具有系统管理权限的所述待运行进程;
将所述待运行进程的行为信息存储为行为日志信息;
将所述行为日志信息发送至所述桌面代理程序;
所述桌面代理程序将所述行为日志信息上传至服务器进行存储。
7.如权利要求6所述的提升非管理员账户权限的方法,其特征在于,所述行为日志信息包括进程PID、进程名称、主机名、,进程行为以及创建时间。
8.一种提升非管理员账户权限的装置,其特征在于,包括:
执行模块,以系统管理权限运行桌面代理程序;
信息获取模块,所述桌面代理程序获取待运行进程信息;
控制模块,将所述桌面代理程序将所述待运行进程信息与程序白名单进行匹配;若匹配成功,则所述桌面代理程序创建待运行进程;若匹配失败,则重新执行所述以系统管理权限运行桌面代理程序的步骤。
9.一种设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述提升非管理员账户权限的方法。
10.一种存储介质,所述存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的提升非管理员账户权限的方法。
CN202210400321.5A 2022-04-16 2022-04-16 提升非管理员账户权限的方法及装置、设备、存储介质 Pending CN114861160A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210400321.5A CN114861160A (zh) 2022-04-16 2022-04-16 提升非管理员账户权限的方法及装置、设备、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210400321.5A CN114861160A (zh) 2022-04-16 2022-04-16 提升非管理员账户权限的方法及装置、设备、存储介质

Publications (1)

Publication Number Publication Date
CN114861160A true CN114861160A (zh) 2022-08-05

Family

ID=82631227

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210400321.5A Pending CN114861160A (zh) 2022-04-16 2022-04-16 提升非管理员账户权限的方法及装置、设备、存储介质

Country Status (1)

Country Link
CN (1) CN114861160A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116432209A (zh) * 2023-06-08 2023-07-14 亿咖通(湖北)技术有限公司 程序运行权限处理方法、装置、设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116432209A (zh) * 2023-06-08 2023-07-14 亿咖通(湖北)技术有限公司 程序运行权限处理方法、装置、设备及存储介质
CN116432209B (zh) * 2023-06-08 2023-08-15 亿咖通(湖北)技术有限公司 程序运行权限处理方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
US8806494B2 (en) Managed control of processes including privilege escalation
US9501628B2 (en) Generating a distrubition package having an access control execution program for implementing an access control mechanism and loading unit for a client
WO2015096695A1 (zh) 一种应用程序的安装控制方法、系统及装置
US9571499B2 (en) Apparatus and method of providing security to cloud data to prevent unauthorized access
US8646044B2 (en) Mandatory integrity control
US10078754B1 (en) Volume cryptographic key management
CN111695156A (zh) 业务平台的访问方法、装置、设备及存储介质
US11244040B2 (en) Enforcement of password uniqueness
US20070079364A1 (en) Directory-secured packages for authentication of software installation
CN110555293A (zh) 用于保护数据的方法、装置、电子设备和计算机可读介质
US8850563B2 (en) Portable computer accounts
US7203697B2 (en) Fine-grained authorization using mbeans
CN111177703B (zh) 操作系统数据完整性的确定方法及装置
CN110543775B (zh) 一种基于超融合理念的数据安全防护方法及系统
KR101977428B1 (ko) 애플리케이션용 콘텐츠 핸들링 기법
CN114861160A (zh) 提升非管理员账户权限的方法及装置、设备、存储介质
CN113467895A (zh) 一种Docker的操作方法、装置、服务器和存储介质
US8150984B2 (en) Enhanced data security through file access control of processes in a data processing system
JP2002304231A (ja) コンピュータシステム
CN116415240A (zh) 一种勒索病毒检测方法以及相关系统
CN116611058A (zh) 一种勒索病毒检测方法及相关系统
CN114070856A (zh) 数据处理方法、装置、系统、运维审计设备和存储介质
JP4371995B2 (ja) 共有ファイルのアクセス制御方法、システム、サーバ装置、及びプログラム
CN109150863B (zh) 桌面云的访问控制方法、装置和桌面云终端设备
KR100901014B1 (ko) 가상 환경상에서의 응용 프로그램 실행 장치 및 방법

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination