CN109086602A - 针对内核数据修改的拦截方法、装置及计算机存储介质 - Google Patents
针对内核数据修改的拦截方法、装置及计算机存储介质 Download PDFInfo
- Publication number
- CN109086602A CN109086602A CN201710445462.8A CN201710445462A CN109086602A CN 109086602 A CN109086602 A CN 109086602A CN 201710445462 A CN201710445462 A CN 201710445462A CN 109086602 A CN109086602 A CN 109086602A
- Authority
- CN
- China
- Prior art keywords
- data
- modification
- kernel data
- kernel
- monitoring
- 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.)
- Pending
Links
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/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
-
- 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/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & 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
本发明实施例公开了一种针对内核数据修改的拦截方法、装置、设备及计算机存储介质。该方法包括:获取内核数据;设置该内核数据的对象对应的且与用于监控针对该内核数据的修改操作相关的数据;基于该数据监控针对该内核数据的修改操作;当监控到该修改操作时,基于硬件虚拟化技术拦截该修改操作。本发明实施例的针对内核数据修改的拦截方法、装置、设备及计算机存储介质,能够提高针对内核数据的防御性能及效率。
Description
技术领域
本发明涉及数据安全领域,尤其涉及一种针对内核数据修改的拦截方法、装置、设备及计算机存储介质。
背景技术
操作系统内核是操作系统的核心,实现了应用程序访问系统资源的接口及其自身的管理功能。多数操作系统利用特权级(Ring)级别中的特权级0和特权级3的协调机制来运行程序。具体来说,应用程序处于用户层,而内核则处于内存中的内核地址空间,内核层的代码可以访问全部内存空间并执行特权指令,用户层的代码则受到限制。然而内核是可以扩展的,应用程序通过加载驱动可以将新的代码加入内核层,从而为恶意代码攻击内核提供了方便。
为了防止内核被恶意代码攻击,需要对内核数据进行防御。
目前针对内核数据的防御主要有被动防御方式和主动防御方式。其中,被动防御方式主要是利用已有的内核模式库,检测当前内核的内存映像是否被修改过,并给出修改的详细记录。主动防御方式是指假设内核是安全的前提下,检测可能存在攻击。
但是,上述两种防御方式都是基于虚拟机实现攻击检测,防御性能较差且效率较低。
发明内容
本发明实施例提供一种针对内核数据修改的拦截方法、装置、设备及计算机存储介质,能够提高针对内核数据的防御性能及效率。
一方面,本发明实施例提供了一种针对内核数据修改的拦截方法,该方法包括:
获取内核数据;
设置该内核数据的对象对应的且与用于监控针对该内核数据的修改操作相关的数据;
基于该数据监控针对该内核数据的修改操作;
当监控到该修改操作时,基于硬件虚拟化技术拦截该修改操作。
另一方面,本发明实施例提供了一种针对内核数据修改的拦截装置,该装置包括:获取模块、设置模块、监控模块和拦截模块,其中,
获取模块,用于获取内核数据;
设置模块,用于设置该内核数据的对象对应的且与用于监控针对该内核数据的修改操作相关的数据;
监控模块,用于基于该数据监控针对该内核数据的修改操作;
拦截模块,用于当监控到该修改操作时,基于硬件虚拟化技术拦截该修改操作。
再一方面,本发明实施例提供了一种针对内核数据修改的拦截设备,该设备包括:处理器以及存储有计算机程序指令的存储器;该处理器执行存储在该存储器上的计算机程序指令时实现任意一种针对内核数据修改的拦截方法。
再一方面,本发明实施例提供了一种计算机存储介质,该计算机存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现任意一种针对内核数据修改的拦截方法。
本发明实施例的针对内核数据修改的拦截方法、装置、设备及计算机存储介质,能够提高针对内核数据的防御性能及效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本发明实施例提供的针对内核数据修改的拦截方法的流程示意图;
图2示出了本发明实施例提供的针对内核数据修改的拦截装置的结构示意图;
图3示出了本发明实施例提供的针对内核数据修改的拦截设备的硬件结构示意图。
具体实施方式
下面将详细描述本发明的各个方面的特征和示例性实施例,为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细描述。应理解,此处所描述的具体实施例仅被配置为解释本发明,并不被配置为限定本发明。对于本领域技术人员来说,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明更好的理解。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
为了解决现有技术问题,本发明实施例提供了一种针对内核数据修改的拦截方法、装置、设备及计算机存储介质。下面首先对本发明实施例所提供的针对内核数据修改的拦截方法进行介绍。
图1示出了本发明实施例提供的针对内核数据修改的拦截方法的流程示意图。其可以包括:
S101:获取内核数据。
S102:设置该内核数据的对象对应的且与用于监控针对该内核数据的修改操作相关的数据。
S103:基于该数据监控针对该内核数据的修改操作。
S104:当监控到该修改操作时,基于硬件虚拟化技术拦截该修改操作。
内核利用通用块层启动输入/输出(Input/Output,I/O)操作来请求所请求的数据,每次I/O操作是由一个块的输入和输出(block input output,bio)结构描述,它收集底层组件需要的所有信息以满足所发出的请求,对系统提交的bio数据进行拷贝从而实现对内核数据的捕获,即获得内核数据。其中,bio是linux内核中通用块层的一个核心数据结构,它描述了块设备的I/O操作。它联系了内存缓冲区与块设备。
获取内核数据可以通过堆积驱动程序获取。其中,堆积驱动程序就是一个类似于软件独立冗余磁盘阵列(Redundant Arrays of Independent Disks,RAID)的驱动程序,它可以修改文件系统层的块设备抽象(bi_bdev)成员而将请求重定向给其他能处理该请求的设备;然后定义标记请求(make_request)函数对上层传下来的bio修改的bi_bdev成员,并将请求重定向到真实的物理设备,重新提交给通用块层处理;bio被通用块层重定向给bi_bdev指向的物理设备对应的驱动程序处理;实际的磁盘驱动程序完成写磁盘操作;实际磁盘驱动程序向上层报告I/O成功与否的状态;当报告成功时将bio数据捕获。
数据捕获与数据传输分别在内核空间和用户空间来完成,缓冲区存在于内核模块的缓存中,缓冲区的设置提高用户进程与内核模块传递数据的速度。
进一步的,获取到内核数据后,可以对内核数据进行分析:通过实时传输协议(Real-time Transport Protocol,RTP)传输多种不同编码标准的数据,数据分析的任务就是提取出RTP的载荷类型字段并进行分析,从而获得数据的编码标准。更进一步的还可以对数据重排序,其中,RTP首部含有两个可用于数据重排序的字段:序列号字段和时间戳字段,其中,序列号字段表示数据分组的顺序,时间戳字段表示RTP数据包中的第一个字节数据的抽样时刻。通过比较序列号字段和时间戳字段,即可对所捕获到的数据实现RTP重排序。
采用基于内存预先分配的主动内存管理方式,并提供一组用户应用程序编程接口(Application Programming Interface,API)函数库(也可称之为用户层任务恢复中间件),供用户在源程序中调用,以满足高可靠系统对软件容错的要求。在内核映像BSS段开辟一块较大的内存,将任务恢复过程中内存地址可能变化的对象统一进行分配和释放。在设置检查点时,将主动内存管理中使用的数据空间复制到持久存储器,在任务恢复时再原样装载到系统内存,实现内核数据的还原。其中,BSS段通常是指用来存放程序中未初始化的全局变量和静态变量的一块内存区域。特点是可读写的,在程序执行之前BSS段会自动清0。
具体的,对于本发明实施例的不同内核数据,内核数据的对象可能相同也可能不相同。本发明实施例的内核数据的对象为寄存器对象或内存对象。
本发明实施例的针对寄存器对象对应的且与用于监控针对所述内核数据的修改操作相关的数据,可以包括设置寄存器对象对应的虚拟机控制结构(Virtual-MachineControl Structure,VMCS)中的数据。
本发明实施例的针对内存对象对应的且与用于监控针对所述内核数据的修改操作相关的数据,可以包括设置内存对象对应的VMCS中的数据以及页表(Page Table Entry,PTE)属性。
具体的,当内核数据的对象为寄存器对象且寄存器对象为控制寄存器0(Controlregister 0,CR0)时,本发明实施例的设置寄存器对象对应的虚拟机控制结构VMCS中的数据,可以包括设置VMCS中客户机/主机掩码(Guest/Host Mask)和读影(Read Shadow)的值均为65536(即16进制的0X00010000),其中,CR0中含有控制处理器操作模式和状态的系统控制标志,Guest/Host Mask和Read Shadow用于监控对CR0的写保护(Write Protect,WP)位的修改。
当内核数据的对象为寄存器对象且寄存器对象为模式指定寄存器(SYSENTER_EIP)时,本发明实施例的设置寄存器对象对应的虚拟机控制结构VMCS中的数据,可以包括设置VMCS中使用模式指定寄存器位图(Use MSR Bitmaps)对应的控制位(即Use MSRBitmaps控制位)为1,其中,Use MSR Bitmaps控制位用于决定是否使用位图MSR Bitmaps监控针对模式指定寄存器的访问。若置为0,则所有的模式指定寄存器访问都引发虚拟机退出(Virtual Machine Exit,VM Exit)操作;若置为1,则客户机系统(Guest OS)中的相关处理例程将引发VM Exit操作。
当内核数据的对象为寄存器对象且寄存器对象为系统地址寄存器时,本发明实施例的设置寄存器对象对应的虚拟机控制结构VMCS中的数据,可以包括设置VMCS中描述表退出(descriptor table exit)对应的控制位(即descriptor table exit控制位)为1。其中,系统地址寄存器包括:全局描述符表寄存器(GLOBAL DESCRIPTOR TABLE REGISTER,GDTR)、中断描述符表寄存器(INTERRUPT DESCRIPTOR TABLE REGISTER,IDTR)、局部描述表寄存器(LOCAL DESCRIPTOR TABLE REGISTER,LDTR)和任务状态寄存器(TASK STATE REGISTER,TR)。descriptor table exit控制位用于决定访问系统地址寄存器是否引发VM Exit操作。
当内核数据的对象为内存对象时,本发明实施例的设置内存对象对应的VMCS中的数据以及PTE属性,可以包括设置VMCS中执行位图(Exception Bitmaps)对应的控制位(即Exception Bitmaps控制位)为1,并设置PTE属性为只读属性。其中,Exception Bitmaps控制位用于监控Guest OS中异常事件。当该控制位为1时,将引发VM Exit操作。设置PTE属性为只读属性可以通过改写PTE的读写(Read/Write,R/W)位将对应页面设置为只读属性。具体的,还可以设置并行前向纠错掩码位(PFEC_MASK)和并行前向纠错匹配位(PFEC_MATCH)用于限定页面异常监控的范围,是否引发VM Exit操作将由PFEC_MASK和PFEC_MATCH共同决定。
具体的,本发明实施例的基于数据监控针对内核数据的修改操作,可以包括:基于该数据,利用英特尔虚拟化技术(Intel Virtualization Technology,Intel VT)框架监控针对内核数据的修改操作。
VMCS的设置是整个技术的关键部分,决定各种监控对象的陷入。利用Intel VT框架监控内核对象的修改主要是设置VMCS的执行控制域(VM execution control)中上述各个控制位的数据。
其中,Intel VT框架引入了两种新的操作模式:根操作(VMX root operation)模式和非根操作(VMX non-root operation)模式,其中,虚拟机监控器(Virtual MachineMonitor,VMM)运行在VMX root operation模式,Guest OS运行在VMX non-root operation模式。由VMX root operation模式转入VMX non-root operation模式称为VMX进入(Entry);由VMX non-root operation模式转入VMX root operation模式称为VMX退出(Exit)。两种模式均具有独立的处理器硬件资源,VMX引入了VMCS来维护这些独立的资源,并控制VMX root operation模式下的处理器行为。
当监控到针对内核数据的修改操作时,基于硬件虚拟化技术拦截该修改操作。
具体的,基于硬件虚拟化技术拦截该修改操作主要是将正在运行的操作系统切换为VMX non-root operation模式,以监控操作系统的运行。
当监测到内核对象修改后,控制流程转入VMM提供的VM Exit处理例程,Exit处理例程负责阻止修改操作,以及对正常操作情况进行转发。保护对象中定义了保护类型(MainType)和子类型(SubType);MianType有2种类型:PROTECTED_OBJ和PTECONFLICT_OBJ;PTECONFLIC T_OBJ是指与保护对象处于同一页面,但并非禁止修改的区域;子类型标识用于说明该保护对象的具体类型。
对于寄存器对象修改的情况,通过虚拟机自省获取引发虚拟机(VirtualMachine,VM)Exit指令所属模块,将其卸载,并恢复Guest OS执行。
本发明实施例的针对内核数据修改的拦截方法,从已有的攻击威胁和操作系统内核自身的保护规律构建针对内核数据的保护列表,利用硬件虚拟化的自动陷入机制主动检测各种对内核数据的非法修改,可以积极有效的检测并阻止窜改内核数据的行为。能够提高针对内核数据的防御性能及效率。
与上述的方法实施例相对应,本发明实施例还提供一种针对内核数据修改的拦截装置。
图2示出了本发明实施例提供的针对内核数据修改的拦截装置的结构示意图。其可以包括:获取模块201、设置模块202、监控模块203和拦截模块204,其中,
获取模块201,用于获取内核数据;
设置模块202,用于设置该内核数据的对象对应的且与用于监控针对该内核数据的修改操作相关的数据;
监控模块203,用于基于该数据监控针对该内核数据的修改操作;
拦截模块204,用于当监控到该修改操作时,基于硬件虚拟化技术拦截该修改操作。
内核利用通用块层启动I/O操作来请求所请求的数据,每次I/O操作是由一个bio结构描述,它收集底层组件需要的所有信息以满足所发出的请求,对系统提交的bio数据进行拷贝从而实现对内核数据的捕获,即获得内核数据。
获取内核数据可以通过堆积驱动程序获取。其中,堆积驱动程序就是一个类似于软件RAID的驱动程序,它可以修改文件系统层的bi_bdev成员而将请求重定向给其他能处理该请求的设备;然后定义make_request函数对上层传下来的bio修改的bi_bdev成员,并将请求重定向到真实的物理设备,重新提交给通用块层处理;bio被通用块层重定向给bi_bdev指向的物理设备对应的驱动程序处理;实际的磁盘驱动程序完成写磁盘操作;实际磁盘驱动程序向上层报告I/O成功与否的状态;当报告成功时将bio数据捕获。
数据捕获与数据传输分别在内核空间和用户空间来完成,缓冲区存在于内核模块的缓存中,缓冲区的设置提高用户进程与内核模块传递数据的速度。
进一步的,获取到内核数据后,可以对内核数据进行分析:通过RTP传输多种不同编码标准的数据,数据分析的任务就是提取出RTP的载荷类型字段并进行分析,从而获得数据的编码标准。更进一步的还可以对数据重排序,其中,RTP首部含有两个可用于数据重排序的字段:序列号字段和时间戳字段,其中,序列号字段表示数据分组的顺序,时间戳字段表示RTP数据包中的第一个字节数据的抽样时刻。通过比较序列号字段和时间戳字段,即可对所捕获到的数据实现RTP重排序。
采用基于内存预先分配的主动内存管理方式,并提供一组用户API函数库(也可称之为用户层任务恢复中间件),供用户在源程序中调用,以满足高可靠系统对软件容错的要求。在内核映像BSS段开辟一块较大的内存,将任务恢复过程中内存地址可能变化的对象统一进行分配和释放。在设置检查点时,将主动内存管理中使用的数据空间复制到持久存储器,在任务恢复时再原样装载到系统内存,实现内核数据的还原。其中,BSS段通常是指用来存放程序中未初始化的全局变量和静态变量的一块内存区域。特点是可读写的,在程序执行之前BSS段会自动清0。
具体的,对于本发明实施例的不同内核数据,内核数据的对象可能相同也可能不相同。本发明实施例的内核数据的对象为寄存器对象或内存对象。
当内核数据的对象为寄存器对象时,本发明实施例的设置模块202,具体可以用于:设置寄存器对象对应的VMCS中的数据。
当内核数据的对象为内存对象时,本发明实施例的设置模块202,具体可以用于:设置内存对象对应的VMCS中的数据以及PTE属性。
具体的,当内核数据的对象为寄存器对象且寄存器对象为CR0时,本发明实施例的设置模块202,具体可以用于:设置VMCS中Guest/Host Mask和Read Shadow的值均为65536(即16进制的0X00010000),其中,CR0中含有控制处理器操作模式和状态的系统控制标志,Guest/Host Mask和Read Shadow用于监控对CR0的WP位的修改。
当内核数据的对象为寄存器对象且寄存器对象为SYSENTER_EIP时,本发明实施例的设置模块202,具体可以用于:设置VMCS中Use MSR Bitmaps对应的控制位(即Use MSRBitmaps控制位)为1,其中,Use MSR Bitmaps控制位用于决定是否使用位图MSR Bitmaps监控针对模式指定寄存器的访问。若置为0,则所有的模式指定寄存器访问都引发VM Exit操作;若置为1,则Guest OS中的相关处理例程将引发VM Exit操作。
当内核数据的对象为寄存器对象且寄存器对象为系统地址寄存器时,本发明实施例的设置模块202,具体可以用于:设置VMCS中descriptor table exit对应的控制位(即descriptor table exit控制位)为1。其中,系统地址寄存器包括:GDTR、IDTR、LDTR和TR。descriptor table exit控制位用于决定访问系统地址寄存器是否引发VM Exit操作。
当内核数据的对象为内存对象时,本发明实施例的设置模块202,具体可以用于:设置VMCS中Exception Bitmaps对应的控制位(即Exception Bitmaps控制位)为1,并设置PTE属性为只读属性。其中,Exception Bitmaps控制位用于监控Guest OS中异常事件。当该控制位为1时,将引发VM Exit操作。设置PTE属性为只读属性可以通过改写PTE的R/W位将对应页面设置为只读属性。具体的,还可以设置PFEC_MASK和PFEC_MATCH用于限定页面异常监控的范围,是否引发VM Exit操作将由PFEC_MASK和PFEC_MATCH共同决定。
具体的,本发明实施例的监控模块203,具体可以用于:基于该数据,利用Intel VT框架监控针对内核数据的修改操作。
VMCS的设置是整个技术的关键部分,决定各种监控对象的陷入。利用Intel VT框架监控内核对象的修改主要是设置VMCS的VM execution control中上述各个控制位的数据。
其中,Intel VT框架引入了两种新的操作模式:VMX root operation模式和VMXnon-root operation模式,其中,VMM运行在VMX root operation模式,Guest OS运行在VMXnon-root operation模式。由VMX root operation模式转入VMX non-root operation模式称为VMX Entry;由VMX non-root operation模式转入VMX root operation模式称为VMXExit。两种模式均具有独立的处理器硬件资源,VMX引入了VMCS来维护这些独立的资源,并控制VMX root operation模式下的处理器行为。
当监控到针对内核数据的修改操作时,基于硬件虚拟化技术拦截该修改操作。
具体的,基于硬件虚拟化技术拦截该修改操作主要是将正在运行的操作系统切换为VMX non-root operation模式,以监控操作系统的运行。
当监测到内核对象修改后,控制流程转入VMM提供的VM Exit处理例程,Exit处理例程负责阻止修改操作,以及对正常操作情况进行转发。保护对象中定义了MainType和SubType;MianType有2种类型:PROTECTED_OBJ和PTECONFLICT_OBJ;PTECONFLIC T_OBJ是指与保护对象处于同一页面,但并非禁止修改的区域;子类型标识用于说明该保护对象的具体类型。
对于寄存器对象修改的情况,通过虚拟机自省获取引发VM Exit指令所属模块,将其卸载,并恢复Guest OS执行。
本发明实施例的针对内核数据修改的拦截装置,从已有的攻击威胁和操作系统内核自身的保护规律构建针对内核数据的保护列表,利用硬件虚拟化的自动陷入机制主动检测各种对内核数据的非法修改,可以积极有效的检测并阻止窜改内核数据的行为。能够提高针对内核数据的防御性能及效率。
另外,结合图1和图2描述的本发明实施例的针对内核数据修改的拦截方法和装置可以由针对内核数据修改的拦截设备来实现。图3示出了本发明实施例提供的针对内核数据修改的拦截设备的硬件结构示意图。
针对内核数据修改的拦截设备可以包括处理器301以及存储有计算机程序指令的存储器302。
具体地,上述处理器301可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,ASIC),或者可以被配置成实施本发明实施例的一个或多个集成电路。
存储器302可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器302可包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器302可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器302可在综合网关容灾设备的内部或外部。在特定实施例中,存储器302是非易失性固态存储器。在特定实施例中,存储器302包括只读存储器(ROM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、电可改写ROM(EAROM)或闪存或者两个或更多个以上这些的组合。
处理器301通过读取并执行存储器302中存储的计算机程序指令,以实现上述实施例中的任意一种针对内核数据修改的拦截方法。
在一个示例中,针对内核数据修改的拦截设备还可包括通信接口303和总线310。其中,如图3所示,处理器301、存储器302、通信接口303通过总线310连接并完成相互间的通信。
通信接口303,主要用于实现本发明实施例中各模块、装置、单元和/或设备之间的通信。
总线310包括硬件、软件或两者,将针对内核数据修改的拦截设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(AGP)或其他图形总线、增强工业标准架构(EISA)总线、前端总线(FSB)、超传输(HT)互连、工业标准架构(ISA)总线、无限带宽互连、低引脚数(LPC)总线、存储器总线、微信道架构(MCA)总线、外围组件互连(PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线310可包括一个或多个总线。尽管本发明实施例描述和示出了特定的总线,但本发明考虑任何合适的总线或互连。
该针对内核数据修改的拦截设备可以基于来自内核的相关信息执行本发明实施例中的针对内核数据修改的拦截方法,从而实现结合图1和图2描述的针对内核数据修改的拦截方法和装置。
另外,结合上述实施例中的针对内核数据修改的拦截方法,本发明实施例可提供一种计算机存储介质来实现。该计算机存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种针对内核数据修改的拦截方法。
需要明确的是,本发明并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本发明的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
以上所述,仅为本发明的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。
Claims (11)
1.一种针对内核数据修改的拦截方法,其特征在于,所述方法包括:
获取内核数据;
设置所述内核数据的对象对应的且与用于监控针对所述内核数据的修改操作相关的数据;
基于所述数据监控针对所述内核数据的修改操作;
当监控到所述修改操作时,基于硬件虚拟化技术拦截所述修改操作。
2.根据权利要求1所述的方法,其特征在于,所述内核数据的对象包括:寄存器对象;
所述设置所述内核数据的对象对应的且与用于监控针对所述内核数据的修改操作相关的数据,包括:
设置所述寄存器对象对应的虚拟机控制结构VMCS中的数据。
3.根据权利要求2所述的方法,其特征在于,所述寄存器对象包括:控制寄存器CR0;
所述设置所述寄存器对象对应的虚拟机控制结构VMCS中的数据,包括:
设置所述VMCS中客户机/主机掩码Guest/Host Mask和读影Read Shadow的值均为65536。
4.根据权利要求2所述的方法,其特征在于,所述寄存器对象包括:模式指定寄存器SYSENTER_EIP;
所述设置所述寄存器对象对应的虚拟机控制结构VMCS中的数据,包括:
设置所述VMCS中使用模式指定寄存器位图Use MSR Bitmaps对应的控制位为1。
5.根据权利要求2所述的方法,其特征在于,所述寄存器对象包括:系统地址寄存器;
所述设置所述寄存器对象对应的虚拟机控制结构VMCS中的数据,包括:
设置所述VMCS中描述表退出descriptor table exit对应的控制位为1。
6.根据权利要求1所述的方法,其特征在于,所述内核数据的对象包括:内存对象;
所述设置所述内核数据的对象对应的且与用于监控针对所述内核数据的修改操作相关的数据,包括:
设置所述内存对象对应的VMCS中的数据以及页表PTE属性。
7.根据权利要求6所述的方法,其特征在于,所述设置所述内存对象对应的VMCS中的数据以及页表PTE属性,包括:
设置所述VMCS中执行位图Exception Bitmaps对应的控制位为1,并设置所述PTE属性为只读属性。
8.根据权利要求1所述的方法,其特征在于,所述基于所述数据监控针对所述内核数据的修改操作,包括:
基于所述数据,利用英特尔虚拟化技术Intel VT框架监控针对所述内核数据的修改操作。
9.一种针对内核数据修改的拦截装置,其特征在于,所述装置包括:获取模块、设置模块、监控模块和拦截模块,其中,
所述获取模块,用于获取内核数据;
所述设置模块,用于设置所述内核数据的对象对应的且与用于监控针对所述内核数据的修改操作相关的数据;
所述监控模块,用于基于所述数据监控针对所述内核数据的修改操作;
所述拦截模块,用于当监控到所述修改操作时,基于硬件虚拟化技术拦截所述修改操作。
10.一种针对内核数据修改的拦截设备,其特征在于,所述设备包括:处理器以及存储有计算机程序指令的存储器;
所述处理器执行所述计算机程序指令时实现如权利要求1-8任意一项所述的针对内核数据修改的拦截方法。
11.一种计算机存储介质,其特征在于,所述计算机存储介质上存储有计算机程序指令;所述计算机程序指令被处理器执行时实现如权利要求1-8任意一项所述的针对内核数据修改的拦截方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710445462.8A CN109086602A (zh) | 2017-06-13 | 2017-06-13 | 针对内核数据修改的拦截方法、装置及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710445462.8A CN109086602A (zh) | 2017-06-13 | 2017-06-13 | 针对内核数据修改的拦截方法、装置及计算机存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109086602A true CN109086602A (zh) | 2018-12-25 |
Family
ID=64838815
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710445462.8A Pending CN109086602A (zh) | 2017-06-13 | 2017-06-13 | 针对内核数据修改的拦截方法、装置及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109086602A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111444504A (zh) * | 2020-03-30 | 2020-07-24 | 安芯网盾(北京)科技有限公司 | 一种用于软件运行时自动识别恶意代码的方法及装置 |
CN111949252A (zh) * | 2020-07-23 | 2020-11-17 | 网易(杭州)网络有限公司 | 一种数据处理方法、装置和电子设备 |
CN114707147A (zh) * | 2022-06-05 | 2022-07-05 | 荣耀终端有限公司 | 业务请求处理方法及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101729602A (zh) * | 2009-12-11 | 2010-06-09 | 北京工业大学 | 一种获取p2p视频系统节目信息的方法 |
CN101883081A (zh) * | 2009-05-05 | 2010-11-10 | 昆明智讯达科技开发有限公司 | 一种基于网络数据包内容进行视频流传输过滤的方法 |
CN106096455A (zh) * | 2016-08-08 | 2016-11-09 | 王波 | 一种主机内核数据还原保护方法 |
-
2017
- 2017-06-13 CN CN201710445462.8A patent/CN109086602A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101883081A (zh) * | 2009-05-05 | 2010-11-10 | 昆明智讯达科技开发有限公司 | 一种基于网络数据包内容进行视频流传输过滤的方法 |
CN101729602A (zh) * | 2009-12-11 | 2010-06-09 | 北京工业大学 | 一种获取p2p视频系统节目信息的方法 |
CN106096455A (zh) * | 2016-08-08 | 2016-11-09 | 王波 | 一种主机内核数据还原保护方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111444504A (zh) * | 2020-03-30 | 2020-07-24 | 安芯网盾(北京)科技有限公司 | 一种用于软件运行时自动识别恶意代码的方法及装置 |
CN111949252A (zh) * | 2020-07-23 | 2020-11-17 | 网易(杭州)网络有限公司 | 一种数据处理方法、装置和电子设备 |
CN111949252B (zh) * | 2020-07-23 | 2023-09-08 | 网易(杭州)网络有限公司 | 一种数据处理方法、装置和电子设备 |
CN114707147A (zh) * | 2022-06-05 | 2022-07-05 | 荣耀终端有限公司 | 业务请求处理方法及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11106792B2 (en) | Methods and systems for performing a dynamic analysis of applications for protecting devices from malwares | |
EP1674965B1 (en) | Computer security management in a virtual machine or hardened operating system | |
EP3761208B1 (en) | Trust zone-based operating system and method | |
RU2645268C2 (ru) | Сложное классифицирование для выявления вредоносных программ | |
US11328060B2 (en) | Multi-tiered sandbox based network threat detection | |
CN107977573B (zh) | 用于安全的盘访问控制的方法和系统 | |
US11070570B2 (en) | Methods and cloud-based systems for correlating malware detections by endpoint devices and servers | |
US8694833B2 (en) | Methods, media, and systems for detecting an anomalous sequence of function calls | |
US9411743B2 (en) | Detecting memory corruption | |
KR20160030385A (ko) | 가상 머신에서 멀웨어 탐지를 위한 프로세스 평가 | |
US20100280999A1 (en) | Ensuring data persistence and consistency in enterprise storage backup systems | |
US9542557B2 (en) | Snoop-based kernel integrity monitoring apparatus and method thereof | |
CA2626993A1 (en) | Methods, media and systems for detecting anomalous program executions | |
Wang et al. | SIGDROP: Signature-based ROP detection using hardware performance counters | |
CN109086602A (zh) | 针对内核数据修改的拦截方法、装置及计算机存储介质 | |
WO2014143005A1 (en) | Hypervisor-based buffer overflow detection and prevention | |
Zhou et al. | Hardware-based workload forensics: Process reconstruction via TLB monitoring | |
EP3831031B1 (en) | Listen mode for application operation whitelisting mechanisms | |
CN114556338A (zh) | 恶意软件标识 | |
DaSilva et al. | Hardware Based Detection, Recovery, and Tamper Evident Concept to Protect from Control Flow Violations in Embedded Processing | |
Shropshire | Hyperthreats: Hypercall-based dos attacks | |
Sokolov et al. | Hardware-based memory acquisition procedure for digital investigations of security incidents in industrial control systems | |
Sato et al. | VMBLS: Virtual machine based logging scheme for prevention of tampering and loss | |
Xu et al. | IR4CF: A intrusion replay system for computer forensics | |
Tian et al. | Efficient Shellcode Detection on Commodity Hardware |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181225 |
|
RJ01 | Rejection of invention patent application after publication |