本发明涉及计算机安全领域,特别是涉及一种病毒查杀方法和装置。
背景技术:
技术实现要素:
基于此,有必要针对传统的云端查杀病毒的方式安全性低且通用性差的问题,提供一种病毒查杀方法,能提高安全性且通用性强。
此外,还有必要提供一种病毒查杀装置,能提高安全性且通用性强。
一种病毒查杀方法,包括以下步骤:
记录应用程序的行为序列轨迹;
将应用程序的行为序列轨迹与预先存储的病毒的行为序列轨迹进行匹配;
若应用程序的行为序列轨迹与预先存储的病毒的行为序列轨迹匹配成功,则判定所述应用程序为病毒;
清除判定为病毒的应用程序。
一种病毒查杀装置,包括:
记录模块,用于记录应用程序的行为序列轨迹;
匹配模块,用于将应用程序的行为序列轨迹与预先存储的病毒的行为序列轨迹进行匹配;
判定模块,用于若应用程序的行为序列轨迹与预先存储的病毒的行为序列轨迹匹配成功,则判定所述应用程序为病毒;
清除模块,用于清除判定为病毒的应用程序。
上述病毒查杀方法和装置,通过将应用程序的行为序列轨迹与预先存储的病毒的行为序列轨迹进行匹配,若匹配成功,则判定该应用程序为病毒,清除该应用程序,不需将终端上的信息上传到云端,防止用户信息被泄露,提高了安全性,且不需将每个病毒文件进行预先存储,然后再将检测的文件与病毒文件比较,采用的是病毒的行为序列轨迹,将检测的文件的行为序列轨迹与病毒行为序列轨迹比较,通用性强。
附图说明
图1为一个实施例中终端的内部结构示意图;
图2为一个实施例中服务器的内部结构示意图;
图3为一个实施例中病毒查杀方法的流程图;
图4为另一个实施例中病毒查杀方法的流程图;
图5为实例的行为序列树的示意图;
图6为预先存储的病毒的行为序列树示意图;
图7为将图5中的实例的行为序列树与图6中的预先存储的病毒的行为序列树匹配后的示意图;
图8为一个实施例中病毒查杀装置的结构框图;
图9为另一个实施例中病毒查杀装置的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图3为一个实施例中病毒查杀方法的流程图。如图3所示,该病毒查杀方法,运行于图1中的终端上,包括以下步骤:
步骤302,记录应用程序的行为序列轨迹。
记录应用程序的行为序列轨迹的步骤包括:记录应用程序的关键行为轨迹,该关键行为轨迹包括进程启动、创建线程、创建可执行文件、写入注册表中一种或多种。通过记录关键行为轨迹减小了记录数据,减小了后续与预先存储的病毒的行为序列轨迹比较的计算量,提高计算效率。
步骤304,将应用程序的行为序列轨迹与预先存储的病毒的行为序列轨迹进行匹配。
具体地,首先分析并存储病毒的行为序列轨迹。将应用程序的行为序列轨迹与预先存储病毒的行为序列轨迹进行比较,若应用程序的行为序列轨迹包含了预先存储的病毒的行为序列轨迹,则匹配成功,判定该应用程序为病毒,若应用程序的行为序列轨迹包含部分预先存储的病毒的行为序列轨迹或不包含预先存储的病毒的行为序列轨迹,则匹配失败,判定该应用程序不为病毒。
该预先存储的病毒的行为序列轨迹可包括进程启动、进程在系统进程中创建线程、系统进程中创建的线程创建可执行文件和写入注册表。
在一个实施例中,预先存储的病毒的行为序列轨迹包括系统创建进程、进程在系统进程中创建线程、系统进程中创建的线程创建可执行文件和写入注册表;
获取的应用程序的行为序列轨迹包括接收对应用程序文件的触发操作、根据触发操作系统创建进程、进程在系统进程中创建线程、系统进程中创建的线程创建可执行文件和写入注册表;
将应用程序的行为序列轨迹与预先存储的病毒的行为序列轨迹进行匹配,得到应用程序的行为序列轨迹中包含了预先存储的病毒的行为序列轨迹,即包含了系统创建进程、进程在系统进程中创建线程、系统进程中创建的线程创建可执行文件和写入注册表,则匹配成功,判定该应用程序为病毒。
步骤306,若应用程序的行为序列轨迹与预先存储的病毒的行为序列轨迹匹配成功,则判定该应用程序为病毒。
步骤308,清除判定为病毒的应用程序。
具体地,清除为病毒的应用程序可为删除该应用程序的进程,或者回滚该应用程序的行为。
删除应用程序的进程是指应用程序启动运行后开启了进程,删除该进程。回滚应用程序的行为是指按照记录的应用程序的行为序列轨迹,可以反向操作,例如应用程序的行为序列轨迹为在系统进程中创建一个线程,则回滚应用程序的行为为关闭创建的线程。
上述病毒查杀方法,通过将应用程序的行为序列轨迹与预先存储的病毒的行为序列轨迹进行匹配,若匹配成功,则判定该应用程序为病毒,清除该应用程序,不需将终端上的信息上传到云端,防止用户信息被泄露,提高了安全性,且不需将每个病毒文件进行预先存储,然后再将检测的文件与病毒文件比较,采用的是病毒的行为序列轨迹,将检测的文件的行为序列轨迹与病毒行为序列轨迹比较,通用性强。
图4为另一个实施例中病毒查杀方法的流程图。图4中的预先存储的病毒的行为序列轨迹形成病毒的行为序列树。如图4所示,一种病毒查杀方法,包括:
步骤402,记录应用程序的行为序列轨迹。
步骤404,根据应用程序的行为序列轨迹建立该应用程序的行为序列树。
步骤406,将应用程序的行为序列树与预先存储的病毒的行为序列树进行匹配。
具体地,首先分析并存储病毒的行为序列轨迹,并根据病毒的行为序列轨迹形成病毒的行为序列树。将应用程序的行为序列树与预先存储病毒的行为序列树进行比较,若应用程序的行为序列树包含了预先存储的病毒的行为序列树,则匹配成功,判定该应用程序为病毒,若应用程序的行为序列轨迹包含部分预先存储的病毒的行为序列树或不包含预先存储的病毒的行为序列树,则匹配失败,判定该应用程序不为病毒。
该预先存储的病毒的行为序列树可包括进程启动、进程在系统进程中创建线程、系统进程中创建的线程创建可执行文件和写入注册表。
在一个实施例中,预先形成的病毒的行为序列树包括系统创建进程、进程在系统进程中创建线程、系统进程中创建的线程创建可执行文件和写入注册表;
建立的应用程序的行为序列树包括接收对应用程序文件的触发操作、根据触发操作系统创建进程、进程在系统进程中创建线程、系统进程中创建的线程创建可执行文件和写入注册表;
将应用程序的行为序列树与预先形成的病毒的行为序列树进行匹配,得到应用程序的行为序列树中包含了预先形成的病毒的行为序列树,即包含了系统创建进程、进程在系统进程中创建线程、系统进程中创建的线程创建可执行文件和写入注册表,则匹配成功,判定该应用程序为病毒。
步骤408,若应用程序的行为序列树与预先存储的病毒的行为序列树匹配成功,则判定该应用程序为病毒。
步骤410,清除判定为病毒的应用程序。
上述病毒查杀方法,通过将应用程序的行为序列树与预先存储的病毒的行为序列树进行匹配,若匹配成功,则判定该应用程序为病毒,清除该应用程序,不需将终端上的信息上传到云端,防止用户信息被泄露,提高了安全性,且不需将每个病毒文件进行预先存储,然后再将检测的文件与病毒文件比较,采用的是病毒的行为序列树,将检测的应用程序的行为序列树与病毒行为序列树比较,通用性强,且将应用程序的行为序列树与病毒的行为序列树进行匹配,结构清晰,便于比较。
在一个实施例中,上述病毒查杀方法还包括:定期更新病毒的行为序列轨迹或定期更新病毒的行为序列树。
具体地,可定期更新服务器上的病毒的行为序列轨迹或行为序列树等,终端可从服务器下载更新本地的病毒的行为序列轨迹或行为序列树。定期更新病毒的行为序列轨迹,可查杀新的病毒,提高查杀的准确率。
下面结合具体的实例进行说明病毒查杀方法的工作原理。以样本virus.exe为例,样本virus.exe的行为序列轨迹包括:
(1)接收用户双击virus.exe文件;
(2)系统创建进程A;
(3)进程A在系统进程explorer中创建线程b;
具体地,系统进程explorer为windows文件管理进程,作用为文件查看等。
(4)系统进程explorer的线程b在c:windows下创建可执行文件c.exe;
(5)系统进程explorer的线程b写入注册表,即在系统HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run注册表下创建注册表键rb值为c:\windows\c.exe。
图5为实例的行为序列树的示意图。如图5所示,根据实例的行为序列轨迹形成实例的行为序列树。用户双击virus.exe文件后,进程A启动,然后在进程explorer中创建线程b,再创建文件c.exe、写run项和其他行为。run项是指写注册表的run项(启动项)。
图6为预先存储的病毒的行为序列树示意图。如图6所示,病毒的行为序列树包括进程x启动、进程x在explorer中创建线程x、创建文件x.exe、写run项,其中,x表示任意匹配。
图7为将图5中的实例的行为序列树与图6中的预先存储的病毒的行为序列树匹配后的示意图。如图7所示,实例的行为序列树中包含了进程A启动、进程A在explorer中创建线程b、创建文件c.exe、写run项,与预先存储的病毒的行为序列树一致,即匹配成功,该实例为病毒。
图8为一个实施例中病毒查杀装置的结构框图。如图8所示,一种病毒查杀装置,包括记录模块810、匹配模块820、判定模块830和清除模块840。其中:
记录模块810用于记录应用程序的行为序列轨迹。
本实施例中,记录模块810还用于记录应用程序的关键行为轨迹,该关键行为轨迹包括进程启动、创建线程、创建可执行文件、写入注册表中一种或多种。通过记录关键行为轨迹减小了记录数据,减小了后续与预先存储的病毒的行为序列轨迹比较的计算量,提高计算效率。
匹配模块820用于将应用程序的行为序列轨迹与预先存储的病毒的行为序列轨迹进行匹配。
该预先存储的病毒的行为序列轨迹可包括进程启动、进程在系统进程中创建线程、创建可执行文件、系统进程中创建的线程写入注册表。
判定模块830用于若匹配成功,则判定该应用程序为病毒。
具体地,应用程序的行为序列轨迹与预先存储的病毒的行为序列轨迹匹配成功,则判定该应用程序为病毒。
记录模块810获取的应用程序的行为序列轨迹包括接收对应用程序文件的触发操作、根据触发操作系统创建进程、进程在系统进程中创建线程、系统进程中创建的线程创建可执行文件和写入注册表;
匹配模块820将应用程序的行为序列轨迹与预先存储的病毒的行为序列轨迹进行匹配,得到应用程序的行为序列轨迹中包含了预先存储的病毒的行为序列轨迹,即包含了系统创建进程、进程在系统进程中创建线程、系统进程中创建的线程创建可执行文件和写入注册表,则匹配成功,判定模块830判定该应用程序为病毒。
清除模块840用于清除判定为病毒的应用程序。
上述病毒查杀装置,通过将应用程序的行为序列轨迹与预先存储的病毒的行为序列轨迹进行匹配,若匹配成功,则判定该应用程序为病毒,清除该应用程序,不需将终端上的信息上传到云端,防止用户信息被泄露,提高了安全性,且不需将每个病毒文件进行预先存储,然后再将检测的文件与病毒文件比较,采用的是病毒的行为序列轨迹,将检测的文件的行为序列轨迹与病毒行为序列轨迹比较,通用性强。
图9为另一个实施例中病毒查杀装置的结构框图。如图9所示,一种病毒查杀装置,除了包括记录模块810、匹配模块820、判定模块830和清除模块840,还包括建立模块850、形成模块860和更新模块870。其中:
建立模块850用于在该记录应用程序的行为序列轨迹之后,根据应用程序的行为序列轨迹建立该应用程序的行为序列树。
匹配模块820还用于将应用程序的行为序列树与预先存储的病毒的行为序列树进行匹配。
建立模块850建立的应用程序的行为序列树包括接收对应用程序文件的触发操作、根据触发操作系统创建进程、进程在系统进程中创建线程、系统进程中创建的线程创建可执行文件和写入注册表;
匹配模块820将应用程序的行为序列树与预先形成的病毒的行为序列树进行匹配,得到应用程序的行为序列树中包含了预先形成的病毒的行为序列树,即包含了系统创建进程、进程在系统进程中创建线程、系统进程中创建的线程创建可执行文件和写入注册表,则匹配成功,判定模块830判定该应用程序为病毒。
判定模块830还用于若应用程序的行为序列树与预先存储的病毒的行为序列树匹配成功,则判定该应用程序为病毒。
更新模块870用于定期更新病毒的行为序列轨迹。
上述病毒查杀装置,通过将应用程序的行为序列树与预先存储的病毒的行为序列树进行匹配,若匹配成功,则判定该应用程序为病毒,清除该应用程序,不需将终端上的信息上传到云端,防止用户信息被泄露,提高了安全性,且不需将每个病毒文件进行预先存储,然后再将检测的文件与病毒文件比较,采用的是病毒的行为序列树,将检测的应用程序的行为序列树与病毒行为序列树比较,通用性强,且将应用程序的行为序列树与病毒的行为序列树进行匹配,结构清晰,便于比较。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。