本发明涉及计算机领域,并且更具体地,涉及一种恶意软件行为检测方法和装置。
背景技术:
计算机网络在高速发展的过程中,互联网技术成为了一把双刃剑,人们在享受互联网技术带来便利的同时,计算机的安全也日益受到威胁,攻击行为日趋复杂,各种方法相互融合,使计算机安全防御更加困难并且隐藏在大量正常网络中的恶意行为也越来越难以发现。
传统的恶意软件行为检测技术根据恶意代码的形态特征,提取恶意代码的指纹,通过模式匹配方式对目标系统检测和防护,典型的指纹提取方法包括rabin指纹等。实验表明这种方法不能识别特征未知的恶意代码,以及同一个恶意代码的多态或变形。
技术实现要素:
鉴于此,本发明实施例的目的在于提出一种恶意软件行为检测方法和装置,从攻击者的角度出发,将一系列的攻击行为进行抽象化、模块化、结构化,使攻击行为能够快速的被发现与阻止。
基于上述目的,本发明实施例的一方面提供了一种恶意软件行为检测方法,包括以下步骤:
预设每一个系统调用与行为之间的映射关系的行为表以及多个系统调用与行为之间的映射关系的行为组合表,并预设关联信息表以及包含多个恶意软件行为的行为检测表;
响应于检测到系统调用,将所述系统调用的参数与所述行为表进行匹配以获取匹配到的行为、id和分类,并根据分类将所述参数写入相应的关联信息表中;
将所述行为与所述行为检测表中的行为进行对比,并响应于比对失败而根据所述id与所述行为组合表进行比对,以查找出包含所有所述id的行为组合;
响应于所述行为组合中的所有id对应的系统调用均被检测到,读取所述相应的关联信息表中写入的参数,以确定所有所述系统调用操作的为同一对象,并根据所述确定的结果和所述行为检测表对所有所述系统调用对应的行为进行上报。
在一些实施方式中,根据所述确定的结果和所述行为检测表对所有所述系统调用对应的行为进行上报还包括:
响应于所有所述系统调用操作的为同一对象,将所述行为组合所对应的行为与所述行为检测表中的行为进行对比,并响应于对比成功而将确定出的所有所述系统调用对应的行为进行上报。
在一些实施方式中,在所述行为检测表中将恶意软件行为细分为:访问初始化、执行、常驻、提权、防御规避、凭据访问、扩散、数据收集、以及命令和控制。
在一些实施方式中,所述关联信息表包括进程关联信息表、文件关联信息表、注册表关联信息表、服务关联信息表以及网络关联信息表。
在一些实施方式中,所述进程关联信息表包括主体进程uuid、客体进程uuid、动作,所述文件关联信息表包括主体进程uuid、文件路径名、动作,所述注册表关联信息表包括主体进程uuid、注册表项、动作,所述服务关联信息表包括主体进程uuid、服务名、动作,以及所述网络关联信息表包括主体进程uuid、ip、端口、协议。
在一些实施方式中,所述行为表包括行为id、系统调用api、参数、行为描述、行为分类以及威胁值。
在一些实施方式中,所述行为组合表包括行为id组合、行为描述以及威胁值。
本发明实施例的另一方面提供了一种恶意软件行为检测装置,包括:
至少一个处理器;和
存储器,所述存储器存储有处理器可运行的程序代码,所述程序代码在被处理器运行时实施以下步骤:
预设每一个系统调用与行为之间的映射关系的行为表以及多个系统调用与行为之间的映射关系的行为组合表,并预设关联信息表以及包含多个恶意软件行为的行为检测表;
响应于检测到系统调用,将所述系统调用的参数与所述行为表进行匹配以获取匹配到的行为、id和分类,并根据分类将所述参数写入相应的关联信息表中;
将所述行为与所述行为检测表中的行为进行对比,并响应于比对失败而根据所述行为id与所述行为组合表进行比对,以查找出包含所有所述行为id的行为组合;
响应于所述行为组合中的所有行为id对应的系统调用均被检测到,读取所述相应的关联信息表中写入的参数,以确定所有所述系统调用操作的为同一对象,并根据所述确定的结果和所述行为检测表对所有所述系统调用对应的行为进行上报。
在一些实施方式中,根据所述确定的结果和所述行为检测表对所有所述系统调用对应的行为进行上报还包括:
响应于所有所述系统调用操作的为同一对象,将所述行为组合所对应的行为与所述行为检测表中的行为进行对比,并响应于对比成功而将确定出的所有所述系统调用对应的行为进行上报。
在一些实施方式中,在所述行为检测表中将恶意软件行为细分为:访问初始化、执行、常驻、提权、防御规避,凭据访问、扩散、数据收集、以及命令和控制。
本发明具有以下有益技术效果:本发明实施例提供的一种恶意软件行为检测方法和装置从攻击者的角度把攻击行为进行抽象化、模块化、结构化,使行为描述更加的清晰,更加容易扩展;随着行为检测点的不断累加,对恶意行为的检测也更加准确。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1是根据本发明的一种恶意软件行为检测方法的流程图;
图2是根据本发明的恶意软件行为检测方法的整体设计框架示意图;
图3是根据本发明实施例的恶意软件行为检测方法的流程示意图;
图4是根据本发明的一种恶意软件行为检测装置的硬件结构示意图。
具体实施方式
以下描述了本发明的实施例。然而,应该理解,所公开的实施例仅仅是示例,并且其他实施例可以采取各种替代形式。附图不一定按比例绘制;某些功能可能被夸大或最小化以显示特定部件的细节。因此,本文公开的具体结构和功能细节不应被解释为限制性的,而仅仅是作为用于教导本领域技术人员以各种方式使用本发明的代表性基础。如本领域普通技术人员将理解的,参考任何一个附图所示出和描述的各种特征可以与一个或多个其他附图中所示的特征组合以产生没有明确示出或描述的实施例。所示特征的组合为典型应用提供了代表性实施例。然而,与本发明的教导相一致的特征的各种组合和修改对于某些特定应用或实施方式可能是期望的。
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
基于上述目的,本发明的实施例一方面提出了一种恶意软件行为检测方法,如图1所示,包括以下步骤:
步骤s101:预设每一个系统调用与行为之间的映射关系的行为表以及多个系统调用与行为之间的映射关系的行为组合表,并预设关联信息表以及包含多个恶意软件行为的行为检测表;
步骤s102:响应于检测到系统调用,将所述系统调用的参数与所述行为表进行匹配以获取匹配到的行为、id和分类,并根据分类将所述参数写入相应的关联信息表中;
步骤s103:将所述行为与所述行为检测表中的行为进行对比,并响应于比对失败(即行为检测表中没有该行为)而根据所述行为id与所述行为组合表进行比对,以查找出包含所有所述行为id的行为组合;
步骤s104:响应于所述行为组合中的所有行为id对应的系统调用均被检测到,读取所述相应的关联信息表中写入的参数,以确定所有所述系统调用操作的为同一对象,并根据所述确定的结果和所述行为检测表对所有所述系统调用对应的行为进行上报。
在一些实施例中,根据所述确定的结果和所述行为检测表对所有所述系统调用对应的行为进行上报还包括:响应于所有所述系统调用操作的为同一对象,将所述行为组合所对应的行为与所述行为检测表中的行为进行对比,并响应于对比成功(即行为检测表中有该行为)而将确定出的所有所述系统调用对应的行为进行上报。
在一些实施例中,在所述行为检测表中将恶意软件行为细分为:访问初始化、执行、常驻、提权、防御规避、凭据访问、扩散、数据收集、以及命令和控制。其中,
访问初始化:也就是攻击者如何入侵计算机,攻击者会使用不同技术来实现初始化访问技术;
执行:恶意软件的运行;
常驻:也就是持久化,攻击者希望尽可能减少工作量,包括减少访问攻击对象的时间,即便运维人员采取重启,更改凭据等措施后,持久化仍然可以让计算机再次感染病毒或维护其现有连接,例如注册表run键、启动文件夹是最常用的技术,这些注册表键或文件系统位置在每次启动计算机时都会执行;
提权:一些技术需要系统级的调用才能正确使用,hooking和进程注入就是两个示例,该战术中的许多技术都是针对被攻击的底层操作系统而设计的,因此攻击者都会对提权爱不释手,利用系统漏洞达到root级访问权是攻击者核心目标之一;
防御规避:一些恶意软件为了防止被防病毒(av)产品检测到,可能会对宿主机进行一系列的检查和设置,例如,禁用安全工具、文件删除和修改注册表都是可以利用的技术;
凭据访问:攻击者最想要的凭据,尤其是管理凭据,在窃取到管理凭据后攻击者就可以大大方方的登录到系统中,因此对于凭据的访问也成为攻击者最乐意的一件事;
扩散:攻击者在入侵一台计算机后通常会尝试在网络内进行横向移动试图在网络中寻找其他攻击目标;
数据收集:攻击者会尝试窃取有关当前用户的信息,包括屏幕上有什么内容、用户在输入什么内容、用户讨论的内容以及用户的外貌特征,除此之外,他们还会寻求本地系统上的敏感数据以及网络上其它地方的数据;
命令和控制:现在大多数恶意软件都有一定程度的命令和控制权,黑客可以通过命令和控制权来渗透数据、告诉恶意软件下一步执行什么指令,对于每种命令和控制,攻击者都是从远程位置访问网络。由此,恶意软件行为的描述更加具体,检测系统更加模块化,更加容易扩展。
预设的包含多个恶意软件行为的行为检测表如表1所示。
表1
在一些实施例中,所述关联信息表包括进程关联信息表、文件关联信息表、注册表关联信息表、服务关联信息表以及网络关联信息表。例如,如图2所示,通过行为分析模块来分析及处理系统调用,行为分析模块中各个子模块的行为检测点如表1所示,根据api调用信息分析获取进程的操作数据、关联对象,并把分析出的数据写入相应关联表,包括但不限于进程关联信息表、文件关联信息表、注册表关联信息表、服务关联信息表和网络关联信息表。
在一些实施例中,所述进程关联信息表包括主体进程uuid、客体进程uuid、动作,所述文件关联信息表包括主体进程uuid、文件路径名、动作,所述注册表关联信息表包括主体进程uuid、注册表项、动作,所述服务关联信息表包括主体进程uuid、服务名、动作,以及所述网络关联信息表包括主体进程uuid、ip、端口、协议。
在根据本发明的一个实施例中,进程关联信息表中记录的内容包括但不限于主体进程uuid、客体进程uuid以及动作,该动作例如创建、关闭等;文件关联信息表中记录的内容包括但不限于主体进程uuid、文件路径名以及动作,该动作例如创建,删除等;注册表关联信息表中记录的内容包括但不限于主体进程uuid、注册表项以及动作,该动作例如打开、修改等;服务关联信息表中记录的内容包括但不限于主体进程uuid、服务名以及动作,该动作例如创建、删除等;网络关联信息表中记录的内容包括但不限于主体进程uuid、ip、端口以及协议。
在一些实施例中,所述行为表包括行为id、系统调用api、参数、行为描述、行为分类以及威胁值等,如表2所示。
表2
在一些实施例中,所述行为组合表包括行为id组合、行为描述以及威胁值等。行为组合表中记录了各种行为之间的组合,以及产生的某种行为,如表3所示。
表3
在一些实施例中,在数据库中预设行为表、行为组合表、多个关联信息表以及行为检测表,所述数据库可以是市场上可获取的任何数据库,包括但不限于mysql、oracle、sqlserver等。并且,工作人员可以不断对数据库中的表进行维护以不断累积相关的恶意软件行为,使得模型更加得丰富。
在根据本发明的一个实施例中,如图3所示,当检测到系统调用后去行为表中进行匹配(匹配都是通过参数匹配),得到相关描述、分类以及威胁值。例如检测到系统调用regsetvalueexa,然后去行为表中进行匹配,如果参数为".*\\\\microsoft\\\\windows\\\\currentversion\\\\run\\,那么匹配到结果为id【1】、行为描述【注册表自启】、分类【注册表】、威胁值【5】。根据分类获取相关的信息填入相应的关联信息表中,即根据得到的注册表类型,获取调用主体进程uuid、注册表项、动作填入注册表关联信息表中。然后将行为描述与行为检测表进行匹配,匹配成功,则通知控制端。
又例如,检测到系统调用createfile,参数为test.exe,与行为表进行匹配得到id【3】、行为描述【创建文件】、分类【文件】、威胁值【1】,并根据分类获取相关的信息填入相应的关联信息表中。然后,将行为描述与行为检测表进行匹配,匹配失败,那么将行为与行为组合表进行匹配,正好匹配到行为描述【xxx文件方式开机自启】,通过行为组合表可以看到该行为需要id等于3和4同时满足才行,现在只匹配到id为3的,那么记录该行为为【未成功】状态。如果后来又检测到系统调用movefile,参数为test.exe和*\roaming\microsoft\windows\startmenu\programs\startup,与行为表进行匹配得到id【4】、行为描述【移动文件】、分类【文件】、威胁值【1】,并根据分类获取相关的信息填入相应的关联信息表中。然后将行为描述与行为检测表进行匹配,匹配失败,那么将行为与行为组合表进行匹配,正好匹配到行为描述【xxx文件方式开机自启】,再联合前面【未成功】状态的事件进行联合匹配。该调用为文件类,那么就去【文件关联信息表】中进行匹配,匹配的关联就是参数test.exe,那么确定了id=3和id=4两个系统调用操作的是同一个对象(即test.exe)并且是把test.exe移动到了*\roaming\microsoft\windows\startmenu\programs\startup中,那么得出行为【xxx文件方式开机自启】,匹配成功,通知控制端。
在技术上可行的情况下,以上针对不同实施例所列举的技术特征可以相互组合,或者改变、添加以及省略等等,从而形成本发明范围内的另外实施例。
从上述实施例可以看出,本发明实施例提供的一种恶意软件行为检测方法从攻击者的角度把攻击行为进行抽象化、模块化、结构化,使行为描述更加的清晰,更加容易扩展;随着行为检测点的不断累加,对恶意行为的检测也更加准确。
基于上述目的,本发明实施例的另一个方面,提出了一种恶意软件行为检测装置,包括:
至少一个处理器;和
存储器,所述存储器存储有处理器可运行的程序代码,所述程序代码在被处理器运行时实施以下步骤:
预设每一个系统调用与行为之间的映射关系的行为表以及多个系统调用与行为之间的映射关系的行为组合表,并预设关联信息表以及包含多个恶意软件行为的行为检测表;
响应于检测到系统调用,将所述系统调用的参数与所述行为表进行匹配以获取匹配到的行为、id和分类,并根据分类将所述参数写入相应的关联信息表中;
将所述行为与所述行为检测表中的行为进行对比,并响应于比对失败而根据所述行为id与所述行为组合表进行比对,以查找出包含所有所述行为id的行为组合;
响应于所述行为组合中的所有行为id对应的系统调用均被检测到,读取所述相应的关联信息表中写入的参数,以确定所有所述系统调用操作的为同一对象,并根据所述确定的结果和所述行为检测表对所有所述系统调用对应的行为进行上报。
在一些实施例中,根据所述确定的结果和所述行为检测表对所有所述系统调用对应的行为进行上报还包括:
响应于所有所述系统调用操作的为同一对象,将所述行为组合所对应的行为与所述行为检测表中的行为进行对比,并响应于对比成功而将确定出的所有所述系统调用对应的行为进行上报。
在一些实施例中,在所述行为检测表中将恶意软件行为细分为:访问初始化、执行、常驻、提权、防御规避,凭据访问、扩散、数据收集、以及命令和控制。
如图4所示,为本发明提供的恶意软件行为检测装置的一个实施例的硬件结构示意图。
以如图4所示的计算机设备为例,在该计算机设备中包括处理器401以及存储器402,并还可以包括:输入装置403和输出装置404。
处理器401、存储器402、输入装置403和输出装置404可以通过总线或者其他方式连接,图4中以通过总线连接为例。
存储器402作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的所述恶意软件行为检测方法对应的程序指令/模块。处理器401通过运行存储在存储器402中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例的恶意软件行为检测方法。
存储器402可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据恶意软件行为检测方法所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器402可选包括相对于处理器401远程设置的存储器,这些远程存储器可以通过网络连接至本地模块。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置303可接收输入的数字或字符信息,以及产生与恶意软件行为检测方法的计算机设备的用户设置以及功能控制有关的键信号输入。输出装置404可包括显示屏等显示设备。
所述一个或者多个恶意软件行为检测方法对应的程序指令/模块存储在所述存储器402中,当被所述处理器401执行时,执行上述任意方法实施例中的恶意软件行为检测方法。
所述执行所述恶意软件行为检测方法的计算机设备的任何一个实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。
最后需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(rom)或随机存储记忆体(ram)等。
此外,典型地,本发明实施例公开所述的装置、设备等可为各种电子终端设备,例如手机、个人数字助理(pda)、平板电脑(pad)、智能电视等,也可以是大型终端设备,如服务器等,因此本发明实施例公开的保护范围不应限定为某种特定类型的装置、设备。本发明实施例公开所述的客户端可以是以电子硬件、计算机软件或两者的组合形式应用于上述任意一种电子终端设备中。
此外,根据本发明实施例公开的方法还可以被实现为由cpu执行的计算机程序,该计算机程序可以存储在计算机可读存储介质中。在该计算机程序被cpu执行时,执行本发明实施例公开的方法中限定的上述功能。
此外,上述方法步骤以及系统单元也可以利用控制器以及用于存储使得控制器实现上述步骤或单元功能的计算机程序的计算机可读存储介质实现。
此外,应该明白的是,本文所述的计算机可读存储介质(例如,存储器)可以是易失性存储器或非易失性存储器,或者可以包括易失性存储器和非易失性存储器两者。作为例子而非限制性的,非易失性存储器可以包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦写可编程rom(eeprom)或快闪存储器。易失性存储器可以包括随机存取存储器(ram),该ram可以充当外部高速缓存存储器。作为例子而非限制性的,ram可以以多种形式获得,比如同步ram(dram)、动态ram(dram)、同步dram(sdram)、双数据速率sdram(ddrsdram)、增强sdram(esdram)、同步链路dram(sldram)、以及直接rambusram(drram)。所公开的方面的存储设备意在包括但不限于这些和其它合适类型的存储器。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现所述的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。
结合这里的公开所描述的各种示例性逻辑块、模块和电路可以利用被设计成用于执行这里所述功能的下列部件来实现或执行:通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或其它可编程逻辑器件、分立门或晶体管逻辑、分立的硬件组件或者这些部件的任何组合。通用处理器可以是微处理器,但是可替换地,处理器可以是任何传统处理器、控制器、微控制器或状态机。处理器也可以被实现为计算设备的组合,例如,dsp和微处理器的组合、多个微处理器、一个或多个微处理器结合dsp和/或任何其它这种配置。
结合这里的公开所描述的方法或算法的步骤可以直接包含在硬件中、由处理器执行的软件模块中或这两者的组合中。软件模块可以驻留在ram存储器、快闪存储器、rom存储器、eprom存储器、eeprom存储器、寄存器、硬盘、可移动盘、cd-rom、或本领域已知的任何其它形式的存储介质中。示例性的存储介质被耦合到处理器,使得处理器能够从该存储介质中读取信息或向该存储介质写入信息。在一个替换方案中,所述存储介质可以与处理器集成在一起。处理器和存储介质可以驻留在asic中。asic可以驻留在用户终端中。在一个替换方案中,处理器和存储介质可以作为分立组件驻留在用户终端中。
在一个或多个示例性设计中,所述功能可以在硬件、软件、固件或其任意组合中实现。如果在软件中实现,则可以将所述功能作为一个或多个指令或代码存储在计算机可读介质上或通过计算机可读介质来传送。计算机可读介质包括计算机存储介质和通信介质,该通信介质包括有助于将计算机程序从一个位置传送到另一个位置的任何介质。存储介质可以是能够被通用或专用计算机访问的任何可用介质。作为例子而非限制性的,该计算机可读介质可以包括ram、rom、eeprom、cd-rom或其它光盘存储设备、磁盘存储设备或其它磁性存储设备,或者是可以用于携带或存储形式为指令或数据结构的所需程序代码并且能够被通用或专用计算机或者通用或专用处理器访问的任何其它介质。此外,任何连接都可以适当地称为计算机可读介质。例如,如果使用同轴线缆、光纤线缆、双绞线、数字用户线路(dsl)或诸如红外线、无线电和微波的无线技术来从网站、服务器或其它远程源发送软件,则上述同轴线缆、光纤线缆、双绞线、dsl或诸如红外线、无线电和微波的无线技术均包括在介质的定义。如这里所使用的,磁盘和光盘包括压缩盘(cd)、激光盘、光盘、数字多功能盘(dvd)、软盘、蓝光盘,其中磁盘通常磁性地再现数据,而光盘利用激光光学地再现数据。上述内容的组合也应当包括在计算机可读介质的范围内。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器、磁盘或光盘等。
上述实施例是实施方式的可能示例,并且仅仅为了清楚理解本发明的原理而提出。所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上所述的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
1.一种恶意软件行为检测方法,其特征在于,包括以下步骤:
预设每一个系统调用与行为之间的映射关系的行为表以及多个系统调用与行为之间的映射关系的行为组合表,并预设关联信息表以及包含多个恶意软件行为的行为检测表;
响应于检测到系统调用,将所述系统调用的参数与所述行为表进行匹配以获取匹配到的行为、id和分类,并根据分类将所述参数写入相应的关联信息表中;
将所述行为与所述行为检测表中的行为进行对比,并响应于比对失败而根据所述id与所述行为组合表进行比对,以查找出包含所有所述id的行为组合;
响应于所述行为组合中的所有id对应的系统调用均被检测到,读取所述相应的关联信息表中写入的参数,以确定所有所述系统调用操作的为同一对象,并根据所述确定的结果和所述行为检测表对所有所述系统调用对应的行为进行上报。
2.根据权利要求1所述的方法,其特征在于,根据所述确定的结果和所述行为检测表对所有所述系统调用对应的行为进行上报还包括:
响应于所有所述系统调用操作的为同一对象,将所述行为组合所对应的行为与所述行为检测表中的行为进行对比,并响应于对比成功而将确定出的所有所述系统调用对应的行为进行上报。
3.根据权利要求2所述的方法,其特征在于,在所述行为检测表中将恶意软件行为细分为:访问初始化、执行、常驻、提权、防御规避、凭据访问、扩散、数据收集、以及命令和控制。
4.根据权利要求1所述的方法,其特征在于,所述关联信息表包括进程关联信息表、文件关联信息表、注册表关联信息表、服务关联信息表以及网络关联信息表。
5.根据权利要求4所述的方法,其特征在于,所述进程关联信息表包括主体进程uuid、客体进程uuid、动作,所述文件关联信息表包括主体进程uuid、文件路径名、动作,所述注册表关联信息表包括主体进程uuid、注册表项、动作,所述服务关联信息表包括主体进程uuid、服务名、动作,以及所述网络关联信息表包括主体进程uuid、ip、端口、协议。
6.根据权利要求1所述的方法,其特征在于,所述行为表包括行为id、系统调用api、参数、行为描述、行为分类以及威胁值。
7.根据权利要求6所述的方法,其特征在于,所述行为组合表包括行为id组合、行为描述以及威胁值。
8.一种恶意软件行为检测装置,其特征在于,包括:
至少一个处理器;和
存储器,所述存储器存储有处理器可运行的程序代码,所述程序代码在被处理器运行时实施以下步骤:
预设每一个系统调用与行为之间的映射关系的行为表以及多个系统调用与行为之间的映射关系的行为组合表,并预设关联信息表以及包含多个恶意软件行为的行为检测表;
响应于检测到系统调用,将所述系统调用的参数与所述行为表进行匹配以获取匹配到的行为、id和分类,并根据分类将所述参数写入相应的关联信息表中;
将所述行为与所述行为检测表中的行为进行对比,并响应于比对失败而根据所述行为id与所述行为组合表进行比对,以查找出包含所有所述行为id的行为组合;
响应于所述行为组合中的所有行为id对应的系统调用均被检测到,读取所述相应的关联信息表中写入的参数,以确定所有所述系统调用操作的为同一对象,并根据所述确定的结果和所述行为检测表对所有所述系统调用对应的行为进行上报。
9.根据权利要求8所述的装置,其特征在于,根据所述确定的结果和所述行为检测表对所有所述系统调用对应的行为进行上报还包括:
响应于所有所述系统调用操作的为同一对象,将所述行为组合所对应的行为与所述行为检测表中的行为进行对比,并响应于对比成功而将确定出的所有所述系统调用对应的行为进行上报。
10.根据权利要求9所述的装置,其特征在于,在所述行为检测表中将恶意软件行为细分为:访问初始化、执行、常驻、提权、防御规避,凭据访问、扩散、数据收集、以及命令和控制。
技术总结