本发明涉及移动安全,尤其涉及一种恶意软件检测方法及装置。
背景技术:
1、在当今的信息时代,移动终端已经渗透到社会的各个层面,成为信息交换的关键节点。随之而来的是对移动终端安全性的严峻挑战,尤其是来自恶意软件的威胁。这些恶意软件不仅具有高度的隐蔽性和破坏力,而且经常通过自我防护机制来规避传统的安全检测技术。在非实时多线程终端操作系统中,这一挑战更加突出,因为系统本身的多任务执行环境为恶意软件提供了更多潜在的执行和逃避路径。
2、传统的恶意软件分析方法,如静态分析和动态跟踪,虽然在某些场景下有效,但面对自我修改、代码混淆、多态生成等高级逃避技术时往往束手无策。此外,现代恶意软件常利用操作系统提供的多线程能力,通过分散其行为模式来进一步规避检测,在不干扰用户正常使用的前提下,难以实时捕获恶意软件的活动和参数,导致传统方法无法有效适应恶意软件的快速演化。
技术实现思路
1、本发明提供一种恶意软件检测方法及装置,用以解决现有技术中恶意软件基于多线程分散行为模式以规避检测的缺陷,增强对复杂恶意软件攻击模式的理解和应对能力,从而为移动设备提供更全面的安全防护。
2、本发明提供一种恶意软件检测方法,包括:读取预设内存器,所述预设内存器是将基于内存映射技术定位得到的程序加载的二进制文件插装至跳板内存中并执行后的内存器;判断所述预设内存器的内存区段中是否存在恶意地址,并根据判断结果确定是否存在恶意操作。
3、根据本发明提供的一种恶意软件检测方法,在所述读取预设内存器之前,包括:基于内存映射技术,定位程序加载的二进制文件,得到目标二进制文件;根据所述目标二进制文件,得到所述目标二进制文件的内存占用大小;根据所述内存占用大小,申请内存,以将所述目标二进制文件插装至跳板内存中并执行所述跳板内存中的代码。
4、根据本发明提供的一种恶意软件检测方法,在所述得到目标二进制文件之后,包括:读取所述二进制文件,并对读取的代码逐一进行指令集的判断,确定指令类型;根据所述指令类型,对对应指令进行解析,并对解析后的目标指令进行逐一修正;其中,所述目标指令用于表征产生偏移量的指令。
5、根据本发明提供的一种恶意软件检测方法,所述代码包括插装至所述跳板内存中的目标二进制文件和所述跳板内存中在先存储的代码,执行所述跳板内存中的代码,包括:执行所述跳板内存中的代码,所述跳板内存中在先存储的代码正常运行;或者,执行所述跳板内存中的代码,将所述跳板内存中在先存储的代码的根route命令对应替换为插装至所述跳板内存中的目标二进制文件。
6、根据本发明提供的一种恶意软件检测方法,执行所述跳板内存中的代码,还包括:执行所述跳板内存中的代码,触发目标函数的调用,所述目标函数用于表征所述跳板内存中的代码中限定调用的函数;根据键值对map集合,查询所述目标函数的相对地址,所述map集合包括至少一对根据函数和所述函数对应的相对地址存储的键值对,所述相对地址是根据符号库中符号表对应的函数的绝对地址和所述函数的变化地址确定的;根据所述相对地址,调用所述目标函数。
7、根据本发明提供的一种恶意软件检测方法,在判断所述预设内存器的内存区段中是否存在恶意地址之后,包括:根据判断结果,若判定为存在恶意操作,则基于预先存储至所述跳板内存中参数打印逻辑,打印所述预设寄存器的参数;根据打印的预设寄存器参数和在先获取的系统预设目录内存储的参数变化值,对所述恶意操作对应的恶意软件进行算法还原追溯。
8、根据本发明提供的一种恶意软件检测方法,在所述根据打印的预设寄存器参数和在先获取的系统预设目录内存储的参数变化值,对所述恶意操作对应的恶意软件进行算法还原追溯之前,包括:基于预设钩子函数,获取对目标内存进行读写操作之前和之后的参数,所述读写操作是基于执行所述跳板内存中的代码触发的;根据对所述目标内存进行读写操作之前和之后的参数,得到参数变化值,并将其写入系统预设目录内。
9、本发明还提供一种恶意软件检测装置,包括:寄存器读取模块,读取预设内存器,所述预设内存器是将基于内存映射技术定位得到的程序加载的二进制文件插装至跳板内存中并执行后的内存器;恶意软件检测模块,判断所述预设内存器的内存区段中是否存在恶意地址,并根据判断结果确定是否存在恶意操作。
10、本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述恶意软件检测方法的步骤。
11、本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述恶意软件检测方法的步骤。
12、本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述恶意软件检测方法的步骤。
13、本发明提供的恶意软件检测方法及装置,通过在插装定位得到的程序加载的目标二进制文件之后,执行跳板内存中的代码,以通过读取寄存器,确定执行代码对寄存器的影响,从而判断是否存在恶意地址,以识别软件的潜在恶意行为,增强对复杂恶意软件攻击模式的理解和应对能力,尤其是针对多线程分散恶意行为以规避检测的情形,极大地提高了恶意软件检测的准确性和效率,提高了安全研究的深度和广度,为移动操作系统安全领域提供了一种可扩展、深入的解决方案,为移动设备提供更全面的安全防护。
1.一种恶意软件检测方法,其特征在于,包括:
2.根据权利要求1所述的恶意软件检测方法,其特征在于,在所述读取预设内存器之前,包括:
3.根据权利要求2所述的恶意软件检测方法,其特征在于,在所述得到目标二进制文件之后,包括:
4.根据权利要求2所述的恶意软件检测方法,其特征在于,所述代码包括插装至所述跳板内存中的目标二进制文件和所述跳板内存中在先存储的代码,执行所述跳板内存中的代码,包括:
5.根据权利要求2所述的恶意软件检测方法,其特征在于,执行所述跳板内存中的代码,还包括:
6.根据权利要求1所述的恶意软件检测方法,其特征在于,在判断所述预设内存器的内存区段中是否存在恶意地址之后,包括:
7.根据权利要求6所述的恶意软件检测方法,其特征在于,在所述根据打印的预设寄存器参数和在先获取的系统预设目录内存储的参数变化值,对所述恶意操作对应的恶意软件进行算法还原追溯之前,包括:
8.一种恶意软件检测装置,其特征在于,包括:
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述恶意软件检测方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述恶意软件检测方法的步骤。