[发明专利]一种基于处理器跟踪的内存恶意代码检测方法有效
申请号: | 202111104188.0 | 申请日: | 2021-09-18 |
公开(公告)号: | CN113569244B | 公开(公告)日: | 2021-12-03 |
发明(设计)人: | 田红伟;魏勇;徐文勇 | 申请(专利权)人: | 成都数默科技有限公司 |
主分类号: | G06F21/56 | 分类号: | G06F21/56 |
代理公司: | 成都天嘉专利事务所(普通合伙) 51211 | 代理人: | 赵凯 |
地址: | 610000 四川省成都市中国(四川)自由贸*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 处理器 跟踪 内存 恶意代码 检测 方法 | ||
1.一种基于处理器跟踪的内存恶意代码检测方法,其特征在于,包括以下步骤:
a、安装驱动模块,在内核中注册进程和线程的启动和退出的回调处理例程,在进程回调例程中记录所有启动的线程、进程和文件信息,记录进程的CR3寄存器信息,驱动模块初始化Intel处理器跟踪功能,为每个CPU核心配置物理内存缓冲区和中断处理例程并启动处理器跟踪功能;
b、处理器跟踪功能监控目标进程的代码执行路径,对所有间接跳转指令执行行为进行记录,将指令执行路径记录到缓冲区中,当缓冲区满时触发中断处理例程,在中断处理例程中切换后备的缓冲区,并启动恶意代码分析;
c、解码缓冲区获取执行路径的完整虚拟地址,根据分页信息包和CR3寄存记录与进程进行关联,对间接跳转指令所跳转的目的地址进行符号解析,获得目标跳转地址存在的真实API名称或者COM接口名称,并以4KB为粒度关联代码路径所在内存页,判断地址空间是否是首次执行,如果是则进入步骤d;
d、对内存页进行恶意代码检测,判断内存页是否属于文件映像所映射的内存范围,如果是则开始对文件映像进行恶意代码检测,如果文件对象不可信或存在恶意特征码则认为存在恶意代码并发出报警,如果地址空间不属于文件则进入步骤e;
e、获取代码内存属性信息,获取当前进程类型,通过代码内存可信度分析算法判断代码是否属于可信内存代码;
f、检测内存代码API调用记录和COM接口调用记录,并与异常行为知识库进行匹配,如果匹配到可疑行为则报警。
2.根据权利要求1所述的一种基于处理器跟踪的内存恶意代码检测方法,其特征在于:所述步骤c中,判断地址空间是否是首次执行具体是指对内存空间以4KB粒度建立位图索引,4KB内存未执行时标为0,执行过后标为1。
3.根据权利要求1所述的一种基于处理器跟踪的内存恶意代码检测方法,其特征在于:所述步骤e中,所述代码内存可信度分析算法具体是指判断当前进程类型,如果当前进程类型属于不可产生动态代码的进程,则判断这个内存代码为恶意代码,产生报警;如果当前进程类型属于产生动态代码的进程类型,则跟踪判断内存代码是否是由即时编译器引擎产生的可信代码,如果不是则产生报警;对产生报警的内存地址空间最后进行白名单匹配,如果属于白名单则属于可信代码,忽略报警。
4.根据权利要求3所述的一种基于处理器跟踪的内存恶意代码检测方法,其特征在于:所述判断当前进程类型之前还包括判断内存是否关联有文件映像,如果内存没有关联有文件映像则判断当前进程类型。
5.根据权利要求1所述的一种基于处理器跟踪的内存恶意代码检测方法,其特征在于:所述步骤f中,与异常行为知识库进行匹配具体是指将API接口和COM接口调用行为记录生成调用行为序列,将调用行为序列与异常行为知识库进行匹配。
6.根据权利要求1所述的一种基于处理器跟踪的内存恶意代码检测方法,其特征在于:所述步骤f中,可疑行为包括反弹shell行为、代理转发行为、权限提权行为、异常进程操作、异常文件操作、异常注册表操作和异常网络行为。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都数默科技有限公司,未经成都数默科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111104188.0/1.html,转载请声明来源钻瓜专利网。