CN104680065A - 病毒检测方法、装置及设备 - Google Patents

病毒检测方法、装置及设备 Download PDF

Info

Publication number
CN104680065A
CN104680065A CN201510038792.6A CN201510038792A CN104680065A CN 104680065 A CN104680065 A CN 104680065A CN 201510038792 A CN201510038792 A CN 201510038792A CN 104680065 A CN104680065 A CN 104680065A
Authority
CN
China
Prior art keywords
feature
classification
file
detected
viral diagnosis
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201510038792.6A
Other languages
English (en)
Inventor
陈治宇
周吉文
周杰
李伟
郭疆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Anyi Hengtong Beijing Technology Co Ltd
Original Assignee
Anyi Hengtong Beijing Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Anyi Hengtong Beijing Technology Co Ltd filed Critical Anyi Hengtong Beijing Technology Co Ltd
Priority to CN201510038792.6A priority Critical patent/CN104680065A/zh
Publication of CN104680065A publication Critical patent/CN104680065A/zh
Priority to BR102015026015A priority patent/BR102015026015A2/pt
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Virology (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提供了病毒检测方法、装置和设备。该方法包括识别待检测文件的文件格式,从而确定所述待检测文件所属类别;提取所述待检测文件的与所述类别对应的特征向量;将所述特征向量输入到对应类别的病毒检测模型中,来检测所述待检测文件是否为病毒文件。本申请可有效简化病毒检测操作,提升病毒检测速度,且不同类别的待检测文件采用对应类别的病毒检测模型来检测,可有效保证各种类别文件的病毒检出率,以及未知病毒的及时发现。

Description

病毒检测方法、装置及设备
技术领域
本发明涉及计算机领域,尤其涉及一种病毒检测方法、装置及设备。
背景技术
随着互联网技术的发展,病毒的种类及数量都在不断则增长,其中木马病毒由于其独有的危害性,导致许多别有用心的程序开发者大量的编写这类带有偷窃和监视别人电脑的侵入性程序,从而导致木马病毒泛滥成灾。
传统的针对木马病毒的查杀方法多为采用人工分析匹配或人工启动规则等方式来检测。该人工分析匹配或人工启动规则的方式至少存在如下弊端:
人力成本较高,且对分析人员的专业技能要求较高;
另外,病毒检测速度难以保证,因此,检测效率较低;
同时,也很难及时准确的发现未知的病毒。
发明内容
本发明解决的技术问题之一是提供一种病毒检测方法、装置及设备,降低人力成本的同时,提高病毒检测的效率及准确性。
根据本发明一方面的一个实施例,提供了一种病毒检测方法,包括:
识别待检测文件的文件格式,从而确定所述待检测文件所属类别;
提取所述待检测文件的与所述类别对应的特征向量;
将所述特征向量输入到对应类别的病毒检测模型中,来检测所述待检测文件是否为病毒文件。
可选地,确定所述待检测文件所属类别包括:
确定所述待检测文件所属类别为指定类别中任一种;或
所述待检测文件非指定类别中任一种,则确定所述待检测文件为其他类别。
可选地,所述指定类别包括以下至少一种:
自解压缩包类别、安装包类别、编译器类别、壳类别。
可选地,与所述自解压缩包类别对应的特征向量包括以下至少一项:
目录结构特征、文件的校验和特征、文件数据内容特征、压缩算法特征、执行脚本特征。
可选地,与所述安装包类别对应的特征向量包括以下至少一项:
目录结构特征、安装脚本特征、安装程序版本特征、安装文件校验和特征、安装插件特征、文件数据特征、按照界面图像特征。
可选地,与所述编译器类别对应的特征向量包括以下至少一项:
函数特征、类特征、变量特征、引用关系特征、字符串特征、数据块特征、逻辑特征、数据内容特征。
可选地,与所述壳类别对应的特征向量包括以下至少一项:
外壳程序特征、内部程序特征、压缩或加密特征。
可选地,与所述其他类别对应的特征向量包括以下至少一项:
程序结构特征、导入导出数据特征、文本字符串特征、数值特征、入口及函数特征、版本信息特征、图标图像特征。
可选地,所述对应类别的病毒检测模型为:
利用所述类别对应的特征向量基于机器学习算法训练得到的病毒检测模型。
根据本发明另一方面的一个实施例,提供了一种病毒检测装置,包括:
用于识别待检测文件的文件格式,从而确定所述待检测文件所属类别的单元;
用于提取所述待检测文件的与所述类别对应的特征向量的单元;
用于将所述特征向量输入到对应类别的病毒检测模型中,来检测所述待检测文件是否为病毒文件的单元。
可选地,所述待检测文件所属类别包括:
指定类别中任一种;或指定类别外的其他类别。
可选地,所述指定类别包括以下至少一种:
自解压缩包类别、安装包类别、编译器类别、壳类别。
可选地,与所述自解压缩包类别对应的特征向量包括以下至少一项:
目录结构特征、文件的校验和特征、文件数据内容特征、压缩算法特征、执行脚本特征。
可选地,与所述安装包类别对应的特征向量包括以下至少一项:
目录结构特征、安装脚本特征、安装程序版本特征、安装文件校验和特征、安装插件特征、文件数据特征、按照界面图像特征。
可选地,与所述编译器类别对应的特征向量包括以下至少一项:
函数特征、类特征、变量特征、引用关系特征、字符串特征、数据块特征、逻辑特征、数据内容特征。
可选地,与所述壳类别对应的特征向量包括以下至少一项:
外壳程序特征、内部程序特征、压缩或加密特征。
可选地,与所述其他类别对应的特征向量包括以下至少一项:
程序结构特征、导入导出数据特征、文本字符串特征、数值特征、入口及函数特征、版本信息特征、图标图像特征。
可选地,所述对应类别的病毒检测模型为:
利用所述类别对应的特征向量基于机器学习算法训练得到的病毒检测模型。
根据本发明的另一方面的一个实施例,还提供了一种计算机设备,包括前述病毒检测装置。
本申请通过识别待检测文件的格式,可确定待检测所述类别,从而提取待检测文件的与该类别对应的特征向量,输入到对应类别的病毒检测模型中来实现病毒检测,该过程不需要提取待检测文件的所有的特征向量,而是只提取与该类别对应的特征向量,因此可有效简化病毒检测操作,提升病毒检测速度,且不同类别的待检测文件采用对应类别的病毒检测模型来检测,可有效保证各种类别文件的病毒检出率,以及未知病毒的及时发现,且有效降低了人力成本。
本领域普通技术人员将了解,虽然下面的详细说明将参考图示实施例、附图进行,但本发明并不仅限于这些实施例。而是,本发明的范围是广泛的,且意在仅通过后附的权利要求限定本发明的范围。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1是根据本发明一个实施例的病毒检测方法的流程图。
图2是根据本发明一个实施例的病毒检测模型训练方法的流程图。
图3是根据本发明一个实施例的病毒检测方法实现原理框图。
图4是根据本发明一个实施例的病毒检测装置的结构示意图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
木马病毒,也称木马(Trojan),是指通过特定的程序(木马程序)来控制另一台计算机。木马通常有两个可执行程序:一个是控制端,另一个是被控制端。“木马”程序是目前比较流行的病毒文件,与一般的病毒不同,它不会自我繁殖,也并不“刻意”地去感染其他文件,它通过将自身伪装吸引用户下载执行,向施种木马者提供打开被种主机的门户,使施种者可以任意毁坏、窃取被种者的文件,甚至远程操控被种主机。
木马病毒的特点是:不经电脑用户准许就可获得电脑的使用权。程序容量十分轻小,运行时不会浪费太多资源,因此没有使用杀毒软件是难以发觉的,运行时很难阻止它的行动,运行后,立刻自动登录在***引导区,之后每次在Windows加载时自动运行,或立刻自动变更文件名,甚至隐形,或马上自动复制到其他文件夹中,运行连用户本身都无法运行的动作。
木马病毒的危害:木马病毒是***的监视别人和盗窃别人密码,数据等,如盗窃管理员密码-子网密码搞破坏,或者好玩,偷窃上网密码用于别处,游戏帐号,股票帐号,甚至网上银行帐户等等,达到偷窥别人隐私和得到经济利益为目的。所以木马的作用比早期的电脑病毒更加有用,更能够直接达到使用者的目的!导致许多别有用心的程序开发者大量的编写这类带有偷窃和监视别人电脑的侵入性程序,这就是网上大量木马泛滥成灾的原因。鉴于木马的这些巨大危害性和它与早期病毒的作用性质不一样,所以木马虽然属于病毒中的一类,但是要单独的从病毒类型中间剥离出来,独立的称之为″木马程序″。
本申请实施例提供的病毒检测方法、装置及设备可用于木马病毒的检测,当然并不局限于此。
下面结合附图对本发明作进一步详细描述。
图1是根据本发明一个实施例的病毒检测方法的流程图。本发明中的方法主要通过计算机设备中的操作***或处理控制器来完成。将操作***或处理控制器称为病毒检测装置。该计算机设备包括但不限于以下中的至少一个:用户设备、网络设备。用户设备包括但不限于计算机、智能手机、PDA等。网络设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算的由大量计算机或网络服务器构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。
如图1中所示为,该病毒检测方法主要包括如下步骤:
S100、识别待检测文件的文件格式,从而确定所述待检测文件所属类别;
S110、提取所述待检测文件的与所述类别对应的特征向量;
S120、将所述特征向量输入到对应类别的病毒检测模型中,来检测所述待检测文件是否为病毒文件。
在介绍上述各步骤前,需要说明的是,本申请实施例所述的病毒检测方法是采用预先训练的病毒检测模型来实现的,因此,在执行该病毒检测操作前,需要训练出病毒检测模型。但由于并不是每次执行病毒检测操作时都需要执行该训练操作,因此,该训练病毒检测模型的操作并不是检测病毒的必要步骤。下面首先介绍下病毒检测模型的训练方法。如图2中所示,为本申请一个实施例提供的病毒检测模型训练方法的流程图,该训练方法可包括如下步骤:
S200、获取病毒检测模型训练样本;
本申请实施例对获取该样本的方法及数量不做具体限制,且可以理解的是,其获取的样本数量越多,则训练出的病毒检测模型识别病毒的准确度越高。
另外,需要说明的是,本申请实施例提供的训练病毒检测模型的方法,可以仅基于被病毒感染的病毒样本来训练,也就是,训练过程仅采用黑文件来完成;也可以基于1∶1的病毒样本和非感染病毒样本来训练,也就是,训练过程采用黑文件与白文件1∶1的比例来完成。此处所述的黑文件即被病毒感染的文件,白文件为未被病毒感染的正常文件。
本申请实施例是针对不同类别的文件单独训练对应的病毒检测模型,例如,本申请实施例所述的文件类别包括但不限于以下指定类别中的至少一种:
自解压缩包类别、安装包类别、编译器类别、壳类别。
本实施例所述的自解压缩包即自解压文件,是采用自解压方式进行压缩的一种文件包,其中自解压(SFX,Self-eXtracting)是压缩文件的一种,因为它可以不用借助任何压缩工具,而只需双击该文件就可以自动执行解压缩,因此叫做自解压文件。同压缩文件相比,自解压的压缩文件体积要大于普通的压缩文件(因为它内置了自解压程序),但它的优点就是可以在没有安装压缩软件的情况下打开压缩文件,自解压缩包的文件包括zip、rar和7z三种类型。
本实施例所述的安装包即软件安装包,其中包括软件安装的所有文件,运行这个安装包(可执行文件),可以将此软件的所有文件释放到硬盘上,完成修改注册表、修改***设置、创建快捷方式等工作。本实施例所述的安装包类别包括但不限于:inno、nsis、msi、cab等类型的文件。
本实施例所述的编译器就是将一种语言翻译为另一种语言的程序。
其中的壳类别即为加壳的程序,加壳过的程序可以直接运行,但是不能查看原始程序的二进制数据,要经过脱壳才可以查看原始程序的二进制数据。加壳,是利用特殊的算法,对EXE、DLL文件里的资源进行压缩、加密。类似WINZIP的效果,只不过这个压缩之后的文件,可以独立运行,解压过程完全隐蔽,都在内存中完成。它们附加在原程序上通过Windows加载器载入内存后,先于原始程序执行,得到控制权,执行过程中对原始程序进行解密、还原,还原完成后再把控制权交还给原始程序,执行原来的代码部分。加上外壳后,原始程序代码在磁盘文件中一般是以加密后的形式存在的,只在执行时在内存中还原,这样就可以比较有效地防止破解者对程序文件的非法修改,同时也可以防止程序被静态反编译。
可以理解的是,文件类别并不局限于上述所列举的几种,上述指定类别外的类别统称为其他类别,本申请实施例除针对上述指定类别训练对应的病毒检测模型,还可以针对所述的其他类别单独训练一个病毒检测模型。
本申请实施例针对上述每一指定类别单独训练对应的病毒检测模型,则在获取训练样本时,需要获取对应类别的病毒样本,例如,针对自解压缩包类别,获取被病毒感染的自解压缩包文件作为病毒样本,针对安装包类别,获取被病毒感染的安装包文件作为病毒样本等等。针对其他类别,则获取除上述指定类别外的其他类别的被病毒感染的文件作为病毒样本。
S210、提取各类别样本对应的特征向量;
本申请实施例针对不同类别的样本,其获取与该类别对应的特征向量,也就是其获取不同的特征向量,下面以上述所列举的指定类别为例,来说明各类别样本获取的特征向量不同。
其中,自解压缩包类别需要获取的特征向量可包括以下至少一项:
目录结构特征、文件的校验和特征、文件数据内容特征、压缩算法特征、执行脚本特征。
安装包类别需要获取的特征向量可包括以下至少一项:
目录结构特征、安装脚本特征、安装程序版本特征、安装文件校验和特征、安装插件特征、文件数据特征、按照界面图像特征。
编译器类别需要获取的特征向量可包括以下至少一项:
函数特征、类特征、变量特征、引用关系特征、字符串特征、数据块特征、逻辑特征、数据内容特征。
壳类别需要获取的特征向量可包括以下至少一项:
外壳程序特征、内部程序特征、压缩或加密特征。
可以理解的是,上述各类别对应获取的特征向量仅为发明人所列举的具体实例,实际操作中还可包括对应类别的其他特征向量,在此无法穷举,其均在本申请保护范围内。
另外,针对上述的其他类别样本,其需要获取的特征向量可包括以下至少一项:
程序结构特征、导入导出数据特征、文本字符串特征、数值特征、入口及函数特征、版本信息特征、图标图像特征。
上述为各类别需要获取的特征向量,在获取各特征向量后,本申请实施例还可对上述特征向量进行相应处理。所述相应处理包括但不限于:
将非数值特征进行量化,将高维特征进行特征筛选,以及将所有特征进行归一化处理等。
S220、利用预设的机器学习分类算法进行计算,得到感染型病毒识别模型。
本步骤是将上述获取的样本以及提取的特征向量输入到机器学习的分类算法中,从而得到病毒检测模型。若上述步骤中,已对获取的特征向量进行上面所述的相应处理,则机器学习时使用的特征向量为经过上述处理后的特征向量。
本申请实施例对所采用的分类算法不做具体限制,其可以采用已有的任一种分类算法,例如决策树算法、SVM(Support Vector Machine,支持向量机)算法等等。
通过上述训练方法得到了用于检测指定类别文件病毒的病毒检测模型,例如,可分别得到用于检测自解压缩包类别文件的病毒检测模型、用于检测安装包类别文件的病毒检测模型、用于检测编译器类别文件的病毒检测模型、用于检测壳类别文件的病毒检测模型以及用于检测非指定类别的其他类别文件的病毒检测模型。
下面对上述病毒检测的各步骤做进一步详细介绍。
S100是用于识别待检测文件的文件格式,从而确定所述待检测文件所属类别;本步骤也就是根据待检测文件的文件格式来确定待检测文件所属类别是指定类别中任一种,还是指定类别外的其他类别。
其中,每种指定类别的文件的识别方法不同,本申请实施例对具体识别方法不做具体限制,其可以采用已有的任一种识别方法来实现,例如,针对自解压缩包类别,可通过判断附加数据的前两个到四个字节,或者附加数据或资源的开始部分的数据块内是否有压缩包的关键词,来确定该文件是否为自解压缩包类别文件。又如,针对编译器类别,可通过入口点的指令调用特点,和使用的函数特征进行识别。针对壳类别,可通过入口点的代码特征匹配,和一些节的信息特点进行区分等等。那么识别过程中不属于上述指定类别的文件即确定为其他类别文件。
识别待检测文件的文件格式,确定该待检测文件所属类别的目的在于,可以确定需要提取该待检测文件的哪些特征向量,因为不同类别的待检测文件需要提取对应类别的特征向量。步骤S110即为根据确定的待检测文件所属的类别,来提取所述待检测文件的与所述类别对应的特征向量,其中各种类别对应需要提取的特征向量如前文训练病毒检测模型的介绍中所述,此处不再赘述。需要说明的是,各类别需要提取的特征向量与训练对应的病毒检测模型时提前的特征向量一致。
步骤S120是将步骤S110中提取的特征向量输入到对应类别的病毒检测模型中,来检测所述待检测文件是否为病毒文件。
例如,针对自解压缩包类别,其获取的特征向量包括:目录结构特征、文件的校验和特征、文件数据内容特征、压缩算法特征、执行脚本特征。将该特征向量输入到用于检测自解压缩包类别文件的病毒检测模型中,来进行病毒检测。
针对编译器类别,其获取的特征向量包括:函数特征、类特征、变量特征、引用关系特征、字符串特征、数据块特征、逻辑特征、数据内容特征。将该特征向量输入的用于检测编译器类别文件的病毒检测模型中,来进行病毒检测。
本实施例所述病毒检测方法的实现原理框图如图3中所示,由图3可以看出,针对一篇待检测文件,首先进行格式识别,从而确定待检测文件所属类别为类别1、类别2、类别3或类别4中的一种,之后提取该待检测文件的与该类别对应的特征向量,针对类别1提取特征向量1,针对类别2提取特征向量2,针对类别2提取特征向量3,针对类别4提取特征向量4等等,再将提取的各特征向量输入到对应的病毒检测模型中,类别1对应病毒检测模型1,类别2对应病毒检测模型2,类别3对应病毒检测模型3,类别4对应病毒检测模型4等等。
通过上述各步骤实现了对不同类别的待检测文件,提取对应的特征向量,输入到对应类别的病毒检测模型中来实现病毒检测,该方法不需要提取待检测文件的所有的特征向量,而是只提取与该类别对应的特征向量,因此可有效简化病毒检测操作,提升病毒检测速度,且不同类别的待检测文件采用对应类别的病毒检测模型来检测,可有效保证各种类别文件的病毒检出率,以及未知病毒的及时发现,且可有效降低人力成本。
基于上述方法同样的思路,本申请实施例还提供一种病毒检测装置,该病毒检测装置的结构示意图如图4中所示,该装置主要包括:
用于识别待检测文件的文件格式,从而确定所述待检测文件所属类别的单元400,以下简称类别确定单元400;
用于提取所述待检测文件的与所述类别对应的特征向量的单元410,以下简称特征提取单元410;
用于将所述特征向量输入到对应类别的病毒检测模型中,来检测所述待检测文件是否为病毒文件的单元420,以下简称病毒检测单元420。
下面对上述各单元做进一步详细介绍。
类别确定单元400是用于识别待检测文件的文件格式,从而确定待检测文件所属类别;也就是根据待检测文件的文件格式来确定待检测文件所属类别是指定类别中任一种,还是指定类别外的其他类别。
本申请实施例中所述的指定类别包括以下至少一种:
自解压缩包类别、安装包类别、编译器类别、壳类别。
本实施例所述的自解压缩包即自解压文件,是采用自解压方式进行压缩的一种文件包,其中自解压(SFX,Self-eXtracting)是压缩文件的一种,因为它可以不用借助任何压缩工具,而只需双击该文件就可以自动执行解压缩,因此叫做自解压文件。同压缩文件相比,自解压的压缩文件体积要大于普通的压缩文件(因为它内置了自解压程序),但它的优点就是可以在没有安装压缩软件的情况下打开压缩文件,自解压缩包的文件包括zip、rar和7z三种类型。
本实施例所述的安装包即软件安装包,其中包括软件安装的所有文件,运行这个安装包(可执行文件),可以将此软件的所有文件释放到硬盘上,完成修改注册表、修改***设置、创建快捷方式等工作。本实施例所述的安装包类别包括但不限于:inno、nsis、msi、cab等类型的文件。
本实施例所述的编译器就是将一种语言翻译为另一种语言的程序。
其中的壳类别即为加壳的程序,加壳过的程序可以直接运行,但是不能查看原始程序的二进制数据,要经过脱壳才可以查看原始程序的二进制数据。加壳,是利用特殊的算法,对EXE、DLL文件里的资源进行压缩、加密。类似WINZIP的效果,只不过这个压缩之后的文件,可以独立运行,解压过程完全隐蔽,都在内存中完成。它们附加在原程序上通过Windows加载器载入内存后,先于原始程序执行,得到控制权,执行过程中对原始程序进行解密、还原,还原完成后再把控制权交还给原始程序,执行原来的代码部分。加上外壳后,原始程序代码在磁盘文件中一般是以加密后的形式存在的,只在执行时在内存中还原,这样就可以比较有效地防止破解者对程序文件的非法修改,同时也可以防止程序被静态反编译。
可以理解的是,文件类别并不局限于上述所列举的几种,本申请实施例将上述指定类别外的类别统称为其他类别。
该类别确定单元400识别每种指定类别文件的方法不同,本申请实施例对具体识别方法不做具体限制,其可以采用已有的任一种识别方法来实现,例如,针对自解压缩包类别,可通过判断附加数据的前两个到四个字节,或者附加数据或资源的开始部分的数据块内是否有压缩包的关键词,来确定该文件是否为自解压缩包类别文件。又如,针对编译器类别,可通过入口点的指令调用特点,和使用的函数特征进行识别。针对壳类别,可通过入口点的代码特征匹配,和一些节的信息特点进行区分等等。那么识别过程中不属于上述指定类别的文件即确定为其他类别文件。
识别待检测文件的文件格式,确定该待检测文件所属类别的目的在于,可以确定需要提取该待检测文件的哪些特征向量,因为本申请实施例针对不同类别的待检测文件需要提取对应类别的特征向量。
特征提取单元410即为根据类别确定单元400确定的待检测文件所属的类别,来提取所述待检测文件的与所述类别对应的特征向量。下面以上述所列举的指定类别为例,来说明各类别需要获取的特征向量。
其中,自解压缩包类别需要获取的特征向量可包括以下至少一项:
目录结构特征、文件的校验和特征、文件数据内容特征、压缩算法特征、执行脚本特征。
安装包类别需要获取的特征向量可包括以下至少一项:
目录结构特征、安装脚本特征、安装程序版本特征、安装文件校验和特征、安装插件特征、文件数据特征、按照界面图像特征。
编译器类别需要获取的特征向量可包括以下至少一项:
函数特征、类特征、变量特征、引用关系特征、字符串特征、数据块特征、逻辑特征、数据内容特征。
壳类别需要获取的特征向量可包括以下至少一项:
外壳程序特征、内部程序特征、压缩或加密特征。
可以理解的是,上述各类别对应获取的特征向量仅为发明人所列举的具体实例,实际操作中还可包括对应类别的其他特征向量,在此无法穷举,其均在本申请保护范围内。
另外,针对上述的其他类别,其需要获取的特征向量可包括以下至少一项:
程序结构特征、导入导出数据特征、文本字符串特征、数值特征、入口及函数特征、版本信息特征、图标图像特征。
上述为各类别需要获取的特征向量,在获取各特征向量后,本申请实施例还可对上述特征向量进行相应处理。所述相应处理包括但不限于:
将非数值特征进行量化,将高维特征进行特征筛选,以及将所有特征进行归一化处理等。
可以理解的是,是否对所获取的特征向量进行上述相应处理,取决于其对应的病毒检测模型在训练阶段是否对提取的特征向量进行同样的相应处理,也就是检测过程中对提取的特征向量的操作与病毒检测模型训练阶段对特征向量的操作方式一致。
病毒检测单元420是将特征提取单元410提取的特征向量输入到对应类别的病毒检测模型中,来检测所述待检测文件是否为病毒文件。
也就是,本申请实施例在执行病毒检测前需要训练出各类别对应的病毒检测模型,包括:用于检测自解压缩包类别文件的病毒检测模型、用于检测安装包类别文件的病毒检测模型、用于检测编译器类别文件的病毒检测模型、用于检测壳类别文件的病毒检测模型以及用于检测非指定类别的其他类别文件的病毒检测模型等。
那么病毒检测单元420将待检测文件的特征向量输入到对应类别的病毒检测模型中进行病毒检测,例如,针对自解压缩包类别,其获取的特征向量包括:目录结构特征、文件的校验和特征、文件数据内容特征、压缩算法特征、执行脚本特征。病毒检测单元420将该特征向量输入到用于检测自解压缩包类别文件的病毒检测模型中,来进行病毒检测。
针对编译器类别,其获取的特征向量包括:函数特征、类特征、变量特征、引用关系特征、字符串特征、数据块特征、逻辑特征、数据内容特征。病毒检测单元420将该特征向量输入的用于检测编译器类别文件的病毒检测模型中,来进行病毒检测。
本申请实施例所述装置实现了对不同类别的待检测文件,提取对应的特征向量,输入到对应类别的病毒检测模型中来实现病毒检测,不需要提取待检测文件的所有的特征向量,而是只提取与该类别对应的特征向量,因此可有效简化病毒检测操作,提升病毒检测速度,且不同类别的待检测文件采用对应类别的病毒检测模型来检测,可有效保证各种类别文件的病毒检出率,以及未知病毒的及时发现,且可有效降低人力成本。
需要注意的是,本发明可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本发明的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本发明的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本发明的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本发明的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本发明的方法和/或技术方案。而调用本发明的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本发明的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本发明的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。***权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

Claims (19)

1.一种病毒检测方法,其中,包括:
识别待检测文件的文件格式,从而确定所述待检测文件所属类别;
提取所述待检测文件的与所述类别对应的特征向量;
将所述特征向量输入到对应类别的病毒检测模型中,来检测所述待检测文件是否为病毒文件。
2.根据权利要求1所述的方法,其中,确定所述待检测文件所属类别包括:
确定所述待检测文件所属类别为指定类别中任一种;或
所述待检测文件非指定类别中任一种,则确定所述待检测文件为其他类别。
3.根据权利要求2所述的方法,其中,所述指定类别包括以下至少一种:
自解压缩包类别、安装包类别、编译器类别、壳类别。
4.根据权利要求3所述的方法,其中,与所述自解压缩包类别对应的特征向量包括以下至少一项:
目录结构特征、文件的校验和特征、文件数据内容特征、压缩算法特征、执行脚本特征。
5.根据权利要求3所述的方法,其中,与所述安装包类别对应的特征向量包括以下至少一项:
目录结构特征、安装脚本特征、安装程序版本特征、安装文件校验和特征、安装插件特征、文件数据特征、按照界面图像特征。
6.根据权利要求3所述的方法,其中,与所述编译器类别对应的特征向量包括以下至少一项:
函数特征、类特征、变量特征、引用关系特征、字符串特征、数据块特征、逻辑特征、数据内容特征。
7.根据权利要求3所述的方法,其中,与所述壳类别对应的特征向量包括以下至少一项:
外壳程序特征、内部程序特征、压缩或加密特征。
8.根据权利要求2所述的方法,其中,与所述其他类别对应的特征向量包括以下至少一项:
程序结构特征、导入导出数据特征、文本字符串特征、数值特征、入口及函数特征、版本信息特征、图标图像特征。
9.根据权利要求1所述的方法,其中,所述对应类别的病毒检测模型为:
利用所述类别对应的特征向量基于机器学习算法训练得到的病毒检测模型。
10.一种病毒检测装置,其中,包括:
用于识别待检测文件的文件格式,从而确定所述待检测文件所属类别的单元;
用于提取所述待检测文件的与所述类别对应的特征向量的单元;
用于将所述特征向量输入到对应类别的病毒检测模型中,来检测所述待检测文件是否为病毒文件的单元。
11.根据权利要求10所述的装置,其中,所述待检测文件所属类别包括:
指定类别中任一种;或指定类别外的其他类别。
12.根据权利要求11所述的装置,其中,所述指定类别包括以下至少一种:
自解压缩包类别、安装包类别、编译器类别、壳类别。
13.根据权利要求12所述的装置,其中,与所述自解压缩包类别对应的特征向量包括以下至少一项:
目录结构特征、文件的校验和特征、文件数据内容特征、压缩算法特征、执行脚本特征。
14.根据权利要求12所述的装置,其中,与所述安装包类别对应的特征向量包括以下至少一项:
目录结构特征、安装脚本特征、安装程序版本特征、安装文件校验和特征、安装插件特征、文件数据特征、按照界面图像特征。
15.根据权利要求12所述的装置,其中,与所述编译器类别对应的特征向量包括以下至少一项:
函数特征、类特征、变量特征、引用关系特征、字符串特征、数据块特征、逻辑特征、数据内容特征。
16.根据权利要求12所述的装置,其中,与所述壳类别对应的特征向量包括以下至少一项:
外壳程序特征、内部程序特征、压缩或加密特征。
17.根据权利要求11所述的装置,其中,与所述其他类别对应的特征向量包括以下至少一项:
程序结构特征、导入导出数据特征、文本字符串特征、数值特征、入口及函数特征、版本信息特征、图标图像特征。
18.根据权利要求10所述的装置,其中,所述对应类别的病毒检测模型为:
利用所述类别对应的特征向量基于机器学习算法训练得到的病毒检测模型。
19.一种病毒检测设备,其中,包括权利要求10至18中任一项所述的病毒检测装置。
CN201510038792.6A 2015-01-26 2015-01-26 病毒检测方法、装置及设备 Pending CN104680065A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201510038792.6A CN104680065A (zh) 2015-01-26 2015-01-26 病毒检测方法、装置及设备
BR102015026015A BR102015026015A2 (pt) 2015-01-26 2015-10-13 método para detecção de vírus, aparelho para detecção de vírus, dispositivo para detecção de vírus, meio de armazenamento legível por computador não transitório e produto de programa de computador

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510038792.6A CN104680065A (zh) 2015-01-26 2015-01-26 病毒检测方法、装置及设备

Publications (1)

Publication Number Publication Date
CN104680065A true CN104680065A (zh) 2015-06-03

Family

ID=53315095

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510038792.6A Pending CN104680065A (zh) 2015-01-26 2015-01-26 病毒检测方法、装置及设备

Country Status (2)

Country Link
CN (1) CN104680065A (zh)
BR (1) BR102015026015A2 (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107315955A (zh) * 2016-04-27 2017-11-03 百度在线网络技术(北京)有限公司 文件安全性识别方法和装置
CN107437088A (zh) * 2016-05-27 2017-12-05 百度在线网络技术(北京)有限公司 文件识别方法和装置
CN107577943A (zh) * 2017-09-08 2018-01-12 北京奇虎科技有限公司 基于机器学习的样本预测方法、装置及服务器
CN108629182A (zh) * 2017-03-21 2018-10-09 腾讯科技(深圳)有限公司 漏洞检测方法及漏洞检测装置
CN109299609A (zh) * 2018-08-08 2019-02-01 北京奇虎科技有限公司 一种elf文件检测方法及装置
CN111881450A (zh) * 2020-08-04 2020-11-03 深信服科技股份有限公司 一种终端文件的病毒检测方法、装置、***、设备和介质
CN111914257A (zh) * 2020-08-04 2020-11-10 中国信息安全测评中心 文档检测的方法、装置、设备、及计算机存储介质
CN113378162A (zh) * 2020-02-25 2021-09-10 深信服科技股份有限公司 可执行和可链接格式文件的检验方法、装置及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090113128A1 (en) * 2007-10-24 2009-04-30 Sumwintek Corp. Method and system for preventing virus infections via the use of a removable storage device
CN101685483A (zh) * 2008-09-22 2010-03-31 成都市华为赛门铁克科技有限公司 一种病毒特征码提取的方法和装置
CN102479298A (zh) * 2010-11-29 2012-05-30 北京奇虎科技有限公司 基于机器学习的程序识别方法及装置
CN102867038A (zh) * 2012-08-30 2013-01-09 北京奇虎科技有限公司 文件类型的确定方法和装置
CN103473506A (zh) * 2013-08-30 2013-12-25 北京奇虎科技有限公司 用于识别恶意apk文件的方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090113128A1 (en) * 2007-10-24 2009-04-30 Sumwintek Corp. Method and system for preventing virus infections via the use of a removable storage device
CN101685483A (zh) * 2008-09-22 2010-03-31 成都市华为赛门铁克科技有限公司 一种病毒特征码提取的方法和装置
CN102479298A (zh) * 2010-11-29 2012-05-30 北京奇虎科技有限公司 基于机器学习的程序识别方法及装置
CN102867038A (zh) * 2012-08-30 2013-01-09 北京奇虎科技有限公司 文件类型的确定方法和装置
CN103473506A (zh) * 2013-08-30 2013-12-25 北京奇虎科技有限公司 用于识别恶意apk文件的方法和装置

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107315955A (zh) * 2016-04-27 2017-11-03 百度在线网络技术(北京)有限公司 文件安全性识别方法和装置
CN107437088A (zh) * 2016-05-27 2017-12-05 百度在线网络技术(北京)有限公司 文件识别方法和装置
CN107437088B (zh) * 2016-05-27 2020-12-08 百度在线网络技术(北京)有限公司 文件识别方法和装置
CN108629182A (zh) * 2017-03-21 2018-10-09 腾讯科技(深圳)有限公司 漏洞检测方法及漏洞检测装置
CN108629182B (zh) * 2017-03-21 2022-11-04 腾讯科技(深圳)有限公司 漏洞检测方法及漏洞检测装置
CN107577943B (zh) * 2017-09-08 2021-07-13 北京奇虎科技有限公司 基于机器学习的样本预测方法、装置及服务器
CN107577943A (zh) * 2017-09-08 2018-01-12 北京奇虎科技有限公司 基于机器学习的样本预测方法、装置及服务器
CN109299609A (zh) * 2018-08-08 2019-02-01 北京奇虎科技有限公司 一种elf文件检测方法及装置
CN113378162A (zh) * 2020-02-25 2021-09-10 深信服科技股份有限公司 可执行和可链接格式文件的检验方法、装置及存储介质
CN113378162B (zh) * 2020-02-25 2023-11-07 深信服科技股份有限公司 可执行和可链接格式文件的检验方法、装置及存储介质
CN111914257A (zh) * 2020-08-04 2020-11-10 中国信息安全测评中心 文档检测的方法、装置、设备、及计算机存储介质
CN111881450A (zh) * 2020-08-04 2020-11-03 深信服科技股份有限公司 一种终端文件的病毒检测方法、装置、***、设备和介质
CN111881450B (zh) * 2020-08-04 2023-12-29 深信服科技股份有限公司 一种终端文件的病毒检测方法、装置、***、设备和介质

Also Published As

Publication number Publication date
BR102015026015A2 (pt) 2016-08-02

Similar Documents

Publication Publication Date Title
Hsien-De Huang et al. R2-d2: Color-inspired convolutional neural network (cnn)-based android malware detections
CN104680065A (zh) 病毒检测方法、装置及设备
Lin et al. Identifying android malicious repackaged applications by thread-grained system call sequences
US9349006B2 (en) Method and device for program identification based on machine learning
CN111639337B (zh) 一种面向海量Windows软件的未知恶意代码检测方法及***
Carmony et al. Extract Me If You Can: Abusing PDF Parsers in Malware Detectors.
Kapratwar et al. Static and dynamic analysis of android malware
JP5992622B2 (ja) 悪意あるアプリケーション診断装置及び方法
KR102415971B1 (ko) 악성 모바일 앱 감지 장치 및 방법
CN109905385B (zh) 一种webshell检测方法、装置及***
Mehtab et al. AdDroid: rule-based machine learning framework for android malware analysis
Mercaldo et al. Mobile malware detection in the real world
Rana et al. Evaluation of tree based machine learning classifiers for android malware detection
EP2750037B1 (en) System and method for improving the efficiency of application emulation acceleration
US20170091428A1 (en) Systems and Methods for Analyzing Software
JP2016525760A (ja) 無関係なコードの特定
KR20200039912A (ko) Ai 기반 안드로이드 악성코드 자동화 분석 시스템 및 방법
Zhao et al. Android malware identification through visual exploration of disassembly files
Aldriwish A deep learning approach for malware and software piracy threat detection
CN101482907A (zh) 基于专家***的主机恶意代码行为检测***
Wang et al. An android malware dynamic detection method based on service call co-occurrence matrices
Yang et al. Android malware detection using hybrid analysis and machine learning technique
KR101557455B1 (ko) 응용 프로그램 코드 분석 장치 및 그것을 이용한 코드 분석 방법
CN105793864A (zh) 检测恶意多媒体文件的***和方法
Grover et al. Malware threat analysis of IoT devices using deep learning neural network methodologies

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20150603

RJ01 Rejection of invention patent application after publication