具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明实施例提供了一种服务器进程控制方法,如图1所示,该方法包括:
101、获取进程白名单,该进程白名单记录有可靠进程的进程标识。
白名单的概念是对应“黑名单”的产生而出现的,黑名单启用后,被列入到黑名单的用户(或IP地址、IP包、邮件、病毒等)不能通过。而如果设立了白名单,则在白名单中的用户(或IP地址、IP包、邮件等)会优先通过,具体到本发明实施例中,进程白名单中记录的是可靠进程的进程标识,通过执行该进程白名单可以使白名单中进程标识所对应的进程在不经过病毒检查时直接运行。其中,可靠进程是指在服务器内所运行的进程,经过多次的运行都未出现或很少出现感染病毒的问题,那么该进程就可以被服务器认为是安全可靠的、值得信赖的进程。
服务器获取进程白名单的方式可以分为外部获取和本地获取,其中,外部获取主要是通过网络接收由控制台发送的进程白名单,再由服务器执行该白名单进行进程的管理,而本地获取主要是通过调用服务器本地存储的进程白名单或者是通过管理员在本地服务器上对白名单进行人工的调整,包括增加、删除、修改进程标识等操作。
102、当有对象进程准备启动运行时,在该对象进程运行前读取对象进程的进程标识。
在获取到进程白名单后,服务器会在对象进程运行前读取对象进程的进程标识。其中,对象进程是指在服务器中所运行的进程,对于一个进程,一般存在有三种基本状态,即就绪状态、运行状态和阻塞状态。就绪状态(Ready):进程已获得除处理器外的所需资源,等待分配处理器资源(只要分配了处理器进程就可执行);运行状态(Running):进程占用处理器资源开始执行(处于此状态的进程的数目小于等于处理器的数目);阻塞状态(Blocked):由于进程等待某种条件(如I/O操作或进程同步),在条件满足之前无法继续执行。对于本发明实施例,对象进程在就绪状态前,即进程在向处理器申请所需资源时,服务器就会读取该对象进程的进程标识。
103、遍历所述白名单,查找该对象进程的进程标识。
服务器在获取到对象进程的进程标识后,会将该进程标识与进程白名单中的可靠进程的进程标识逐一进行比对,查看是否存在有相同的进程标识存在。
104、若白名单中记录有对象进程的进程标识,则将对象进程的状态标志位设置为可靠,并在对象进程启动运行后取消对其进行病毒检查。
通过103的查找比对,如果在进程白名单的可靠进程的进程标识中存在有对象进程的进程标识,就认为该对象进程是可靠进程,服务器将会对该进程的状态标志位设置为可靠,同时将取消对该进程的病毒检查,直接令该进程进入到就绪状态,或者是运行状态。
通过上述本发明实施例所采用的一种服务器进程控制方法,由服务器获取控制台发送的进程白名单,以及读取服务器中对象进程的进程标识,通过判断白名单中是否存在对象进程的进程标识,如果在白名单中存在该对象进程的进程标识,就确定取消对该对象进程进行病毒检查。与现有技术相比,本发明所采用的技术方案即可以有效减少对象进程的检查数量,也可以减少服务器为了检查对象进程而新创建的进程,从而大量减少了由于检查对象进程所消耗的服务器的处理资源,在保证服务器运行安全性的同时提高了服务器的运行效率,解决因进程检查导致的服务器性能下降的问题。
作为对上述方法的进一步细化、补充,本发明实施例还提供一种用于进程控制***中服务器一侧的进程控制方法,如图2所示,该方法包括:
201、获取进程白名单,该进程白名单记录有可靠进程的进程标识。
服务器通过网络接收由控制台发送的进程白名单,并且控制台还可以通过Web页面向管理员提供针对进程白名单进行增加、删除、修改、查询等操作功能,由管理员根据不同的需要对进程白名单进行实时的调整。
进程白名单中所记录的可靠进程的进程标识可以看成是对进程具有安全性的一种认可,是根据对该进程以往的检查结果进行统计来判断得到的,其具体的判断过程为:
1、获取并解析历史进程的日志信息,获得历史进程的病毒感染记录。
其中,历史进程是指在服务器中所运行过的所用应用的进程,其日志信息包括了相同应用因为多次运行而产生的不同进程信息,服务器对该日志信息进行解析并提取其中历史进程的病毒感染记录,包括进程感染病毒的次数、种类等记录。
2、根据病毒感染记录,将未感染过病毒或病毒感染次数少于预设值的历史进程确定为可靠进程。
其中,预设值可以有服务器自定义设置,其为零时,就表示在服务器中只有未感染过病毒的历史进程为可靠进程。而当预设值为大于等于1的正整数时,服务器中病毒感染次数少于该预设值的历史进程就为可靠进程,如预设值为2,那么服务器中未感染病毒和只感染过一次病毒的历史进程就被认定为可靠进程。
3、将可靠进程的进程标识写入进程白名单中。
在确定了可靠进程后,服务器就可以提取该进程中的进程标识,并将该进程标识写入到进程白名单中。
进一步的,上述判断过程也可以是在控制台上进行的,通过控制台统一制定白名单在发送给服务器,而这里所提到的服务器可以是一台,也可以是多台。
202、当有对象进程准备启动运行时,在该对象进程运行前读取对象进程的进程标识。
当有对象进程准备启动运行时,对象进程会向服务器申请启动运行该对象进程所需的资源,包括处理器的资源、存储的空间等。此时,该对象进程就是处于就绪状态之前(未获得所需资源)或就绪状态之中(获得除处理器的资源外的其他所需资源),服务器都可以读取该对象进程的进程标识。其中,对象进程的进程标识包括有进程的身份标识PID及进程句柄。进程的PID是服务器***为了区分各个进程而为其自动分配的身份标识,在进程中止后,***会自动回收PID,并可能会被继续分配给新运行的进程。因此,为了使获得的进程标识可以对应唯一的对象进程,还可以通过获取进程句柄,或者是对象进程所对应的应用的文件存储路径。句柄是一个指针,其指向一块包含具体信息数据的内存,可以当做索引,进程句柄就是在访问进程所取得的指针,而一个进程在不同的调用时间中有可能句柄的值是不同,因此进程句柄也需要配合其它的进程标识信息来与对象进程对应。
进一步的,在获取对象进程所对应的应用的文件存储路径时,服务器可以通过获取对象进程的注册表,从该注册表中查找对象进程的文件存储路径。
203、遍历所述白名单,查找该对象进程的进程标识。
服务器在获取到对象进程的进程标识后,会将该进程标识与进程白名单中的可靠进程的进程标识逐一进行比对,查看是否存在有相同的进程标识存在。
204、若白名单中记录有对象进程的进程标识,则将对象进程的状态标志位设置为可靠,并在对象进程启动运行后取消对其进行病毒检查。
在白名单的进程标识中如果记录有服务器读取对象进程的集成标识,服务器就将该对象进程的状态标志位设置为可靠,认为该对象进程的运行不会对***或服务器自身产生安全性问题,因此该对象进程在启动和运行的过程中都不用在接收服务器的病毒检查,从而提高该进程的执行效率。
进一步的,由于一个进程可以创建子进程,并且子进程会继承该进程的大部分属性,因此,在本发明实施例中,如果一个对象进程被服务器确认为可靠进程,那么,对该进程所创建的子孙进程,服务器可以一概认为这些子孙进程同样为可靠进程,从而对该进程所创建的子孙进程不进行病毒检查,以提高服务器的整体运行效率。
205、在对象进程启动运行后,若对象进程异常结束,则将对象进程的状态标志位设置为不可靠,并在对象进程后续的运行过程中,恢复对其进行的病毒检查。
对于具有进程白名单中进程标识的对象进程,虽然可以在不经过病毒检查的过程而直接运行,但该对象进程在运行过程中还是存在有被病毒攻击、感染的可能,而进程在受到病毒攻击的时候,所表现的特征最常见的就是该进程会异常结束。因此,为了防止可靠进程在运行过程中因感染病毒异常结束,并在下次启动时又因为进程白名单而跳过病毒检查的情况出现,在本发明实施例中,设置在对象进程出现异常结束的情况时,服务器会将该对象进程的状态标志位设置为不可靠,同时告知控制台,去除在进程白名单中该对象进程的进程标识。当该对象进程再次启动时,服务器将恢复对该进程进行病毒检查。
进一步的,作为对上述方法的实现,本发明实施例提供了一种服务器进程控制装置,如图3所示,该装置设置于进程控制***的服务器内,具体包括:
获取单元31,用于获取进程白名单,所述进程白名单记录有可靠进程的进程标识。
读取单元32,用于在有对象进程准备启动运行时,并且在所述对象进程运行前读取所述对象进程的进程标识。
查找单元33,用于遍历获取单元31所获取的白名单,查找读取单元32所读取的对象进程的进程标识。
设置单元34,用于查找单元33在查找所述白名单中记录有所述对象进程的进程标识时,将所述对象进程的状态标志位设置为可靠。
撤销单元35,用于在设置单元34所设置的对象进程启动运行后取消对其进行病毒检查。
进一步的,所述装置中的获取单元31用于:
接收控制台下发的所述进程白名单,所述控制台通过Web页面向管理员提供针对进程白名单进行增删改查的操作功能。
进一步的,如图4所示,所述装置中的获取单元31还包括:
获取解析模块311,用于获取并解析历史进程的日志信息,获得所述历史进程的病毒感染记录。
确定模块312,用于根据获取解析模块311所获得的病毒感染记录,将未感染过病毒或病毒感染次数少于预设值的历史进程确定为所述可靠进程。
输入模块313,用于将确定模块312所确定的可靠进程的进程标识写入所述进程白名单中。
进一步的,所述装置中的读取单元32用于:
在所述对象进程进入就绪状态之前或之中,读取所述对象进程的进程标识。
进一步的,所述装置中的读取单元32所读取的进程标识包括进程身份标识PID及进程句柄。
进一步的,所述装置中的读取单元32所读取的进程标识还包括文件存储路径。
其中,如图5所示,读取单元32还包括:
获取模块321,用于获取所述对象进程的注册表。
查找模块322,用于从获取模块321所获取的注册表中查找所述对象进程的文件存储路径。
进一步的,所述装置中的撤销单元35还用于:
取消对所述对象进程以及所述对象进程的子孙进程所进行的病毒检查。
进一步的,如图6所示,所述装置还包括:
所述设置单元34还用于在所述对象进程启动运行之后,当所述对象进程异常结束时,将所述对象进程的状态标志位设置为不可靠。
检测单元36,用于设置单元34设置对象进程的状态标志位设置为不可靠后,在该对象进程后续的运行过程中,恢复对其进行的病毒检查。
基于上述进程控制装置的实施例,本发明实施例提供了一种服务器进程控制***,如图7所示,该***了服务器71以及控制台72。
其中,服务器71内置有如上述图3至图6中任一幅所示的进程控制装置。
控制台72用于向服务器发送进程白名单,并且允许管理员对所述进程白名单中的进程标识进行增删改查的操作,以便服务器通过所述白名单取消对其对象进程进行病毒检查。
综上所述,本发明实施例所采用的一种服务器进程控制方法、装置及***,由服务器获取控制台发送的进程白名单,并且接收控制台对进程白名单的修改,同时读取服务器中对象进程的进程标识,通过判断白名单中是否存在对象进程的进程标识,如果在白名单中存在该对象进程的进程标识,就确定取消对该对象进程进行病毒检查。与现有技术相比,本发明所采用的技术方案即可以有效减少对象进程的检查数量,也可以减少服务器为了检查对象进程而新创建的进程,从而大量减少了由于检查对象进程所消耗的服务器的处理资源,同时在进程白名单中对应的对象进程出现感染病毒而异常结束时还可以恢复对该进程的病毒检查,由此在保证服务器运行安全性的同时提高了服务器的运行效率,解决因进程检查导致的服务器性能下降的问题。
本发明的实施例公开了:
A1、一种服务器进程控制方法,所述方法包括:
获取进程白名单,所述进程白名单记录有可靠进程的进程标识;
当有对象进程准备启动运行时,在所述对象进程运行前读取所述对象进程的进程标识;
遍历所述白名单,查找所述对象进程的进程标识;
若所述白名单中记录有所述对象进程的进程标识,则将所述对象进程的状态标志位设置为可靠,并在所述对象进程启动运行后取消对其进行病毒检查。
A2、根据A1所述的方法,所述获取进程白名单,包括:
接收控制台下发的所述进程白名单,所述控制台通过Web页面向管理员提供针对进程白名单进行增删改查的操作功能。
A3、根据A1所述的方法,所述获取进程白名单,包括:
获取并解析历史进程的日志信息,获得所述历史进程的病毒感染记录;
根据所述病毒感染记录,将未感染过病毒或病毒感染次数少于预设值的历史进程确定为所述可靠进程;
将所述可靠进程的进程标识写入所述进程白名单中。
A4、根据A1所述的方法,所述在所述对象进程运行前读取所述对象进程的进程标识,包括:
在所述对象进程进入就绪状态之前或之中,读取所述对象进程的进程标识。
A5、根据A1所述的方法,所述进程标识包括进程身份标识PID及进程句柄。
A6、根据A5所述的方法,所述进程标识进一步包括文件存储路径;
所述读取所述对象进程的进程标识,包括:
获取所述对象进程的注册表;
从所述注册表中查找所述对象进程的文件存储路径。
A7、根据A1所述的方法,所述在所述对象进程启动运行后取消对其进行病毒检查,包括:
取消对所述对象进程以及所述对象进程的子孙进程所进行的病毒检查。
A8、根据A1所述的方法,在所述对象进程启动运行之后,所述方法进一步包括:
当所述对象进程异常结束时,将所述对象进程的状态标志位设置为不可靠,并在所述对象进程后续的运行过程中,恢复对其进行的病毒检查。
B9、一种服务器进程控制装置,所述装置包括:
获取单元,用于获取进程白名单,所述进程白名单记录有可靠进程的进程标识;
读取单元,用于在有对象进程准备启动运行时,并且在所述对象进程运行前读取所述对象进程的进程标识;
查找单元,用于遍历获取单元所获取的白名单,查找读取单元所读取的对象进程的进程标识;
设置单元,用于查找单元在查找所述白名单中记录有所述对象进程的进程标识时,将所述对象进程的状态标志位设置为可靠;
撤销单元,用于在设置单元所设置的对象进程启动运行后取消对其进行病毒检查。
B10、根据B9所述的装置,所述获取单元用于:
接收控制台下发的所述进程白名单,所述控制台通过Web页面向管理员提供针对进程白名单进行增删改查的操作功能。
B11、根据B9所述的装置,所述获取单元包括:
获取解析模块,用于获取并解析历史进程的日志信息,获得所述历史进程的病毒感染记录;
确定模块,用于根据获取解析模块所获得的病毒感染记录,将未感染过病毒或病毒感染次数少于预设值的历史进程确定为所述可靠进程;
输入模块,用于将确定模块所确定的可靠进程的进程标识写入所述进程白名单中。
B12、根据B9所述的装置,所述读取单元用于:
在所述对象进程进入就绪状态之前或之中,读取所述对象进程的进程标识。
B13、根据B9所述的装置,所述读取单元所读取的进程标识包括进程身份标识PID及进程句柄。
B14、根据B13所述的装置,所述读取单元所读取的进程标识进一步包括文件存储路径;
所述读取单元还包括:
获取模块,用于获取所述对象进程的注册表;
查找模块,用于从获取模块所获取的注册表中查找所述对象进程的文件存储路径。
B15、根据B9所述的装置,所述撤销单元还用于:
取消对所述对象进程以及所述对象进程的子孙进程所进行的病毒检查。
B16、根据B9所述的装置,所述装置还包括:
所述设置单元还用于在所述对象进程启动运行之后,当所述对象进程异常结束时,将所述对象进程的状态标志位设置为不可靠;
检测单元,用于设置单元设置对象进程的状态标志位设置为不可靠后,在该对象进程后续的运行过程中,恢复对其进行的病毒检查。
C17、一种服务器进程控制***,所述***包括含有如B9至B16中任一项所述服务器进程控制装置的服务器以及控制台;
所述控制台用于向服务器发送进程白名单,并且允许管理员对所述进程白名单中的进程标识进行增删改查的操作,以便服务器通过所述白名单取消对其对象进程进行病毒检查。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
可以理解的是,上述方法及装置中的相关特征可以相互参考。另外,上述实施例中的“第一”、“第二”等是用于区分各实施例,而并不代表各实施例的优劣。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在此提供的算法和显示不与任何特定计算机、虚拟***或者其它设备固有相关。各种通用***也可以与基于在此的示教一起使用。根据上面的描述,构造这类***所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的发明名称(如确定网站内链接等级的装置)中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。