技术特征:
1.一种攻击代码检测方法,其特征在于,包括:获取调用函数的返回地址;其中,所述调用函数为被系统的目标进程调用的函数;若所述返回地址不属于系统配置地址,则所述系统中存在攻击代码;所述系统配置地址为目标进程加载的可执行文件的代码段地址。2.根据权利要求1所述的攻击代码检测方法,其特征在于,在获取调用函数的返回地址之前,所述方法还包括:获取监测函数是否被调用的监测信息;其中,所述监测函数根据攻击代码对函数的历史调用信息确定;若所述监测信息为监测函数被调用,则将调用所述监测函数的进程作为所述目标进程。3.根据权利要求1所述的攻击代码检测方法,其特征在于,所述获取调用函数的返回地址,包括:从内核中获取所述调用函数的函数栈帧,和/或从应用层获取所述调用函数的函数栈帧;根据调用函数的函数栈帧获取所述返回地址。4.根据权利要求3所述的攻击代码检测方法,其特征在于,所述从内核中获取所述调用函数的函数栈帧,包括:从内核栈中获取所述目标进程陷入内核时,保存在内核栈中的用户态上下文结构;根据所述用户态上下文结构确定所述目标进程栈范围内首个函数栈帧的基地址,作为第一基地址;自所述第一基地址开始获取所述目标进程栈范围内的每一函数栈帧,得到所述调用函数的函数栈帧。5.根据权利要求3所述的攻击代码检测方法,其特征在于,所述从应用层获取所述调用函数的函数栈帧,包括:从应用层的用户栈中获取所述目标进程栈范围内首个函数栈帧的基地址,作为第二基地址;自所述第二基地址开始获取所述目标进程栈范围内的每一函数栈帧,得到所述调用函数的函数栈帧。6.根据权利要求1所述的攻击代码检测方法,其特征在于,在所述返回地址不属于系统配置地址之前,还包括:通过内存中的虚拟内存管理结构确定所述返回地址对应的虚拟内存区块结构体,根据所述虚拟内存区块结构体中描述被映射文件的成员所指向的地址,确定所述返回地址是否属于所述系统配置地址;和/或,从应用层获取表示内存布局的内存布局文件,从所述内存布局文件中获取所述返回地址所在的行内容,根据所述行内容中的文件路径,确定所述返回地址是否属于所述系统配置地址。7.一种攻击代码检测装置,其特征在于,包括:获取模块,用于获取调用函数的返回地址;其中,所述调用函数为被系统的目标进程调用的函数;
确定模块,用于若所述返回地址不属于系统配置地址,则所述系统中存在攻击代码;所述系统配置地址为目标进程加载的可执行文件的代码段地址。8.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述的攻击代码检测方法的步骤。9.一种非暂态可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至6任一项所述的攻击代码检测方法的步骤。10.一种计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至6任一项所述的攻击代码检测方法的步骤。
技术总结
本发明提供一种攻击代码检测方法、装置、电子设备、程序和存储介质,获取系统中进程栈范围内的调用函数的返回地址,若存在返回地址不属于用于存储系统可执行文件的系统配置地址,则确定系统存在攻击代码。通过获取调用函数的返回地址直接实现对攻击代码的检测,无需建立特征库,识别过程简单,有利于提升对攻击代码的识别效率。代码的识别效率。代码的识别效率。
技术研发人员:徐荣维 王健 齐向东 吴云坤
受保护的技术使用者:奇安信科技集团股份有限公司
技术研发日:2020.12.23
技术公布日:2022/6/24
再多了解一些
本文用于企业家、创业者技术爱好者查询,结果仅供参考。