具体实施方式
下文中将参考附图并结合实施例来详细说明本申请。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
在本实施例中提供了一种系统进程的权限控制方法,如图1所示,该方法包括:
步骤101,获取系统服务请求。
为了保证系统进程能够进行安全性操作,而不被病毒、木马等利用,成为傀儡进程,对系统进程进行实时监测,当系统进程接收到系统服务请求,需要执行某一任务时,利用HOOK技术对相应的系统API进行挂钩,或利用功能过滤驱动对所要执行的任务进行过滤,实时获取所述系统服务请求,以实现对所要执行的任务的实时监测。具体为,当系统进程需要执行某一任务时,利用HOOK技术进入HOOK处理流程,以实现在HOOK处理代码中对所要执行的任务的正当性进行实时监测。
其中,操作系统用于提供各类的功能过滤驱动,例如,文件过滤驱动、网络过滤驱动等。系统进程为计算机系统进程Svchost,系统服务请求包括请求系统进程执行的系统服务的标识信息和系统服务的使用权限,在系统注册表
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows
NT\CurrentVersion\Svchost中能够查询到所有的系统服务,系统服务的类型包括REG_MULTI_SZ。
步骤102,根据获取到的系统服务请求确定执行系统服务的执行主体。
系统进程根据系统服务请求中请求系统进程执行的系统服务的标识信息从系统注册表中获取对应的系统服务,并根据获取到的系统服务生成系统服务执行指令,以便系统进程根据系统服务执行指令执行系统服务。
基于对系统进程的实时监测,当系统进程根据获取到的系统服务生成系统服务执行指令时,实时截取系统服务执行指令,从而根据获取到的系统服务执行指令确定执行系统服务的执行主体。
步骤103,根据所述执行主体确定调用系统服务的系统进程的执行权限。
根据所确定的执行系统服务的执行主体,确定将要执行系统服务的执行主体的执行权限,并将执行主体的执行权限赋予给系统进程,以使系统进程获取该执行主体的执行权限,该执行权限可以为启动某应用程序、对系统进行优化等,此处不对执行权限进行具体的限定。
步骤104,根据所确定的调用系统服务的系统进程的执行权限,确定是否允许所述系统进程执行所述系统服务请求。
在上述实施例中,获取所述系统服务请求中请求系统进程执行的系统服务的使用权限,对请求系统进程执行的使用权限和根据执行主体确定的系统进程的执行权限进行比较,确定请求系统进程执行的使用权限是否为根据执行主体确定的系统进程的执行权限,从而确定是否允许系统进程执行系统服务请求,即确定是否允许系统进程根据系统服务执行指令调用系统注册表中的系统服务,以实现对系统服务的载入。
通过应用本实施例的技术方案,当对请求系统进程执行的使用权限是否为根据执行主体确定的执行权限进行判断时,若根据请求系统进程执行的使用权限是根据执行主体确定的系统进程的执行权限,则允许系统进程执行系统服务请求;若根据请求系统进程执行的使用权限不是根据执行主体确定的系统进程的执行权限,则拒绝系统进程执行系统服务请求,并生成相应的提示信息。从而有效避免病毒、木马等恶意程序利用系统进程的特性感染、破坏系统,以及当系统进程自身做出不合理行为时,导致系统进程的安全性降低。
进一步的,作为上述实施例具体实施方式的细化和扩展,为了完整说明本实施例的具体实施过程,提供了另一种系统进程的权限控制方法,如图2所示,该方法包括:
步骤201,获取系统服务请求。
步骤202,判断所述系统服务请求中的使用权限是否属于预设的最小行为权限集;若所述系统服务请求中的使用权限属于预设的最小行为权限集,则允许调用系统服务的系统进程执行所述系统服务请求;若所述系统服务请求中的使用权限不属于预设的最小行为权限集,则根据所述系统服务请求确定执行系统服务的执行主体。
基于系统进程及应用程序预设最小行为权限集,其中,行为包括读写文件、访问网络、执行程序、更改系统配置等,权限是指上述行为是否被允许执行,即若存在相应权限则允许执行,反之则不允许执行。最小行为权限具体为,下载类程序基于其本身的下载需要,赋予其连接互联网的行为权限作为其最小行为权限,而访问内网、写操作系统文件等其它行为权限则不属于其最小行为权限,而对不属于最小行为权限的行为可以认定为敏感行为。
步骤203,拦截系统进程根据所述系统服务请求生成的与系统服务请求对应的系统服务执行指令。
在Windows系统下,基于对系统进程的实时监测,从监测到系统进程接收到系统服务请求时起,实时获取系统进程根据所述系统服务请求生成的所有信息,当所获取到的信息为与系统服务请求对应的系统服务执行指令时,拦截系统服务执行指令。
在上述实施例中,当该系统服务请求为恶意程序发起的系统服务请求时,拦截该系统服务执行指令能够有效避免系统进程根据该系统服务请求进行病毒、木马下载操作,造成盗取用户信息,甚至是感染、破坏系统,从而有效提高了系统进程的安全性。
步骤204,根据所述系统服务执行指令确定执行系统服务的执行主体。
在上述实施例中,具体地,根据所述系统服务执行指令确定执行系统服务的执行主体的步骤如下:
步骤2041,根据所述系统服务执行指令,获取所述系统服务执行指令中系统服务的调用信息。
系统进程在根据系统服务请求从系统注册表中获取到对应的系统服务后,根据获取到的系统服务生成系统服务执行指令,该系统服务执行指令包括与系统服务对应的系统服务调用信息。因此,当对截取到的系统服务执行指令进行解析时,直接获取系统服务执行指令中的系统服务调用信息。
需要说明的是,系统注册表中预存有系统服务标识信息与系统服务调用信息的对应关系,以便系统进程能够根据系统服务请求中系统服务的标识信息从系统注册表中获取对应的系统服务调用信息,从而根据该系统服务的调用信息执行该系统服务。
步骤2042,根据所述调用信息确定执行系统服务的执行主体。
系统服务调用信息包括执行系统服务的参数信息,根据该参数信息确定执行系统服务的执行主体,例如,参数信息为svchost.exe–DcomLaunch,通过对该参数信息进行解析,确定执行该系统服务的执行主体为DcomLaunch。
需要说明的是,若系统服务调用信息中不包括执行系统服务的参数信息,或者执行系统服务的参数信息中不包括执行系统服务的执行主体,则该系统服务请求可能是由恶意程序发起的,该系统服务请求是不安全的,直接拒绝系统进程执行该系统服务请求,并生成相应的提示信息。
步骤205,根据所述执行主体确定执行主体的执行权限。
根据所确定的执行系统服务的执行主体的标识信息,利用运营中心的数据库中预置的执行主体标识信息与执行主体执行权限信息的对应关系,获取执行主体执行权限信息,并根据执行主体执行权限信息确定执行该系统服务的执行主体的执行权限。在上述实施例中,当执行主体包括多个系统进程时,还可以根据所确定的执行系统服务的执行主体的标识信息,确定该执行主体所包括的多个系统进程,利用运营中心的数据库中预置的执行主体中每个系统进程与执行权限信息的对应关系,获取对应系统进程的多个执行权限信息,并根据所获取的执行权限信息确定执行该系统服务的执行主体的执行权限。对应地,若拦截到的与系统服务请求对应的系统服务执行指令中包含执行主体的系统进程,则根据该系统进程确定执行该系统服务的执行主体的执行权限。其中,该执行主体的系统进程标识信息可以存储在系统服务调用信息中。
步骤206,根据执行主体的执行权限确定调用系统服务的系统进程的执行权限。
将根据执行主体执行权限信息确定的执行系统服务的执行主体的执行权限赋予系统进程,以使调用系统服务的系统进程的执行权限与执行系统服务的执行主体的执行权限一致,从而防止当系统服务请求中的系统服务的使用权限与调用系统服务的系统进程的执行权限不一致时,系统进程根据系统服务请求中的系统服务的使用权限执行系统服务,导致恶意程序利用系统进程的特性感染、破坏系统,以及当系统进程自身原因做出不合理行为时,导致系统进程的安全性降低。步骤207,获取所述系统服务请求中的使用权限。
需要说明的是,在获取到系统服务请求中的使用权限后,再次获取调用系统服务的系统进程的执行权限,并判断所获取到的系统进程的执行权限是否为调用信息所确定的执行系统服务的执行主体的执行权限,若所获取到的系统进程的执行权限不是调用信息所确定的执行系统服务的执行主体的执行权限,则系统进程可能被恶意程序破坏,直接拒绝系统进程执行该系统服务请求,并生成相应的提示信息。
若系统服务调用信息中不包括执行系统服务的参数信息,或者执行系统服务的参数信息中不包括执行系统服务的执行主体,则该系统服务请求可能是由恶意程序发起的,该系统服务请求是不安全的,直接拒绝系统进程执行该系统服务请求,并生成相应的提示信息。
步骤208,根据所述使用权限和所述系统进程的执行权限,确定是否允许所述系统进程执行所述系统服务请求。
在上述实施例中,具体地,根据所述使用权限和所述系统进程的执行权限,确定是否允许所述系统进程执行所述系统服务请求的步骤如下:
步骤2081,若所述使用权限与所述系统进程的执行权限一致,则允许所述系统进程执行所述系统服务请求。
在上述实施例中,通过比较系统服务请求中的使用权限和系统进程的执行权限,判断系统服务请求中的使用权限和系统进程的执行权限是否一致,若系统服务请求中的使用权限与系统进程的执行权限一致,则允许系统进程执行系统服务请求。
其中,执行权限包括行为权限和合法性任务流程,合法性任务流程用于判断执行系统服务请求的流程是否合法,相应地,使用权限包括系统服务请求中的使用行为和任务流程,若系统服务请求中的使用行为和任务流程与赋予系统进程的行为权限和合法性任务流程均一致,则允许系统进程执行系统服务请求。在上述实施例中,系统服务请求中的使用权限和系统进程的执行权限可以为多个,当多个使用权限分别与系统进程的多个执行权限中任一执行权限一致时,则允许系统进程执行系统服务请求。
步骤2082,若所述使用权限与所述系统进程的执行权限不一致,则拒绝系统进程执行所述系统服务请求,并生成相应的提示信息。
在上述实施例中,若系统服务请求中的使用权限与系统进程的执行权限不一致,则拒绝系统进程执行系统服务请求,并生成相应的提示信息发送给系统服务请求的发送方。具体地,若系统服务请求中的使用行为和任务流程与赋予系统进程的行为权限和合法性任务流程中的至少一个不一致,则拒绝系统进程执行系统服务请求,并发送报警提示信息。。
在上述实施例中,系统进程的执行权限可以为多个,将使用权限分别与系统进程的多个执行权限比较,若使用权限与系统进程的多个执行权限中任一执行权限均不一致,则确定系统服务请求中的使用权限与系统进程的执行权限不一致,拒绝系统进程执行系统服务请求,并生成相应的提示信息发送给系统服务请求的发送方。步骤209,若允许所述系统进程执行所述系统服务请求,则在所述系统进程执行完所述系统服务请求后,删除所述系统进程的执行权限。
当系统服务请求中的使用权限和系统进程的执行权限一致时,释放该系统服务请求,以使系统进程继续根据系统服务执行指令执行该系统服务请求,同时基于对系统进程的实时监测,继续对系统进程根据系统服务执行指令执行该系统服务请求的行为进行监测,当监测到系统进程执行完该系统服务请求后,删除系统进程的执行权限。
步骤210,若拒绝所述系统进程执行所述系统服务请求,则直接删除所述系统进程的执行权限。
当系统服务请求中的使用权限和系统进程的执行权限不一致时,不释放该系统服务请求,以避免系统进程继续根据系统服务执行指令执行该系统服务请求,同时删除系统进程的执行权限,以便当接收到新的系统服务请求时,系统进程根据在前的执行权限处理新的系统服务请求,导致系统进程出现错误的操作行为。从而在对系统进程进行安全防护的同时,避免增加新的安全问题。
通过应用本实施例的技术方案,根据获取到的系统服务请求确定执行系统服务的执行主体,根据执行主体确定系统进程的执行权限,并根据所确定的系统进程的执行权限,以便对现有没有权限设置的系统进程实现权限限制,同时,根据所确定的系统进程的执行权限,进一步确定是否允许系统进程执行系统服务请求,能够有效控制系统服务请求中需要被执行的合法行为被允许,以及控制系统服务请求中需要被执行的非法行为被拦截,从而防止系统进程被利用或者其自身做出一些危害系统的行为,有效提高了系统进程的安全性。
进一步的,作为图1方法的具体实现,本申请实施例提供了一种系统进程的权限控制装置,如图3所示,该装置包括:系统服务请求获取模块31、执行主体确定模块32、执行权限确定模块33、系统服务请求确定模块34。
系统服务请求获取模块31,用于获取系统服务请求;
执行主体确定模块32,用于根据获取到的系统服务请求确定执行系统服务的执行主体;
执行权限确定模块33,用于根据所述执行主体确定调用系统服务的系统进程的执行权限;
系统服务请求确定模块34,用于根据所确定的调用系统服务的系统进程的执行权限,确定是否允许所述系统进程执行所述系统服务请求。
在具体的应用场景中,如图4所示,还包括:判断模块35。
判断模块,用于判断所述系统服务请求中的使用权限是否属于预设的最小行为权限集;
若所述系统服务请求中的使用权限属于预设的最小行为权限集,则允许调用系统服务的系统进程执行所述系统服务请求;以及,
若所述系统服务请求中的使用权限不属于预设的最小行为权限集,则根据所述系统服务请求确定执行系统服务的执行主体。
在具体的应用场景中,如图4所示,所述系统进程为Svchost,执行主体确定模块32,具体包括:拦截单元321和确定单元322。
拦截单元321,用于拦截系统进程根据所述系统服务请求生成的与系统服务请求对应的系统服务执行指令;
确定单元322,用于根据所述系统服务执行指令确定执行系统服务的执行主体。
在具体的应用场景中,确定单元312,具体包括:
根据所述系统服务执行指令,获取所述系统服务执行指令中系统服务的调用信息;
根据所述调用信息确定执行系统服务的执行主体。
在具体的应用场景中,如图4所示,执行权限确定模块33,具体包括:第一确定单元331和第二确定单元332。
第一确定单元331,用于根据所述执行主体确定执行主体的执行权限;
第二确定单元332,用于根据执行主体的执行权限确定调用系统服务的系统进程的执行权限。
在具体的应用场景中,如图4所示,系统服务请求确定模块34,具体包括:获取单元341和执行确定单元342。
获取单元341,用于获取所述系统服务请求中的使用权限;
执行确定单元342,用于根据所述使用权限和所述系统进程的执行权限,确定是否允许所述系统进程执行所述系统服务请求。
在具体的应用场景中,执行确定单元342,具体包括:
若所述使用权限与所述系统进程的执行权限一致,则允许所述系统进程执行所述系统服务请求;
若所述使用权限与所述系统进程的执行权限不一致,则拒绝系统进程执行所述系统服务请求,并生成相应的提示信息。
在具体的应用场景中,如图4所示,还包括:第一删除模块36和第二删除模块37。
第一删除模块36,用于若允许所述系统进程执行所述系统服务请求,则在所述系统进程执行完所述系统服务请求后,删除所述系统进程的执行权限;
第二删除模块37,用于若拒绝所述系统进程执行所述系统服务请求,则直接删除所述系统进程的执行权限。
需要说明的是,本申请实施例提供的一种系统进程的权限控制装置所涉及各功能单元的其他相应描述,可以参考图1和图2中的对应描述,在此不再赘述。
基于上述如图1和图2所示方法,相应的,本申请实施例还提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述如图1和图2所示的系统进程的权限控制方法。
基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景所述的方法。
基于上述如图1、图2所示的方法,以及图3、图4所示的虚拟装置实施例,为了实现上述目的,本申请实施例还提供了一种计算机设备,具体可以为个人计算机、服务器、网络设备等,该计算机设备包括存储介质和处理器;存储介质,用于存储计算机程序;处理器,用于执行计算机程序以实现上述如图1和图2所示的系统进程的权限控制方法。
可选地,该计算机设备还可以包括用户接口、网络接口、摄像头、射频(RadioFrequency,RF)电路,传感器、音频电路、WI-FI模块等等。用户接口可以包括显示屏(Display)、输入单元比如键盘(Keyboard)等,可选用户接口还可以包括USB接口、读卡器接口等。网络接口可选的可以包括标准的有线接口、无线接口(如蓝牙接口、WI-FI接口)等。
本领域技术人员可以理解,本实施例提供的一种计算机设备结构并不构成对该计算机设备的限定,可以包括更多或更少的部件,或者组合某些部件,或者不同的部件布置。
存储介质中还可以包括操作系统、网络通信模块。操作系统是管理和保存计算机设备硬件和软件资源的程序,支持信息处理程序以及其它软件和/或程序的运行。网络通信模块用于实现存储介质内部各组件之间的通信,以及与该实体设备中其它硬件和软件之间通信。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以借助软件加必要的通用硬件平台的方式来实现,也可以通过硬件实现当获取到系统服务请求时,根据获取到的系统服务请求确定执行系统服务的执行主体,根据执行主体确定调用系统服务的系统进程的执行权限,并根据所确定的调用系统服务的系统进程的执行权限,确定是否允许系统进程执行该系统服务请求,从而基于执行系统服务的执行主体赋予系统进程的执行权限,防止系统进程被利用或者其自身做出一些危害系统的行为,有效提高了系统进程的安全性。
本发明实施例提供了以下技术方案:
A1、一种系统进程的权限控制方法,其特征在于,包括:
获取系统服务请求;
根据获取到的系统服务请求确定执行系统服务的执行主体;
根据所述执行主体确定调用系统服务的系统进程的执行权限;
根据所确定的调用系统服务的系统进程的执行权限,确定是否允许所述系统进程执行所述系统服务请求。
A2、根据权利要求A1所述的方法,其特征在于,所述获取系统服务请求之后,具体还包括:
判断所述系统服务请求中的使用权限是否属于预设的最小行为权限集;
若所述系统服务请求中的使用权限属于预设的最小行为权限集,则允许调用系统服务的系统进程执行所述系统服务请求;
若所述系统服务请求中的使用权限不属于预设的最小行为权限集,则根据所述系统服务请求确定执行系统服务的执行主体。
A3、根据权利要求A1所述的方法,其特征在于,所述系统进程为Svchost,根据获取到的系统服务请求确定执行系统服务的执行主体,具体包括:
拦截系统进程根据所述系统服务请求生成的与系统服务请求对应的系统服务执行指令;
根据所述系统服务执行指令确定执行系统服务的执行主体。
A4、根据权利要求A3所述的方法,其特征在于,根据所述系统服务执行指令确定执行系统服务的执行主体,具体包括:
根据所述系统服务执行指令,获取所述系统服务执行指令中系统服务的调用信息;
根据所述调用信息确定执行系统服务的执行主体。
A5、根据权利要求A3所述的方法,其特征在于,根据所述执行主体确定调用系统服务的系统进程的执行权限,具体包括:
根据所述执行主体确定执行主体的执行权限;
根据执行主体的执行权限确定调用系统服务的系统进程的执行权限。
A6、根据权利要求A5所述的方法,其特征在于,根据所确定的调用系统服务的系统进程的执行权限,确定是否允许所述系统进程执行所述系统服务请求,具体包括:
获取所述系统服务请求中的使用权限;
根据所述使用权限和所述系统进程的执行权限,确定是否允许所述系统进程执行所述系统服务请求。
A7、根据权利要求A6所述的方法,其特征在于,根据所述使用权限和所述系统进程的执行权限,确定是否允许所述系统进程执行所述系统服务请求,具体包括:
若所述使用权限与所述系统进程的执行权限一致,则允许所述系统进程执行所述系统服务请求;
若所述使用权限与所述系统进程的执行权限不一致,则拒绝系统进程执行所述系统服务请求,并生成相应的提示信息。
A8、根据权利要求A1至A7中任一项所述的方法,其特征在于,根据所确定的调用系统服务的系统进程的执行权限,确定是否允许所述系统进程执行所述系统服务请求之后,具体还包括:
若允许所述系统进程执行所述系统服务请求,则在所述系统进程执行完所述系统服务请求后,删除所述系统进程的执行权限;
若拒绝所述系统进程执行所述系统服务请求,则直接删除所述系统进程的执行权限。
B9、一种系统进程的权限控制装置,其特征在于,包括:
系统服务请求获取模块,用于获取系统服务请求;
执行主体确定模块,用于根据获取到的系统服务请求确定执行系统服务的执行主体;
执行权限确定模块,用于根据所述执行主体确定调用系统服务的系统进程的执行权限;
系统服务请求确定模块,用于根据所确定的调用系统服务的系统进程的执行权限,确定是否允许所述系统进程执行所述系统服务请求。
B10、根据权利要求B9所述的装置,其特征在于,所述获取系统服务请求之后,具体还包括:
判断模块,用于判断所述系统服务请求中的使用权限是否属于预设的最小行为权限集;
若所述系统服务请求中的使用权限属于预设的最小行为权限集,则允许调用系统服务的系统进程执行所述系统服务请求;以及,
若所述系统服务请求中的使用权限不属于预设的最小行为权限集,则根据所述系统服务请求确定执行系统服务的执行主体。
B11、根据权利要求B9所述的装置,其特征在于,所述系统进程为Svchost,所述执行主体确定模块,具体包括:
拦截单元,用于拦截系统进程根据所述系统服务请求生成的与系统服务请求对应的系统服务执行指令;
确定单元,用于根据所述系统服务执行指令确定执行系统服务的执行主体。
B12、根据权利要求B11所述的装置,其特征在于,所述确定单元,具体包括:
根据所述系统服务执行指令,获取所述系统服务执行指令中系统服务的调用信息;
根据所述调用信息确定执行系统服务的执行主体。
B13、根据权利要求B11所述的装置,其特征在于,所述执行权限确定模块,具体包括:
第一确定单元,用于根据所述执行主体确定执行主体的执行权限;
第二确定单元,用于根据执行主体的执行权限确定调用系统服务的系统进程的执行权限。
B14、根据权利要求B13所述的装置,其特征在于,所述系统服务请求确定模块,具体包括:
获取单元,用于获取所述系统服务请求中的使用权限;
执行确定单元,用于根据所述使用权限和所述系统进程的执行权限,确定是否允许所述系统进程执行所述系统服务请求。
B15、根据权利要求B14所述的装置,其特征在于,所述执行确定单元,具体包括:
若所述使用权限与所述系统进程的执行权限一致,则允许所述系统进程执行所述系统服务请求;
若所述使用权限与所述系统进程的执行权限不一致,则拒绝系统进程执行所述系统服务请求,并生成相应的提示信息。
B16、根据权利要求B9至B15中任一项所述的装置,其特征在于,系统服务请求确定单元之后,还包括:
第一删除单元,用于若允许所述系统进程执行所述系统服务请求,则在所述系统进程执行完所述系统服务请求后,删除所述系统进程的执行权限;
第二删除单元,用于若拒绝所述系统进程执行所述系统服务请求,则直接删除所述系统进程的执行权限。
C17、一种存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现权利要求A1至A8中任一项所述的系统进程的权限控制方法。
D18、一种计算机设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求A1至A8中任一项所述的系统进程的权限控制方法。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本申请所必须的。本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本申请序号仅仅为了描述,不代表实施场景的优劣。以上公开的仅为本申请的几个具体实施场景,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。