隐藏进程检测方法、装置、电子设备及可读存储介质与流程

文档序号:32657985发布日期:2022-12-23 22:25阅读:29来源:国知局
1.本技术涉及计算机
技术领域
:,具体而言,涉及一种隐藏进程检测方法、装置、电子设备及可读存储介质。
背景技术
::2.恶意软件往往通过隐藏自身行为来避免其被用户和杀毒工具发现,其中,隐藏自身进程是最基本的功能之一。隐藏进程为了实现自身的隐藏,可以通过进程挂起,替换内存数据再恢复执行,或通过hook函数等方法实现进程隐藏,以此来对抗进程检测,而用户和杀毒工具并不能直接查看到所有真实的进程列表,所以无法对这些隐藏进程进行更全面的检测。技术实现要素:3.本技术实施例的目的在于提供一种隐藏进程检测方法、装置、电子设备及可读存储介质,用以改善现有技术中的隐藏进程检测方法无法对隐藏进程进行更全面的检测。4.第一方面,本技术实施例提供了一种隐藏进程检测方法,所述方法包括:获取处理器所记录的进程信息;获取操作系统所记录的进程信息;比较所述处理器所记录的进程信息和所述操作系统所记录的进程信息的差异,获得所述操作系统中隐藏进程的第一检测结果。5.在上述实现过程中,通过获取处理器所记录的进程信息以及获取操作系统所记录的进程信息,然后比较处理器所记录的进程信息和操作系统所记录的进程信息的差异,来进行隐藏进程检测,由于获取的是处理器在硬件层面记录的进程信息,所以,通过处理器可以获取到更多更全面的进程信息,通过比较则可以更加全面地、有效地检测出隐藏进程。6.可选地,所述获取处理器所记录的进程信息之前,还包括:7.开启所述处理器的硬件辅助调试功能,以使所述处理器记录所运行的进程的进程信息。这样可以通过开启处理器的硬件辅助调试功能来记录所运行的进程的进程信息,使得可以通过处理器所支持的硬件功能来记录,进而所记录的进程信息更多、更全面。8.可选地,所述开启所述处理器的硬件辅助调试功能,包括:9.接收进程检测请求;10.根据所述进程检测请求,执行驱动程序,以开启所述处理器的硬件辅助调试功能。11.在上述实现过程中,通过根据进程检测请求来执行驱动程序,使得可以在有进程检测需求时才开启处理器的硬件辅助调试功能,更加灵活。12.可选地,所述接收进程检测请求,包括:13.接收所述操作系统在启动时发起的进程检测请求。这样可以在操作系统启动时就开启处理器的硬件辅助调试功能,进而使得处理器可以实时记录到所有运行的进程的进程信息,以检测出更多的隐藏检测。14.可选地,进程信息包括进程页表的物理地址;所述获取处理器所记录的进程信息,包括:15.从存储介质中读取所述处理器记录的进程页表的物理地址,其中,所述处理器在进程切换时将当前进程的进程页表的物理地址保存在寄存器中、并将所述寄存器中保存的物理地址记录到所述存储介质。16.在上述实现过程中,通过处理器在进程切换时,将进程页表的物理地址存储到寄存器中,并将寄存器保存的物理地址记录到存储介质中,从而可以记录到所有在处理器上运行的进程的进程信息,使得可以更全面地检测出隐藏进程。17.可选地,所述处理器采用x86架构,所述寄存器为cr3寄存器。18.可选地,所述获取操作系统所记录的进程信息,包括:19.调用所述操作系统的接口,获取所述操作系统所记录的进程信息;20.所述方法还包括:21.获取所述操作系统的底层进程句柄表中记录的进程信息;22.比较调用所述接口获得的进程信息和所述底层进程句柄表中记录的进程信息的差异,获得所述操作系统中隐藏进程的第二检测结果。23.在上述实现过程中,由于底层进程句柄表也可记录到更多的进程信息,所以,通过比较调用接口获得的进程信息和底层进程句柄表记录的进程信息也可以检测出隐藏进程,然后结合通过处理器记录的进程信息检测出的隐藏进程,以此可以检测出更多的隐藏进程,检测更全面。24.可选地,每个进程对应一条进程信息,所述比较所述处理器所记录的进程信息和所述操作系统所记录的进程信息的差异,获得所述操作系统中隐藏进程的第一检测结果,包括:25.比较所述处理器所记录的进程信息和所述操作系统所记录的进程信息;若存在被所述处理器记录但未被所述操作系统记录的目标进程信息,则确定所述操作系统中存在隐藏进程,和/或,若存在被所述处理器记录但未被所述操作系统记录的目标进程信息,则将所述目标进程信息对应的进程确定为隐藏进程。这样可以检测出操作系统中是否有隐藏进程以及隐藏进程的进程信息,从而可以针对隐藏进程进行安全防护。26.第二方面,本技术实施例提供了一种隐藏进程检测装置,所述装置包括:27.第一进程信息获取模块,用于获取处理器所记录的进程信息;28.第二进程信息获取模块,用于获取操作系统所记录的进程信息;29.隐藏进程检测模块,用于比较所述处理器所记录的进程信息和所述操作系统所记录的进程信息的差异,获得所述操作系统中隐藏进程的第一检测结果。30.可选地,所述装置还包括:31.功能开启模块,用于开启所述处理器的硬件辅助调试功能,以使所述处理器记录所运行的进程的进程信息。32.可选地,所述功能开启模块,用于接收进程检测请求;根据所述进程检测请求,执行驱动程序,以开启所述处理器的硬件辅助调试功能。33.可选地,所述功能开启模块,用于接收所述操作系统在启动时发起的进程检测请求。34.可选地,进程信息包括进程页表的物理地址;所述第一进程信息获取模块,用于从存储介质中读取所述处理器记录的进程页表的物理地址,其中,所述处理器在进程切换时将当前进程的进程页表的物理地址保存在寄存器中、并将所述寄存器中保存的物理地址记录到所述存储介质。35.可选地,所述处理器采用x86架构,所述寄存器为cr3寄存器。36.可选地,所述第二进程信息获取模块,用于调用所述操作系统的接口,获取所述操作系统所记录的进程信息;37.所述装置还包括:38.第三进程信息获取模块,用于获取所述操作系统的底层进程句柄表中记录的进程信息;39.所述隐藏进程检测模块,还用于比较调用所述接口获得的进程信息和所述底层进程句柄表中记录的进程信息的差异,获得所述操作系统中隐藏进程的第二检测结果。40.可选地,每个进程对应一条进程信息,所述隐藏进程检测模块,用于比较所述处理器所记录的进程信息和所述操作系统所记录的进程信息;若存在被所述处理器记录但未被所述操作系统记录的目标进程信息,则确定所述操作系统中存在隐藏进程,和/或,若存在被所述处理器记录但未被所述操作系统记录的目标进程信息,则将所述目标进程信息对应的进程确定为隐藏进程。41.第三方面,本技术实施例提供一种电子设备,包括处理器以及存储器,所述存储器存储有计算机可读取指令,当所述计算机可读取指令由所述处理器执行时,运行如上述第一方面提供的所述方法中的步骤。42.第四方面,本技术实施例提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时运行如上述第一方面提供的所述方法中的步骤。43.本技术的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本技术实施例了解。本技术的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。附图说明44.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。45.图1为本技术实施例提供的一种隐藏进程检测方法的流程图;46.图2为本技术实施例提供的一种检测程序的示意图;47.图3为本技术实施例提供的一种隐藏进程检测装置的结构框图;48.图4为本技术实施例提供的一种用于执行隐藏进程检测方法的电子设备的结构示意图。具体实施方式49.下面将结合本技术实施例中附图,对本技术实施例中的技术方案进行清楚、完整地描述。50.本技术实施例提供一种隐藏进程检测方法,该方法通过获取处理器所记录的进程信息以及获取操作系统所记录的进程信息,然后比较处理器所记录的进程信息和操作系统所记录的进程信息的差异,获得操作系统中隐藏进程的第一检测结果,由于处理器所记录的进程信息是从硬件层面获取的进程信息,外部难以干预这一信息的获取过程,也难以对获取到的进程信息进行篡改,所以即使在操作系统不可信或者病毒程序将操作系统记录的进程信息进行更改时,也可以通过处理器记录的进程信息来知晓操作系统所记录的进程是否有隐藏进程,从而可更加全面地、有效地检测出隐藏进程。51.请参照图1,图1为本技术实施例提供的一种隐藏进程检测方法的流程图,该方法包括如下步骤:52.步骤s110:获取处理器所记录的进程信息。53.本技术实施例中的处理器可以认为是电子设备(见图4的电子设备)中的处理器,操作系统可以是指电子设备中安装的系统,例如windows操作系统,电子设备是指终端设备,如计算机、服务器等。本技术提供的隐藏进程检测方法可以通过一检测程序来执行,检测程序可以理解为是与操作系统无关的程序。54.其中,处理器可通过自身的硬件功能来记录在处理器上运行的进程的进程信息,即处理器通过自带的功能来实现进程信息的记录,不依赖于操作系统。其所记录的进程信息可以包括已经运行过的、正在运行的或者还可以包括即将运行的进程的进程信息,进程信息中包含可以区分不同进程的信息,如进程页表的物理地址,或者进程id等信息。55.可以理解地,由于所有的进程对应的计算机程序指令最终都是由处理器执行的,所以一旦处理器开始记录进程信息的功能,其记录下来的进程信息将非常全面,不会遗漏任何进程,包括在操作系统层面的隐藏和非隐藏的进程。56.步骤s120:获取操作系统所记录的进程信息。57.操作系统具有记录所运行的进程的进程信息(包括已运行的进程的进程信息和即将运行的进程的进程信息)的功能,并可将此功能通过接口的形式暴露给使用者(例如,检测程序),从而可通过调用操作系统的接口来获取操作系统所记录的进程信息,如通过系统win32api,例如enumprocess、createtoolhelp32snapshot等api,这些win32api内部最终是通过调用zwquerysysteminformation函数来获取操作系统所记录的进程信息。58.步骤s130:比较所述处理器所记录的进程信息和所述操作系统所记录的进程信息的差异,获得所述操作系统中隐藏进程的第一检测结果。59.由于入侵程序很容易对通过zwquerysysteminformation函数获取的进程信息进行修改,把需要隐藏的进程信息从中去掉,所以使得获取的进程信息并不完整,或者入侵程序也可以通过修改相应的程序,使得通过zwquerysysteminformation函数获取到的进程信息并不完整。为了检测出这些隐藏进程,可以通过比较处理器所记录的进程信息和操作系统所记录的进程信息的差异,如若处理器所记录的进程信息比操作系统所记录的进程信息更多的,则可认为操作系统中存在隐藏进程,即这些进程在操作系统层面被隐藏,使得通过操作系统所获取到的进程信息并没有包含这些隐藏进程的进程信息,而由于所有进程都运行在处理器上,入侵程序很难干预处理器的行为,所以处理器获取到的进程信息可以是包含了所有进程的进程信息,通过将两者进行比较,即可知晓哪些进程在操作系统层面被隐藏了。60.在一些实施方式中,第一检测结果可以包括操作系统中是否存在隐藏进程,和/或哪些进程是隐藏进程。例如,在获得第一检测结果中,每个进程对应一条进程信息,可以比较处理器所记录的进程信息和操作系统所记录的进程信息,若存在被处理器记录但未被操作系统记录的目标进程信息,则确定操作系统中存在隐藏进程,和/或,若存在被处理器记录但未被操作系统记录的目标进程信息,则将目标进程信息对应的进程确定为隐藏进程。61.例如,处理器所记录的进程信息包括有5个进程的进程信息,而操作系统记录的进程信息包括有3个进程的进程信息,通过将操作系统所记录的3个进程的进程信息与处理器所记录的5个进程的进程信息进行一一比对,若发现处理器所记录的5个进程的进程信息中有2个进程的进程信息未被操作系统所记录,则确定操作系统存在2个隐藏进程,处理器所记录的这额外的2个进程的进程信息即为隐藏进程的进程信息。通过这种方式进行比较,可以更加全面且准确地确定出隐藏进程的相关信息,从而可以对隐藏进程进行安全性排查,以确保系统运行的安全。62.在一些实施方式中,如果只需检测是否存在隐藏进程,并不需要检测出到底哪些是隐藏进程,可以分别统计处理器和操作系统所记录的进程信息对应的进程的数量(如有重复的进程信息,可以进行去重),然后通过比较处理器所记录的进程的数量和操作系统所记录的进程的数量,如果处理器所记录的进程的数量大于操作系统所记录的进程的数量,则可确定操作系统中存在隐藏进程。63.例如,处理器所记录的进程信息包括有5个进程的进程信息,而操作系统记录的进程信息包括有3个进程的进程信息,则可确定操作系统中存在2个隐藏进程。64.在上述实现过程中,通过获取处理器所记录的进程信息以及获取操作系统所记录的进程信息,然后比较处理器所记录的进程信息和操作系统所记录的进程信息的差异,来进行隐藏进程检测,由于获取的是处理器在硬件层面记录的进程信息,所以,通过处理器可以获取到更多更全面的进程信息,通过比较则可以更加全面地、有效地检测出隐藏进程。65.在一些实施方式中,处理器通过其内置的硬件辅助调试功能来实现进程信息的记录,例如,对于inteli5处理器,硬件辅助调试功能即intelprocessortrace,简称intelpt。处理器开启硬件辅助调试功能之后,就可自动记录自身所运行的进程的进程信息(例如,将其记录在计算机的内存空间中、某个磁盘文件中等,取决于功能的具体实现)。66.可以理解地,处理器可以在出厂时就已经被配置为开启了硬件辅助调试功能,这样处理器可以在操作系统启动运行时就开始记录自身所运行的进程的进程信息,以便于可以记录更多更全面的进程信息。或者,也可以是在有隐藏进程检测需求时才开启处理器的硬件辅助调试功能(例如,通过检测程序开启),这样可以减少处理器用于记录进程信息的资源消耗,以便于处理器可以有更多的资源去处理其他任务。67.在上述实现过程中,通过开启处理器的硬件辅助调试功能来记录所运行的进程的进程信息,使得可以通过处理器所支持的硬件功能来记录,进而所记录的进程信息更多、更全面。68.在一些实施方式中,可以在接收到进程检测请求后,根据进程检测请求,执行驱动程序,以开启处理器的硬件辅助调试功能。69.在本技术的方案中,驱动程序可以是sys程序,其功能至少包括开启处理器的硬件辅助调试功能的程序,驱动程序可以安装到操作系统中。如图2所示,检测程序包括两个模块,分别是动态链接库和驱动程序。比如应用程序可以通过接口提交进程检测请求给动态链接库,动态链接库在接收到进程检测请求后,进一步调用驱动程序,以使驱动程序驱动处理器的硬件辅助调试功能的开启,驱动程序执行完毕后,可返回相应的执行结果给动态链接库,然后动态链接库通过接口向应用程序输出相应的执行结果,如已开启处理器的硬件辅助调试功能等。70.为了便于该驱动程序的安装,可以将驱动程序和动态链接库随着检测程序打包发布,这样可以在电子设备中部署隐藏进程检测软件时,同时将该驱动程序和动态链接库一并进行安装,以便于可以根据需求随时开启处理器的硬件辅助调试功能。71.在上述实现过程中,通过根据进程检测请求来执行驱动程序,使得可以在有进程检测需求时才开启处理器的硬件辅助调试功能,更加灵活。72.在一些实施方式中,为了使得处理器能够记录到更多的进程的进程信息,可以对操作系统的启动项进行配置,如配置在操作系统启动时就开启处理器的硬件辅助调试功能,这样操作系统在启动时就可以自动生成一个进程检测请求,然后检测程序即可接收到该进程检测请求从而通过执行驱动程序来开启处理器的硬件辅助调试功能,执行过程和上面类似,这样可以使得操作系统在启动时处理器就可以记录进程信息,避免在操作系统启动一段时间后才来开启处理器的硬件辅助功能,而可能导致在功能开启前已结束运行或者被挂起的进程的进程信息无法被处理器记录到的问题。73.另外,处理器的辅助调试功能也可以在不需要时进行关闭,如可以在操作系统关机时关闭处理器的辅助调试功能,或者在接收到关闭请求时,关闭处理器的辅助调试功能,这样处理器就可以不用实时记录进程信息以占据太多的处理资源。74.进程在处理器上运行时,通过为每个进程分配一定的时间片来执行,这样宏观上看就像有多个进程在同时运行,而实际上进程之间是通过时间片来切换运行的,为支持进程调度,处理器可以在每次进程切换时,将当前进程页表的物理地址保存在自身的寄存器中。75.在一些实施方式中,进程信息可以包括上述进程页表的物理地址(无论处理器有没有配置或开启硬件辅助调试功能,处理器在进行进程切换时,都会将进程页表的物理地址保存到寄存器中),而在处理器开启了硬件辅助调试功能后,还会记录寄存器的值(例如,将寄存器的值(寄存器的值就是指寄存器所保存的进程页表的物理地址)保存到存储介质中),存储介质可以是外部的存储设备,也可以是处理器内部的内存空间。所以,可以从存储介质中读取处理器记录的自身的寄存器的值来获得进程信息。这样在获取处理器所记录的进程信息时,可以从存储介质中读取处理器记录的各个进程页表的物理地址。76.例如,在从进程a切换到进程b执行时,处理器将进程b页表的物理地址存储在寄存器中,并记录该进程b页表的物理地址到一个指定的存储介质,或者,可以是在进程b切换到进程c执行时,才将寄存器存储的进程b页面的物理地址存储到指定的存储介质。这样存储介质中就可以存储有所有运行的进程的进程信息,从而可以在进行隐藏进程检测时,直接从存储介质读取这些进程页表的物理地址即可。在进行比较时,可以比较处理器所记录的物理地址与操作系统所记录的物理地址是否一致,由于物理地址和进程具有唯一的对应关系,所以可将存在不一致的处理器所记录的物理地址对应的进程确定为隐藏进程。77.在一些实施方式中,由于进程间是在不断切换执行的,所以可能进程a切换到进程b执行后,由进程b又切换到进程a执行,这种情况下处理器需要重复将进程a页表的物理地址写入寄存器中,并保存进程a页表的物理地址到存储介质,使得存储介质中存在重复的进程信息,进而在进行比较时,需要重复比较相同的进程信息,造成检测时间较长。为了避免这个问题,可以在处理器将进程页表的物理地址存储到存储介质之前,处理器将当前需存储的进程页表的物理地址与存储介质中已有的物理地址进行比对,若存储介质中未存在有当前需存储的进程页表的物理地址,则表明当前需存储的进程页表的物理地址是一个新的进程的物理地址,则可以将当前需存储的进程页表的物理地址存储到存储介质中,若存储介质中已存在有当前需存储的进程页表的物理地址,则表明该进程信息已被记录过,则此时无需将当前需存储的进程页表的物理地址存储到存储介质,可将该当前需存储的进程页表的物理地址直接丢弃即可,这样可以确保存储介质存储的进程信息不是重复的,在比较时,可减少比对信息,缩短检测时长。78.在上述实现过程中,通过处理器在进程切换时,将进程页表的物理地址存储到寄存器中,并记录当前进程的进程页表的物理地址到存储介质中,从而可以记录到所有在处理器上运行的进程的进程信息,使得可以更全面地检测出隐藏进程。79.在一些实施方式中,为了避免入侵程序知晓处理器保存进程信息所用的存储介质的存在而去篡改该存储介质中存储的进程信息,使得在比对时无法检测出更多的隐藏进程,可以为存储介质设置读写权限,如只有具有权限的操作程序(如本技术的检测程序)才能读取到存储介质中存储的信息,其他没有权限的操作程序无法读取到存储介质中存储的信息。或者,也可以对存储介质进行加密,只有使用对应的密钥对其进行解密后才能获取到存储介质存储的进程信息,这样可以确保存储介质中存储的进程信息的安全,避免被入侵程序非法篡改。80.在上述实施例的基础上,处理器可以是采用x86架构的处理器,寄存器可以为cr3寄存器,处理器可以在进程切换时将进程页表的物理地址写入到cr3寄存器中,然后将cr3寄存器的cr3值实时记录下来并存储到对应的存储介质中,在比较处理器所记录的进程信息和操作系统所记录的进程信息时,就可以直接比较处理器所记录的cr3值和操作系统所记录的cr3值,找出cr3值不一致的进程,这些进程即可认为是隐藏进程。81.可以理解地,在其他处理器架构(例如,arm)下,也可以通过其他类型的寄存器来存储进程页表的物理地址,进而处理器将寄存器所保存的进程页表的物理地址实时存储到相应的存储介质中。82.在一些实施方式中,若处理器不是在操作系统启动时就开启硬件辅助调试功能,或者不是一直开启硬件辅助调试功能,则可能就无法记录到未开启硬件辅助调试功能的时间段内运行的进程的进程信息,这种情况下通过比较检测出的隐藏进程可能并不全面,所以还可以通过以下方式检测隐藏进程:83.获取操作系统的底层进程句柄表中记录的进程信息,调用操作系统的接口,获取操作系统所记录的进程信息,然后比较调用接口获得的进程信息和底层进程句柄表中记录的进程信息的差异,获得操作系统中隐藏进程的第二检测结果。84.其中,当在执行进程时,进程对象指针会被保存在操作系统底层的进程句柄表handle_table中,可以通过pspcidtable访问底层进程句柄表,进而遍历底层进程句柄表中存放的进程对象的指针就可以获取到对应的进程信息。85.通过底层进程句柄表可记录到未被处理器(如此时处理器未开启硬件辅助调试功能)记录到的进程信息,可以将底层句柄表中记录的进程信息与调用操作系统的接口获得的进程信息进行比较,从而可以检测出更多的隐藏进程。如底层句柄表中记录了6个进程信息,而调用接口获得的进程信息有3个,通过比较,底层句柄表中记录了3个且调用接口未获得的进程信息,则可确定这3个进程的进程信息为隐藏进程的进程信息。86.可以理解地,第二检测结果可以包括隐藏进程的进程信息,第二检测结果可以和上述的第一检测结果进行合并,如此可检测出更多的隐藏进程。由于通过底层进程句柄表记录的进程信息也是操作系统层面所记录的进程信息,所以可以将通过底层进程句柄表记录的进程信息确定出的隐藏进程的危险程度定义为较低,将通过处理器记录的进程信息确定出的隐藏进程的危险程度定义为较高,表示这些进程隐藏得更深,更不容易被发现。在实际处理时,可以针对危险程度的高低来依次对各个隐藏进程进行排查检测,以使得安全管理员可以优先处理危险程度较高的隐藏进程,以避免这些隐藏进程对系统造成较大的安全威胁。87.在上述实现过程中,由于底层进程句柄表也可记录到更多的进程信息,所以,通过比较调用接口获得的进程信息和底层进程句柄表记录的进程信息也可以检测出隐藏进程,然后结合通过处理器记录的进程信息检测出的隐藏进程,以此可以检测出更多的隐藏进程,检测更全面。88.请参照图3,图3为本技术实施例提供的一种隐藏进程检测装置200的结构框图,该装置200可以是电子设备上的模块、程序段或代码。应理解,该装置200与上述图1方法实施例对应,能够执行图1方法实施例涉及的各个步骤,该装置200具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。89.可选地,所述装置200包括:90.第一进程信息获取模块210,用于获取处理器所记录的进程信息;91.第二进程信息获取模块220,用于获取操作系统所记录的进程信息;92.隐藏进程检测模块230,用于比较所述处理器所记录的进程信息和所述操作系统所记录的进程信息的差异,获得所述操作系统中隐藏进程的第一检测结果。93.可选地,所述装置200还包括:94.功能开启模块,用于开启所述处理器的硬件辅助调试功能,以使所述处理器记录所运行的进程的进程信息。95.可选地,所述功能开启模块,用于接收进程检测请求;根据所述进程检测请求,执行驱动程序,以开启所述处理器的硬件辅助调试功能。96.可选地,所述功能开启模块,用于接收所述操作系统在启动时发起的进程检测请求。97.可选地,进程信息包括进程页表的物理地址;所述第一进程信息获取模块210,用于从存储介质中读取所述处理器记录的进程页表的物理地址,其中,所述处理器在进程切换时将当前进程的进程页表的物理地址保存在寄存器中、并将所述寄存器中保存的物理地址记录到所述存储介质。98.可选地,所述处理器采用x86架构,所述寄存器为cr3寄存器。99.可选地,所述第二进程信息获取模块220,用于调用所述操作系统的接口,获取所述操作系统所记录的进程信息;100.所述装置还包括:101.第三进程信息获取模块,用于获取所述操作系统的底层进程句柄表中记录的进程信息;102.所述隐藏进程检测模块230,还用于比较调用所述接口获得的进程信息和所述底层进程句柄表中记录的进程信息的差异,获得所述操作系统中隐藏进程的第二检测结果。103.可选地,每个进程对应一条进程信息,所述隐藏进程检测模块230,用于比较所述处理器所记录的进程信息和所述操作系统所记录的进程信息,若存在被所述处理器记录但未被所述操作系统记录的目标进程信息,则确定所述操作系统中存在隐藏进程,和/或,若存在被所述处理器记录但未被所述操作系统记录的目标进程信息,则将所述目标进程信息对应的进程确定为隐藏进程。104.需要说明的是,本领域技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再重复描述。105.请参照图4,图4为本技术实施例提供的一种用于执行隐藏进程检测方法的电子设备的结构示意图,所述电子设备可以包括:至少一个处理器310(指上述的处理器),例如cpu,至少一个存储器320和操作系统330、检测程序340,检测程序340包括上述的动态链接库和驱动程序,检测程序340用于执行本技术中的隐藏进程检测方法,检测程序340和操作系统330虽然也运行在处理器310上,但是本技术中在执行隐藏进程检测方法时,处理器310所记录的进程信息是指通过处理器310的自带的硬件功能来记录的,并不依赖于操作系统330。存储器320可以用来存储处理器310所记录的进程信息,检测程序340在进行隐藏进程检测时,则可以从存储器320中读取进程信息,以及通过调用操作系统330的接口获取操作系统330所记录的进程信息,然后将两者进行比较。106.其中,存储器320可以是高速ram存储器,也可以是非易失性的存储器(non-volatilememory),例如至少一个磁盘存储器。存储器320可选的还可以是至少一个位于远离前述处理器的存储装置。存储器320中存储有计算机可读取指令,当所述计算机可读取指令由所述处理器310执行时,电子设备执行上述图1所示方法过程。107.可以理解,图4所示的结构仅为示意,所述电子设备还可包括比图4中所示更多或者更少的组件,或者具有与图4所示不同的配置。图4中所示的各组件可以采用硬件、软件或其组合实现。108.本技术实施例提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,执行如图1所示方法实施例中电子设备所执行的方法过程。109.本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如,包括:获取处理器所记录的进程信息;获取操作系统所记录的进程信息;比较所述处理器所记录的进程信息和所述操作系统所记录的进程信息的差异,获得所述操作系统中隐藏进程的第一检测结果。110.综上所述,本技术实施例提供一种隐藏进程检测方法、装置、电子设备及可读存储介质,通过获取处理器所记录的进程信息以及获取操作系统所记录的进程信息,然后比较处理器所记录的进程信息和操作系统所记录的进程信息的差异,来进行隐藏进程检测,由于获取的是处理器在硬件层面记录的进程信息,所以,通过处理器可以获取到更多更全面的进程信息,通过比较则可以更加全面地、有效地检测出隐藏进程。111.在本技术所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。112.另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。113.再者,在本技术各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。114.在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。115.以上所述仅为本技术的实施例而已,并不用于限制本技术的保护范围,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1