本发明涉及信息安全技术领域,尤其涉及一种桌面切换处理方法、装置和终端设备。
背景技术:
通常,操作系统会为用户提供桌面切换函数,用于切换桌面,比如用户在默认桌面时,通过桌面切换函数可以切换到登录桌面等。
然而,有些恶意程序会利用该桌面切换函数,在用户正在使用某个桌面时恶意切换到另一个桌面。
技术实现要素:
本发明的目的旨在至少在一定程度上解决上述的技术问题之一。
为此,本发明的第一个目的在于提出一种桌面切换处理方法,该方法避免了桌面被恶意切换,保护了操作系统的安全。
本发明的第二个目的在于提出一种桌面切换处理装置。
本发明的第三个目的在于提出一种终端设备。
本发明的第四个目的在于提出另一种终端设备。
为了实现上述目的,本发明第一方面实施例提出了一种桌面切换处理方法,包括:监测操作系统内核提供的桌面切换函数是否被调用;如果监测到当前进程调用所述桌面切换函数切换桌面,运行预设的与所述桌面切换函数对应的钩子函数;检测当前进程的合法性;如果检测获知当前进程合法,则允许当前进程调用所述桌面切换函数。
本发明实施例的桌面切换处理方法,首先监测操作系统内核提供的桌面切换函数是否被调用,接着在监测到当前进程调用桌面切换函数时,运行预设的与桌面切换函数对应的钩子函数,以捕获当前进程并检测当前进程的合法性,并在检测获知当前进程合法时,允许当前进程调用桌面切换函数。由此,避免了桌面被恶意切换,保护了操作系统的安全。
另外,本发明实施例的桌面切换处理方法还具有如下附加的技术特征:
在本发明的一个实施例中,还包括:如果检测获知当前进程非法,则拒绝当前进程调用所述桌面切换函数。
在本发明的一个实施例中,在所述监测操作系统内核提供的桌面切换函数是否被调用之前,还包括:在具有网络安全应用的防御驱动中设置与所述桌面切换函数对应的钩子函数。
在本发明的一个实施例中,所述检测当前进程的合法性,包括:根据预设的特征库检测当前进程的合法性。
在本发明的一个实施例中,所述特征库包括:合法进程的白名单,和/或,非法进程的黑名单。
为了实现上述目的,本发明第二方面实施例提出了一种桌面切换处理装置,包括:监测模块,用于监测操作系统内核提供的桌面切换函数是否被调用;运行模块,用于在监测到当前进程调用所述桌面切换函数切换桌面,运行预设的与所述桌面切换函数对应的钩子函数;检测模块,用于检测当前进程的合法性;处理模块,用于在检测获知当前进程合法时,允许当前进程调用所述桌面切换函数。
本发明实施例的桌面切换处理装置,首先监测模块监测操作系统内核提供的桌面切换函数是否被调用,接着运行模块在监测到当前进程调用桌面切换函数时,运行预设的与桌面切换函数对应的钩子函数,以捕获当前进程并通过检测模块检测当前进程的合法性,以及处理模块在检测获知当前进程合法时,允许当前进程调用桌面切换函数。由此,避免了桌面被恶意切换,保护了操作系统的安全。
另外,本发明实施例的桌面切换处理装置还具有如下附加的技术特征:
在本发明的一个实施例中,所述处理模块还用于:在检测获知当前进程非法时,拒绝当前进程调用所述桌面切换函数。
在本发明的一个实施例中,还包括:设置模块,用于在具有网络安全应用的防御驱动中设置与所述桌面切换函数对应的钩子函数。
在本发明的一个实施例中,所述检测模块用于:根据预设的特征库检测当前进程的合法性。
在本发明的一个实施例中,所述特征库包括:合法进程的白名单,和/或,非法进程的黑名单。
为了实现上述目的,本发明第三方面实施例提出了一种终端设备,包括本发明第二方面实施例所述的桌面切换处理装置。
本发明实施例的终端设备,首先监测操作系统内核提供的桌面切换函数是否被调用,接着在监测到当前进程调用桌面切换函数时,运行预设的与桌面切换函数对应的钩子函数,以捕获当前进程并检测当前进程的合法性,并在检测获知当前进程合法时,允许当前进程调用桌面切换函数。由此,避免了桌面被恶意切换,保护了操作系统的安全。
为了实现上述目的,本发明第四方面实施例提出了另一种终端设备,包括以下一个或多个组件:处理器,存储器,电源电路,多媒体组件,音频组件,输入/输出(I/O)的接口,传感器组件,以及通信组件;其中,电路板安置在壳体围成的空间内部,所述处理器和所述存储器设置在所述电路板上;所述电源电路,用于为终端设备的各个电路或器件供电;所述存储器用于存储可执行程序代码;所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于执行以下步骤:
监测操作系统内核提供的桌面切换函数是否被调用;
如果监测到当前进程调用所述桌面切换函数切换桌面,运行预设的与所述桌面切换函数对应的钩子函数;
检测当前进程的合法性;
如果检测获知当前进程合法,则允许当前进程调用所述桌面切换函数。
本发明实施例的终端设备,首先监测操作系统内核提供的桌面切换函数是否被调用,接着在监测到当前进程调用桌面切换函数时,运行预设的与桌面切换函数对应的钩子函数,以捕获当前进程并检测当前进程的合法性,并在检测获知当前进程合法时,允许当前进程调用桌面切换函数。由此,避免了桌面被恶意切换,保护了操作系统的安全。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1是根据本发明一个实施例的桌面切换处理方法的流程图;
图2是根据本发明另一个实施例的桌面切换处理方法的流程图;
图3是根据本发明一个实施例的桌面切换处理装置的结构示意图;
图4是根据本发明另一个实施例的桌面切换处理装置的结构示意图;
图5是根据本发明一个实施例的终端设备的结构示意图;以及
图6是根据本发明另一个实施例的终端设备的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参考附图描述本发明实施例的桌面切换处理方法、装置和终端设备。
图1是根据本发明一个实施例的桌面切换处理方法的流程图。
如图1所示,该桌面切换处理方法可包括:
S101,监测操作系统内核提供的桌面切换函数是否被调用。
S102,如果监测到当前进程调用桌面切换函数切换桌面,运行预设的与桌面切换函数对应的钩子函数。
通常,操作系统内核会为用户提供桌面切换函数,通过该桌面切换函数可以切换桌面。其中,根据具体应用场景的不同,操作系统内核提供的桌面切换函数不同。
举例而言,当操作系统提供的桌面切换函数是SwitchDesktop时,默认桌面通过调用该SwitchDesktop函数对应的内核函数NtUserSwitchDesktop,切换到登录桌面。
然而,有些执行恶意任务的恶意进程,比如病毒、蠕虫和特洛伊木马进程等,可用过调用操作系统内核提供的桌面切换函数,恶意切换桌面,造成对操作系统的破坏。
因此,为了防止恶意进程通过调用桌面切换函数切换桌面,在允许调用进程使用桌面切换函数之前,需要先判断调用桌面切换函数进程的合法性,从而根据判断结果确定是否允许调用进程使用该桌面切换函数进行桌面切换。
其中,应当理解的是,钩子函数可采用多种方式确定调用桌面切换函数的当前进程,比如可通过获取调用桌面切换函数的操作进程路径确定当前进程。
为了实现在允许调用进程使用桌面切换函数之前,判断调用进程的合法性,本发明实施例预先在系统设置与桌面切换函数对应的钩子函数。
进而,监测操作系统内核提供的桌面切换函数是否被调用,每当监测到桌面切换函数被调用时,则运行预设的与该桌面切换函数对应的钩子函数。
即在操作系统响应该桌面切换函数的调用事件之前,通过与该桌面切换函数对应的钩子函数以判断调用该桌面切换函数进程是否合法。
S103,检测当前进程的合法性。
S104,如果检测获知当前进程合法,则允许当前进程调用桌面切换函数。
具体地,在钩子函数捕获调用桌面切换函数的进程后,检测该进程的合法性,如果检测获知当前进程合法,则允许当前进程调用桌面切换函数切换桌面,以满足相关应用程序的正常运行。
其中,需要说明的是,根据具体应用场景的不同,可采取多种方式检测调用桌面切换函数进程的合法性。
第一种示例,可以通过设置包含相关合法或者非法进程相关特征的特征库,并通过特征库检测调用桌面切换函数的当前进程的合法性。
第二种示例,可以在远程服务器上设置包含相关合法或者非法进程相关特征的特征库,并设置与该远程服务器进行信息交互的相关函数,从而相关函数,将调用桌面切换函数的当前进程的相关信息发送至远程服务器,以供远程服务器根据特征库检测调用桌面切换函数的当前进程的合法性。
第三种示例,预先存储可靠、可信的进程绑定安全标识,从而钩子函数捕获调用桌面切换函数的当前进程后,检测当前进程是否具有上述安全标识以检测当前进程的合法性。
综上所述,本发明实施例的桌面切换处理方法,首先监测操作系统内核提供的桌面切换函数是否被调用,接着在监测到当前进程调用桌面切换函数时,运行预设的与桌面切换函数对应的钩子函数,以捕获当前进程并检测当前进程的合法性,并在检测获知当前进程合法时,允许当前进程调用桌面切换函数。由此,避免了桌面被恶意切换,保护了操作系统的安全。
为了更加清楚的描述如何检测当前进程的合法性,下面结合附图2进行举例说明,在该示例中,通过设置包含相关进程特征的特征库,并通过特征库检测调用桌面切换函数的当前进程的合法性,说明如下:
图2是根据本发明另一个实施例的桌面切换处理方法的流程图,如图2所示,该桌面切换处理方法包括:
S201,在具有网络安全应用的防御驱动中设置与桌面切换函数对应的钩子函数。
应当理解的是,根据应用场景的不同,与桌面切换函数对应的钩子函数可以被设置于操作系统的多个位置。本发明实施例的桌面切换处理方法中,为了将操作系统中相关安全防御的资源的整合,将与桌面切换函数对应的钩子函数设置于具有网络安全应用的防御驱动中。
S202,监测操作系统内核提供的桌面切换函数是否被调用。
S203,如果监测到当前进程调用桌面切换函数切换桌面,运行预设的与桌面切换函数对应的钩子函数。
需要说明的是,步骤S202-S203的描述与上述步骤S101-S102相对应,因此对的步骤S202-S203的描述参考上述步骤S101-S102的描述,在此不再赘述。
S204,根据预设的特征库检测当前进程的合法性。
S205,如果检测获知当前进程合法,则允许当前进程调用桌面切换函数。
S206,如果检测获知当前进程非法,则拒绝当前进程调用桌面切换函数。
具体地,本实施例根据预设的特征库检测调用桌面切换函数的进程的合法性。如果检测调用桌面切换函数的进程非法,则表明调用该桌面切换函数的进程可能是恶意进程,从而拒绝该进程调用桌面切换函数。如果检测调用桌面切换函数的进程合法,则允许当前进程调用桌面切换函数。
需要说明的是,特征库中的具体内容可以根据应用需要进行设置,例如包括合法进程的白名单,和/或,包括非法进程的黑名单。举例说明如下:
第一种示例,特征库中可包括白名单,白名单中包含的进程信息对应的进程是合法进程,允许该进程调用桌面切换函数不会导致桌面被恶意切换。
在本示例中,确定调用桌面切换函数的当前进程,根据该进程的进程信息查询特征库,如果查询获取该进程信息,与白名单中的进程信息匹配,则认为该进程是合法进程,因此允许该进程调用桌面切换函数。如果查询获取该进程信息,与白名单中的进程信息不匹配,则认为该进程是非法进程,因此拒绝该进程调用桌面切换函数。
第二种示例,特征库中包含黑名单,黑名单包含的进程信息对应的进程是非法进程,例如可能是恶意程序对应的进程,如果允许该进程调用桌面切换函数会造成对桌面的恶意切换,对操作系统的安全带来破坏。
在本示例中,确定调用桌面切换函数的当前进程,根据该当前进程的进程信息查询特征库,如果该进程的进程信息与黑名单包含的进程信息匹配,则认为该进程是非法进程,因此拒绝该进程调用桌面切换函数。如果该进程的进程信息与黑名单包含的进程信息不匹配,则认为该进程是合法进程,因此允许该进程调用桌面切换函数。
第三种示例,特征库中可包含黑名单和白名单,白名单中包含的进程信息对应的进程是合法进程,黑名单中包含的进程信息对应的进程是非法进程。
在本示例中,确定调用桌面切换函数的当前进程,根据该进程的进程信息查询特征库,如果查询获取该进程信息,与白名单的进程信息匹配,则认为该进程是合法进程,因此允许该进程调用桌面切换函数;如果该进程的进程信息与黑名单包含的进程信息匹配,则认为该进程是非法进程,因此拒绝该进程调用桌面切换函数。
综上所述,本发明实施例的桌面切换处理方法,将与桌面切换函数对应的钩子函数设置于具有网络安全应用的防御驱动中,并通过特征库判断调用桌面切换函数进程的合法性,只有在该进程合法时,才允许该进程对桌面切换函数的调用,由此,避免了桌面被恶意切换,保护了操作系统的安全。
为了实现上述实施例,本发明还提出了一种桌面切换处理装置,图3是根据本发明一个实施例的桌面切换处理装置的结构示意图,如图3所示,该桌面切换处理装置包括:
监测模块10,用于监测操作系统内核提供的桌面切换函数是否被调用。
运行模块20,用于在监测到当前进程调用桌面切换函数切换桌面,运行预设的与桌面切换函数对应的钩子函数。
检测模块30,用于检测当前进程的合法性。
处理模块40,用于在检测获知当前进程合法时,允许当前进程调用桌面切换函数。
具体地,为了实现在允许调用进程使用桌面切换函数之前,判断调用进程的合法性,本发明实施例预先在系统设置与桌面切换函数对应的钩子函数。
进而,监测模块10监测操作系统内核提供的桌面切换函数是否被调用,每当监测模块10监测到桌面切换函数被调用时,运行模块20则运行预设的与该桌面切换函数对应的钩子函数。
即在操作系统响应该桌面切换函数的调用事件之前,通过与该桌面切换函数对应的钩子函数以判断调用该桌面切换函数进程是否合法。
进一步地,在钩子函数捕获调用桌面切换函数的进程后,检测模块30检测该进程的合法性,如果检测模块30检测获知当前进程合法,处理模块40则允许当前进程调用桌面切换函数切换桌面,以满足相关应用程序的正常运行。
综上所述,本发明实施例的桌面切换处理装置,首先监测模块监测操作系统内核提供的桌面切换函数是否被调用,接着运行模块在监测到当前进程调用桌面切换函数时,运行预设的与桌面切换函数对应的钩子函数,以捕获当前进程并通过检测模块检测当前进程的合法性,以及处理模块在检测获知当前进程合法时,允许当前进程调用桌面切换函数。由此,避免了桌面被恶意切换,保护了操作系统的安全。
为了更加清楚的描述如何检测当前进程的合法性,下面结合附图4进行举例说明,在该示例中,通过设置模块设置包含相关进程特征的特征库,并通过特征库检测调用桌面切换函数的当前进程的合法性,说明如下:
图4是根据本发明另一个实施例的桌面切换处理装置的结构示意图,如图4所示,在如图3所示的基础上,该桌面切换处理装置还包括:
设置模块50,用于在具有网络安全应用的防御驱动中设置与桌面切换函数对应的钩子函数。
应当理解的是,根据应用场景的不同,与桌面切换函数对应的钩子函数可以被设置于操作系统的多个位置。本发明实施例的桌面切换处理装置中,为了将操作系统中相关安全防御的资源的整合,设置模块50将与桌面切换函数对应的钩子函数设置于具有网络安全应用的防御驱动中。
进一步地,在监测模块10监测到操作系统内核提供的桌面切换函数被调用时,运行模块20运行预设的与桌面切换函数对应的钩子函数获取当前进行。
进而检测模块30根据预设的特征库检测调用桌面切换函数的进程的合法性。如果检测模块30检测调用桌面切换函数的进程非法,则表明调用该桌面切换函数的进程可能是恶意进程,从而处理模块40拒绝该进程调用桌面切换函数。如果检测模块30检测调用桌面切换函数的进程合法,则处理模块40允许当前进程调用桌面切换函数。
需要说明的是,特征库中的具体内容可以根据应用需要进行设置,例如包括合法进程的白名单,和/或,包括非法进程的黑名单。
应当理解的是,本方实施例描述的桌面切换处理装置与上述结合图1-图2描述的桌面切换处理方法对应,本发明的桌面切换处理装置的实施例中未披露的细节,在此不再赘述。
综上所述,本发明实施例的桌面切换处理装置,将与桌面切换函数对应的钩子函数设置于具有网络安全应用的防御驱动中,并通过特征库判断调用桌面切换函数进程的合法性,只有在该进程合法时,才允许该进程对桌面切换函数的调用,由此,避免了桌面被恶意切换,保护了操作系统的安全。
为了实现上述实施例,本发明还提出了一种终端设备,图5是根据本发明一个实施例的终端设备的结构示意图。
如图5所示,本发明实施例的终端设备包括桌面切换处理装置1000。
其中,需要说明的是,本发明实施例中的桌面切换处理装置1000与上述实施例中参考图3-图4描述的光标控制装置对应,在此不再赘述。
综上所述,本发明实施例的终端设备,首先监测操作系统内核提供的桌面切换函数是否被调用,接着在监测到当前进程调用桌面切换函数时,运行预设的与桌面切换函数对应的钩子函数,以捕获当前进程并检测当前进程的合法性,并在检测获知当前进程合法时,允许当前进程调用桌面切换函数。由此,避免了桌面被恶意切换,保护了操作系统的安全。
为了实现上述实施例,本发明还提出了另一种终端设备。
图6是根据本发明另一个实施例的终端设备的结构示意图。
参见图6,终端设备2000可以包括以下一个或多个组件:处理器2001,存储器2002,电源电路2003,多媒体组件2004,音频组件2005,输入/输出(I/O)的接口2006,传感器组件2007,以及通信组件2008。
电源电路2003,用于为终端设备的各个电路或器件供电;存储器2002用于存储可执行程序代码;处理器2001通过读取存储器2002中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于执行以下步骤:
监测操作系统内核提供的桌面切换函数是否被调用;
如果监测到当前进程调用桌面切换函数切换桌面,运行预设的与桌面切换函数对应的钩子函数;
检测当前进程的合法性;
如果检测获知当前进程合法,则允许当前进程调用桌面切换函数。
需要说明的是,上述对终端设备2000的描述可参考上述结合图1和图2对光标控制方法的描述,在此不再赘述。
综上所述,本发明实施例的终端设备,首先监测操作系统内核提供的桌面切换函数是否被调用,接着在监测到当前进程调用桌面切换函数时,运行预设的与桌面切换函数对应的钩子函数,以捕获当前进程并检测当前进程的合法性,并在检测获知当前进程合法时,允许当前进程调用桌面切换函数。由此,避免了桌面被恶意切换,保护了操作系统的安全。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。