CN111931192A - rootkit检测方法、装置及电子设备 - Google Patents
rootkit检测方法、装置及电子设备 Download PDFInfo
- Publication number
- CN111931192A CN111931192A CN202010945988.4A CN202010945988A CN111931192A CN 111931192 A CN111931192 A CN 111931192A CN 202010945988 A CN202010945988 A CN 202010945988A CN 111931192 A CN111931192 A CN 111931192A
- Authority
- CN
- China
- Prior art keywords
- kernel
- lkm
- key data
- information
- data structure
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Storage Device Security (AREA)
Abstract
本申请提供一种rootkit检测方法、装置及电子设备,该方法包括:当检测到LKM内核模块加载事件发生时,获取该LKM信息以及内核关键数据结构;分别确定所获取到的LKM信息中各LKM的哈希值,以及,所获取到的内核关键数据结构中各内核关键数据结构的哈希值;比较所述各LKM的哈希值与LKM基准信息,以及,比较所述各内核关键数据结构的哈希值与内核关键数据结构基准信息;当所述各LKM的哈希值与所述LKM基准信息一致,且所述各内核关键数据结构的哈希值与所述内核关键数据结构基准信息一致时,确定内核态rootkit检测通过。该方法可以实现高可靠性和准确性的内核态rootkit检测。
Description
技术领域
本申请涉及网络安全领域,尤其涉及一种rootkit检测方法、装置及电子设备。
背景技术
rootkit是指在非授权情况下维持系统最高权限,试图通过隐藏自己防止被发现,达到长期利用受害主机的目的。
当前rootkit主要包括两种:用户态rootkit和内核态rootkit。用户态rootkit经常篡改系统命令,或恶意替换系统动态链接库,使得获取的信息已不是内核态返回给用户态的原始信息,达到隐藏自己长期侵害主机的目的;而内核态rootkit更为复杂,内核结构体是内核数据流的承载和控制对象,内核态rootkit即通过篡改内核结构体来掩人耳目。
目前的内核态rootkit主要为LKM(LoadableKernelModules,可加载内核模块)入侵方式,其大致可以分为以下几类:系统调用表、中断向量表、DKNOM、硬件寄存器中断、Proc文件系统,各种方式的区别是篡改不同类型的内核结构体。
如何准确地检测内核态rootkit成为一种亟待解决的技术问题。
发明内容
有鉴于此,本申请提供一种rootkit检测方法、装置及电子设备。
具体地,本申请是通过如下技术方案实现的:
根据本申请实施例的第一方面,提供一种rootkit检测方法,包括:
当检测到LKM内核模块加载事件发生时,获取所述LKM信息以及内核关键数据结构;
分别确定所获取到的LKM信息中各LKM的哈希值,以及,所获取到的内核关键数据结构中各内核关键数据结构的哈希值;
比较所述各LKM的哈希值与LKM基准信息,以及,比较所述各内核关键数据结构的哈希值与内核关键数据结构基准信息;所述LKM基准信息包括LKM标识信息及对应的基准哈希值;所述内核关键数据结构基准信息包括内核关键数据结构标识信息及对应的基准哈希值;
当所述各LKM的哈希值与所述LKM基准信息一致,且所述各内核关键数据结构的哈希值与所述内核关键数据结构基准信息一致时,确定内核态rootkit检测通过。
根据本申请实施例的第二方面,提供一种rootkit检测装置,包括:
获取单元,用于当检测到LKM内核模块加载事件发生时,获取所述LKM信息以及内核关键数据结构;
确定单元,用于分别确定所获取到的LKM信息中各LKM的哈希值,以及,所获取到的内核关键数据结构中各内核关键数据结构的哈希值;
比较单元,用于比较所述各LKM的哈希值与LKM基准信息,以及,比较所述各内核关键数据结构的哈希值与内核关键数据结构基准信息;所述LKM基准信息包括LKM标识信息及对应的基准哈希值;所述内核关键数据结构基准信息包括内核关键数据结构标识信息及对应的基准哈希值;
检测单元,用于当所述各LKM的哈希值与所述LKM基准信息一致,且所述各内核关键数据结构的哈希值与所述内核关键数据结构基准信息一致时,确定内核态rootkit检测通过。
根据本申请实施例的第三方面,提供一种电子设备,该电子设备包括:
处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;所述处理器用于执行机器可执行指令,以实现第一方面所述的方法。
本申请实施例的rootkit检测方法,通过在安全装置中预置LKM基准信息以及内核关键数据结构基准信息,并当需要进行内核态rootkit检测时,获取加载的LKM信息以及内核关键数据结构,并分别确定所获取到的LKM信息中各LKM的哈希值,以及,所获取到的内核关键数据结构中各内核关键数据结构的哈希值,进而,比较各LKM的哈希值与LKM基准信息,以及,比较各内核关键数据结构的哈希值与内核关键数据结构基准信息,并当各LKM的哈希值与LKM基准信息一致,且各内核关键数据结构的哈希值与内核关键数据结构基准信息一致时,确定内核态rootkit检测通过,实现了高可靠性和准确性的内核态rootkit检测。
附图说明
图1为本申请一示例性实施例示出的一种rootkit检测方法的流程示意图;
图2~3为本申请一示例性实施例示出的物联网终端设备的rootkit检测的流程示意图;
图4为本申请一示例性实施例示出的一种rootkit检测的结构示意图;
图5为本申请一示例性实施例示出的一种电子设备的硬件结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
为了使本领域技术人员更好地理解本申请实施例提供的技术方案,并使本申请实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本申请实施例中技术方案作进一步详细的说明。
请参见图1,为本申请实施例提供的一种rootkit检测方法的流程示意图,如图1所示,该rootkit检测方法可以包括以下步骤:
需要说明的是,本申请实施例提供的rootkit检测方法可以应用于轻量级的终端设备,例如,嵌入式的终端设备、物联网终端设备。
步骤S100、当检测到LKM内核模块加载事件发生时,获取该LKM信息以及内核关键数据结构。
本申请实施例中,为了实现内核态rootkit的检测,可以获取加载的LKM信息以及内核关键数据结构,通过对LKM信息和内核关键数据结构的合法性和完整性进行校验,实现内核态rootkit的检测。
示例性的,可以在检测到LKM内核模块加载事件发生时,获取加载的LKM信息,以及内核关键数据结构,其包括但不限于内核启动后就不再改变的静态全局数据,如系统调用表和中断调用表,以及内核在运行过程中的动态数据,如task_struct进程信息。
示例性的,所述LKM信息可以包括多个LKM内核模块的信息,该多个LKM内核模块可以包括但不限于用于网络管理的LKM内核模块、用于内存管理的LKM内核模块或/和用于文件管理的LKM内核模块等。步骤S110、分别确定所获取到的LKM信息中各LKM的哈希值,以及,所获取到的内核关键数据结构中各内核关键数据结构的哈希值。
本申请实施例中,当按照步骤S100中描述的方式获取到加载的LKM信息以及内核关键数据结构时,可以分别确定所获取到的LKM信息中各LKM的哈希值,以及,确定所获取到的内核关键数据结构中各内核关键数据结构的哈希值。
步骤S120、比较各LKM的哈希值与LKM基准信息,以及,比较各内核关键数据结构的哈希值与内核关键数据结构基准信息,该LKM基准信息和内核关键数据结构基准信息预置于安全装置中。
本申请实施例中,为了实现LKM信息以及内核关键数据结构的合法性和完整性的校验,可以预先确定LKM基准信息以及内核关键数据结构基准信息,并将其保存在安全装置中,以保证上述哈希基准值内容不被非法篡改,不会导致验证策略失效。
示例性的,LKM基准信息包括LKM标识信息及对应的基准哈希值;内核关键数据结构基准信息包括内核关键数据结构标识信息及对应的基准哈希值。
例如,可以由受信任的设备生产商在设备出厂时,在安全生产环境下向设备中的安全装置预置LKM信息和内核关键结构体的基准哈希值。
示例性的,安全装置可以包括安全芯片、TPM(Trusted Platform Module,可信任平台模块)或OTP(One Time Programmable,一次性可编程)区域等。
为了实现内核态rootkit检测,一方面需要按照步骤S100中描述的获取加载的LKM信息,以及内核关键数据结构;另一方面,需要获取安全装置中预置的LKM基准信息以及内核关键数据结构基准信息。
本申请实施例中,可以分别通过比较步骤S110中确定的各LKM的哈希值与LKM基准信息,以及比较步骤S120中确定的各内核关键数据结构的哈希值与内核关键数据结构基准信息,以对步骤S100中获取到的LKM信息以及内核关键数据结构的合法性和完整性进行校验。
步骤S130、当各LKM的哈希值与LKM基准信息一致,且各内核关键数据结构的哈希值与内核关键数据结构基准信息一致时,确定内核态rootkit检测通过。
本申请实施例中,当各LKM的哈希值与LKM基准信息一致,即LKM标识信息相同的LKM的哈希值与哈希基准值一致,且各内核关键数据结构的哈希值与内核关键数据结构基准信息一致,内核关键数据结构标识信息相同的内核关键数据结构的哈希值与哈希基准值一致时,确定内核态rootkit检测通过。
需要说明的是,当各LKM的哈希值与LKM基准信息不一致,或/和,各内核关键数据结构的哈希值与内核关键数据结构基准信息不一致,则进行异常处理,其具体实现本申请实施例不做限定。
可见,在图1所示方法流程中,通过在安全装置中预置LKM基准信息以及内核关键数据结构基准信息,并当需要进行内核态rootkit检测时,获取加载的LKM信息以及内核关键数据结构,并分别确定所获取到的LKM信息中各LKM的哈希值,以及,所获取到的内核关键数据结构中各内核关键数据结构的哈希值,进而,比较各LKM的哈希值与LKM基准信息,以及,比较各内核关键数据结构的哈希值与内核关键数据结构基准信息,并当各LKM的哈希值与LKM基准信息一致,且各内核关键数据结构的哈希值与内核关键数据结构基准信息一致时,确定内核态rootkit检测通过,实现了高可靠性和准确性的内核态rootkit检测。
作为一种可能的实施例,本申请实施例提供的rootkit检测方案还可以包括以下流程:
获取内核态进程信息,并基于内核态进程信息的关键属性生成内核态进程信息列表;
获取用户态进程信息,并基于用户态进程信息的关键属性生成用户态进程信息列表;
比较内核态进程信息列表以及用户态进程信息列表;
当内核态进程信息列表与用户态进程信息列表一致时,确定用户态rootkit检测通过。
示例性的,当内核态rootkit检测通过时,还可以基于内核态进程信息实现用户态rootkit检测。
示例性的,为了实现用户态rootkit检测,一方面,可以获取内核态进程信息(在内核态rootkit检测通过的前提下),并基于获取到的内核态进程信息的关键属性生成内核态进程信息列表。
另一方面,可以获取用户态进程信息,并基于用户态进程信息的关键属性生成用户态进程信息列表。
示例性的,在内核中每个进程都会被分配一个task_struct结构,该task_struct结构包含了进程的所有信息,操作系统可以跟踪该结构的信息,以获取内核态进程信息。
对于用户态进程信息,可以通过在用户态调用PS系统命令或/proc文件系统的方式获取进程信息。
在一个示例中,上述关键属性可以包括但不限于关键以下属性之一或多个:
进程号、父进程信息以及进程名。
示例性的,可以以内核态进程信息为基准,通过比较内核态进程信息列表和用户态进程信息列表的方式,确定是否存在非法用户态进程信息。
当内核态进程信息列表与用户态进程信息列表一致,即内核态进程信息列表中包括的进程信息与用户态进程信息列表中包括的进程信息数量和内容均一致,则确定用户态rootkit检测通过。
当内核态进程信息列表与用户态进程信息列表不一致,如用户态的进程较少,说明有隐藏进程,确定用户态rootkit检测不通过。
作为一种可能的实施例,步骤S100中,获取加载的可加载内核模块LKM信息以及内核关键数据结构之前,还可以包括
当终端上电启动时,依次验证引导程序的数字签名和内核/操作系统的数字签名;
当引导程序的数字签名和内核/操作系统的数字签名均验证通过时,允许启动。
示例性的,为了保证内核模块在每次启动时都是未被篡改和替换的,可以采用可信启动技术,通过可信启动技术确保终端设备每次启动内核根基未被非法篡改。
当终端上电启动时,可以使用数字签名技术依次验证引导程序和内核/操作系统的合法性,即依次验证引导程序的数字签名和内核/操作系统的数字签名,并当引导程序的数字签名和内核/操作系统的数字签名均验证通过时,允许终端启动。需要说明的是,为了进一步保证内核模块的可靠性,在引导程序的数字签名和内核/操作系统的数字签名均验证通过后,还可以对操作系统上的应用的数字签名进行验证,并当验证通过时,允许终端启动;否则,当任一环节(如对引导程序的数字签名的验证、对内核/操作系统的数字签名的验证或对操作系统上的应用的数字签名的验证)验证不通过,确定内核根基被非法篡改。
作为一种可能的实施例,本申请实施例提供的rootkit检测方案还可以包括以下流程:
动态地基于LKM信息和内核关键数据结构建立行为分析树,其中,行为分析树用于表示内核根基是否被非法篡改;
基于安全装置中预置的基准值,确定行为分析树是否存在异常。
示例性的,为了进一步保证内核根基的可靠性,除了可以按照上述方法流程中描述的方式实现可信启动,以保证终端启动时内核根基的可靠性之外,还可以在终端运行过程中,采用动态度量方式,对内核根基做可信校验。
示例性的,可以动态地基于LKM信息和内核关键数据结构建立行为分析树,并基于安全装置中预置的基准值,确定行为分析树是否存在异常。
在一个示例中,行为分析树的叶子节点包括LKM标识信息及对应的哈希值,或,内核关键数据结构的标识信息及对应的哈希值;
基于安全装置中预置的基准值,确定行为分析树是否存在异常,可以包括:
当行为分析树的各叶子节点中包括的哈希值分别与对应的哈希基准值一致时,确定所述行为分析树正常。
示例性的,上述行为分析树的叶子节点包括LKM标识信息及对应的哈希值,或,内核关键数据结构的标识信息及对应的哈希值,即上述行为分析树可以为基于哈希值的二叉树或多叉树,如Merkle树。
终端设备运行过程中,可以动态地基于LKM信息和内核关键数据结构建立行为分析树,并比较安全装置中预置的基准值(如LKM基准信息以及内核关键数据结构基准信息)和行为分析树的叶子节点中的哈希值,当行为分析树的各叶子节点中包括的哈希值分别与对应的哈希基准值一致时,确定行为分析树正常,即内核根基未被篡改;否则,确定行为分析树异常,内核根基被非法篡改。
为了使本领域技术人员更好地理解本申请实施例提供的技术方案,下面结合具体实例对本申请实施例提供的技术方案进行说明。
在该实施例中,以物联网终端设备的rootkit检测为例,其具体实现流程如下:
准备工作:
由受信任的设备生产商在设备出厂时,在安全生产环境下向设备中的安全装置(如安全芯片、TPM或OTP区域)预置LKM和内核关键结构体的基准信息(可以以白名单形式配置,该白名单中包括合法数据项ID和对应的合法哈希值,即基准哈希值)。
示例性的,哈希算法可以采用SHA3-256算法。
如图2和图3所示,物联网终端设备rootkit检测:
1、物联网终端设备上电时进入可信启动流程,当U-boot(即引导程序)的数字签名,内核/操作系统的数字签名,系统应用的数字签名均验证通过时,继续执行后续流程;否则,进行异常报告。
示例性的,物联网终端设备上电时,CPU从预置的地址取指令,如从ROM上执行固化在其中的Boot code,进一步使用数字签名技术来验证引导程序如U-Boot的合法性;验证通过后,再进一步验证下一级内核/操作系统的数字签名;验证通过后,最终验证操作系统上应用的数字签名,验证通过后,则完成设备正常启动。
至此,完成物联网终端设备的可信启动。
2、获取物联网终端设备的安全装置中预置的LKM白名单和关键内核数据结构白名单。
3、在内核层hook LKM内核模块加载函数,当有LKM加载事件触发时,将LKM的唯一标识符与哈希值,与步骤2中获取的白名单中唯一标识符与哈希基准值做比较,二者匹配则成功,否则进行异常报告。
示例性的,将(LKM唯一标识符,哈希值)作为一个对比单元(标识符和哈希值均匹配才算白名单匹配成功)。
4、计算当前时刻关键内核结构体哈希值,和步骤2中获取的白名单中的哈希基准值作比较,二者匹配则成功,否则进行异常报告。
示例性的,步骤3和4中计算哈希值采用的哈希算法与准备工作中预置哈希基准值时采用的哈希算法相同。
5、使用守护进程机制,实时建立当前系统LKM和关键内核数据结构Merkle行为分析树。
示例性的,通过动态度量技术确保终端设备运行过程中内核根基未被非法篡改。可信启动可以保证在物联网终端设备启动时内核根基的可靠性,动态度量则针对物联网终端设备运行过程中,对内核根基做可信校验。
6、以步骤2中获取的哈希基准值,对动态分析行为树的叶子节点中的哈希值进行比较,若二者匹配则成功,否则进行异常报告。
至此,完成物联网终端设备的内核态rootkit检测,若内核态rootkit检测通过,则内核数据根基处于可信状态。
7、获取内核态数据结构task_struct进程信息列表(即内核态进程信息列表),以及,用户态使用PS命令获取进程信息列表(即用户态进程信息列表);各表项包含进程号(PID)、父进程信息(parent)以及进程名(comm)。
8、以内核态进程信息列表为基准,若用户态进程信息列表完全匹配则成功,否则进行异常报告。
至此,完成物联网终端设备的用户态rootkit检测。
以上对本申请提供的方法进行了描述。下面对本申请提供的装置进行描述:
请参见图4,为本申请实施例提供的一种rootkit检测装置的结构示意图,如图4所示,该rootkit检测装置可以包括:
获取单元,用于当检测到LKM内核模块加载事件发生时,获取所述LKM信息以及内核关键数据结构;
确定单元,用于分别确定所获取到的LKM信息中各LKM的哈希值,以及,所获取到的内核关键数据结构中各内核关键数据结构的哈希值;
比较单元,用于比较所述各LKM的哈希值与LKM基准信息,以及,比较所述各内核关键数据结构的哈希值与内核关键数据结构基准信息;所述LKM基准信息和所述内核关键数据结构基准信息预置于安全装置中,所述LKM基准信息包括LKM标识信息及对应的基准哈希值;所述内核关键数据结构基准信息包括内核关键数据结构标识信息及对应的基准哈希值;
检测单元,用于当所述各LKM的哈希值与所述LKM基准信息一致,且所述各内核关键数据结构的哈希值与所述内核关键数据结构基准信息一致时,确定内核态rootkit检测通过。
在一个实施例中,所述获取单元,还用于获取内核态进程信息,并基于所述内核态进程信息的关键属性生成内核态进程信息列表;
所述获取单元,还用于获取用户态进程信息,并基于所述用户态进程信息的所述关键属性生成用户态进程信息列表;
所述比较单元,还用于比较所述内核态进程信息列表以及所述用户态进程信息列表;
所述检测单元,还用于当所述内核态进程信息列表与所述用户态进程信息列表一致时,确定用户态rootkit检测通过;
其中,所述关键属性包括以下属性之一或多个:
进程号、父进程信息以及进程名。
在一个实施例中,所述检测单元,还用于当终端上电启动时,依次验证引导程序的数字签名和内核/操作系统的数字签名;当所述引导程序的数字签名和所述内核/操作系统的数字签名均验证通过时,允许启动。
在一个实施例中,所述检测单元,还用于动态地基于LKM信息和内核关键数据结构建立行为分析树,其中,所述行为分析树用于表示内核根基是否被非法篡改;基于所述安全装置中预置的基准值,确定所述行为分析树是否存在异常。
在一个实施例中,所述行为分析树的叶子节点包括LKM标识信息及对应的哈希值,或,内核关键数据结构的标识信息及对应的哈希值;
所述检测单元,具体用于当所述行为分析树的各叶子节点中包括的哈希值分别与对应的哈希基准值一致时,确定所述行为分析树正常。
对应地,本申请还提供了图4所示装置的硬件结构。参见图5,该硬件结构可包括:处理器和机器可读存储介质,机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;所述处理器用于执行机器可执行指令,以实现本申请上述示例公开的方法。
基于与上述方法同样的申请构思,本申请实施例还提供一种机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述计算机指令被处理器执行时,能够实现本申请上述示例公开的方法。
示例性的,上述机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (11)
1.一种rootkit检测方法,其特征在于,方法包括:
当检测到LKM内核模块加载事件发生时,获取所述LKM信息以及内核关键数据结构;
分别确定所获取到的LKM信息中各LKM的哈希值,以及,所获取到的内核关键数据结构中各内核关键数据结构的哈希值;
比较所述各LKM的哈希值与LKM基准信息,以及,比较所述各内核关键数据结构的哈希值与内核关键数据结构基准信息;所述LKM基准信息和所述内核关键数据结构基准信息预置于安全装置中,所述LKM基准信息包括LKM标识信息及对应的基准哈希值;所述内核关键数据结构基准信息包括内核关键数据结构标识信息及对应的基准哈希值;
当所述各LKM的哈希值与所述LKM基准信息一致,且所述各内核关键数据结构的哈希值与所述内核关键数据结构基准信息一致时,确定内核态rootkit检测通过。
2.根据权利要求1所述的方法,其特征在于,所述确定内核态rootkit检测通过之后,还包括:
获取内核态进程信息,并基于所述内核态进程信息的关键属性生成内核态进程信息列表;
获取用户态进程信息,并基于所述用户态进程信息的所述关键属性生成用户态进程信息列表;
比较所述内核态进程信息列表以及所述用户态进程信息列表;
当所述内核态进程信息列表与所述用户态进程信息列表一致时,确定用户态rootkit检测通过;
其中,所述关键属性包括以下属性之一或多个:
进程号、父进程信息以及进程名。
3.根据权利要求1或2所述的方法,其特征在于,所述获取加载的可加载内核模块LKM信息以及内核关键数据结构之前,还包括:
当终端上电启动时,依次验证引导程序的数字签名和内核/操作系统的数字签名;
当所述引导程序的数字签名和所述内核/操作系统的数字签名均验证通过时,允许启动。
4.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
动态地基于LKM信息和内核关键数据结构建立行为分析树,其中,所述行为分析树用于表示内核根基是否被非法篡改;
基于所述安全装置中预置的基准值,确定所述行为分析树是否存在异常。
5.根据权利要求4所述的方法,其特征在于,所述行为分析树的叶子节点包括LKM标识信息及对应的哈希值,或,内核关键数据结构的标识信息及对应的哈希值;
所述基于所述安全装置中预置的基准值,确定所述行为分析树是否存在异常,包括:
当所述行为分析树的各叶子节点中包括的哈希值分别与对应的哈希基准值一致时,确定所述行为分析树正常。
6.一种rootkit检测装置,其特征在于,包括:
获取单元,用于当检测到LKM内核模块加载事件发生时,获取所述LKM信息以及内核关键数据结构;
确定单元,用于分别确定所获取到的LKM信息中各LKM的哈希值,以及,所获取到的内核关键数据结构中各内核关键数据结构的哈希值;
比较单元,用于比较所述各LKM的哈希值与LKM基准信息,以及,比较所述各内核关键数据结构的哈希值与内核关键数据结构基准信息;所述LKM基准信息和所述内核关键数据结构基准信息预置于安全装置中,所述LKM基准信息包括LKM标识信息及对应的基准哈希值;所述内核关键数据结构基准信息包括内核关键数据结构标识信息及对应的基准哈希值;
检测单元,用于当所述各LKM的哈希值与所述LKM基准信息一致,且所述各内核关键数据结构的哈希值与所述内核关键数据结构基准信息一致时,确定内核态rootkit检测通过。
7.根据权利要求6所述的装置,其特征在于,
所述获取单元,还用于获取内核态进程信息,并基于所述内核态进程信息的关键属性生成内核态进程信息列表;
所述获取单元,还用于获取用户态进程信息,并基于所述用户态进程信息的所述关键属性生成用户态进程信息列表;
所述比较单元,还用于比较所述内核态进程信息列表以及所述用户态进程信息列表;
所述检测单元,还用于当所述内核态进程信息列表与所述用户态进程信息列表一致时,确定用户态rootkit检测通过;
其中,所述关键属性包括以下属性之一或多个:
进程号、父进程信息以及进程名。
8.根据权利要求6或7所述的装置,其特征在于,
所述检测单元,还用于当终端上电启动时,依次验证引导程序的数字签名和内核/操作系统的数字签名;当所述引导程序的数字签名和所述内核/操作系统的数字签名均验证通过时,允许启动。
9.根据权利要求6或7所述的装置,其特征在于,
所述检测单元,还用于动态地基于LKM信息和内核关键数据结构建立行为分析树,其中,所述行为分析树用于表示内核根基是否被非法篡改;基于所述安全装置中预置的基准值,确定所述行为分析树是否存在异常。
10.根据权利要求9所述的装置,其特征在于,所述行为分析树的叶子节点包括LKM标识信息及对应的哈希值,或,内核关键数据结构的标识信息及对应的哈希值;
所述检测单元,具体用于当所述行为分析树的各叶子节点中包括的哈希值分别与对应的哈希基准值一致时,确定所述行为分析树正常。
11.一种电子设备,其特征在于,该电子设备包括:
处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;所述处理器用于执行机器可执行指令,以实现权利要求1-5任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010945988.4A CN111931192B (zh) | 2020-09-10 | 2020-09-10 | rootkit检测方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010945988.4A CN111931192B (zh) | 2020-09-10 | 2020-09-10 | rootkit检测方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111931192A true CN111931192A (zh) | 2020-11-13 |
CN111931192B CN111931192B (zh) | 2021-01-26 |
Family
ID=73308899
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010945988.4A Active CN111931192B (zh) | 2020-09-10 | 2020-09-10 | rootkit检测方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111931192B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112861129A (zh) * | 2021-01-28 | 2021-05-28 | 四川效率源信息安全技术股份有限公司 | 一种检测Windows操作系统中隐藏的恶意程序进程的方法 |
CN114691220A (zh) * | 2020-12-30 | 2022-07-01 | 网神信息技术(北京)股份有限公司 | 保护进程的方法、装置、电子设备、介质和程序产品 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103559438A (zh) * | 2013-10-31 | 2014-02-05 | 上海上讯信息技术有限公司 | 进程识别方法及系统 |
CN103699839A (zh) * | 2013-12-09 | 2014-04-02 | Tcl集团股份有限公司 | 一种内核级rootkit检测处理方法及系统 |
CN104598823A (zh) * | 2015-01-21 | 2015-05-06 | 华东师范大学 | 一种安卓系统中内核级rootkit检测方法及其系统 |
CN106599685A (zh) * | 2016-09-26 | 2017-04-26 | 哈尔滨安天科技股份有限公司 | 一种内核级Rootkit检测方法及系统 |
CN108985095A (zh) * | 2018-07-05 | 2018-12-11 | 深圳市网心科技有限公司 | 一种非公开文件访问方法、系统及电子设备和存储介质 |
CN111259392A (zh) * | 2020-01-13 | 2020-06-09 | 奇安信科技集团股份有限公司 | 一种基于内核模块的恶意软件拦截方法及装置 |
-
2020
- 2020-09-10 CN CN202010945988.4A patent/CN111931192B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103559438A (zh) * | 2013-10-31 | 2014-02-05 | 上海上讯信息技术有限公司 | 进程识别方法及系统 |
CN103699839A (zh) * | 2013-12-09 | 2014-04-02 | Tcl集团股份有限公司 | 一种内核级rootkit检测处理方法及系统 |
CN104598823A (zh) * | 2015-01-21 | 2015-05-06 | 华东师范大学 | 一种安卓系统中内核级rootkit检测方法及其系统 |
CN106599685A (zh) * | 2016-09-26 | 2017-04-26 | 哈尔滨安天科技股份有限公司 | 一种内核级Rootkit检测方法及系统 |
CN108985095A (zh) * | 2018-07-05 | 2018-12-11 | 深圳市网心科技有限公司 | 一种非公开文件访问方法、系统及电子设备和存储介质 |
CN111259392A (zh) * | 2020-01-13 | 2020-06-09 | 奇安信科技集团股份有限公司 | 一种基于内核模块的恶意软件拦截方法及装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114691220A (zh) * | 2020-12-30 | 2022-07-01 | 网神信息技术(北京)股份有限公司 | 保护进程的方法、装置、电子设备、介质和程序产品 |
CN112861129A (zh) * | 2021-01-28 | 2021-05-28 | 四川效率源信息安全技术股份有限公司 | 一种检测Windows操作系统中隐藏的恶意程序进程的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111931192B (zh) | 2021-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4870937B2 (ja) | ソフトウエアのアップデートを制限する方法およびシステム | |
JP4769608B2 (ja) | 起動検証機能を有する情報処理装置 | |
US11995182B2 (en) | Baseboard management controller to perform security action based on digital signature comparison in response to trigger | |
JP4729046B2 (ja) | コンピュータに信頼可能な実行環境を構築する方法 | |
EP2854066A1 (en) | System and method for firmware integrity verification using multiple keys and OTP memory | |
TW201500960A (zh) | 在配有適用統一可延伸韌體介面(uefi)之韌體之計算裝置中的安全性變數變化檢測技術 | |
CN107729198B (zh) | 一种Android系统固件校验方法及装置 | |
CN111931192B (zh) | rootkit检测方法、装置及电子设备 | |
CN111400723A (zh) | 基于tee扩展的操作系统内核强制访问控制方法及系统 | |
JP6391439B2 (ja) | 情報処理装置、サーバ装置、情報処理システム、制御方法及びコンピュータプログラム | |
US11449602B1 (en) | Systems and methods for generating trust binaries | |
CN108292342A (zh) | 向固件中的侵入的通知 | |
CN111368299A (zh) | 动态链接库文件劫持检测方法、设备及存储介质 | |
US7526811B1 (en) | Methods for detecting executable code which has been altered | |
CN113190880B (zh) | 基于对安全协处理器的背书信息的分析确定是否对计算设备执行动作 | |
WO2022077388A1 (zh) | 一种处理器的安全度量装置及方法 | |
CN109446011A (zh) | 一种硬盘的固件安全测试方法、装置及存储介质 | |
WO2020233044A1 (zh) | 一种插件校验方法、设备、服务器及计算机可读存储介质 | |
CN109583206B (zh) | 监控应用程序的访问进程的方法、装置、设备及存储介质 | |
CN115935373A (zh) | 用于保护操作系统内核的方法和装置 | |
CN109977665B (zh) | 基于tpcm的云服务器启动过程防窃取和防篡改方法 | |
CA3121054A1 (en) | Computer program trust assurance for internet of things (iot) devices | |
US20200244461A1 (en) | Data Processing Method and Apparatus | |
US11256492B2 (en) | Computer program trust assurance for internet of things (IoT) devices | |
CN111125717A (zh) | 一种安全运行bios驱动程序的方法、装置、设备及介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |