【技术实现步骤摘要】
一种用于软件运行时自动识别恶意代码的方法及装置
本专利技术涉及计算机信息安全领域,尤其涉及一种用于软件运行时自动识别恶意代码的方法及装置。
技术介绍
当前识别恶意代码的方法一般包括文件静态检测、启发式检测、AI学习等方法,这些方法都是针对磁盘中的静态文件,而对运行中的程序一般使用主动防御技术识别恶意代码,使用主动防御技术虽然对识别恶意代码具有一定的效果,但是虚警较多。由于主动防御技术无法精准识别恶意代码,只能一味地对可疑行为报警,这会增加用户的困扰。现有的主动防御技术主要是通过系统提供的标准接口或通过挂钩子(Hook)来监控程序的行为,然而越来越多的操作系统越来越注重自身的安全,已经不允许Patch内核代码了,这导致无法通过挂钩子(Hook)的方法来监控分析程序的行为。而且由于部分操作系统比较封闭,提供的用于监控程序行为的接口很有限,这导致很多程序行为无法被监控。无法监控或只能有限地监控程序行为,大大限制基于行为的恶意代码识别软件的识别能力。此外,传统的恶意代码识别软件在监控到程序行为后,对程序行为的处理比较 ...
【技术保护点】
1.一种用于软件运行时自动识别恶意代码的方法,其特征在于,所述方法包括以下步骤:/n开启和替换步骤,所述开启和替换步骤包括:CPU开启硬件虚拟化功能,将当前的操作系统置于Guest模式运行;将Guest模式的特定寄存器的值替换为第一监听函数;或,/n所述开启和替换步骤包括:初始化CPU在Guest模式的特定寄存器的值为第一监听函数;CPU开启硬件虚拟化功能,将当前的操作系统置于Guest模式运行;/n其中,所述特定寄存器为系统调用时从应用层进入内核层必须访问的寄存器;/n第一收集步骤,所述第一监听函数收集待检测软件在Guest模式运行时的行为集合;/n检测步骤,利用预先构建 ...
【技术特征摘要】
1.一种用于软件运行时自动识别恶意代码的方法,其特征在于,所述方法包括以下步骤:
开启和替换步骤,所述开启和替换步骤包括:CPU开启硬件虚拟化功能,将当前的操作系统置于Guest模式运行;将Guest模式的特定寄存器的值替换为第一监听函数;或,
所述开启和替换步骤包括:初始化CPU在Guest模式的特定寄存器的值为第一监听函数;CPU开启硬件虚拟化功能,将当前的操作系统置于Guest模式运行;
其中,所述特定寄存器为系统调用时从应用层进入内核层必须访问的寄存器;
第一收集步骤,所述第一监听函数收集待检测软件在Guest模式运行时的行为集合;
检测步骤,利用预先构建的恶意代码行为检测模型对所述行为集合进行检测,自动识别出所述待检测软件是否含有恶意代码。
2.如权利要求1所述的用于软件运行时自动识别恶意代码的方法,其特征在于,在所述开启和替换步骤中,CPU开启硬件虚拟化功能之前,还包括函数设置步骤,设置CPU在Host模式的第二监听函数;所述第二监听函数用于监听待检测软件在Guest模式的敏感指令执行行为和异常内存访问行为;
第二收集步骤,将所述待检测软件的敏感指令执行行为和异常内存访问行为加入所述行为集合;
所述检测步骤,利用所述预先构建的恶意代码行为检测模型对所述行为集合进行检测,自动识别出所述待检测软件是否含有恶意代码。
3.如权利要求1所述的用于软件运行时自动识别恶意代码的方法,其特征在于,所述检测步骤中,所述恶意代码行为检测模型包括恶意代码行为特征库检测模型;和/或恶意代码行为知识库检测模型;和/或恶意代码行为识别专家系统检测模型;和/或机器学习检测模型。
4.如权利要求1-3任一项所述的用于软件运行时自动识别恶意代码的方法,其特征在于,所述CPU是x86架构;或ARM架构;或mips架构;或alpha架构。
5.一种用于软件运行时自动识别恶意代码的装置,其特征在于,所述装置包括:
开启和替换模块,所述开启和替换模块,用于CPU开启硬件虚拟化功能,将当前的操作系统置于Guest模式运行;将Guest模式的特定寄存器的值替换...
【专利技术属性】
技术研发人员:姚纪卫,姜向前,
申请(专利权)人:安芯网盾北京科技有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。