CN115935352A - 检测目标恶意软件的方法、装置、存储介质及电子设备 - Google Patents
检测目标恶意软件的方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN115935352A CN115935352A CN202211666375.2A CN202211666375A CN115935352A CN 115935352 A CN115935352 A CN 115935352A CN 202211666375 A CN202211666375 A CN 202211666375A CN 115935352 A CN115935352 A CN 115935352A
- Authority
- CN
- China
- Prior art keywords
- target
- operating system
- executable file
- support function
- kernel
- 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
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本发明涉及数据处理领域,特别是涉及一种检测目标恶意软件的方法、装置、存储介质及电子设备。该方法包括:将目标操作***中的每一***调用接口对应的内核支持函数均作为目标内核支持函数;获取每一目标内核支持函数对应的可执行文件的文件路径;可执行文件存储于目标操作***所在的电子设备的存储内存中;目标内核支持函数是由其对应的可执行文件加载至电子设备的运行内存中得到的;若任一文件路径与内核存储路径不符合预设的相似条件,则将目标操作***确定为已被目标恶意软件攻击的操作***;内核存储路径为目标操作***的内核在电子设备的存储内存中的存储路径。由此,可以提高对目标恶意软件进行检测的检测结果的准确度。
Description
技术领域
本发明涉及信息安全领域,特别是涉及一种检测目标恶意软件的方法、装置、存储介质及电子设备。
背景技术
rootkit是一种特殊的恶意软件,其可以使攻击者能够以管理员身份访问电子设备,通常的rootkit是以内核模式进行工作的,并可以进行修改内核数据以及隐藏自身和相关程序等攻击行为。
目前检测操作***是否已被rootkit攻击一般是通过操作***中的安全防护软件实现的,安全防护软件可以将检测出操作***是否已被rootkit攻击并展示检测结果。
但是,安全防护软件是安装在操作***内的一种可执行文件,即使安全防护软件具有一定的防御能力,一些攻击能力较强的rootkit仍可以成功攻击安全防护软件,此时rootkit可以对安全防护软件相关的数据进行篡改,进而安全防护软件的rootkit检测方法甚至是检测结果都可以被篡改,因此对rootkit进行检测的检测结果的准确度较低。
发明内容
针对上述对rootkit进行检测的检测结果的准确度较低的技术问题,本发明采用的技术方案为:
根据本公开的一方面,提供了一种检测目标恶意软件的方法,包括:
将目标操作***中的每一***调用接口对应的内核支持函数均作为目标内核支持函数。
获取每一目标内核支持函数对应的可执行文件的文件路径;可执行文件存储于目标操作***所在的电子设备的存储内存中;目标内核支持函数是由其对应的可执行文件加载至电子设备的运行内存中得到的。
若任一文件路径与内核存储路径不符合预设的相似条件,则将目标操作***确定为已被目标恶意软件攻击的操作***;内核存储路径为目标操作***的内核在电子设备的存储内存中的存储路径。
根据本公开的另一方面,还提供了一种检测目标恶意软件的装置,包括:
目标模块,用于将目标操作***中的每一***调用接口对应的内核支持函数均作为目标内核支持函数。
获取模块,用于获取每一目标内核支持函数对应的可执行文件的文件路径;可执行文件存储于目标操作***所在的电子设备的存储内存中;目标内核支持函数是由其对应的可执行文件加载至电子设备的运行内存中得到的。
第一确定模块,用于在任一文件路径与内核存储路径不符合预设的相似条件时,将目标操作***确定为已被目标恶意软件攻击的操作***;内核存储路径为目标操作***的内核在电子设备的存储内存中的存储路径。
根据本公开的另一方面,还提供了一种非瞬时性计算机可读存储介质,存储介质中存储有至少一条指令或至少一段程序,至少一条指令或至少一段程序由处理器加载并执行以实现上述检测目标恶意软件的方法。
根据本公开的另一方面,还提供了一种电子设备,包括处理器和上述非瞬时性计算机可读存储介质。
本公开的实施例提供的技术方案可以包括以下有益效果:
本公开中通过确定目标操作***对应的每一内核支持函数对应的可执行文件的文件路径与内核存储路径是否满足预设的相似条件,以确定目标操作***是否被目标恶意软件攻击,若任一文件路径与内核存储路径不符合预设的相似条件,则将目标操作***确定为已被目标恶意软件攻击的操作***。而在相关技术中,是通过安全防护软件检测出操作***是否已被目标恶意软件攻击并展示检测结果,若目标恶意软件对安全防护软件的检测方法或检测结果进行篡改,则对目标恶意软件进行检测的检测结果的准确度较低。相比于相关技术,本公开中若目标恶意软件对目标操作***成功攻击,则目标恶意软件是对至少一个目标内核支持函数对应的可执行文件进行篡改了的,此时可以通过确定每一目标内核支持函数对应的可执行文件的文件路径与内核存储路径是否相同,便可以确定出目标操作***已被目标恶意软件攻击,进而本公开中无需抵御目标恶意软件对可执行文件的篡改,即在目标恶意软件已篡改可执行文件的情况下仍可以检测出目标操作***已被目标恶意软件攻击,可以提高对目标恶意软件进行检测的检测结果的准确度。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图;此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是根据一示例性实施例示出的检测目标恶意软件的方法的流程图。
图2是根据一示例性实施例示出的检测目标恶意软件的装置的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种检测目标恶意软件的方法,其中,该方法可以由以下任意一项或其任意组合完成:终端、服务器、其他具备处理能力的设备,本发明实施例对此不作限定。
下面将参照图1所示的检测目标恶意软件的方法的流程图,对检测目标恶意软件的方法进行介绍。
该方法包括以下步骤:
S100,将目标操作***中的每一***调用接口对应的内核支持函数均作为目标内核支持函数。
其中,目标内核支持函数存储于目标操作***所在的电子设备的运行内存中。
具体的,目标操作***可以为windows***或者linux***等,本公开实施例对此不作限定。
S200,获取每一目标内核支持函数对应的可执行文件的文件路径。
其中,可执行文件存储于目标操作***所在的电子设备的存储内存中;目标内核支持函数是由其对应的可执行文件加载至电子设备的运行内存中得到的。
S300,若任一文件路径与内核存储路径不符合预设的相似条件,则将目标操作***确定为已被目标恶意软件攻击的操作***。
其中,内核存储路径为目标操作***对应的内核在上述电子设备的存储内存中的存储路径。目标恶意软件为rootkit。
具体的,对于未被目标恶意软件攻击的操作***,每一目标内核支持函数对应的可执行文件的文件路径与内核存储路径相同,基于此:
上述步骤S300的一种具体的实施方式可以如下:若任一文件路径与内核存储路径不同,则说明该文件路径对应的可执行文件为已被目标恶意软件篡改的可执行文件,此时可以将目标操作***确定为已被目标恶意软件攻击的操作***。
上述步骤S300的另一种具体的实施方式可以如下:若任一文件路径的前x级路径与内核存储路径的前x级路径不同,则说明该文件路径对应的可执行文件为已被目标恶意软件篡改的可执行文件,此时可以将目标操作***确定为已被目标恶意软件攻击的操作***,其中,x为预设数量。
其中,内核存储路径为目标操作***的内核在电子设备的存储内存中的存储路径。
由此可知,本公开中通过确定目标操作***对应的每一内核支持函数对应的可执行文件的文件路径与内核存储路径是否满足预设的相似条件,以确定目标操作***是否被目标恶意软件攻击,若任一文件路径与内核存储路径不符合预设的相似条件,则将目标操作***确定为已被目标恶意软件攻击的操作***。而在相关技术中,是通过安全防护软件检测出操作***是否已被目标恶意软件攻击并展示检测结果,若目标恶意软件对安全防护软件的检测方法或检测结果进行篡改,则对目标恶意软件进行检测的检测结果的准确度较低。相比于相关技术,本公开中若目标恶意软件对目标操作***成功攻击,则目标恶意软件是对至少一个目标内核支持函数对应的可执行文件进行篡改了的,此时可以通过确定每一目标内核支持函数对应的可执行文件的文件路径与内核存储路径是否相同,便可以确定出目标操作***已被目标恶意软件攻击,进而本公开中无需抵御目标恶意软件对可执行文件的篡改,即在目标恶意软件已篡改可执行文件的情况下仍可以检测出目标操作***已被目标恶意软件攻击,可以提高对目标恶意软件进行检测的检测结果的准确度。
可选的,上述步骤S200包括以下步骤:
S210,获取每一目标内核支持函数的内存地址。
S220,获取每一内存地址在对应的可执行文件的文件路径,以得到每一目标内核支持函数对应的可执行文件的文件路径。
步骤S210的一种具体的实施方式可以如下:若目标操作***为windows***,则可以获取目标操作***对应的SSDT(SystemServicesDescriptorTable,***服务描述符表),并对该表进行遍历,以获取目标操作***中的每一***调用接口对应的内核支持函数的内存地址。其中,SSDT具体可以采用KeServiceDescriptorTable,本公开实施例对此不作限定。另外,若目标操作***为windowsx64***,则还可以通过查找目标操作***中的每一***调用接口对应的内核支持函数的字符串偏移量并进行加总,以获取每一内核支持函数的内存地址。
步骤S210的另一种具体的实施方式可以如下:若目标操作***为linux***,则可以获取目标操作***对应的sys_call_table,并对该表进行遍历,以获取目标操作***中的每一***调用接口对应的内核支持函数的内存地址。
上述SSDT或sys_call_table的获取方式可以采用在目标操作***内部执行驱动进行获取,也可以采用从目标操作***中获取物理内存并进行解析的方式进行获取。具体的,可通过PCIExpress总线读取计算机物理内存的方式进行物理内存的获取,也可以通过IEEE1394接口读取物理内存,还可以通过加载内核模块的软件的形式读取物理内存。其中,通过加载内核模块的软件的形式读取物理内存的具体实施方式可以为:在Linux***上基于Lime等软件读取物理内存或在Windows***上基于dumpit等工具读取物理内存。在获取到物理内存后,再使用volatility工具获取每一内核支持函数的内存地址或每一内核支持函数对应的***数据结构对应的内存地址,并进行解析,以获取目标操作***中的每一***调用接口对应的内核支持函数的内存地址。
上述步骤S220的一种具体的实施方式可以如下:可以获取目标操作***对应的注册的模块位置列表,再在模块位置列表中可以查找到每一内存地址对应的可执行文件的文件路径,以得到每一目标内核支持函数对应的可执行文件的文件路径。其中,对于Linux***,注册的模块位置列表尽量避免使用模块链表modules,而最好采用mod_find二叉树。模块位置列表可以为***调用API(ApplicationProgrammingInterface,应用程序接口)列表。
可选的,在步骤S200之前,该方法还包括以下步骤:
S400,确定每一目标内核支持函数对应的可执行文件是否已被隐藏。
基于此,步骤S200可以包括以下步骤:
S230,若每一目标内核支持函数对应的可执行文件均未被隐藏,则获取每一目标内核支持函数对应的可执行文件的文件路径。
步骤S400的一种具体的实施方式可以如下:可以获取目标操作***对应的注册的模块位置列表,确定在模块位置列表中可以查找到每一内存地址对应的可执行文件的文件路径。若是,则说明每一目标内核支持函数对应的可执行文件均未被隐藏。否则,说明至少一个目标内核支持函数对应的可执行文件已被隐藏。
步骤S230的一种具体的实施方式可以如下:若每一目标内核支持函数对应的可执行文件均未被隐藏,则可以执行步骤S210和S220。
可选的,在步骤S200之后,该方法还包括以下步骤:
S500,若任一文件路径与内核存储路径不符合预设的相似条件,则将与内核存储路径不符合预设的相似条件的每一文件路径对应的可执行文件均作为目标可执行文件。
S600,展示每一目标可执行文件对应的目标内核支持函数的内存地址,和/或每一目标可执行文件对应的***调用接口标识,以及每一目标可执行文件的名称、基地址、偏移地址、文件内容数据的数据长度和/或文件路径;***调用接口标识为对应的***调用接口的名称和/或***调用接口号。
另外,还可以展示与内核存储路径符合预设的相似条件的每一文件路径对应的***调用接口标识,以使展示的数据更加丰富,方便后续对已被目标恶意软件攻击的目标操作***进行修复。
上述步骤S500的一种具体的实施方式可以如下:若任一文件路径与内核存储路径不符合预设的相似条件,则可以获取目标操作***的***调用表,并根据该***调用表获取每一目标可执行文件的名称、基地址、偏移地址、文件内容数据的数据长度和/或文件路径,并展示每一目标可执行文件对应的目标内核支持函数的内存地址,和/或每一目标可执行文件对应的***调用接口标识,以及目标标识对应的篡改后的可执行文件的名称、基地址、偏移地址、文件内容数据的数据长度和/或文件路径。其中,***调用表可以为***调用API列表。
由此可知,若通过任一文件路径与内核存储路径不符合预设的相似条件检测出目标操作***已被目标恶意软件攻击,则可以获取并展示目标可执行文件的名称、基地址、偏移地址、文件内容数据的数据长度和/或文件路径,以展示目标恶意软件的更多信息,方便后续对已被目标恶意软件攻击的目标操作***进行修复。
可选的,步骤S200还可以包括以下步骤:
S240,若任一目标内核支持函数对应的可执行文件已被隐藏,则将目标操作***确定为已被目标恶意软件攻击的操作***。
由此可知,若任一目标内核支持函数对应的可执行文件已被隐藏,则说明至少一个目标内核支持函数对应的可执行文件基本上已被目标恶意软件隐藏,此时可以直接确定出目标操作***确定为已被目标恶意软件攻击的操作***。
可选的,在步骤S200之后,该方法还包括以下步骤:
S700,若任一目标内核支持函数对应的可执行文件已被隐藏,则展示对应的可执行文件已被隐藏的每一目标内核支持函数的内存地址,和/或对应的可执行文件已被隐藏的每一目标内核支持函数对应的***调用接口标识。
另外,还可以展示未被隐藏的每一目标内核支持函数对应的***调用接口标识,以使展示的数据更加丰富,方便后续对已被目标恶意软件攻击的目标操作***进行修复。
可选的,在步骤S200之后,该方法还包括以下步骤:
S800,若每一文件路径与内核存储路径均符合预设的相似条件,则将目标操作***确定为未被目标恶意软件攻击的操作***。
可选的,在任一内存地址和/或***调用接口标识之前,还可以展示目标标识对应的***调用接口以外的每一***调用接口对应的内核支持函数的内存地址。以使展示的数据鞥更加丰富,方便后续对已被目标恶意软件攻击的目标操作***进行修复。
可选的,若任一目标内核支持函数对应的可执行文件已被隐藏,则提示是否重新检测。
进一步的,还可以采用检测处理进行目标恶意软件的检测,该检测处理包括以下步骤:
S900,获取目标操作***中的每一***调用接口对应的内核支持函数的内存地址。
内核支持函数的内存地址为该内核支持函数在目标操作***所在的电子设备的运行内存中的地址。
S1000,根据目标处理器架构类型、***调用接口的数量和若干内存地址,在第一类别标识和第二类别标识中确定出目标类别标识,并在若干***调用接口对应的***调用接口标识和预设标识中确定出目标标识。
其中,目标处理器架构类型为目标操作***对应的处理器架构的类型;第一类别标识用于表示目标操作***已被目标恶意软件攻击,第二类别标识用于表示目标操作***未被目标恶意软件攻击;若目标类别标识为第一类别标识,则目标标识为已被目标恶意软件攻击的***调用接口的***调用接口标识,若目标类别标识为第二类别标识,则目标标识为预设标识,预设标识用于表示每一***调用接口均未被目标恶意软件攻击。
具体的,目标恶意软件为rootkit。每一内核支持函数均基于目标操作***对应的处理器架构运行,目标操作***对应的处理器架构可以为X86架构、ARM架构、RISC-V架构或MIPS架构等。目标处理器架构类型为目标操作***对应的处理器架构的预设类型,例如,若目标操作***对应的处理器架构为ARM架构,则目标处理器架构类型为1,若标操作***对应的处理器架构为X86架构,则目标处理器架构类型为2等。第一类别标识和第二类别标识不同,预设标识和每一***调用接口对应的***调用接口标识不同,***调用接口标识为对应的***调用接口的名称和/或编号,***调用接口标识也可以通过在遍历上述SSDT或sys_call_table得到。
若目标类别标识为第一类别标识,则目标标识可以为一个或多个,每一目标标识为均已5被目标恶意软件攻击的***调用接口的***调用接口标识。
由此可知,本公开中根据目标操作***对应的目标处理器架构类型、***调用接口的数量和每一***调用接口的内存地址,可以确定出目标类别标识和目标标识,其中可以根据目标类别标识确定目标操作***是否已被目标恶意软件攻击,若确定出目标操作***已被目标
恶意软件攻击,还可以根据目标标识确定出目标操作***中已被目标恶意软件攻击的***调0用接口。而在相关技术中,是通过确定目标操作***中是否存在与已知的目标恶意软件相同的数据以确定目标操作***是否已被目标恶意软件攻击的。进而本公开对目标恶意软件的检测是考虑到目标操作***的处理器架构类型、***调用接口的数量以及每一***调用接口的内存地址的,相比于相关技术中对目标恶意软件的检测仅考虑已知的目标恶意软件,本公开
中对于至少部分未知的目标恶意软件,若其已攻击目标操作***中的任一***调用接口,且5该***调用接口对应的内核支持函数已在运行内存中加载运行,则基本上可以确定出该***调用接口已被目标恶意软件攻击,即本公开可以检测出至少部分未知的目标恶意软件对目标操作***的攻击,因此,可以提高对目标恶意软件进行检测的检测结果准确度。
可选的,上述步骤S1000包括以下步骤:
S1010,获取训练完成的分类模型。
0S1020,将目标处理器架构类型、***调用接口的数量和若干内存地址输入至训练完成的分类模型中。
S1030,获取训练完成的分类模型输出的目标类别标识和目标标识。
上述步骤S1010的一种具体的实施方式可以如下:可以基于若干目标恶意软件和若干操作***获取若干训练样本。具体的,可以在任一操作***中安装任一目标恶意软件,然后基5于该操作***对应的一个处理器架构运行该目标恶意软件,以使该目标恶意软件对该操作***的一个***调用接口进行攻击,此时可以获取该处理器架构的处理器架构类型、该操作***的***调用接口数量、每一***调用接口对应的内存地址、第一类别标识和被攻击的***调用接口的***调用接口标识作为一个训练样本。还可以基于未安装目标恶意软件的任一操作***对应的一个处理器架构随机运行的该操作***,并获取该处理器架构的处理器架构类型、该操作***的***调用接口数量、每一***调用接口对应的内存地址、第二类别标识和预设标识作为一个训练样本。
在得到若干训练样本后,可以对若干训练样本进行随机划分,以将若干训练样本中的一部分训练样本作为训练集合,另一部分训练样本作为测试集合。然后基于训练集合和测试集合对初始的分类模型进行训练,直至模型收敛,得到训练完成的分类模型。其中,初始的分类模型可以为采用BP(BackPropagation,反向传播算法)等神经网络算法的模型,本发明实施例对初始的分类模型采用的具体模型不作限定。
示例性的,在获取训练样本时,可以采用内核版本不同的windows***,然后在windows***中关闭自保护行为后,安装对SSDT表存在攻击行为的rootkit,以基于已被rootkit攻击的windows***获取若干训练样本。还可以基于内核版本不同且未安装rootkit的windows***获取若干训练样本。
在获取训练样本时,还可以采用内核版本不同的Linux***,然后在Linux***中关闭自保护行为后,安装对sys_call_table表存在攻击行为的rootkit,以基于已被rootkit攻击的Linux***获取若干训练样本。还可以基于内核版本不同且未安装rootkit的Linux***获取若干训练样本。另外,还使用随机build方式(例如采用makerandconfig)进行收集,在任何随机配置能启动的情况下,均进行多次重新启动,并可以在每次启动后获取一个训练样本。
上述操作***可以为电子设备的操作***,也可以为虚拟机的操作***,其中,对于虚拟机的操作***可以基于qemu进行训练样本的获取。操作***可以采用ARM架构或X86架构的windows***,也可以采用对X86架构、ARM架构、RISC-V架构或MIPS架构的Linux***。
由此可知,本公开中是通过训练完成的分类模型确定目标操作***是否已被目标恶意软件攻击的,由于训练完成的分类模型是通过大量的被目标恶意软件攻击的操作***的数据和未被目标恶意软件攻击的操作***的数据训练得到的,进而训练完成的分类模型可以较为准确的掌握被目标恶意软件攻击的操作***的数据特征和未被目标恶意软件攻击的操作***的数据特征,因此本公开可以进一步提高对目标恶意软件进行检测的检测结果准确度。
可选的,上述步骤S1020包括以下步骤:
S1021,若内存地址的数量大于预设数量,则将若干内存地址中的至少部分内存地址删除,得到预设数量的处理后内存地址。
S1022,根据目标处理器架构类型、***调用接口的数量和预设数量的处理后内存地址得到输入向量。
S1023,将输入向量输入至训练完成的分类模型中。
具体的,预设数量的取值范围可以为100至1000,优选的,预设数量为512。
步骤S1022的一种具体的实施方式可以如下,将目标处理器架构类型、***调用接口的数量和预设数量的处理后内存地址依次作为输入向量中的元素,得到输入向量。例如,目标处理器架构类型为1,***调用接口的数量为512,预设数量的处理后内存地址分别为0x00000100、0x00000101、...、0x00000300,则输入向量为(1,512,0x00000100,0x00000101,...,0x00000300)。
可选的,在步骤S1022之前,上述步骤S1020还包括以下步骤:
S224,若内存地址的数量小于预设数量,则将若干内存地址和至少一个为0的预设内存地址均作为处理后内存地址,以得到预设数量的处理后内存地址。
例如,预设数量为512个,任一windowsxp的***调用接口数量为284个,则将该windows xp的284个***调用接口对应的内核支持函数的内存地址和228个为0的预设内存地址作为512个处理后内存地址。任一windows7的***调用接口数量为401个,则将该windowsxp的401个***调用接口对应的内核支持函数的内存地址和111个为0的预设内存地址作为512个处理后内存地址。任一Linux5.15的***调用接口数量为449个,则将该Linux5.15的449个***调用接口对应的内核支持函数的内存地址和63个为0的预设内存地址作为512个处理后内存地址。
可选的,在步骤S1022之前,上述步骤S1020还包括以下步骤:
S1025,若内存地址的数量等于预设数量,则将若干内存地址均作为处理后内存地址,以得到预设数量的处理后内存地址。
可选的,已被目标恶意软件攻击的***调用接口为对应的可执行文件已被目标恶意软件篡改的***调用接口;***调用接口对应的可执行文件存储于目标操作***所在的电子设备的存储内存中,***调用接口对应的内核支持函数为将***调用接口对应的可执行文件加载至电子设备的运行内存中得到的。
基于此,在获取训练样本时,使一个目标恶意软件对一个操作***的一个***调用接口进行攻击,可以为控制一个目标恶意软件对一个操作***的一个***调用接口对应的可执行文件进行篡改。
可选的,在步骤S1000之后,该检测处理还包括以下步骤:
S1100,若目标类别标识为第一类别标识,则确定目标标识对应的篡改后的可执行文件是否已被隐藏;
S1200,若目标标识对应的篡改后的可执行文件未被隐藏,则展示目标标识对应的内核支持函数的内存地址和/或目标标识,以及目标标识对应的篡改后的可执行文件的名称、基地址、偏移地址、文件内容数据的数据长度和/或文件路径。
上述步骤S1100的一种具体的实施方式可以如下:在目标类别标识为第一类别标识时,说明目标操作***的至少一个***调用接口已被目标恶意软件攻击,此时得到的目标标识为已被已被目标恶意软件攻击的***调用接口的***调用接口标识。因此,在目标类别标识为第一类别标识时,可以根据目标操作***从预设的数据库中获取目标操作***对应的***调用表,再基于该目标标识对应的内核支持函数的内存地址确定该***调用表中是否存在目标标识对应的篡改后的可执行文件的数据信息。
上述步骤S1200的一种具体的实施方式可以如下:若目标标识对应的篡改后的可执行文件未被目标恶意软件隐藏,则该***调用表中存在目标标识对应的篡改后的可执行文件的数据信息,此时获取目标标识对应的篡改后的可执行文件的名称、基地址、偏移地址、文件内容数据的数据长度和/或文件路径,并展示目标标识对应的内核支持函数的内存地址和/或目标标识,以及目标标识对应的篡改后的可执行文件的名称、基地址、偏移地址、文件内容数据的数据长度和/或文件路径。
由此可知,在检测出目标操作***已被目标恶意软件攻击后,若目标标识对应的篡改后的可执行文件未被隐藏,则可以获取并展示目标标识对应的篡改后的可执行文件的名称、基地址、偏移地址、文件内容数据的数据长度和/或文件路径,以展示目标恶意软件的更多信息,方便后续对已被目标恶意软件攻击的目标操作***进行修复。
在S1100之后,该检测处理还包括以下步骤:
S1300,若目标标识对应的篡改后的可执行文件已被隐藏,则展示目标标识对应的内核支持函数的内存地址和/或目标标识。
若目标标识对应的篡改后的可执行文件已被目标恶意软件隐藏,则该***调用表中不存在目标标识对应的篡改后的可执行文件的数据信息,此时可以展示目标标识对应的内核支持函数的内存地址和/或目标标识。
可选的,在展示目标标识对应的内核支持函数的内存地址和/或目标标识之前,还可以展示目标标识对应的***调用接口以外的每一***调用接口对应的内核支持函数的内存地址。以使展示的数据更加丰富,方便后续对已被目标恶意软件攻击的目标操作***进行修复。
可选的,若目标标识对应的篡改后的可执行文件已被隐藏,则提示是否重新检测。
本发明实施例还提供了一种检测目标恶意软件的装置,该装置用于实现上述检测目标恶意软件的方法。参照图2所示的检测目标恶意软件的装置的示意性框图,检测目标恶意软件的装置1400包括:目标模块1401、获取模块1402和第一确定模块1403。
目标模块1401,用于将目标操作***中的每一***调用接口对应的内核支持函数均作为目标内核支持函数;
获取模块1402,用于获取每一目标内核支持函数对应的可执行文件的文件路径;可执行文件存储于目标操作***所在的电子设备的存储内存中;目标内核支持函数是由其对应的可执行文件加载至电子设备的运行内存中得到的;
第一确定模块1403,用于在任一文件路径与内核存储路径不符合预设的相似条件时,将目标操作***确定为已被目标恶意软件攻击的操作***;内核存储路径为目标操作***的内核在电子设备的存储内存中的存储路径。
可选的,获取模块1402还用于:
获取每一目标内核支持函数的内存地址;
获取每一内存地址在对应的可执行文件的文件路径,以得到每一目标内核支持函数对应的可执行文件的文件路径。
可选的,在获取每一目标内核支持函数对应的可执行文件的文件路径之前,该装置还包括隐藏模块,用于:
确定每一目标内核支持函数对应的可执行文件是否已被隐藏;
基于此,获取模块1402还用于:
若每一目标内核支持函数对应的可执行文件均未被隐藏,则获取每一目标内核支持函数对应的可执行文件的文件路径。
可选的,该装置还包括第一展示模块,用于:
若任一文件路径与内核存储路径不符合预设的相似条件,则将与内核存储路径不符合预设的相似条件的每一文件路径对应的可执行文件均作为目标可执行文件;
展示每一目标可执行文件对应的目标内核支持函数的内存地址,和/或每一目标可执行文件对应的***调用接口标识,以及每一目标可执行文件的名称、基地址、偏移地址、文件内容数据的数据长度和/或文件路径;***调用接口标识为对应的***调用接口的名称和/或***调用接口号。
可选的,该装置还包括第二确定模块,用于:
若任一目标内核支持函数对应的可执行文件已被隐藏,则将目标操作***确定为已被目标恶意软件攻击的操作***。
可选的,该装置还包括第二展示模块,用于:
若任一目标内核支持函数对应的可执行文件已被隐藏,则展示对应的可执行文件已被隐藏的每一目标内核支持函数的内存地址,和/或对应的可执行文件已被隐藏的每一目标内核支持函数对应的***调用接口标识。
可选的,该装置还包括第三确定模块,用于:
若每一文件路径与内核存储路径均符合预设的相似条件,则将目标操作***确定为未被目标恶意软件攻击的操作***。
本发明的实施例还提供了一种非瞬时性计算机可读存储介质,该存储介质可设置于电子设备之中以保存用于实现方法实施例中一种方法相关的至少一条指令或至少一段程序,该至少一条指令或该至少一段程序由该处理器加载并执行以实现上述实施例提供的方法。
本发明的实施例还提供了一种电子设备,包括处理器和前述的非瞬时性计算机可读存储介质。
虽然已经通过示例对本发明的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本发明的范围。本领域的技术人员还应理解,可以对实施例进行多种修改而不脱离本发明的范围和精神。本发明开的范围由所附权利要求来限定。
Claims (10)
1.一种检测目标恶意软件的方法,其特征在于,所述方法包括:
将目标操作***中的每一***调用接口对应的内核支持函数均作为目标内核支持函数;
获取每一所述目标内核支持函数对应的可执行文件的文件路径;所述可执行文件存储于所述目标操作***所在的电子设备的存储内存中;所述目标内核支持函数是由其对应的可执行文件加载至所述电子设备的运行内存中得到的;
若任一所述文件路径与内核存储路径不符合预设的相似条件,则将所述目标操作***确定为已被目标恶意软件攻击的操作***;所述内核存储路径为所述目标操作***的内核在所述电子设备的存储内存中的存储路径。
2.根据权利要求1所述的方法,其特征在于,所述获取每一所述目标内核支持函数对应的可执行文件的文件路径,包括:
获取每一所述目标内核支持函数的内存地址;
获取每一所述内存地址在对应的可执行文件的文件路径,以得到每一所述目标内核支持函数对应的可执行文件的文件路径。
3.根据权利要求1所述的方法,其特征在于,在所述获取每一所述目标内核支持函数对应的可执行文件的文件路径之前,所述方法还包括:
确定每一所述目标内核支持函数对应的可执行文件是否已被隐藏;
所述获取每一所述目标内核支持函数对应的可执行文件的文件路径,包括:
若每一所述目标内核支持函数对应的可执行文件均未被隐藏,则获取每一所述目标内核支持函数对应的可执行文件的文件路径。
4.根据权利要求1或3所述的方法,其特征在于,所述方法还包括:
若任一所述文件路径与所述内核存储路径不符合预设的相似条件,则将与所述内核存储路径不符合预设的相似条件的每一文件路径对应的可执行文件均作为目标可执行文件;
展示每一所述目标可执行文件对应的目标内核支持函数的内存地址,和/或每一所述目标可执行文件对应的***调用接口标识,以及每一所述目标可执行文件的名称、基地址、偏移地址、文件内容数据的数据长度和/或文件路径;所述***调用接口标识为对应的***调用接口的名称和/或***调用接口号。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
若任一所述目标内核支持函数对应的可执行文件已被隐藏,则将所述目标操作***确定为已被目标恶意软件攻击的操作***。
6.根据权利要求3所述的方法,其特征在于,所述方法还包括:
若任一所述目标内核支持函数对应的可执行文件已被隐藏,则展示对应的可执行文件已被隐藏的每一目标内核支持函数的内存地址,和/或对应的可执行文件已被隐藏的每一目标内核支持函数对应的***调用接口标识。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若每一所述文件路径与所述内核存储路径均符合预设的相似条件,则将所述目标操作***确定为未被所述目标恶意软件攻击的操作***。
8.一种检测目标恶意软件的装置,其特征在于,所述装置包括:
目标模块,用于将目标操作***中的每一***调用接口对应的内核支持函数均作为目标内核支持函数;
获取模块,用于获取每一所述目标内核支持函数对应的可执行文件的文件路径;所述可执行文件存储于所述目标操作***所在的电子设备的存储内存中;所述目标内核支持函数是由其对应的可执行文件加载至所述电子设备的运行内存中得到的;
第一确定模块,用于在任一所述文件路径与内核存储路径不符合预设的相似条件时,将所述目标操作***确定为已被目标恶意软件攻击的操作***;所述内核存储路径为所述目标操作***的内核在所述电子设备的存储内存中的存储路径。
9.一种非瞬时性计算机可读存储介质,所述存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现如权利要求1-8中任意一项的所述方法。
10.一种电子设备,其特征在于,包括处理器和权利要求9中的所述非瞬时性计算机可读存储介质。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211666375.2A CN115935352A (zh) | 2022-12-23 | 2022-12-23 | 检测目标恶意软件的方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211666375.2A CN115935352A (zh) | 2022-12-23 | 2022-12-23 | 检测目标恶意软件的方法、装置、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115935352A true CN115935352A (zh) | 2023-04-07 |
Family
ID=86557215
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211666375.2A Pending CN115935352A (zh) | 2022-12-23 | 2022-12-23 | 检测目标恶意软件的方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115935352A (zh) |
-
2022
- 2022-12-23 CN CN202211666375.2A patent/CN115935352A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9348998B2 (en) | System and methods for detecting harmful files of different formats in virtual environments | |
EP1986120B1 (en) | Systems, apparatus, and methods for detecting malware | |
US9239922B1 (en) | Document exploit detection using baseline comparison | |
CN111881455B (zh) | 一种固件安全分析的方法及装置 | |
CN111368289B (zh) | 一种恶意软件检测方法和装置 | |
CN108898012B (zh) | 检测非法程序的方法和装置 | |
CN113391874A (zh) | 一种虚拟机检测对抗方法、装置、电子设备及存储介质 | |
CN111597553A (zh) | 病毒查杀中的进程处理方法、装置、设备及存储介质 | |
CN111062040A (zh) | 一种确定未知漏洞的方法、服务器及计算机可读存储介质 | |
US11868465B2 (en) | Binary image stack cookie protection | |
US8938807B1 (en) | Malware removal without virus pattern | |
US7373519B1 (en) | Distinguishing legitimate modifications from malicious modifications during executable computer file modification analysis | |
CN112231696A (zh) | 恶意样本的识别方法、装置、计算设备以及介质 | |
CN113127868A (zh) | 脚本识别方法、装置、设备及存储介质 | |
CN115935352A (zh) | 检测目标恶意软件的方法、装置、存储介质及电子设备 | |
CN110377499B (zh) | 一种对应用程序进行测试的方法及装置 | |
CN112347479B (zh) | 恶意软件检测的误报纠正方法、装置、设备和存储介质 | |
CN115643044A (zh) | 数据处理方法、装置、服务器及存储介质 | |
CN115935353A (zh) | 目标恶意软件的检测方法、装置、存储介质及电子设备 | |
CN114153759A (zh) | 一种内存取证方法、装置及电子设备 | |
CN113391873B (zh) | 基于虚拟机的行为采集方法、虚拟机、装置及存储介质 | |
CN112380530B (zh) | 一种同源apk检测方法、终端设备及存储介质 | |
CN112905534B (zh) | 一种基于沙箱环境的样本分析方法和装置 | |
WO2022249416A1 (ja) | 分析装置、分析方法、および、分析システム | |
CN117113343A (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 |