CN110688650B - 访问请求的监测方法及装置、存储介质、计算机设备 - Google Patents
访问请求的监测方法及装置、存储介质、计算机设备 Download PDFInfo
- Publication number
- CN110688650B CN110688650B CN201910755420.3A CN201910755420A CN110688650B CN 110688650 B CN110688650 B CN 110688650B CN 201910755420 A CN201910755420 A CN 201910755420A CN 110688650 B CN110688650 B CN 110688650B
- Authority
- CN
- China
- Prior art keywords
- page
- access
- address
- preset
- memory
- 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
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000012544 monitoring process Methods 0.000 title claims abstract description 39
- 230000006399 behavior Effects 0.000 claims abstract description 159
- 230000007246 mechanism Effects 0.000 claims abstract description 101
- 238000001471 micro-filtration Methods 0.000 claims abstract description 35
- 230000006870 function Effects 0.000 claims description 58
- 238000012545 processing Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 9
- 238000012806 monitoring device Methods 0.000 claims description 6
- 238000012795 verification Methods 0.000 claims description 4
- 238000011084 recovery Methods 0.000 claims description 3
- 238000004891 communication Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
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/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
-
- 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
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/034—Test or assess a computer or a system
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)
- Computing Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本申请公开了访问请求的监测方法及装置、存储介质、计算机设备,该方法包括:在系统内核层中,当接收到访问请求时,利用缺页中断机制对所述访问请求的访问行为进行实时监测;当所述缺页中断机制监测到所述访问行为对应的访问地址与所述缺页中断机制中预设的陷阱内存地址一致时,利用文件系统微型过滤驱动拦截对应所述访问请求的访问行为;利用所述缺页中断机制对拦截到的对应所述访问请求的访问行为进行相应的页表操作。本申请能够提高针对系统内核数据读写或者执行操作的安全性,从而保障系统内核数据的读写或者执行行为的合法性。
Description
技术领域
本申请涉及计算机技术领域,尤其是涉及到访问请求的监测方法及装置、存储介质、计算机设备。
背景技术
随着互联网技术的发展,网络安全显得尤为重要,但在现有的数据保护方案中,针对系统内核的访问行为的监测一直是业界难题,在针对系统内核的访问行为的监测中,标准的Windows内核驱动程序受限于Windows内核自身的防护约束,只能在其所允许的范围内进行有限的系统操控,但某些非法的访问行为并不受限于该防护约束,因此,当非法的访问行为在系统内核中执行时,极易出现恶意访问的情况。
可见,在某些非法的访问行为不受防护约束的情况下,即非法的访问行为在系统内核中执行时,恶意针对系统内核数据进行读写或者执行操作等,导致针对系统内核数据的读写或者执行操作的安全性受到极大的威胁,系统内核数据的安全性较低。
发明内容
有鉴于此,本申请提供了访问请求的监测方法及装置、存储介质、计算机设备,能够提高针对系统内核数据读写或者执行操作的安全性,从而保障系统内核数据的读写或者执行行为的合法性。
根据本申请的一个方面,提供了一种访问请求的监测方法,包括:
在系统内核层中,当接收到访问请求时,利用缺页中断机制对所述访问请求的访问行为进行实时监测;
当所述缺页中断机制监测到所述访问行为对应的访问地址与所述缺页中断机制中预设的缺页内存地址一致时,利用文件系统微型过滤驱动拦截对应所述访问请求的访问行为;
利用所述缺页中断机制对拦截到的对应所述访问请求的访问行为进行相应的页表操作。
根据本申请的另一方面,提供了一种访问请求的监测装置,包括:
监测模块,用于在系统内核层中,当接收到访问请求时,利用缺页中断机制对所述访问请求的访问行为进行实时监测;
拦截模块,用于当所述缺页中断机制监测到所述访问行为对应的访问地址与所述缺页中断机制中缺页的陷阱内存地址一致时,利用文件系统微型过滤驱动拦截对应所述访问请求的访问行为;
页表模块,用于利用所述缺页中断机制对拦截到的对应所述访问请求的访问行为进行相应的页表操作。
依据本申请又一个方面,提供了一种存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述数据访问方法。
依据本申请再一个方面,提供了一种计算机设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述访问请求的监测方法。
借由上述技术方案,本申请提供的数访问请求的监测方法及装置、存储介质、计算机设备,在系统内核层中,当接收到访问请求时,利用缺页中断机制对访问请求的访问行为进行实时监测;当缺页中断机制监测到访问行为对应的访问地址与缺页中断机制中预设的缺页内存地址一致时,利用文件系统微型过滤驱动拦截对应访问请求的访问行为;利用缺页中断机制对拦截到的对应访问请求的访问行为进行相应的页表操作。可见,利用缺页中断机制监测访问地址与缺页中断机制中预设的陷阱内存地址一致的访问行为,能够实现在系统内核层中对访问请求的监测,有效提高针对系统内核数据读写或者执行操作的安全性,从而保障系统内核数据的读写或者执行行为的合法性。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1示出了本申请实施例提供的访问请求的监测方法的流程示意图;
图2示出了本申请实施例提供的另一种访问请求的监测方法的流程示意图;
图3示出了本申请实施例提供的一种访问请求的监测装置的结构示意图;
图4示出了本申请实施例提供的另一种访问请求的监测装置的结构示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本申请。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
在本实施例中提供了一种访问请求的监测方法,如图1所示,该方法包括:
步骤101,在系统内核层中,当接收到访问请求时,利用缺页中断机制对所述访问请求的访问行为进行实时监测。
在本实施例中,在系统内核层中设置缺页中断机制,当在系统内核层接收到访问请求时,访问请求根据其所包含的访问地址进行相应的访问行为,所设置的缺页中断机制对该访问请求的访问行为进行实时监测,以便对该访问行为对应的访问地址进行相应的拦截处理。其中,访问请求对应的访问行为为对系统内核进行的读写、执行操作。
步骤102,当所述缺页中断机制监测到所述访问行为对应的访问地址与所述缺页中断机制中预设的缺页内存地址一致时,利用文件系统微型过滤驱动拦截对应所述访问请求的访问行为。
在本实施例中,缺页中断机制监测所有的访问请求,当访问请求的访问行为访问的访问地址为缺页中断机制中预设的缺页内存地址,则缺页中断机制触发缺页中断,文件系统微型过滤驱动拦截对应访问请求的访问行为。
其中,利用缺页中断条件判断访问请求的访问行为访问的访问地址与缺页中断机制中预设的缺页内存地址是否一致,缺页中断条件具体为:
pte.valid=false;pte.prototype=false;pte.reserved0=false;pte.write=false;pte.owner=false;pte.write_through=false;pte.cache_disable=false;pte.software_ws_index!=0;
若访问请求的访问行为访问的访问地址对应的虚拟内存页面的页表标志位信息满足上述缺页中断条件,则确定访问请求的访问行为访问的访问地址与缺页中断机制中预设的缺页内存地址一致。若确定访问请求的访问行为访问的访问地址与缺页中断机制中预设的缺页内存地址一致,则回调函数对访问行为进行缺页中断处理。
步骤103,利用所述缺页中断机制对拦截到的对应所述访问请求的访问行为进行相应的页表操作。
在本实施例中,若所述回调函数获取到的所述访问行为的访问地址与预设的陷阱内存地址不一致,则保持预设的陷阱内存地址对应的虚拟内存页面的页表不变,并对拦截到的对应所述访问请求的访问行为进行放行操作。
通过应用本实施例的技术方案,在系统内核层中,当接收到访问请求时,利用缺页中断机制对访问请求的访问行为进行实时监测;当缺页中断机制监测到访问行为对应的访问地址与缺页中断机制中预设的陷阱内存地址一致时,利用文件系统微型过滤驱动拦截对应访问请求的访问行为;利用缺页中断机制对拦截到的对应访问请求的访问行为进行相应的页表操作。与现有的标准的Windows内核驱动程序受限于Windows内核自身的防护约束,只能在其所允许的范围内进行有限的系统操控相比,本实施例利用缺页中断机制监测访问地址与缺页中断机制中预设的陷阱内存地址一致的访问行为,能够实现在系统内核层中对访问请求的监测,有效提高针对系统内核数据读写或者执行操作的安全性,从而保障系统内核数据的读写或者执行行为的合法性。
进一步的,作为上述实施例具体实施方式的细化和扩展,为了完整说明本实施例的具体实施过程,提供了另一种访问请求的监测方法,如图2所示,该方法包括:
步骤201,设置缺页中断机制。
为了说明步骤201的具体实施方式,作为一种优选实施例,步骤201具体包括:在系统内核层中注册文件系统微型过滤驱动,并在注册的文件系统微型过滤驱动中设置回调函数;以及,将预设的陷阱内存地址对应的虚拟内存页面设置为无效虚拟内存页面。
具体实施中,在注册的文件系统微型过滤驱动中设置回调函数IRP_MJ_READ,以便在访问请求的访问行为试图向预设的陷阱内存地址进行读写或者执行操作时,访问所设置的回调函数,从而在系统内核层实现对向预设的陷阱内存地址进行读写或者执行操作的访问行为的监测与拦截。
此外,将预设的陷阱内存地址对应的虚拟内存页面设置为无效虚拟内存页面,即将虚拟内存页面对应的页表PTE的有效第0位置0。
步骤202,若预设的陷阱内存地址对应的虚拟内存页面为分页内存页面,则对所述分页内存页面的页表进行启用操作。
为了说明步骤202的具体实施方式,作为一种优选实施例,步骤202具体包括:
步骤2021,获取与所述分页内存页面匹配的连续的多个非分页内存页面。
步骤2022,设置所述多个非分页内存页面的页表指向所述分页内存页面的原始地址对应的物理地址。
步骤2023,利用新的页目录表更新所述分页内存页面的原始页目录表,并关闭所述分页内存页面的标志位large_page。
具体实施中,在系统内核层中存在分页内存页面,例如,ntos kernel的内存地址对应的虚拟内存页面的页目录表PDE即2M大页面。通常2M大页面的页表PTE是无效的,因此,对2M大页面的页表进行启用操作,具体为:
申请2M大小的连续的多个4kb非分页内存页面;设置多个4kb非分页内存页面的页表PTE指向大分页的原始地址对应的物理地址,例如,ntos kernelbase的物理地址为pfn;申请并构造新的页目录表PDE,用于替换大分页的原始页目录表PDE,并设置大分页的标志位large_page为0,以关闭大分页的标志位large_page。当页目录表PDE替换成功后,指向原始地址对应的物理地址的大页面被替换为连续的多个4kb非分页内存页面,即页表PTE被启用。
当页表PTE被启用后,备份原始页表PTE,并设置原始页表PTE的缺页标志位,用于预设陷阱内存地址,以实现向预设的陷阱内存地址进行读写或者执行操作的访问行为的监测与拦截。其中,原始页表PTE的缺页标志位设置具体为:
pte.valid=false;pte.prototype=false;pte.reserved0=false;pte.write=false;pte.owner=false;pte.write_through=false;pte.cache_disable=false;pte.software_ws_index=1;
页表PTE的缺页标志位设置完成后,当访问行为向预设的陷阱内存地址进行读写或者执行操作时,缺页中断机制触发中断,并进入IDT 0x0EKiPageFault函数,经IDT 0x0EKiPageFault函数进行处理后直接访问MmAccessFault函数,MmAccessFault函数对触发缺页中断的缺页内存地址进行验证,当满足缺页中断条件时,MmAccessFault函数调用IoPageRead函数,访问回调函数IRP_MJ_READ,以实现对向预设的陷阱内存地址进行读写或者执行操作的访问行为的监测与拦截。
需要说明的是,缺页中断机制中包括多个缺页内存地址,因此,当触发中断后,进一步判断所拦截的访问行为对应的访问地址是否与预设的陷阱内存地址一致,从而确定是否为向预设的陷阱内存地址进行读写或者执行操作的访问行为。
步骤203,当所述缺页中断机制监测到所述访问行为对应的访问地址与所述缺页中断机制中预设的缺页内存地址一致时,所述访问行为访问文件系统微型过滤驱动的回调函数。
步骤204,所述回调函数根据预设的陷阱内存地址对应的虚拟内存页面的页表标志位信息,判断所述访问行为对应的访问地址是否指向所述预设的陷阱内存地址对应的虚拟内存页面。
步骤205,若所述访问行为对应的访问地址指向预设的陷阱内存地址对应的虚拟内存页面,则所述回调函数对所述访问行为进行缺页中断处理。进入步骤206。
步骤206,所述回调函数对所述访问行为进行缺页中断处理。
步骤207,判断所述缺页中断机制中的回调函数获取到的所述访问行为的访问地址是否为预设的陷阱内存地址。
步骤208,若所述回调函数获取到的所述访问行为的访问地址与预设的陷阱内存地址一致,则恢复预设的陷阱内存地址对应的虚拟内存页面的页表。
具体实施中,当访问行为访问回调函数后,回调函数根据与访问行为对应的回调参数Data->Iopb->Parameters.Read.ReadBuffer和/或Data->Iopb->Parameters.Read.MdlAddress确定访问行为的访问地址,若访问行为的访问地址与预设的陷阱内存地址一致,则进一步判断该访问行为是否为攻击行为,若该访问行为为攻击行为,则针对该访问行为进行相应处理,若该访问行为为合法行为,则恢复原始页表PTE,设置Data->IoStatus,并在回调函数中返回FLT_PREOP_COMPLETE函数,以便该访问行为返回触发缺页中断的内存位置。
例如,当访问请求为shellcode时,对shellcode的访问地址预设陷阱内存地址,当shellcode访问到预设的陷阱内存地址时,触发缺页中断,从而实现对shellcode的拦截,有效提高针对系统内核数据读写或者执行操作的安全性。
需要说明的是,若访问行为的访问地址与预设的陷阱内存地址不一致,则该访问行为为合法行为,对所拦截的访问行为进行放行操作。
根据实际应用场景的需要,当确定访问请求为针对内核数据的攻击行为后,通过比对的方式判断该访问请求是否为已知攻击代码,若该访问请求为已知攻击代码,则通过篡改后续指令、标志位、寄存器等方式对所拦截的访问请求进行阻断;若该访问请求为未知攻击代码,则利用伪造数据替换内核支持函数的方式控制未知攻击代码的执行行为,从而化解攻击行为。
通过应用本实施例的技术方案,在系统内核层中,当接收到访问请求时,利用缺页中断机制对访问请求的访问行为进行实时监测;当缺页中断机制监测到访问行为对应的访问地址与缺页中断机制中预设的缺页内存地址一致时,利用文件系统微型过滤驱动拦截对应访问请求的访问行为;利用缺页中断机制对拦截到的对应访问请求的访问行为进行相应的页表操作。可见,本实施例利用缺页中断机制监测访问地址与缺页中断机制中预设的陷阱内存地址一致的访问行为,能够实现在系统内核层中对访问请求的监测,有效提高针对系统内核数据读写或者执行操作的安全性,从而保障系统内核数据的读写或者执行行为的合法性。
进一步的,作为图1方法的具体实现,本申请实施例提供了一种访问请求的监测装置,如图3所示,该装置包括:监测模块33、拦截模块34和页表模块35。
监测模块33,用于在系统内核层中,当接收到访问请求时,利用缺页中断机制对所述访问请求的访问行为进行实时监测。
拦截模块34,用于当所述缺页中断机制监测到所述访问行为对应的访问地址与所述缺页中断机制中预设的缺页内存地址一致时,利用文件系统微型过滤驱动拦截对应所述访问请求的访问行为。
页表模块35,用于利用所述缺页中断机制对拦截到的对应所述访问请求的访问行为进行相应的页表操作。
在具体的应用场景中,如图4所示,还包括:设置模块31、启用模块32。
设置模块31,用于设置缺页中断机制。
所述设置模块31,具体包括:在系统内核层中注册文件系统微型过滤驱动,并在注册的文件系统微型过滤驱动中设置回调函数;以及,将预设的陷阱内存地址对应的虚拟内存页面设置为无效虚拟内存页面。
启用模块32,用于若预设的陷阱内存地址对应的虚拟内存页面为分页内存页面,则对所述分页内存页面的页表进行启用操作。
所述启用模块32,具体包括:获取与所述分页内存页面匹配的连续的多个非分页内存页面;以及,设置所述多个非分页内存页面的页表指向所述分页内存页面的原始地址对应的物理地址;以及,利用新的页目录表更新所述分页内存页面的原始页目录表,并关闭所述分页内存页面的标志位large_page。
在具体的应用场景中,如图4所示,所述拦截模块34,具体包括:回调单元341、中断单元344。
回调单元341,用于当所述缺页中断机制监测到所述访问行为对应的访问地址与所述缺页中断机制中预设的陷阱内存地址一致时,所述访问行为访问文件系统微型过滤驱动的回调函数。
中断单元344,用于所述回调函数对所述访问行为进行缺页中断处理。
在具体的应用场景中,如图4所示,所述拦截模块34,具体还包括:验证单元342、确定单元343。
验证单元342,用于所述回调函数根据预设的陷阱内存地址对应的虚拟内存页面的页表标志位信息,判断所述访问行为对应的访问地址是否指向所述预设的陷阱内存地址对应的虚拟内存页面。
确定单元343,用于若所述访问行为对应的访问地址指向预设的陷阱内存地址对应的虚拟内存页面,则所述回调函数对所述访问行为进行缺页中断处理。
在具体的应用场景中,如图4所示,所述页表模块35,具体还包括:判断单元351、恢复单元352。
判断单元351,用于判断所述缺页中断机制中的回调函数获取到的所述访问行为的访问地址是否为预设的陷阱内存地址。
恢复单元352,用于若所述回调函数获取到的所述访问行为的访问地址与预设的陷阱内存地址一致,则恢复预设的陷阱内存地址对应的虚拟内存页面的页表。
需要说明的是,本申请实施例提供的一种访问请求的监测装置所涉及各功能单元的其他相应描述,可以参考图1和图2中的对应描述,在此不再赘述。
基于上述如图1和图2所示方法,相应的,本申请实施例还提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述如图1和图2所示的访问请求的监测方法。
基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景所述的方法。
基于上述如图1、图2所示的方法,以及图3、图4所示的虚拟装置实施例,为了实现上述目的,本申请实施例还提供了一种计算机设备,具体可以为个人计算机、服务器、网络设备等,该计算机设备包括存储介质和处理器;存储介质,用于存储计算机程序;处理器,用于执行计算机程序以实现上述如图1和图2所示的访问请求的监测方法。
可选地,该计算机设备还可以包括用户接口、网络接口、摄像头、射频(RadioFrequency,RF)电路,传感器、音频电路、WI-FI模块等等。用户接口可以包括显示屏(Display)、输入单元比如键盘(Keyboard)等,可选用户接口还可以包括USB接口、读卡器接口等。网络接口可选的可以包括标准的有线接口、无线接口(如蓝牙接口、WI-FI接口)等。
本领域技术人员可以理解,本实施例提供的一种计算机设备结构并不构成对该计算机设备的限定,可以包括更多或更少的部件,或者组合某些部件,或者不同的部件布置。
存储介质中还可以包括操作系统、网络通信模块。操作系统是管理和保存计算机设备硬件和软件资源的程序,支持信息处理程序以及其它软件和/或程序的运行。网络通信模块用于实现存储介质内部各组件之间的通信,以及与该实体设备中其它硬件和软件之间通信。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以借助软件加必要的通用硬件平台的方式来实现,也可以通过硬件在系统内核层中进行实现,即当接收到访问请求时,利用缺页中断机制对访问请求的访问行为进行实时监测;当缺页中断机制监测到访问行为对应的访问地址与缺页中断机制中预设的缺页内存地址一致时,利用文件系统微型过滤驱动拦截对应访问请求的访问行为;利用缺页中断机制对拦截到的对应访问请求的访问行为进行相应的页表操作。可见,利用缺页中断机制监测访问地址与缺页中断机制中预设的陷阱内存地址一致的访问行为,能够实现在系统内核层中对访问请求的监测,有效提高针对系统内核数据读写或者执行操作的安全性,从而保障系统内核数据的读写或者执行行为的合法性。
本发明实施例提供了以下技术方案:
A1、一种访问请求的监测方法,包括:
在系统内核层中,当接收到访问请求时,利用缺页中断机制对所述访问请求的访问行为进行实时监测;
当所述缺页中断机制监测到所述访问行为对应的访问地址与所述缺页中断机制中预设的缺页内存地址一致时,利用文件系统微型过滤驱动拦截对应所述访问请求的访问行为;
利用所述缺页中断机制对拦截到的对应所述访问请求的访问行为进行相应的页表操作。
A2、根据权利要求A1所述的方法,还包括:设置缺页中断机制,具体包括:
在系统内核层中注册文件系统微型过滤驱动,并在注册的文件系统微型过滤驱动中设置回调函数;
将预设的陷阱内存地址对应的虚拟内存页面设置为无效虚拟内存页面。
A3、根据权利要求A1所述的方法,还包括:
若预设的陷阱内存地址对应的虚拟内存页面为分页内存页面,则对所述分页内存页面的页表进行启用操作。
A4、根据权利要求A3所述的方法,所述若预设的陷阱内存地址对应的虚拟内存页面为分页内存页面,则对所述分页内存页面的页面进行启用操作,具体包括:
获取与所述分页内存页面匹配的连续的多个非分页内存页面;
设置所述多个非分页内存页面的页表指向所述分页内存页面的原始地址对应的物理地址;
利用新的页目录表更新所述分页内存页面的原始页目录表,并关闭所述分页内存页面的标志位large_page。
A5、根据权利要求A2所述的方法,所述当所述缺页中断机制监测到所述访问行为对应的访问地址与所述缺页中断机制中预设的缺页内存地址一致时,利用文件系统微型过滤驱动拦截对应所述访问请求的访问行为,具体包括:
当所述缺页中断机制监测到所述访问行为对应的访问地址与所述缺页中断机制中预设的缺页内存地址一致时,所述访问行为访问文件系统微型过滤驱动的回调函数;
所述回调函数对所述访问行为进行缺页中断处理。
A6、根据权利要求A5所述的方法,所述回调函数对所述访问行为进行缺页中断处理步骤之前,还包括:
所述回调函数根据预设的陷阱内存地址对应的虚拟内存页面的页表标志位信息,判断所述访问行为对应的访问地址是否指向所述预设的陷阱内存地址对应的虚拟内存页面;
若所述访问行为对应的访问地址指向预设的陷阱内存地址对应的虚拟内存页面,则所述回调函数对所述访问行为进行缺页中断处理。
A7、根据权利要求A1或A6所述的方法,所述利用所述缺页中断机制对拦截到的对应所述访问请求的访问行为进行相应的页表操作,具体包括:
判断所述缺页中断机制中的回调函数获取到的所述访问行为的访问地址是否为预设的陷阱内存地址;
若所述回调函数获取到的所述访问行为的访问地址与预设的陷阱内存地址一致,则恢复预设的陷阱内存地址对应的虚拟内存页面的页表。
B8、一种访问请求的监测装置,包括:
监测模块,用于在系统内核层中,当接收到访问请求时,利用缺页中断机制对所述访问请求的访问行为进行实时监测;
拦截模块,用于当所述缺页中断机制监测到所述访问行为对应的访问地址与所述缺页中断机制中预设的缺页内存地址一致时,利用文件系统微型过滤驱动拦截对应所述访问请求的访问行为;
页表模块,用于利用所述缺页中断机制对拦截到的对应所述访问请求的访问行为进行相应的页表操作。
B9、根据权利要求B8所述的装置,还包括:
设置模块,用于设置缺页中断机制;
所述设置模块,具体包括:
在系统内核层中注册文件系统微型过滤驱动,并在注册的文件系统微型过滤驱动中设置回调函数;
将预设的陷阱内存地址对应的虚拟内存页面设置为无效虚拟内存页面。
B10、根据权利要求B8所述的装置,还包括:
启用模块,用于若预设的陷阱内存地址对应的虚拟内存页面为分页内存页面,则对所述分页内存页面的页表进行启用操作。
B11、根据权利要求B10所述的装置,所述启用模块,具体包括:
获取与所述分页内存页面匹配的连续的多个非分页内存页面;
设置所述多个非分页内存页面的页表指向所述分页内存页面的原始地址对应的物理地址;
利用新的页目录表更新所述分页内存页面的原始页目录表,并关闭所述分页内存页面的标志位large_page。
B12、根据权利要求B9所述的装置,所述拦截模块,具体包括:
回调单元,用于当所述缺页中断机制监测到所述访问行为对应的访问地址与所述缺页中断机制中预设的缺页内存地址一致时,所述访问行为访问文件系统微型过滤驱动的回调函数;
中断单元,用于所述回调函数对所述访问行为进行缺页中断处理。
B13、根据权利要求B12所述的装置,所述拦截模块,具体还包括:
验证单元,用于所述回调函数根据预设的陷阱内存地址对应的虚拟内存页面的页表标志位信息,判断所述访问行为对应的访问地址是否指向所述预设的陷阱内存地址对应的虚拟内存页面;
确定单元,用于若所述访问行为对应的访问地址指向预设的陷阱内存地址对应的虚拟内存页面,则所述回调函数对所述访问行为进行缺页中断处理。
B14、根据权利要求B8或B13所述的装置,所述页表模块,具体包括:
判断单元,用于判断所述缺页中断机制中的回调函数获取到的所述访问行为的访问地址是否为预设的陷阱内存地址;
恢复单元,用于若所述回调函数获取到的所述访问行为的访问地址与预设的陷阱内存地址一致,则恢复预设的陷阱内存地址对应的虚拟内存页面的页表。
C15、一种存储介质,其上存储有计算机程序,所述程序被处理器执行时实现权利要求A1至A7中任一项所述的访问请求的监测方法。
D16、一种计算机设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现权利要求A1至A7中任一项所述的访问请求的监测方法。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本申请所必须的。本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本申请序号仅仅为了描述,不代表实施场景的优劣。以上公开的仅为本申请的几个具体实施场景,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。
Claims (12)
1.一种访问请求的监测方法,其特征在于,包括:
在系统内核层中,当接收到访问请求时,利用缺页中断机制对所述访问请求的访问行为进行实时监测;
当所述缺页中断机制监测到所述访问行为对应的访问地址与所述缺页中断机制中预设的缺页内存地址一致时,利用文件系统微型过滤驱动拦截对应所述访问请求的访问行为;
所述当所述缺页中断机制监测到所述访问行为对应的访问地址与所述缺页中断机制中预设的缺页内存地址一致时,利用文件系统微型过滤驱动拦截对应所述访问请求的访问行为,具体包括:
利用预设缺页中断条件判断访问请求的访问行为访问的访问地址与缺页中断机制中预设的缺页内存地址是否一致;
当所述缺页中断机制监测到所述访问行为对应的访问地址与所述缺页中断机制中预设的缺页内存地址一致时,所述访问行为访问文件系统微型过滤驱动的回调函数;
所述回调函数根据预设的陷阱内存地址对应的虚拟内存页面的页表标志位信息,判断所述访问行为对应的访问地址是否指向所述预设的陷阱内存地址对应的虚拟内存页面;
若所述访问行为对应的访问地址指向预设的陷阱内存地址对应的虚拟内存页面,则所述回调函数对所述访问行为进行缺页中断处理;
利用所述缺页中断机制对拦截到的对应所述访问请求的访问行为进行相应的页表操作。
2.根据权利要求1所述的方法,其特征在于,还包括:设置缺页中断机制,具体包括:
在系统内核层中注册文件系统微型过滤驱动,并在注册的文件系统微型过滤驱动中设置回调函数;
将预设的陷阱内存地址对应的虚拟内存页面设置为无效虚拟内存页面。
3.根据权利要求1所述的方法,其特征在于,还包括:
若预设的陷阱内存地址对应的虚拟内存页面为分页内存页面,则对所述分页内存页面的页表进行启用操作。
4.根据权利要求3所述的方法,其特征在于,所述若预设的陷阱内存地址对应的虚拟内存页面为分页内存页面,则对所述分页内存页面的页面进行启用操作,具体包括:
获取与所述分页内存页面匹配的连续的多个非分页内存页面;
设置所述多个非分页内存页面的页表指向所述分页内存页面的原始地址对应的物理地址;
利用新的页目录表更新所述分页内存页面的原始页目录表,并关闭所述分页内存页面的标志位large_page。
5.根据权利要求1所述的方法,其特征在于,所述利用所述缺页中断机制对拦截到的对应所述访问请求的访问行为进行相应的页表操作,具体包括:
判断所述缺页中断机制中的回调函数获取到的所述访问行为的访问地址是否为预设的陷阱内存地址;
若所述回调函数获取到的所述访问行为的访问地址与预设的陷阱内存地址一致,则恢复预设的陷阱内存地址对应的虚拟内存页面的页表。
6.一种访问请求的监测装置,其特征在于,包括:
监测模块,用于在系统内核层中,当接收到访问请求时,利用缺页中断机制对所述访问请求的访问行为进行实时监测;
拦截模块,用于当所述缺页中断机制监测到所述访问行为对应的访问地址与所述缺页中断机制中预设的缺页内存地址一致时,利用文件系统微型过滤驱动拦截对应所述访问请求的访问行为;
所述拦截模块,具体包括:
回调单元,用于利用预设缺页中断条件判断访问请求的访问行为访问的访问地址与缺页中断机制中预设的缺页内存地址是否一致;当所述缺页中断机制监测到所述访问行为对应的访问地址与所述缺页中断机制中预设的缺页内存地址一致时,所述访问行为访问文件系统微型过滤驱动的回调函数;
验证单元,用于所述回调函数根据预设的陷阱内存地址对应的虚拟内存页面的页表标志位信息,判断所述访问行为对应的访问地址是否指向所述预设的陷阱内存地址对应的虚拟内存页面;
确定单元,用于若所述访问行为对应的访问地址指向预设的陷阱内存地址对应的虚拟内存页面,则所述回调函数对所述访问行为进行缺页中断处理;
中断单元,用于所述回调函数对所述访问行为进行缺页中断处理;
页表模块,用于利用所述缺页中断机制对拦截到的对应所述访问请求的访问行为进行相应的页表操作。
7.根据权利要求6所述的装置,其特征在于,还包括:
设置模块,用于设置缺页中断机制;
所述设置模块,具体包括:
在系统内核层中注册文件系统微型过滤驱动,并在注册的文件系统微型过滤驱动中设置回调函数;
将预设的陷阱内存地址对应的虚拟内存页面设置为无效虚拟内存页面。
8.根据权利要求6所述的装置,其特征在于,还包括:
启用模块,用于若预设的陷阱内存地址对应的虚拟内存页面为分页内存页面,则对所述分页内存页面的页表进行启用操作。
9.根据权利要求8所述的装置,其特征在于,所述启用模块,具体包括:
获取与所述分页内存页面匹配的连续的多个非分页内存页面;
设置所述多个非分页内存页面的页表指向所述分页内存页面的原始地址对应的物理地址;
利用新的页目录表更新所述分页内存页面的原始页目录表,并关闭所述分页内存页面的标志位large_page。
10.根据权利要求6或9所述的装置,其特征在于,所述页表模块,具体包括:
判断单元,用于判断所述缺页中断机制中的回调函数获取到的所述访问行为的访问地址是否为预设的陷阱内存地址;
恢复单元,用于若所述回调函数获取到的所述访问行为的访问地址与预设的陷阱内存地址一致,则恢复预设的陷阱内存地址对应的虚拟内存页面的页表。
11.一种存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现权利要求1至5中任一项所述的访问请求的监测方法。
12.一种计算机设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至5中任一项所述的访问请求的监测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910755420.3A CN110688650B (zh) | 2019-08-15 | 2019-08-15 | 访问请求的监测方法及装置、存储介质、计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910755420.3A CN110688650B (zh) | 2019-08-15 | 2019-08-15 | 访问请求的监测方法及装置、存储介质、计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110688650A CN110688650A (zh) | 2020-01-14 |
CN110688650B true CN110688650B (zh) | 2024-03-08 |
Family
ID=69108287
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910755420.3A Active CN110688650B (zh) | 2019-08-15 | 2019-08-15 | 访问请求的监测方法及装置、存储介质、计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110688650B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114519186A (zh) * | 2020-11-20 | 2022-05-20 | 华为技术有限公司 | 一种数据保护的方法、装置、存储介质和计算机设备 |
CN113221171A (zh) * | 2021-05-21 | 2021-08-06 | 杭州弗兰科信息安全科技有限公司 | 一种加密文件读写方法、装置、电子设备和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104123371A (zh) * | 2014-07-25 | 2014-10-29 | 上海交通大学 | 基于分层文件系统的Windows内核文件透明过滤的方法 |
CN110096871A (zh) * | 2019-05-10 | 2019-08-06 | 南京大学 | 一种基于硬件虚拟化的多核环境进程内核栈保护方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10489308B2 (en) * | 2017-06-29 | 2019-11-26 | Intel Corporation | Mitigating attacks on kernel address space layout randomization |
-
2019
- 2019-08-15 CN CN201910755420.3A patent/CN110688650B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104123371A (zh) * | 2014-07-25 | 2014-10-29 | 上海交通大学 | 基于分层文件系统的Windows内核文件透明过滤的方法 |
CN110096871A (zh) * | 2019-05-10 | 2019-08-06 | 南京大学 | 一种基于硬件虚拟化的多核环境进程内核栈保护方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110688650A (zh) | 2020-01-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9852289B1 (en) | Systems and methods for protecting files from malicious encryption attempts | |
US9516056B2 (en) | Detecting a malware process | |
US7665139B1 (en) | Method and apparatus to detect and prevent malicious changes to tokens | |
US11403180B2 (en) | Auxiliary storage device having independent recovery area, and device applied with same | |
US10783041B2 (en) | Backup and recovery of data files using hard links | |
US10007785B2 (en) | Method and apparatus for implementing virtual machine introspection | |
CN110688650B (zh) | 访问请求的监测方法及装置、存储介质、计算机设备 | |
US11809556B2 (en) | System and method for detecting a malicious file | |
CN108229190B (zh) | 透明加解密的控制方法、装置、程序、存储介质和电子设备 | |
Vella et al. | Volatile memory-centric investigation of SMS-hijacked phones: a Pushbullet case study | |
US20190163905A1 (en) | System, Method, and Apparatus for Preventing Execution of Malicious Scripts | |
US11736512B1 (en) | Methods for automatically preventing data exfiltration and devices thereof | |
CN112395609B (zh) | 应用层shellcode的检测方法及装置 | |
CN114730338A (zh) | 用于发现应用程序篡改的系统和方法 | |
US20240160735A1 (en) | Malware Detection and Registry Repair Scripting | |
CN105653931B (zh) | 一种数据处理方法及电子设备 | |
CN112395599B (zh) | 系统内核数据的攻击检测方法及装置、存储介质、计算机设备 | |
RU2762935C2 (ru) | Вычислительная машина с надежным и защищенным соединением с интернетом или сетью, обеспечивающая средства для обработки, манипуляции, приема, передачи и хранения информации, защищенной от хакеров, перехватчиков, вирусов, вредоносных программ и т.п. | |
RU2768196C9 (ru) | Защищённое запоминающее устройство | |
CN115329331A (zh) | 应用程序的入侵检测方法及装置、存储介质和电子设备 | |
CN117909962A (zh) | 内核驱动级别的浏览器插件防护方法及装置、介质、设备 | |
CN117009081A (zh) | 一种进程控制方法、装置及电子设备和存储介质 |
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 |