CN111382433B - 模块加载方法、装置、设备以及存储介质 - Google Patents
模块加载方法、装置、设备以及存储介质 Download PDFInfo
- Publication number
- CN111382433B CN111382433B CN201811647327.2A CN201811647327A CN111382433B CN 111382433 B CN111382433 B CN 111382433B CN 201811647327 A CN201811647327 A CN 201811647327A CN 111382433 B CN111382433 B CN 111382433B
- Authority
- CN
- China
- Prior art keywords
- lkm
- loaded
- address
- instruction
- security
- 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.)
- Active
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/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
- G06F21/565—Static detection by checking file integrity
Abstract
本发明提供一种模块加载方法、装置、设备以及存储介质。该方法包括:当接收到LKM加载指令时,获取LKM加载指令中携带的待加载LKM需要加载至的内存空间起始地址,并将待加载LKM的文件存储至内存空间起始地址所指示的内存地址空间,当接收到LKM加载结束指令时,采用预设算法,计算存储后的待加载LKM的文件对应的校验值,根据安全性审核表中包含的内存空间起始地址对应的安全性校验信息,以及计算得到的校验值,对待加载LKM的文件进行安全性校验,当安全性校验无误时,完成待加载LKM的加载过程。通过上述方法实现对内核可加载模块的安全保护,具有难于绕开的高安全性的特点。
Description
技术领域
本发明涉及计算机安全技术领域,尤其涉及一种模块加载方法、装置、设备以及存储介质。
背景技术
目前,计算机安全越来越受到关注。随着黑客技术的发展,木马对计算机系统的安全造成了巨大的威胁。一种最常见的木马是内核可加载模块 (Loadable Kernel Module,LKM)型木马,它将攻击代码隐藏在内核可加载模块中。
对于内核可加载模块的保护,现有技术中提供了一种方案,Linux内核从3.7版本开始,为了保护内核及内核模块的安全性,加入了内核签名检查机制,如果内核编译选项CONFIG_MODULE_SIG、 CONFIG_MODULE_SIG_FORCE和CONFIG_MODULE_SIG_ALL被打开,内核可加载模块签名工具在安装期间对内核可加载模块进行加密签名,然后在加载该内核可加载模块时检查签名,如果签名不存在或者是签名内容与预设的内容不一致,内核会强制退出内核可加载模块的加载;其中,签名检查由内核完成。该方法通过使恶意模块加载到内核中更加困难来提高安全性。
然而,该方案是基于操作系统的保护方案,操作系统本身可能受到攻击,可能使得防护机制本身容易被绕开,导致安全性较差。
发明内容
本发明提供一种模块加载方法、装置、设备以及存储介质,实现对访问指令的合法性审核,提高了系统防御非法攻击的能力。
第一方面,本发明提供一种模块加载方法,包括:
当接收到内核可加载模块LKM加载指令时,获取所述LKM加载指令中携带的待加载LKM需要加载至的内存空间起始地址;并将所述待加载LKM 的文件存储至所述内存空间起始地址所指示的内存地址空间;其中,所述待加载LKM的文件中包含加载所述待加载LKM所需的内容;
当接收到LKM加载结束指令时,采用预设算法,计算存储后的所述待加载LKM的文件对应的校验值;
根据安全性审核表中包含的所述内存空间起始地址对应的安全性校验信息,以及计算得到的校验值,对所述待加载LKM的文件进行安全性校验;其中,所述安全性审核表为预先存储在内存地址空间中的表格;
当所述安全性校验无误时,完成所述待加载LKM的加载过程。
在一种具体的实现方式中,所述安全性审核表还包括待加载LKM需要加载至的内存空间起始地址的访问权限;
获取所述待加载LKM的文件之前,还包括:
将所述安全性审核表中所述待加载LKM需要加载至的内存空间起始地址的访问权限修改为写允许状态。
在一种具体的实现方式中,当所述安全性校验无误之后,完成所述待加载LKM的加载过程之前,包括:
将所述安全性审核表中包含的所述待加载LKM需要加载至的内存空间起始地址的访问权限修改为执行允许状态。
进一步地,还包括:
接收访问指令,所述访问指令为对LKM的访问指令;
根据所述访问指令的属性信息以及所述安全性审核表对所述访问指令进行合法性审核;
当审核确定所述访问指令为非法指令时,拒绝所述访问指令访问所述 LKM,并发送报警。
在一种具体的实现方式中,所述安全性审核表还包括内存空间结束地址;
根据所述访问指令的属性信息以及所述安全性审核表对所述访问指令进行合法性审核,包括:
判断所述访问指令访问的地址是否在所述安全性审核表中的地址空间内;其中,所述地址空间为所述内存空间起始地址和内存空间结束地址之间的地址空间;
若所述访问指令访问的地址在所述安全性审核表中的地址空间内,则在所述地址空间的访问权限为允许状态时,确定所述访问指令是合法。
可选的,所述方法还包括:
在操作系统启动的BIOS中或者操作系统内核中配置所述安全性审核表。
第二方面,本发明提供一种模块加载装置,包括:
获取模块,用于当接收到内核可加载模块LKM加载指令时,获取所述 LKM加载指令中携带的待加载LKM需要加载至的内存空间起始地址;
存储模块,用于将所述待加载LKM的文件存储至所述内存空间起始地址所指示的内存地址空间;其中,所述待加载LKM的文件中包含加载所述待加载LKM所需的内容;
处理模块,用于当接收到LKM加载结束指令时,采用预设算法,计算存储后的所述待加载LKM的文件对应的校验值;
所述处理模块还用于根据安全性审核表中包含的所述内存空间起始地址对应的安全性校验信息,以及计算得到的校验值,对所述待加载LKM的文件进行安全性校验;其中,所述安全性审核表为预先存储在内存地址空间中的表格;
所述处理模块还用于当所述安全性校验无误时,完成所述待加载LKM的加载过程。
在一种具体的实现方式中,所述处理模块还用于将所述安全性审核表中所述待加载LKM需要加载至的内存空间起始地址的访问权限修改为写允许状态。
在一种具体的实现方式中,所述处理模块还用于将所述安全性审核表中包含的所述待加载LKM需要加载至的内存空间起始地址的访问权限修改为执行允许状态。
进一步地,所述装置还包括:接收模块;
所述接收模块用于接收访问指令,所述访问指令为对LKM的访问指令;
所述处理模块还用于根据所述访问指令的属性信息以及所述安全性审核表对所述访问指令进行合法性审核;
所述处理模块还用于当审核确定所述访问指令为非法指令时,拒绝所述访问指令访问所述LKM,并发送报警。
在一种具体的实现方式中,所述安全性审核表还包括内存空间结束地址;
所述处理模块还用于:
根据所述访问指令的属性信息以及所述安全性审核表对所述访问指令进行合法性审核,包括:
判断所述访问指令访问的地址是否在所述安全性审核表中的地址空间内;其中,所述地址空间为所述内存空间起始地址和内存空间结束地址之间的地址空间;
若所述访问指令访问的地址在所述安全性审核表中的地址空间内,则在所述地址空间的访问权限为允许状态时,确定所述访问指令是合法。
可选的,所述处理模块还用于在操作系统启动的BIOS中或者操作系统内核中配置所述安全性审核表。
第三方面,本发明提供一种电子设备,包括:存储器及处理器;
所述处理器中集成有第二方面任一项所述的模块加载装置;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述处理器执行如第一方面任一项所述的模块加载方法。
第四方面,本发明提供一种存储介质,包括:可读存储介质和计算机程序,所述计算机程序用于实现第一方面任一项所述的模块加载方法。
本发明实施例提供的模块加载方法、装置、设备以及存储介质,通过计算待加载LKM文件对应的校验值,并根据待加载LKM需要加载至的内存空间起始地址,在预先存储的安全性审核表中查询与该空间起始地址对应的安全性校验信息,通过待加载LKM文件对应的校验值与安全性校验信息进行对比,完成安全性校验,在安全性校验无误时完成待加载LKM的加载过程。当待加载LKM受到攻击时,攻击者会更改磁盘中存储的待加载LKM的二进制文件,即在该二进制文件中加入木马;采用本发明方案,基于加入木马后的二进制文件计算得到的校验值和安全性校验信息将会不一样,从而达到了保护LKM不被木马攻击的目的;此外,由于预先计算得到的标准安全校验信息是保存在安全性审核表中,而安全性审核表又是位于硬件保护的独立内存地址空间中,基于硬件方式保护待加载LKM不被攻击,且常规软件代码形式的攻击无法攻击到内存地址空间,因此,采用本发明技术方案,有效避免了现有技术中通过攻击操作系统等软件方式的安全保护机制容易被绕开的问题;LKM加载指令(LKMLoadInit)和LKM加载结束指令 (LKMLoadComplete)是为了配合安全性审核表新生成的指令,仅通过运行该两条指令,才能对LKM进行加载,且访问安全性审核表。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种模块加载方法实施例的流程示意图;
图2为本发明实施例提供的一种访问指令的处理方法实施例一的流程示意图;
图3为本发明实施例提供的一种访问指令的处理方法实施例二的流程示意图;
图4为本发明实施例提供的一种访问指令的处理方法实施例三的流程示意图;
图5为本发明实施例提供的一种访问指令的处理方法实施例四的流程示意图;
图6为本发明实施例提供的一种取指指令安全性审核的流程示意图;
图7为本发明实施例提供的一种模块加载装置实施例一的结构示意图;
图8为本发明实施例提供的一种模块加载装置实施例二的结构示意图;
图9为本发明一实施例提供的电子设备的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本文中使用的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明的说明书中通篇提到的“一实施例”或“另一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一实施例中”或“本实施例中”未必一定指相同的实施例。需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
首先,就本方案所提到的内核可加载模块及其应用环境进行简单介绍。内核可加载模块(LKM)是一个目标文件,其中包含用于扩展操作系统的运行内核或所谓的基本内核的代码。LKM通常用于加载新硬件(作为设备驱动程序)、系统调用或文件系统等功能的支持。当不再需要LKM提供的功能时,可以卸载它以释放内存和其他资源。目前,尽管大多数类Unix系统和 Microsoft Windows可能使用不同的名称,但它们都支持内核可加载模块,例如FreeBSD中的内核可加载模块(kld),macOS中的内核扩展模块(kext), AIX、Windows NT中的内核模式驱动程序和VxWorks中的可下载内核模块 (DKM)。它们也称为内核可加载模块(或KLM),简称为内核模块(KMOD)。
Linux操作系统是Linus及广大Linux社区开发人员对UNIX操作系统的重新实现,在功能上保持与UNIX类似的同时,Linux在核心设计上引入了众多新技术,其中就包括了核心对内核可加载模块的支持。Linux将大多数设备驱动程序,伪设备驱动程序(如USB驱动程序或文件系统)作为模块管理,这些模块的目标代码以文件形式存放在系统目录下,核心内核生成时不包括这些代码。在Linux运行时,一方面操作系统启动一个守护进程(kerneld),它根据需要自动地加载或者卸载一些模块;另一方面,系统也允许用户在需要时手动加载或者卸载一些模块。
Linux核心内核可加载模块技术的使用有以下好处:便于用户控制核心内核的规模,用户可以根据需要配置核心内核的功能,对系统进行剪裁,必要时使用一个最小核心以提高性能,增加灵活性;节约系统资源;新增或卸载一个模块时,核心不需要重新编译;用户可以替换核心中的特定功能;有利于内核代码的开发、测试、调试和维护;因此,内核可加载模块技术的引入使得Linux操作系统内核更高效,更灵活。
由于LKM采用操作系统内核权限执行,攻击LKM使得攻击代码可以在高优先级执行,因此针对LKM的攻击危害很大。本发明主要针对LKM的攻击包括:在LKM加载之前,修改了存储在文件系统中的LKM的文件,将攻击代码隐藏在内核可加载模块中,常见的如基于LKM的木马;在LKM加载之后,系统运行时动态修改LKM的执行代码,使之执行攻击代码。
针对LKM的攻击是一种常见的计算机攻击类型。现有技术针对LKM攻击的防护手段主要在操作系统层次进行,都属于软件层次,由于操作系统自身可能受到攻击,有可能使得防护机制被绕开,因此安全性不是很高。
针对现有技术中的问题,本发明提出一种访问指令的处理方法,基于硬件的内存地址空间保护机制,并在此基础设计了2条特殊的LKM模块加载指令,实现了在LKM模块加载过程中对LKM模块的代码进行完整性校验,并且保证了在系统执行过程中不能对LKM的执行代码进行修改。本发明具有难于绕开的高安全性特点。下面通过几个具体的实施例进行详细说明。
下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图1为本发明实施例提供的一种模块加载方法实施例的流程示意图,如图1所示,该方法包括:
S101:当接收到LKM加载指令时,获取LKM加载指令中携带的待加载 LKM需要加载至的内存空间起始地址;并将待加载LKM的文件存储至所述内存空间起始地址所指示的内存地址空间。
应理解,待加载LKM的文件中包含加载该待加载LKM所需的内容;其中,该待加载LKM的文件为二进制文件。
S102:当接收到LKM加载结束指令时,采用预设算法,计算存储后的待加载LKM的文件对应的校验值。
接收到LKM加载结束指令时,根据待加载LKM的二进制文件中包含的内容,进行运算,得到校验值,该校验值用于与预先计算的标准值进行对比,以校验存储后的待加载LKM的文件的正确性。可选的,上述预先计算的标准值为采用预设算法对正确(未经过修改)的LKM的二进制文件进行计算得到的值,且将该值作为安全性校验信息,保存至安全性审核表中。
优选的,该预设算法为哈希算法;相应的校验值和安全性校验信息即为哈希值。
S103:根据安全性审核表中包含的内存空间起始地址对应的安全性校验信息,以及计算得到的校验值,对待加载LKM的文件进行安全性校验。
其中,安全性审核表中可以保存各种LKM的相关信息,示例性的,可以包含一百多种LKM的相关信息,该相关信息即为安全性审核表中诸如空间起始地址、空间结束地址、安全校验信息等信息。在该安全性审核表中,每一个LKM的空间起始地址为预先设定的,在执行LKM加载指令的时候,即将保存在磁盘上的该LKM的二进制文件存储至内存空间起始地址指示的空间上。
应理解,所述安全性审核表为预先存储在内存地址空间中的表格。
其中,安全性审核表为在操作系统启动的基本输入输出系统(Basic InputOutput System,BIOS)中或者操作系统内核中配置所述安全性审核表。安全性审核表中的每一项存储一个LKM的内核空间的信息,如表1所示,该安全性审核表中包括有效位、访问权限、空间起始地址、空间结束地址以及安全校验信息。
有效位 | 访问权限 | 内存空间起始地址 | 内存空间结束地址 | 安全校验信息 |
表1
有效位(VALID):1位,为1时表示该配置项有效。
访问权限包含一系列审核时所关注的访问操作权限,包括但不限于:
读允许位(R):1位,为1时对应内存区域允许任何读数(load)指令读取;为0时表示对应内存区域禁止任何读数(load)指令读取。
写允许位(W):1位,为1时对应内存区域允许存数(store)指令修改;为0时,表示该内存区域不允许存数(store)指令修改。
执行允许位(E):1位,为1时允许从对应内存区域取指令进行执行;为0时禁止从对应内存区域取指令进行执行。
空间块起始地址(STARTADR):每个表项所针对的连续内存空间的起始地址。
空间结束地址(ENDADR):每个表项所针对的连续内存空间的结束地址。
安全校验信息:该信息用于针对该内存区域内容的正确性校验等,例如存储LKM代码段的哈希值(hash)等。
在一种具体的实现方式中,对安全性审核表进行访问,是将安全性审核表中各项的内容线性映射到一段特殊的内存地址空间上,处理器将落在这段地址空间上的读写(load/store)操作转换为对于安全性审核表的读写操作,而不是将其发往内存。
进一步的,仅在读允许位为1时,才允许读取内存地址空间上的内容,基于此,在操作系统启动的时候,即可将安全性审核表中的读允许设置为1。
进一步的,仅在写允许位为1时,才允许在该内存地址空间中写入内容;基于此,在获取所述待加载LKM的文件之前,将所述安全性审核表中所述待加载LKM需要加载至的内存空间起始地址的访问权限修改为写允许状态,即将写允许位置1,以便于将该待加载LKM的文件存储至(写入)上述内存空间起始地址指示的空间中。
S104:当所述安全性校验无误时,完成所述待加载LKM的加载过程。
本实施例提供的模块加载方法,通过计算待加载LKM文件对应的校验值,并根据待加载LKM需要加载至的内存空间起始地址,在预先存储的安全性审核表中查询与该空间起始地址对应的安全性校验信息,通过待加载 LKM文件对应的校验值与安全性校验信息进行对比,以完成安全性校验,在安全性校验无误时完成待加载LKM的加载过程。
可选的,通过待加载LKM文件对应的校验值与安全性校验信息进行对比,以完成安全性校验,具体包括:当待加载LKM文件对应的校验值和安全性校验信息相同时,确定安全性校验无误,此时,继续完成待加载LKM的加载过程;当待加载LKM文件对应的校验值和安全性校验信息不同时,确定待加载LKM文件受到攻击,可以执行报警操作。
采用本发明技术方案,当待加载LKM受到攻击时,攻击者会更改磁盘中存储的待加载LKM的二进制文件,即在该二进制文件中加入木马;采用本发明方案,基于加入木马后的二进制文件计算得到的校验值和安全性校验信息将会不一样,从而达到了保护LKM不被木马攻击的目的;此外,由于预先计算得到的标准安全校验信息是保存在安全性审核表中,而安全性审核表又是位于硬件保护的独立内存地址空间中,基于硬件方式保护待加载LKM 不被攻击,且常规软件代码形式的攻击无法攻击到内存地址空间,因此,采用本发明技术方案,有效避免了现有技术中通过攻击操作系统等软件方式的安全保护机制容易被绕开的问题;LKM加载指令(LKMLoadInit)和LKM 加载结束指令(LKMLoadComplete)是为了配合安全性审核表新生成的指令,仅通过运行该两条指令,才能对LKM进行加载,且访问安全性审核表。
在一种具体的实现方式中,在获取待加载LKM的文件之前,将安全性审核表中待加载LKM需要加载至的内存空间起始地址的访问权限修改为写允许状态。以便后续将LKM的二进制文件写入到指定的内存空间中。
在一种具体的实现方式中,当安全性校验无误之后,完成待加载LKM的加载过程之前,安全性审核表中包含的待加载LKM需要加载至的内存地址空间的访问权限修改为执行允许状态。以便在确认LKM安全性校验无误以后,执行LKM加载过程。
图2为本发明实施例提供的一种基于实施例一的访问指令处理方法实施例一的流程示意图,如图2所示,该访问指令的处理方法包括:
S201:接收访问指令,访问指令为对LKM的访问指令。
具体的,访问指令可以是访存指令,也可以是取指指令。
S202:根据访问指令的属性信息以及安全性审核表对访问指令进行合法性审核。
可选的,访问指令的属性信息包括需要访问的地址、访问指令的指令类型和程序计数器PC值中的至少一种。
在一种具体的实现方式中,对处理器中访问指令需要访问的地址、指令类型信息以及PC值进行审核,依据审核的结果判断访问指令的访问是不是合法。
在本步骤中,根据访问指令的属性信息以及安全性审核表,对访问指令进行审核,确定访问指令是否合法。
S203:当审核确定访问指令为非法指令时,拒绝访问指令访问LKM,并发送报警。
在本步骤中,通过对访问指令的审核,确定该访问指令为非法指令,那么,将拒绝该访问指令的访问,并发送报警信息,提示有非法访问指令试图访问内核可加载模块的代码段地址空间。
可选的,报警信息可通过语音播报、弹窗显示、光源器件发光等方式进行报警,本方案对此不做要求。
本发明实施例提供的访问指令的处理方法,根据访问指令的属性信息以及安全性审核表对访问指令进行合法性审核,当审核确定访问指令为非法指令时,拒绝访问指令访问LKM,并发送报警。在硬件内存地址空间中存储的安全性审核表中包括空间起始地址,内存空间起始地址的访问权限,在对 LKM进行访问的过程中,必须在该LKM的内存空间起始地址的访问权限为允许写或者允许读时,才能对LKM执行对应的操作,否则不能对LKM进行访问;而对于LKM的访问,必须要对该LKM的内存空间起始地址的访问权限修改为允许状态时,访问指令才能对该LKM的地址空间进行访问,也就是说必须要对该LKM的访问指令进行安全性校验才能对LKM进行访问,防止了在系统执行过程中攻击程序对LKM的执行代码进行修改,基于硬件的设计不能被绕开,安全性较高。
图3为本发明实施例提供的一种基于实施例一中模块加载方案的访问指令处理方法实施例二的流程示意图。如图3所示,当访问指令不一定是访问 LKM的指令时,根据所述访问指令的属性信息以及所述安全性审核表对所述访问指令进行合法性审核,具体包括以下步骤:
S301:判断访问指令访问的地址是否在安全性审核表中的地址空间内。
其中,地址空间为内存空间起始地址和内存空间结束地址之间的地址空间。
S302:若访问指令访问的地址在安全性审核表中的地址空间内,则在地址空间对应的访问权限为允许状态时,确定访问指令合法。
安全性审核表中保存了多个表项,每个表项中存储一个LKM的多个相关信息,每个相关信息包括内存空间起始地址、内存空间结束地址、有效性、访问权限、安全性校验信息等信息。根据访问指令访问的地址在安全性审核表中找到所属的地址空间,以及该地址空间对应的表项,当该表项中的访问权限为允许状态时,确定该访问指令合法。其中,访问权限为允许状态包括写允许位为1、读允许位为1或执行允许位为1。
本发明实施例中,当确定访问指令访问的地址在安全性审核表中的地址空间内时,表明该访问指令为访问LKM的指令;此时,进一步根据该地址空间的访问权限确定是否允许该访问指令对该LKM进行访问。
S303:若访问指令访问的地址不在安全性审核表中的地址空间内,则确定所述访问指令合法。
根据访问指令访问的地址在安全性审核表中找不到所属的地址空间,表明该访问指令不是针对LKM的访问指令,则确定该访问指令合法,允许执行该访问指令对应的操作。
下面通过图4和图5所示实施例,分别针对访问指令为取指指令和访存指令为两种具体的实现方式,对如何根据访问指令的属性信息以及安全性审核表,对访问指令进行审核,确定访问指令是否合法进行说明。
图4为本发明实施例提供的一种基于实施例一的访问指令处理方法实施例三的流程示意图,如图4所示,当访问指令不一定是访问LKM的指令,且访问指令为取指指令时,该方法包括:
S401:判断取指指令是否是从所述安全性审核表中的地址空间内取指。
在本步骤中,通过访问指令的属性信息中的指令类型,判断该访问指令为取指指令,则判断该取指指令的属性信息中上述取指指令需取指的地址是否在安全性审核表表项中的空间起始地址和空间结束地址之间的地址空间内,即判断该取指指令是否是从表项中的空间起始地址和空间结束地址之间的地址空间进行取指。
S402:若取指指令是从安全性审核表中的地址空间内取指的,则根据安全性审核表中的访问权限,确定取指指令是否合法。
在本步骤中,若取指指令是从安全性审核表中的地址空间内取指的,即该取指指令为LKM的访问指令,需要访问LKM的内核空间,则继续根据安全性审核表中的访问权限,确定该取指指令是否合法。
例如,通过判断,取指指令是从安全性审核表中的某个表项中的地址空间内取指的,则查询该表项对应的访问权限,若访问权限的执行允许位为1,则允许执行该取指指令。
S403:若取指指令不是从安全性审核表中的地址空间内取指的,则确定取指指令合法。
在本步骤中,若取指指令不是从安全性审核表中的地址空间内取指的,说明该取指指令不是针对LKM的访问指令,则将其确定为合法指令,允许执行该取指指令对应的操作。
在上述实施例的基础上,存在一种具体的实现方式,将取指指令的取指地址记为PC,则每一项的审核结果is_illegal(1:表示非法;0表示合法)的判断定义如下:
如果(VALID&&(PC>=STARTADR)&&(PC<=ENDADR))==0,即在有效位(VALID)为1的前提下,取指地址(PC)大于等于空间起始地址 (STARTADR)以及取指地址(PC)小于等于空间结束地址(ENDADR)两个条件中的至少一项若不成立,则表明PC值不处于该表项的地址空间内,说明该取指指令不是LKM的访问指令,因此将is_illegal赋值为0;
如果(VALID&&(PC>=STARTADR)&&(PC<=ENDADR))==1,即在有效位(VALID)为1的前提下,取指地址(PC)大于等于空间起始地址 (STARTADR)以及取指地址(PC)小于等于空间结束地址(ENDADR)两个条件均成立,则表明该PC值处于该表项的地址空间内,说明该取指指令是LKM的访问指令,因此将is_illegal=!E,其表明,根据访问权限判断是否允许执行取指操作,若允许(执行允许位E=1),则is_illegal=0,继续执行取指指令,若不允许(执行允许位E=0),则is_illegal=1,禁止该取指指令执行,并进行报警。
基于以上判断结果,如果is_illegal为1,则表示非法,执行非法指令例外,进行报警等操作;如果is_illegal为0,表示正常访问,不做处理。
图5为本发明实施例提供的一种基于实施例一的访问指令处理方法实施例四的流程示意图,如图5所示,当访问指令不一定是访问LKM的指令,切访问指令为访存指令时,该方法包括:
S501:判断访存指令访问的地址是否在安全性审核表中的地址空间内。
在本步骤中,通过访问指令的属性信息中的指令类型信息判断该访问指令为访存指令,则判断该访存指令的属性信息中上述访存指令需访问的地址是否在安全性审核表表项中的地址空间内,即判断该访存指令是否是访问表项中的地址空间。
S502:若访存指令访问的地址在安全性审核表中的地址空间内,则根据安全性审核表中的访问权限,确定访存指令是否合法。
在本步骤中,若访存指令是要访问安全性审核表中的地址空间,即该访存指令为LKM的访问指令,需要访问LKM的内核空间,则继续根据安全性审核表中的访问权限,确定访存指令是否合法。
例如,通过判断,访存指令是访问安全性审核表中的某个表项中的地址空间,则查询该表项对应的访问权限,若访问权限的读允许位或者写允许位为1,则允许执行该访存指令的访问操作或者存储操作。
S503:若访存指令访问的地址不在安全性审核表中的地址空间内,则确定访存指令合法。
在本步骤中,若访存指令访问的不是安全性审核表中的地址空间,说明该访存指令不是针对LKM的访问指令,则将其确定为合法指令,允许执行该访存指令对应的操作。
在上述实施例的基础上,存在一种具体的实现方式,将访存指令的属性信息中的数据访问的地址记为addr、是否为访存读操作记为is_load、是否为访存写操作记为is_store,则每一项的审核结果is_illegal(1:表示非法;0表示合法)的判断定义如下:
如果(VALID&&(addr>=STARTADR)&&(addr<=ENDADR))==0,则表明addr不处于该表项的地址空间内,说明该访存指令不是LKM的访问指令,因此将is_illegal赋值为0;
如果(VALID&&(addr>=STARTADR)&&(addr<=ENDADR))==1,则表明该addr值处于该表项的地址空间内,因此将is_illegal=!((is_load&&R)|| (is_store&&W)),其表明,在允许读(读允许位R=1)的情况下,访存指令的读操作为合法,写操作为非法;在允许写(写允许位W=1)的情况下,访存指令的写操作为合法,读操作为非法;若在不允许读写(读允许位R=0,写允许位W=0)的情况下,该访存指令非法(is_illegal=1)。
基于以上判断结果,如果is_illegal为1,则表示非法,执行非法指令例外,进行报警等操作;如果is_illegal为0,表示正常访问,不做处理。
在上述实施例的基础上,应理解,所述的安全性审核表是在操作系统启动的BIOS中或者操作系统内核中配置的。该安全性审核表的配置流程如下:
(1)获取安全性审核表中的空白表项;
(2)将获取的空白表项中有效位valid选项置为1(有效),将LKM的文件需要加载至的内存空间起始地址和内存空间结束地址写入到表项中的相应位置;
(3)计算LKM的文件的hash值,并将hash值写到表项的安全校验信息选项,用于完成LKM的安全性校验;
(4)将访问权限置为“不允许读|不允许写|不允许执行”。
在一种具体的实现方式中,根据LKM加载指令,将安全性审核表中的空间起始地址的访问权限配置为写允许,其中,LKM加载指令用于指示开始 LKM的加载。可选的,LKM加载指令可以是LKMLoadInit(携带内存空间起始地址)。
在另一种具体的实现方式中,根据LKM加载结束指令,将安全性审核表中的内存空间起始地址的访问权限配置为执行允许。具体的,首先找到内存空间起始地址的对应表项,以及该表项包含的LKM,在该LKM加载结束指令执行时,对加载入的LKM的文件进行安全性校验,即对(内存空间起始地址、内存空间结束地址)的内存区间做hash值,并将已经计算出的hash 值与预先存储在安全性审核表中安全校验信息(hash值)做对比,如果对比成功,则通过了安全性校验,将内存空间起始地址的访问权限设置为“执行允许”,否则报错。可选的,LKM加载结束指令可以是LKMLoadComplete(携带内存空间起始地址)。
在上述方案中,应理解,由于LKM对应的内存地址空间初始时被置为“不允许读|不允许写|不允许执行”,仅能通过调用LKMLoadInit和 LKMLoadComplete指令加载LKM模块。这样也就保证了本发明的针对LKM 的访问指令的处理方法不能被攻击者绕开,具有高安全性。
图6为本发明实施例提供的一种取指指令安全性审核的流程示意图,如图6所示,取指指令的安全审核流程是:将处理器中取指模块所取出指令的程序计数器(PC)值以及指令信息送至一个专门用于指令执行安全性审核模块进行审核,该安全性审核模块输出审核结果。安全性审核报告模块根据审核结果进行处理,如果审核结果表示是一个合法的指令执行,则不处理继续执行;如果审核结果表示是非法,则不通过,并进行报警。
图7为本发明实施例提供的一种模块加载装置实施例一的结构示意图,如图7所示,本实施例提供的模块加载装置10,包括:
获取模块11:用于当接收到内核可加载模块LKM加载指令时,获取所述LKM加载指令中携带的待加载LKM需要加载至的内存空间起始地址;
存储模块12:用于将所述待加载LKM的文件存储至所述内存空间起始地址所指示的内存地址空间;其中,所述待加载LKM的文件中包含加载所述待加载LKM所需的内容;
处理模块13:用于当接收到LKM加载结束指令时,采用预设算法,计算存储后的所述待加载LKM的文件对应的校验值;
所述处理模块13还用于根据安全性审核表中包含的所述内存空间起始地址对应的安全性校验信息,以及计算得到的校验值,对所述待加载LKM的文件进行安全性校验;其中,所述安全性审核表为预先存储在内存地址空间中的表格;
所述处理模块13还用于当所述安全性校验无误时,完成所述待加载LKM 的加载过程。
本实施例提供的模块加载装置10可以为芯片、集成电路、微处理器等。本实施例提供的模块加载装置10可以应用于各种电子设备当中,用于对LKM 加载指令进行控制管理,以提高电子设备防御非法攻击的能力。
本实施例提供的模块加载装置,可以执行上述方法实施例的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。
在上述实施例的基础上,所述处理模块13还用于将所述安全性审核表中所述待加载LKM需要加载至的内存空间起始地址的访问权限修改为写允许状态。
在一种具体的实现方式中,所述处理模块还用于将所述安全性审核表中包含的所述待加载LKM需要加载至的内存地址空间的访问权限修改为执行允许状态。
在图7所示实施例的基础上,图8为本发明实施例提供的一种模块加载装置实施例二的结构示意图,如图8所示,本实施例提供的模块加载装置10,还包括:接收模块14;
所述接收模块14用于接收访问指令,所述访问指令为对LKM的访问指令;
所述处理模块13还用于根据所述访问指令的属性信息以及所述安全性审核表对所述访问指令进行合法性审核;
所述处理模块13还用于当审核确定所述访问指令为非法指令时,拒绝所述访问指令访问所述LKM,并发送报警。
在一种具体的实现方式中,所述处理模块13还用于:
根据所述访问指令的属性信息以及所述安全性审核表对所述访问指令进行合法性审核,包括:
判断所述访问指令访问的地址是否在所述安全性审核表中的地址空间内;其中,所述地址空间为所述内存空间起始地址和内存空间结束地址之间的地址空间;
若所述访问指令访问的地址在所述安全性审核表中的地址空间内,则在所述地址空间对应的访问权限为允许状态时,确定所述访问指令合法;
若所述访问指令访问的地址不在所述安全性审核表中的地址空间内,则确定所述访问指令为非法指令。
在一种具体的实现方式中,所述处理模块13还用于在操作系统启动的 BIOS中或者操作系统内核中配置所述安全性审核表。
本发明实施例还提供一种电子设备,参见图9所示,本发明实施例仅以图9为例进行说明,并不表示本发明仅限于此。
图9为本发明一实施例提供的电子设备的硬件结构示意图。本实施例提供的电子设备包括但不限于移动电话、计算机、数字广播终端、消息收发设备、游戏控制台、平板设备、医疗设备、健身设备、个人数字助理等。
如图9所示,本实施例提供的电子设备20可以包括:存储器201、处理器202;可选的还可以包括总线203。其中,总线203用于实现各元件之间的连接。
所述处理器202中集成有图7和图8所示实施例提供的访问指令的处理装置;
所述存储器201存储计算机执行指令;
所述至少一个处理器202执行所述存储器201存储的计算机执行指令,使得所述处理器执行前述任一项实施例提供的访问指令的处理方法。
其中,存储器201和处理器202之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可以通过一条或者多条通信总线或信号线实现电性连接,如可以通过总线203连接。存储器201中存储有实现数据访问控制方法的计算机执行指令,包括至少一个可以软件或固件的形式存储于存储器201中的软件功能模块,处理器202通过运行存储在存储器 201内的软件程序以及模块,从而执行各种功能应用以及数据处理。
存储器201可以是,但不限于,随机存取存储器(Random Access Memory,简称:RAM),只读存储器(Read Only Memory,简称:ROM),可编程只读存储器(ProgrammableRead-Only Memory,简称:PROM),可擦除只读存储器 (Erasable Programmable Read-OnlyMemory,简称:EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,简称:EEPROM) 等。其中,存储器201用于存储程序,处理器202在接收到执行指令后,执行程序。进一步地,上述存储器201内的软件程序以及模块还可包括操作系统,其可包括各种用于管理系统任务(例如内存管理、存储设备控制、电源管理等)的软件组件和/或驱动,并可与各种硬件或软件组件相互通信,从而提供其他软件组件的运行环境。
处理器202可以是一种集成电路芯片,具有信号的处理能力。上述的处理器202可以是通用处理器,包括中央处理器(Central Processing Unit,简称: CPU)、网络处理器(Network Processor,简称:NP)等。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。可以理解,图7的结构仅为示意,还可以包括比图7中所示更多或者更少的组件,或者具有与图7所示不同的配置。图7中所示的各组件可以采用硬件和/或软件实现。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机执行指令,计算机执行指令被处理器执行时可以实现上述任一方法实施例提供的访问指令的处理方法。
本实施例中的计算机可读存储介质可以是计算机能够存取的任何可用介质,或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备,可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如, DVD)、或者半导体介质(例如SSD)等。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种模块加载方法,其特征在于,包括:
当接收到内核可加载模块LKM加载指令时,获取所述LKM加载指令中携带的待加载LKM需要加载至的内存空间起始地址;并将所述待加载LKM的文件存储至所述内存空间起始地址所指示的内存地址空间;其中,所述待加载LKM的文件中包含加载所述待加载LKM所需的内容;
当接收到LKM加载结束指令时,采用预设算法,计算存储后的所述待加载LKM的文件对应的校验值;
根据安全性审核表中包含的所述内存空间起始地址对应的安全性校验信息,以及计算得到的校验值,对所述待加载LKM的文件进行安全性校验;其中,所述安全性审核表为预先在BIOS或内核中配置、存储在内存地址空间中的表格;所述安全性审核表还包括待加载LKM需要加载至的内存空间起始地址的访问权限;
当所述安全性校验无误时,将所述安全性审核表中包含的所述待加载LKM需要加载至的内存空间起始地址的访问权限修改为执行允许状态,完成所述待加载LKM的加载过程;
获取所述待加载LKM的文件之前,还包括:
将所述安全性审核表中所述待加载LKM需要加载至的内存空间起始地址的访问权限修改为写允许状态。
2.根据权利要求1所述的方法,其特征在于,还包括:
接收访问指令,所述访问指令为对LKM的访问指令;
根据所述访问指令的属性信息以及所述安全性审核表对所述访问指令进行合法性审核;
当审核确定所述访问指令为非法指令时,拒绝所述访问指令访问所述LKM,并发送报警。
3.根据权利要求2所述的方法,其特征在于,所述安全性审核表还包括内存空间结束地址;
根据所述访问指令的属性信息以及所述安全性审核表对所述访问指令进行合法性审核,包括:
判断所述访问指令访问的地址是否在所述安全性审核表中的地址空间内;其中,所述地址空间为所述内存空间起始地址和内存空间结束地址之间的地址空间;
若所述访问指令访问的地址在所述安全性审核表中的地址空间内,则在所述地址空间的访问权限为允许状态时,确定所述访问指令合法。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述方法还包括:
在操作系统启动的基本输入输出系统BIOS中或者操作系统内核中配置所述安全性审核表。
5.一种模块加载装置,其特征在于,包括:
获取模块,用于当接收到内核可加载模块LKM加载指令时,获取所述LKM加载指令中携带的待加载LKM需要加载至的内存空间起始地址;
存储模块,用于将所述待加载LKM的文件存储至所述内存空间起始地址所指示的内存地址空间;其中,所述待加载LKM的文件中包含加载所述待加载LKM所需的内容;
处理模块,用于当接收到LKM加载结束指令时,采用预设算法,计算存储后的所述待加载LKM的文件对应的校验值;
所述处理模块还用于根据安全性审核表中包含的所述内存空间起始地址对应的安全性校验信息,以及计算得到的校验值,对所述待加载LKM的文件进行安全性校验;其中,所述安全性审核表为预先在BIOS或内核中配置、存储在内存地址空间中的表格;所述安全性审核表还包括待加载LKM需要加载至的内存空间起始地址的访问权限;
所述处理模块还用于当所述安全性校验无误时,将所述安全性审核表中包含的所述待加载LKM需要加载至的内存空间起始地址的访问权限修改为执行允许状态,完成所述待加载LKM的加载过程;
所述处理模块还用于将所述安全性审核表中所述待加载LKM需要加载至的内存空间起始地址的访问权限修改为写允许状态。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括:接收模块;
所述接收模块用于接收访问指令,所述访问指令为对LKM的访问指令;
所述处理模块还用于根据所述访问指令的属性信息以及所述安全性审核表对所述访问指令进行合法性审核;
所述处理模块还用于当审核确定所述访问指令为非法指令时,拒绝所述访问指令访问所述LKM,并发送报警。
7.根据权利要求6所述的装置,其特征在于,所述安全性审核表还包括内存空间结束地址;
所述处理模块还用于:
根据所述访问指令的属性信息以及所述安全性审核表对所述访问指令进行合法性审核,包括:
判断所述访问指令访问的地址是否在所述安全性审核表中的地址空间内;其中,所述地址空间为所述内存空间起始地址和内存空间结束地址之间的地址空间;
若所述访问指令访问的地址在所述安全性审核表中的地址空间内,则在所述地址空间的访问权限为允许状态时,确定所述访问指令合法。
8.根据权利要求5至7任一项所述的装置,其特征在于,所述处理模块还用于在操作系统启动的基本输入输出系统BIOS中或者操作系统内核中配置所述安全性审核表。
9.一种电子设备,其特征在于,包括:存储器及处理器;
所述处理器中集成有权利要求5至8任一项所述的模块加载装置;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述处理器执行如权利要求1至4任一项所述的模块加载方法。
10.一种存储介质,其特征在于,包括:可读存储介质和计算机程序,所述计算机程序用于实现权利要求1至4任一项所述的模块加载方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811647327.2A CN111382433B (zh) | 2018-12-29 | 2018-12-29 | 模块加载方法、装置、设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811647327.2A CN111382433B (zh) | 2018-12-29 | 2018-12-29 | 模块加载方法、装置、设备以及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111382433A CN111382433A (zh) | 2020-07-07 |
CN111382433B true CN111382433B (zh) | 2022-12-13 |
Family
ID=71218320
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811647327.2A Active CN111382433B (zh) | 2018-12-29 | 2018-12-29 | 模块加载方法、装置、设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111382433B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1702590A (zh) * | 2004-12-02 | 2005-11-30 | 联想(北京)有限公司 | 一种建立计算机中可信任运行环境的方法 |
CN101295340A (zh) * | 2008-06-20 | 2008-10-29 | 北京工业大学 | 一种可信平台模块及其主动度量方法 |
CN201203868Y (zh) * | 2008-06-20 | 2009-03-04 | 北京工业大学 | 一种可信平台模块 |
CN101458743A (zh) * | 2007-12-12 | 2009-06-17 | 中国长城计算机深圳股份有限公司 | 一种保护计算机系统安全的方法 |
CN102667802A (zh) * | 2009-12-31 | 2012-09-12 | 英特尔公司 | 硬件的配备、升级和/或更改 |
CN103065082A (zh) * | 2012-07-04 | 2013-04-24 | 北京京航计算通讯研究所 | 基于Linux系统的软件安全防护方法 |
CN103119601A (zh) * | 2010-08-18 | 2013-05-22 | 英特尔公司 | 用于在独立于操作系统(os)的防病毒(av)扫描器上执行强制性安全策略的方法和装置 |
CN105022954A (zh) * | 2015-07-07 | 2015-11-04 | 中国人民解放军国防科学技术大学 | 飞腾cpu上三态操作系统安全内核服务动态运行方法 |
CN105447386A (zh) * | 2014-07-16 | 2016-03-30 | 阿里巴巴集团控股有限公司 | 一种硬件rootkit恶意行为的阻断方法及装置 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080016339A1 (en) * | 2006-06-29 | 2008-01-17 | Jayant Shukla | Application Sandbox to Detect, Remove, and Prevent Malware |
JP5056529B2 (ja) * | 2007-03-28 | 2012-10-24 | 富士通株式会社 | アクセス制御プログラム |
US8578483B2 (en) * | 2008-07-31 | 2013-11-05 | Carnegie Mellon University | Systems and methods for preventing unauthorized modification of an operating system |
US9118666B2 (en) * | 2010-06-30 | 2015-08-25 | Google Inc. | Computing device integrity verification |
CN103473508B (zh) * | 2013-09-17 | 2016-07-27 | 肖楠 | 操作系统内核运行时安全验证方法 |
CN103699839A (zh) * | 2013-12-09 | 2014-04-02 | Tcl集团股份有限公司 | 一种内核级rootkit检测处理方法及系统 |
WO2016081867A1 (en) * | 2014-11-20 | 2016-05-26 | Interdigital Patent Holdings, Inc. | Providing security to computing systems |
CN104933354A (zh) * | 2014-12-30 | 2015-09-23 | 国家电网公司 | 一种基于可信计算的白名单静态度量方法 |
CN107679393B (zh) * | 2017-09-12 | 2020-12-04 | 中国科学院软件研究所 | 基于可信执行环境的Android完整性验证方法和装置 |
-
2018
- 2018-12-29 CN CN201811647327.2A patent/CN111382433B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1702590A (zh) * | 2004-12-02 | 2005-11-30 | 联想(北京)有限公司 | 一种建立计算机中可信任运行环境的方法 |
CN101458743A (zh) * | 2007-12-12 | 2009-06-17 | 中国长城计算机深圳股份有限公司 | 一种保护计算机系统安全的方法 |
CN101295340A (zh) * | 2008-06-20 | 2008-10-29 | 北京工业大学 | 一种可信平台模块及其主动度量方法 |
CN201203868Y (zh) * | 2008-06-20 | 2009-03-04 | 北京工业大学 | 一种可信平台模块 |
CN102667802A (zh) * | 2009-12-31 | 2012-09-12 | 英特尔公司 | 硬件的配备、升级和/或更改 |
CN103119601A (zh) * | 2010-08-18 | 2013-05-22 | 英特尔公司 | 用于在独立于操作系统(os)的防病毒(av)扫描器上执行强制性安全策略的方法和装置 |
CN103065082A (zh) * | 2012-07-04 | 2013-04-24 | 北京京航计算通讯研究所 | 基于Linux系统的软件安全防护方法 |
CN105447386A (zh) * | 2014-07-16 | 2016-03-30 | 阿里巴巴集团控股有限公司 | 一种硬件rootkit恶意行为的阻断方法及装置 |
CN105022954A (zh) * | 2015-07-07 | 2015-11-04 | 中国人民解放军国防科学技术大学 | 飞腾cpu上三态操作系统安全内核服务动态运行方法 |
Non-Patent Citations (3)
Title |
---|
一种防范rootkit入侵的内核模块加载机制;谈潘攀;《软件》;20150415(第04期);第127-131页 * |
基于Xen虚拟技术的内核完整性保护方法;张永林等;《成都信息工程学院学报》;20091015(第05期);第9-12页 * |
基于硬件虚拟化的虚拟机内核完整性保护;杨晓晖等;《河北大学学报(自然科学版)》;20180325(第02期);第87-96页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111382433A (zh) | 2020-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11269996B2 (en) | System and method for protecting memory pages | |
US9087188B2 (en) | Providing authenticated anti-virus agents a direct access to scan memory | |
EP3123311B1 (en) | Malicious code protection for computer systems based on process modification | |
US9081967B2 (en) | System and method for protecting computers from software vulnerabilities | |
EP2831787B1 (en) | Method and system for preventing and detecting security threats | |
JP5512610B2 (ja) | 非ファームウェアエージェントからメモリへのアクセスを許可または阻止する方法、システム、および機械可読記憶媒体 | |
US20070276969A1 (en) | Method and device for controlling an access to peripherals | |
US20060112241A1 (en) | System, method and apparatus of securing an operating system | |
US9684518B2 (en) | Option read-only memory use | |
US20170255775A1 (en) | Software verification systems with multiple verification paths | |
US20160087998A1 (en) | Detecting a malware process | |
CN110325994B (zh) | 增强软件应用的控制流完整性的设备和方法 | |
JP2010182196A (ja) | 情報処理装置およびファイル検証システム | |
CN107908977B (zh) | 基于TrustZone的智能移动终端信任链安全传递方法及系统 | |
US20130124845A1 (en) | Embedded device and control method thereof | |
CN112434286A (zh) | 动态库的调用方法、装置、电子装置和存储介质 | |
EP3176723B1 (en) | Computer system and operating method therefor | |
CN109446755B (zh) | 内核钩子函数保护方法、装置、设备以及存储介质 | |
CN111382433B (zh) | 模块加载方法、装置、设备以及存储介质 | |
EP3440586A1 (en) | Method for write-protecting boot code if boot sequence integrity check fails | |
CN112948863B (zh) | 敏感数据的读取方法、装置、电子设备及存储介质 | |
CN109190383B (zh) | 访问指令的处理方法、装置及设备 | |
EP2835757B1 (en) | System and method protecting computers from software vulnerabilities | |
JP7476140B2 (ja) | 情報処理装置、情報処理方法、およびプログラム | |
RU2609761C1 (ru) | Способ выполнения кода в режиме гипервизора |
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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing Applicant after: Loongson Zhongke Technology Co.,Ltd. Address before: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing Applicant before: LOONGSON TECHNOLOGY Corp.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |