CN112199678B - 一种在线取证的方法、装置、计算机设备和可读存储介质 - Google Patents
一种在线取证的方法、装置、计算机设备和可读存储介质 Download PDFInfo
- Publication number
- CN112199678B CN112199678B CN202011024888.4A CN202011024888A CN112199678B CN 112199678 B CN112199678 B CN 112199678B CN 202011024888 A CN202011024888 A CN 202011024888A CN 112199678 B CN112199678 B CN 112199678B
- Authority
- CN
- China
- Prior art keywords
- page
- physical memory
- memory
- memory area
- protected
- 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 78
- 230000015654 memory Effects 0.000 claims abstract description 249
- 238000012986 modification Methods 0.000 claims abstract description 43
- 230000004048 modification Effects 0.000 claims abstract description 43
- 230000008569 process Effects 0.000 claims abstract description 37
- 230000007246 mechanism Effects 0.000 claims abstract description 20
- 230000005856 abnormality Effects 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 11
- 238000012546 transfer Methods 0.000 claims description 7
- 230000006399 behavior Effects 0.000 abstract description 3
- 238000013507 mapping Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000001960 triggered effect Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 108010001267 Protein Subunits Proteins 0.000 description 1
- 241000700605 Viruses Species 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000001066 destructive effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003068 static 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/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
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/18—Legal services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- General Health & Medical Sciences (AREA)
- Tourism & Hospitality (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Technology Law (AREA)
- Virology (AREA)
- Economics (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Storage Device Security (AREA)
Abstract
本申请涉及一种在线取证的方法、装置、计算机设备和可读存储介质,通过获取在线取证软件的进程信息;根据所述进程信息,得到待保护的内存区域;在检测到恶意程序对所述待保护的内存区域的代码段进行修改操作时,利用虚拟化页表机制,将所述修改操作转移到其他物理内存页面中;当所述代码段被执行时,再将所述执行操作转移到原物理内存页面中。本申请利用虚拟化页表机制将恶意程序的修改操作转移到其他物理页面上,能够欺骗恶意软件,使恶意软件认为已经篡改成功,防止恶意软件掩饰其自身的行为,同时在线取证软件在原物理内存上完成执行操作,能够获得未被恶意程序篡改的可靠信息。
Description
技术领域
本申请涉及信息安全领域,特别是涉及一种在线取证软件的方法、装置、计算机设备和计算机可读存储介质。
背景技术
随着计算机技术的发展,计算机病毒的发展也日新月异,破坏力惊人,受害者众多。因此,人们需要对针对计算机犯罪行为进行分析以确认罪犯及计算机证据,并对此提出诉讼。人们常用的计算机取证技术有在线取证和离线取证。
在现有技术中,进行在线取证的方式主要有两种:第一种,通过原始文件和内存补丁操作还原被入侵的系统内核,但内存补丁很可能被正在运行的恶意软件发现,恶意软件可以采取暂时停止恶意行为或将内存补丁还原来规避上述操作;第二种,通过比恶意软件更底层的接口,获取系统真实信息,但这种方式获取的接口信息很可能已经被恶意软件修改了接口调用路径,难以确保底层接口的完整性。
目前针对相关技术中在线取证软件容易被恶意软件欺骗,难以获得真实信息的问题,尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种在线取证的方法、装置、计算机设备和可读存储介质,以至少解决相关技术中在线取证软件容易被恶意软件欺骗,难以获得真实信息的问题。
第一方面,本申请实施例提供了一种在线取证的方法,所述方法包括:
获取在线取证软件的进程信息;
根据所述进程信息,得到待保护的内存区域;
在检测到恶意程序对所述待保护的内存区域的代码段进行修改操作时,利用虚拟化页表机制,将所述修改操作转移到其他物理内存页面中;当所述代码段被执行时,再将所述执行操作转移到原物理内存页面中。
在其中一些实施例中,所述根据所述进程信息,得到待保护的内存区域包括:
根据所述进程信息中的代码段地址和动态链接库,获得所述内存区域。
在其中一些实施例中,在检测到恶意程序对所述待保护的内存区域的代码段进行修改操作时,利用虚拟化页表机制,将所述修改操作转移到其他物理内存页面中;当所述代码段被执行时,再将所述执行操作转移到原物理内存页面中,包括以下步骤:
修改扩展页表,将所述待保护的内存区域设置为禁止读写;
当检测到所述恶意程序对所述待保护的内存区域中的代码段进行修改操作时,复制所述内存区域中虚拟内存页面所映射的所述原物理内存页面,生成新物理内存页面;
再次修改所述扩展页表,将所述修改操作转移到所述新物理内存页面中,并将所述新物理内存页面设置为禁止执行;
当所述在线取证软件执行所述待保护的内存区域中的代码段时,再次修改所述扩展页表,使所述待保护的内存区域中的虚拟内存映射到所述原物理内存页面,将所述执行操作转移到所述原物理内存页面中。
在其中一些实施例中,当所述在线取证软件执行所述新物理内存页面时,产生扩展页面异常;
在所述扩展页表异常产生后,修改所述扩展页表,将所述执行操作转移到所述原物理内存页面中。
第二方面,本申请实施例提供了一种在线取证的装置,所述装置包括获取模块、内存区域模块和取证模块;
所述获取模块,用于获取在线取证软件的进程信息;
所述内存区域模块,用于根据所述进程信息,得到待保护的内存区域;
所述取证模块,用于在检测到恶意程序对所述待保护的内存区域的代码段进行修改操作时,利用CPU的虚拟化页表机制,将所述修改操作转移到其他物理内存中;当所述代码段被执行时,再将所述执行操作转移到原物理内存中。
在其中一些实施例中,所述内存区域模块还用于根据所述进程信息中的代码段地址和动态链接库,获得所述内存区域。
在其中一些实施例中,所述取证模块包括第一扩展页表修改单元、复制单元、第二扩展页表修改单元和执行单元;
所述第一扩展页表修改单元,用于修改扩展页表,将所述待保护的内存区域设为禁止读写;
所述复制单元,用于当检测到所述恶意程序对所述待保护的内存区域中的代码段进行修改操作时,复制所述内存区域中虚拟内存页面所映射的所述原物理内存页面,生成新物理内存页面;
所述第二扩展页表修改单元,用于再次修改所述扩展页表,将所述修改操作转移到所述新物理内存页面中,并将所述新物理内存页面设置为禁止执行;
所述执行单元,当所述在线取证软件执行所述待保护的内存区域中的代码段时,再次修改所述扩展页表,使所述待保护的内存区域中的虚拟内存映射到所述原物理内存页面,将所述执行操作转移到所述原物理内存页面中将所述执行操作转移到原物理内存页面。
在其中一些实施例中,所述执行单元包括异常产生单元子单元和执行子单元;
所述异常产生子单元,用于当所述在线取证软件执行所述新物理内存页面时,产生扩展页面异常;
所述执行子单元,用于当所述扩展页表异常产生后,修改扩展页表,使所述在线取证软件的执行操作转移到所述原物理内存页面。
第三方面,本申请实施例提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的一种在线取证的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所述的一种在线取证的方法。
相比于相关技术,本申请提供的一种在线取证的方法、装置、计算机设备和可读存储介质,通过获取在线取证软件的进程信息;根据所述进程信息,得到待保护的内存区域;在检测到恶意程序对所述待保护的内存区域的代码段进行修改操作时,利用虚拟化页表机制,将所述修改操作转移到其他物理内存页面中;当所述代码段被执行时,再将所述执行操作转移到原物理内存页面中。本申请利用虚拟化页表机制将恶意程序的修改操作转移到其他物理页面上,能够欺骗恶意软件,使恶意软件认为已经篡改成功,防止恶意软件掩饰其自身的行为,同时在线取证软件在原物理内存上完成执行操作,能够获得未被恶意程序篡改的可靠信息,解决了现有技术中在线取证软件容易被恶意软件欺骗,难以获得真实信息的问题。
本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的一种在线取证的方法的流程图;
图2是根据本申请实施例的一种在线取证的装置的结构图;
图3是根据本发明实施例中一种在线取证的方法的计算机设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
本申请中所提到的虚拟化页表机制,又称“二次页表转换”(Second LevelAddress Translation,SLAT),是一种基于硬件设计的虚拟化内存管理机制。目的在于通过CPU实现虚拟机到宿主机的,虚拟机虚拟内存地址---宿主机物理内存地址映射。不同的CPU厂商各自都实现了这种技术,AMD称作Rapid Virtualization Indexing(RVI),Intel称作Extended Page Table(EPT),ARM称作Stage-2page-tables。
本申请所提供的在线取证的方法是基于虚拟化页表机制的,故可用于任何支持该机制的CPU上,可适用于任何操作系统。
本实施例提供了一种在线取证的方法,可用于在线取证,图1是根据本申请实施例的一种在线取证的方法的流程图,如图1所示,该方法包括:
步骤S101,获取在线取证软件的进程信息。上述进程信息中包括进程标识符(Process ID,简称PID),页表基址和加载的动态链接库。
步骤S102,根据所述进程信息,得到待保护的内存区域。所述待保护的内存区域其实就是在线取证软件运行时的进程的虚拟内存区域。
步骤S103,在检测到恶意程序对所述待保护的内存区域的代码段进行修改操作时,利用虚拟化页表机制,将所述修改操作转移到其他物理内存页面中;当所述代码段被执行时,再将所述执行操作转移到原物理内存页面中。
在进行检测前,可以设置一个监视器陷阱标志(Monitor Trap Flag)中断,当检测到恶意程序对所述待保护的内存区域的代码段进行修改操作时或当所述代码段被执行时,都会触发该监视器陷阱标志中断,触发该监视器陷阱标志中断后,为了保证中断程序后续还能捕获中断,会进行中断复位。然后中断处理程序会判断该监视器陷阱标志中断是由修改操作触发还是由执行操作触发,若是由修改操作触发,则中断处理程序将所述修改操作转移到其他物理内存页面中;若是由所述执行操作触发,则再将所述执行操作转移到原物理内存页面中。
上述步骤S101至步骤S103,利用虚拟化页表机制将恶意程序的修改操作转移到其他物理页面上,能够欺骗恶意软件,使恶意软件认为已经篡改成功,防止恶意软件掩饰其自身的行为,同时在线取证软件在原物理内存上完成执行操作,能够获得未被恶意程序篡改的可靠信息。
相比于相关技术中的通过原始文件和内存补丁操作还原被入侵的系统内核,但内存补丁很可能被正在运行的恶意软件发现,恶意软件可以采取暂时停止恶意行为或将内存补丁还原来规避上述操作;或通过比恶意软件更底层的接口,获取系统真实信息,但这种方式获取的接口信息很可能已经被恶意软件修改了接口调用路径,难以确保底层接口的完整性,导致难以获得可靠信息,本申请所提供的方法,很好地解决了现有技术中在线取证软件容易被恶意软件欺骗,难以获得真实信息的问题。
在一个可选实施例中,上述步骤S102,可以通过以下步骤实现:
根据所述进程信息中的代码段地址和动态链接库,获得所述内存区域。
在一个可选实施例中,上述步骤S103,可以通过以下步骤实现:
步骤S201,修改扩展页表,将所述待保护的内存区域设置为禁止读写。上述扩展页表(Extended Page Table,简称EPT)的页表项可以设置权限,禁止读写,所述内存区域中的文件不可以被查看或修改,当有程序试图读写的时候,就会产生扩展页表异常(ExtendedPage Table violation,简称EPT violation)。
步骤S202,当检测到所述恶意程序对所述待保护的内存区域中的代码段进行修改操作时,复制所述内存区域中虚拟内存页面所映射的所述原物理内存页面,生成新物理内存页面。当检测到所述恶意程序对所述待保护的内存区域中的代码段进行修改操作时,会触发扩展页表异常,此时,复制所述内存区域中虚拟内存页面所映射的所述原物理内存页面,生成新物理内存页面。
步骤S203,再次修改所述扩展页表,将所述修改操作转移到所述新物理内存页面中,并将所述新物理内存页面设置为禁止执行。上述扩展页表的页表项中包含权限信息与映射信息,再次修改扩展页表,将该新物理内存页面设置为不可执行且同时修改映射信息,使得原先映射到原物理内存页面的虚拟内存页面,现在映射到新物理内存页面。
步骤S204,当所述在线取证软件执行所述待保护的内存区域中的代码段时,再次修改所述扩展页表,使所述待保护的内存区域中的虚拟内存映射到所述原物理内存页面,将所述执行操作转移到所述原物理内存页面中。当所述在线取证软件执行所述待保护的内存区域中的代码段时,由于在步骤S203中已经将新物理页面设为不可执行,所以该执行操作会触发扩展页表异常,此时需要再次修改扩展页表中的映射信息,使得被修改过的映射关系恢复,将所述执行操作转移到所述原物理内存页面中。
在一个可选实施例中,上述步骤S203中将所述新物理内存页面设置为禁止执行后,还包括以下步骤:
步骤S301,当所述在线取证软件执行所述新物理内存页面时,产生扩展页面异常。由于在步骤S203中已经将新物理页面设为不可执行,所以该执行操作会触发扩展页表异常。
步骤S302,在所述扩展页表异常产生后,修改所述扩展页表,将所述执行操作转移到所述原物理内存页面中。此时需要再次修改扩展页表中的映射信息,使得被修改过的映射关系恢复,将所述执行操作转移到所述原物理内存页面中。
基于同一发明构思,本申请还提供了一种在线取证的装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
本实施例提供了一种在线取证的装置,可用于在线取证,图2是根据本申请实施例的一种在线取证的装置的结构图,如图2所示,该装置包括获取模块21、内存区域模块22和取证模块23。
所述获取模块21,用于获取在线取证软件的进程信息;
所述内存区域模块22,用于根据所述进程信息,得到待保护的内存区域;
所述取证模块23,用于在检测到恶意程序对所述待保护的内存区域的代码段进行修改操作时,利用虚拟化页表机制,将所述修改操作转移到其他物理内存中;当所述代码段被执行时,再将所述执行操作转移到原物理内存中。
在一个可选实施例中,上述内存区域模块22还用于根据所述进程信息中的代码段地址和动态链接库,获得所述内存区域。
在一个可选实施例中,上述取证模块23包括第一扩展页表修改单元、复制单元、第二扩展页表修改单元和执行单元;
所述第一扩展页表修改单元,用于修改扩展页表,将所述待保护的内存区域设为禁止读写;
所述复制单元,用于当检测到所述恶意程序对所述待保护的内存区域中的代码段进行修改操作时,复制所述内存区域中虚拟内存页面所映射的所述原物理内存页面,生成新物理内存页面;
所述第二扩展页表修改单元,用于再次修改所述扩展页表,将所述修改操作转移到所述新物理内存页面中,并将所述新物理内存页面设置为禁止执行;
所述执行单元,当所述在线取证软件执行所述待保护的内存区域中的代码段时,再次修改所述扩展页表,使所述待保护的内存区域中的虚拟内存映射到所述原物理内存页面,将所述执行操作转移到所述原物理内存页面中将所述执行操作转移到原物理内存页面。
在一个可选实施例中,执行单元还包括异常产生单元子单元和执行子单元;
所述异常产生子单元,用于当所述在线取证软件执行所述新物理内存页面时,产生扩展页面异常;
所述执行子单元,用于当所述扩展页表异常产生后,修改扩展页表,使所述在线取证软件的执行操作转移到所述原物理内存页面。
在一个实施例中,提供了一种计算机设备,图3是根据本发明实施例中一种在线取证的方法的计算机设备的结构示意图,该计算机设备可以是服务器,其内部结构图可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储区块链交易查询数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。所述处理器执行所述计算机程序时实现一种在线取证的方法,包括以下步骤:
S1,获取在线取证软件的进程信息。
S2,根据所述进程信息,得到待保护的内存区域。
S3,在检测到恶意程序对所述待保护的内存区域的代码段进行修改操作时,利用虚拟化页表机制,将所述修改操作转移到其他物理内存页面中;当所述代码段被执行时,再将所述执行操作转移到原物理内存页面中。
作为一种可实施方式,所述步骤S2,根据所述进程信息,得到待保护的内存区域,包括:
根据所述进程信息中的代码段地址和动态链接库,获得所述内存区域。
作为一种可实施方式,所述步骤S3,在检测到恶意程序对所述待保护的内存区域的代码段进行修改操作时,利用虚拟化页表机制,将所述修改操作转移到其他物理内存页面中;当所述代码段被执行时,再将所述执行操作转移到原物理内存页面中,包括以下步骤:
修改扩展页表,将所述待保护的内存区域设置为禁止读写。
当检测到所述恶意程序对所述待保护的内存区域中的代码段进行修改操作时,复制所述内存区域中虚拟内存页面所映射的所述原物理内存页面,生成新物理内存页面。
再次修改所述扩展页表,将所述修改操作转移到所述新物理内存页面中,并将所述新物理内存页面设置为禁止执行。
当所述在线取证软件执行所述待保护的内存区域中的代码段时,再次修改所述扩展页表,使所述待保护的内存区域中的虚拟内存映射到所述原物理内存页面,将所述执行操作转移到所述原物理内存页面中。
进一步的,在将所述新物理内存页面设置为禁止执行后,还包括:
当所述在线取证软件执行所述新物理内存页面时,产生扩展页面异常;
在所述扩展页表异常产生后,修改所述扩展页表,将所述执行操作转移到所述原物理内存页面中。
本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本申请实施例还提供了一种可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种在线取证的方法包括以下步骤:
S1,获取在线取证软件的进程信息。
S2,根据所述进程信息,得到待保护的内存区域。
S3,在检测到恶意程序对所述待保护的内存区域的代码段进行修改操作时,利用CPU的虚拟化页表机制,将所述修改操作转移到其他物理内存页面中。当所述代码段被执行时,再将所述执行操作转移到原物理内存页面中。
作为一种可实施方式,所述步骤S2,根据所述进程信息,得到待保护的内存区域,包括:
根据所述进程信息中的代码段地址和动态链接库,获得所述内存区域。
作为一种可实施方式,所述步骤S3,在检测到恶意程序对所述待保护的内存区域的代码段进行修改操作时,利用虚拟化页表机制,将所述修改操作转移到其他物理内存页面中。当所述代码段被执行时,再将所述执行操作转移到原物理内存页面中,包括以下步骤:
修改扩展页表,将所述待保护的内存区域设置为禁止读写。
当检测到所述恶意程序对所述待保护的内存区域中的代码段进行修改操作时,复制所述内存区域中虚拟内存页面所映射的所述原物理内存页面,生成新物理内存页面。
再次修改所述扩展页表,将所述修改操作转移到所述新物理内存页面中,并将所述新物理内存页面设置为禁止执行。
当所述在线取证软件执行所述待保护的内存区域中的代码段时,再次修改所述扩展页表,使所述待保护的内存区域中的虚拟内存映射到所述原物理内存页面,将所述执行操作转移到所述原物理内存页面中。
进一步的,在将所述新物理内存页面设置为禁止执行后,还包括:
当所述在线取证软件执行所述新物理内存页面时,产生扩展页面异常。
在所述扩展页表异常产生后,修改所述扩展页表,将所述执行操作转移到所述原物理内存页面中。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (8)
1.一种在线取证的方法,其特征在于,所述方法包括:
获取在线取证软件的进程信息;
根据所述进程信息,得到待保护的内存区域;
在检测到恶意程序对所述待保护的内存区域的代码段进行修改操作时,利用虚拟化页表机制,将所述修改操作转移到其他物理内存页面中;当所述代码段被执行时,再将所述执行操作转移到原物理内存页面中;
其中,包括:
修改扩展页表,将所述待保护的内存区域设置为禁止读写;
当检测到所述恶意程序对所述待保护的内存区域中的代码段进行修改操作时,复制所述内存区域中虚拟内存页面所映射的所述原物理内存页面,生成新物理内存页面;
再次修改所述扩展页表,将所述修改操作转移到所述新物理内存页面中,并将所述新物理内存页面设置为禁止执行;
当所述在线取证软件执行所述待保护的内存区域中的代码段时,再次修改所述扩展页表,使所述待保护的内存区域中的虚拟内存映射到所述原物理内存页面,将所述执行操作转移到所述原物理内存页面中。
2.根据权利要求1所述的方法,其特征在于,所述根据所述进程信息,得到待保护的内存区域包括:
根据所述进程信息中的代码段地址和动态链接库,获得所述内存区域。
3.根据权利要求1所述的方法,其特征在于,在将所述新物理内存页面设置为禁止执行后,还包括:
当所述在线取证软件执行所述新物理内存页面时,产生扩展页面异常;
在所述扩展页表异常产生后,修改所述扩展页表,将所述执行操作转移到所述原物理内存页面中。
4.一种在线取证的装置,其特征在于,所述装置包括获取模块、内存区域模块和取证模块;
所述获取模块,用于获取在线取证软件的进程信息;
所述内存区域模块,用于根据所述进程信息,得到待保护的内存区域;
所述取证模块,用于在检测到恶意程序对所述待保护的内存区域的代码段进行修改操作时,利用虚拟化页表机制,将所述修改操作转移到其他物理内存页面中;当所述代码段被执行时,再将所述执行操作转移到原物理内存页面中;
其中,所述取证模块包括第一扩展页表修改单元、复制单元、第二扩展页表修改单元和执行单元;
所述第一扩展页表修改单元,用于修改扩展页表,将所述待保护的内存区域设置为禁止读写;
所述复制单元,用于当检测到所述恶意程序对所述待保护的内存区域中的代码段进行修改操作时,复制所述内存区域中虚拟内存页面所映射的所述原物理内存页面,生成新物理内存页面;
所述第二扩展页表修改单元,用于再次修改所述扩展页表,将所述修改操作转移到所述新物理内存页面中,并将所述新物理内存页面设置为禁止执行;
所述执行单元,当所述在线取证软件执行所述待保护的内存区域中的代码段时,再次修改所述扩展页表,使所述待保护的内存区域中的虚拟内存映射到所述原物理内存页面,将所述执行操作转移到所述原物理内存页面中将所述执行操作转移到原物理内存页面。
5.根据权利要求4所述的装置,其特征在于,所述内存区域模块还用于根据所述进程信息中的代码段地址和动态链接库,获得所述内存区域。
6.根据权利要求4所述的装置,其特征在于,所述执行单元包括异常产生子单元和执行子单元;
所述异常产生子单元,用于当所述在线取证软件执行所述新物理内存页面时,产生扩展页面异常;
所述执行子单元,用于当所述扩展页表异常产生后,修改扩展页表,使所述在线取证软件的执行操作转移到所述原物理内存页面。
7.一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至3中任一项所述的一种在线取证的方法。
8.一种可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至3中任一项所述的一种在线取证的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011024888.4A CN112199678B (zh) | 2020-09-25 | 2020-09-25 | 一种在线取证的方法、装置、计算机设备和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011024888.4A CN112199678B (zh) | 2020-09-25 | 2020-09-25 | 一种在线取证的方法、装置、计算机设备和可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112199678A CN112199678A (zh) | 2021-01-08 |
CN112199678B true CN112199678B (zh) | 2024-04-09 |
Family
ID=74008318
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011024888.4A Active CN112199678B (zh) | 2020-09-25 | 2020-09-25 | 一种在线取证的方法、装置、计算机设备和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112199678B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114692153B (zh) * | 2022-04-11 | 2024-05-14 | 北京中睿天下信息技术有限公司 | 基于java程序的恶意代码检测方法、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103793331A (zh) * | 2012-10-31 | 2014-05-14 | 安凯(广州)微电子技术有限公司 | 一种物理内存管理方法及装置 |
CN107704324A (zh) * | 2017-07-20 | 2018-02-16 | 哈尔滨工业大学(威海) | 一种面向多核确定性的基于硬件的内存隔离方法 |
CN109120618A (zh) * | 2018-08-17 | 2019-01-01 | 武汉大学 | 一种基于硬件虚拟化的云平台受控侧信道攻击检测方法 |
CN109923546A (zh) * | 2016-12-19 | 2019-06-21 | 比特梵德知识产权管理有限公司 | 虚拟机安全性应用程序的事件过滤 |
CN109933441A (zh) * | 2019-02-28 | 2019-06-25 | 上海交通大学 | 微内核进程间通讯方法和系统 |
-
2020
- 2020-09-25 CN CN202011024888.4A patent/CN112199678B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103793331A (zh) * | 2012-10-31 | 2014-05-14 | 安凯(广州)微电子技术有限公司 | 一种物理内存管理方法及装置 |
CN109923546A (zh) * | 2016-12-19 | 2019-06-21 | 比特梵德知识产权管理有限公司 | 虚拟机安全性应用程序的事件过滤 |
CN107704324A (zh) * | 2017-07-20 | 2018-02-16 | 哈尔滨工业大学(威海) | 一种面向多核确定性的基于硬件的内存隔离方法 |
CN109120618A (zh) * | 2018-08-17 | 2019-01-01 | 武汉大学 | 一种基于硬件虚拟化的云平台受控侧信道攻击检测方法 |
CN109933441A (zh) * | 2019-02-28 | 2019-06-25 | 上海交通大学 | 微内核进程间通讯方法和系统 |
Non-Patent Citations (1)
Title |
---|
面向操作系统透明的动态内存半虚拟化技术;汪小林;孙逸峰;罗英伟;王振林;李宇;张彬彬;陈昊罡;李晓明;;中国科学:信息科学;20100515(05);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112199678A (zh) | 2021-01-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI436229B (zh) | 用以提供安全開機架構之系統與方法 | |
US11687645B2 (en) | Security control method and computer system | |
CN103119601B (zh) | 用于在独立于操作系统(os)的防病毒(av)扫描器上执行强制性安全策略的方法和装置 | |
DE112017004017T5 (de) | Sichere öffentliche cloud | |
CN105512550B (zh) | 用于活跃的操作系统内核保护的系统和方法 | |
US20160275019A1 (en) | Method and apparatus for protecting dynamic libraries | |
US10592352B1 (en) | Backup system | |
CN109558372B (zh) | 用于安全处理器的设备和方法 | |
JP6370098B2 (ja) | 情報処理装置、情報処理監視方法、プログラム、及び記録媒体 | |
CN112541166A (zh) | 一种方法、系统和计算机可读存储介质 | |
CN117743201A (zh) | 可从网络攻击和故障恢复的存储器设备 | |
US20190207917A1 (en) | Secure client authentication based on conditional provisioning of code signature | |
US10754943B2 (en) | Virtual machine kernel protection method and apparatus | |
US20150186681A1 (en) | Method of encryption and decryption for shared library in open operating system | |
US10303861B2 (en) | Software diversification in external contexts | |
CN112199678B (zh) | 一种在线取证的方法、装置、计算机设备和可读存储介质 | |
US20190370439A1 (en) | Secure system on chip for protecting software program from tampering, rehosting and piracy and method for operating the same | |
CN110457909B (zh) | 虚拟机内存的漏洞修复方法、装置及计算机设备 | |
WO2013069587A1 (ja) | 情報処理空間管理方法、外部デバイス及び情報処理装置 | |
WO2024148863A1 (zh) | 镜像的编译方法、装置、非易失性可读存储介质及电子设备 | |
CN116610498B (zh) | 基于对象存储的数据备份恢复方法、系统、设备及介质 | |
CN115422554B (zh) | 请求处理方法、编译方法和可信计算系统 | |
CN113609478B (zh) | 一种ios平台应用程序篡改检测方法及装置 | |
CN112115477B (zh) | 内核修复方法、装置、电子设备及存储介质 | |
CN108446161B (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 |