CN106682506B - 一种病毒程序检测方法和终端 - Google Patents

一种病毒程序检测方法和终端 Download PDF

Info

Publication number
CN106682506B
CN106682506B CN201610300614.0A CN201610300614A CN106682506B CN 106682506 B CN106682506 B CN 106682506B CN 201610300614 A CN201610300614 A CN 201610300614A CN 106682506 B CN106682506 B CN 106682506B
Authority
CN
China
Prior art keywords
sequence
virus
file
segmented
library
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.)
Active
Application number
CN201610300614.0A
Other languages
English (en)
Other versions
CN106682506A (zh
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.)
Tencent Technology Shenzhen Co Ltd
Tencent Cloud Computing Beijing Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201610300614.0A priority Critical patent/CN106682506B/zh
Priority to PCT/CN2017/083240 priority patent/WO2017190690A1/zh
Publication of CN106682506A publication Critical patent/CN106682506A/zh
Priority to US16/006,488 priority patent/US10678914B2/en
Application granted granted Critical
Publication of CN106682506B publication Critical patent/CN106682506B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Landscapes

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

Abstract

本发明实施例公开了一种病毒程序检测方法及终端。所述方法包括:获得第一文件,提取所述第一文件的全量特征;所述全量特征支持唯一确定所述第一文件的所有组成部分;基于所述全量特征通过预设算法计算得到第一序列;分别计算所述第一序列与病毒库中的多个序列之间的相似度参数;其中,所述病毒库中的每个序列对应一类病毒文件;当所述相似度参数小于预设阈值时,确定所述第一文件为病毒文件。

Description

一种病毒程序检测方法和终端
技术领域
本发明涉及病毒程序检测技术,具体涉及一种病毒程序检测方法和终端。
背景技术
本申请发明人在实现本申请实施例技术方案的过程中,至少发现相关技术中存在如下技术问题:
在安卓系统的移动终端中,由于安卓系统的源代码开放的特性,使得用户在不经意间下载了携带有病毒的应用或文件。现有的病毒文件的检测方式通常是基于点特征的检测,所述点特征例如某个字符串或者某个代码序列等等。当反病毒工程师检测到一批病毒文件样本中均具有某个特征,例如包含某个字符串或者某个代码序列时,则可将所述字符串或者代码序列录入病毒库。后续检测到某个文件中包含有病毒库中的某个特征时,则可确定该文件为病毒文件。
现有技术的缺点在于基于点特征的病毒检测方式很容易被病毒开发人员绕过。对于该问题,目前尚无有效解决方案。
发明内容
为解决现有存在的技术问题,本发明实施例提供一种病毒程序检测方法和终端,能够解决现有技术中基于点特征的病毒检测方式容易被绕过的问题。
为达到上述目的,本发明实施例的技术方案是这样实现的:
本发明实施例提供了一种病毒程序检测方法,所述方法包括:
获得第一文件,提取所述第一文件的全量特征;所述全量特征支持唯一确定所述第一文件的所有组成部分;
基于所述全量特征通过预设算法计算得到第一序列;
分别计算所述第一序列与病毒库中的多个序列之间的相似度参数;其中,所述病毒库中的每个序列对应一类病毒文件;
当所述相似度参数小于预设阈值时,确定所述第一文件为病毒文件。
上述方案中,所述基于所述全量特征通过预设算法计算得到第一序列之后,所述方法还包括:
将所述第一序列进行分段处理获得n个分段序列;n为正整数;
分别将每一个分段序列与病毒库中的每个序列对应的分段序列进行比较,基于比较结果确定所述第一文件是否是病毒文件。
上述方案中,所述分别将每一个分段序列与病毒库中的每个序列对应的分段序列进行比较,基于比较结果判定所述第一文件是否是病毒文件,包括:
将所述第一序列的每一个分段序列分别与所述病毒库中的每个序列对应的分段序列进行比较;
当所述第一序列的第一分段序列与所述病毒库中的第二序列的第二分段序列相等时,计算所述第一分段序列与所述第二分段序列之间的第一相似度参数;其中,所述第一分段序列为所述第一序列的任一分段序列;所述第二序列为所述病毒库中的任一序列;所述第二分段序列为所述第二序列的任一分段序列;
当所述第一相似度参数小于预设阈值时,确定所述第一文件为病毒文件。
上述方案中,所述方法还包括:当所述第一序列的每一个分段序列与所述病毒库中的每个序列对应的分段序列均不相等时,确定所述第一文件不是病毒文件。
上述方案中,所述分别将所述第一序列与病毒库中的多个序列进行比较之前,所述方法还包括:采集多个病毒样本文件;
提取每个病毒样本文件的全量特征,基于所述全量特征通过预设算法计算得到序列,基于得到的多个序列生成病毒库。
上述方案中,所述基于得到的多个序列生成病毒库,包括:
将每个序列进行分段处理获得所述每个序列对应的n个分段序列;n为正整数;
将所述n个分段序列和对应的序列存储在病毒库中。
本发明实施例还提供了一种终端,所述终端包括:特征收集模块、病毒检测模块和病毒维护模块;其中,
所述特征收集模块,用于获得第一文件,提取所述第一文件的全量特征;所述全量特征支持唯一确定所述第一文件的所有组成部分;
所述病毒检测模块,用于基于所述特征收集模块提取的全量特征通过预设算法计算得到第一序列;还用于分别计算所述第一序列与所述病毒维护模块中的多个序列之间的相似度参数;当所述相似度参数小于预设阈值时,确定所述第一文件为病毒文件;
所述病毒维护模块,用于存储多个序列;每个序列对应一类病毒文件。
上述方案中,所述病毒检测模块,用于基于所述全量特征通过预设算法计算得到第一序列之后,将所述第一序列进行分段处理获得n个分段序列;n为正整数;还用于分别将每一个分段序列与病毒库中的每个序列对应的分段序列进行比较,基于比较结果确定所述第一文件是否是病毒文件。
上述方案中,所述病毒检测模块,用于将所述第一序列的每一个分段序列分别与所述病毒库中的每个序列对应的分段序列进行比较;
当所述第一序列的第一分段序列与所述病毒库中的第二序列的第二分段序列相等时,计算所述第一分段序列与所述第二分段序列之间的第一相似度参数;其中,所述第一分段序列为所述第一序列的任一分段序列;所述第二序列为所述病毒库中的任一序列;所述第二分段序列为所述第二序列的任一分段序列;当所述第一相似度参数小于预设阈值时,确定所述第一文件为病毒文件。
上述方案中,所述病毒检测模块,还用于当所述第一序列的每一个分段序列与所述病毒库中的每个序列对应的分段序列均不相等时,确定所述第一文件不是病毒文件。
上述方案中,所述病毒维护模块,用于采集多个病毒样本文件;提取每个病毒样本文件的全量特征,基于所述全量特征通过预设算法计算得到序列并存储。
上述方案中,所述病毒维护模块,还用于将每个序列进行分段处理获得所述每个序列对应的n个分段序列;n为正整数;存储所述n个分段序列和对应的序列。
本发明实施例提供的病毒程序检测方法和终端,所述方法包括:获得第一文件,提取所述第一文件的全量特征;所述全量特征支持唯一确定所述第一文件的所有组成部分;基于所述全量特征通过预设算法计算得到第一序列;分别计算所述第一序列与病毒库中的多个序列之间的相似度参数;其中,所述病毒库中的每个序列对应一类病毒文件;当所述相似度参数小于预设阈值时,确定所述第一文件为病毒文件。如此,采用本发明实施例的技术方案,基于全量特征的病毒检测方式,有效解决了现有技术中基于点特征的病毒检测方式容易被绕过的问题,解决了病毒发生变种则无法检测出的问题,以及对于某些小众(流传范围小,不广泛传播)的病毒,本发明实施例的技术方案可通过全量特征的方式实现病毒检测,大大提高了病毒检测的准确率。
附图说明
图1为本发明实施例一的病毒程序检测方法的流程示意图;
图2为本发明实施例一中的病毒库的建立示意图;
图3为本发明实施例二的病毒程序检测方法的流程示意图;
图4为本发明实施例二中的病毒库的建立示意图;
图5为本发明实施例三的病毒程序检测方法的流程示意图;
图6为本发明实施例的终端的组成结构示意图;
图7为本发明实施例中的病毒检测模块的一种处理过程示意图;
图8为本发明实施例的终端的一种应用架构示意图;
图9a和图9b为本发明实施例的终端的应用示意图;
图10为本发明实施例的终端的硬件结构示意图;
图11为本发明实施例中的特征收集模块的一种处理过程示意图。
具体实施方式
下面结合附图及具体实施例对本发明作进一步详细的说明。
实施例一
本发明实施例提供了一种病毒程序检测方法。图1为本发明实施例一的病毒程序检测方法的流程示意图;如图1所示,所述病毒程序检测方法包括:
步骤101:获得第一文件,提取所述第一文件的全量特征;所述全量特征支持唯一确定所述第一文件的所有组成部分。
步骤102:基于所述全量特征通过预设算法计算得到第一序列。
步骤103:分别计算所述第一序列与病毒库中的多个序列之间的相似度参数;当所述相似度参数小于预设阈值时,确定所述第一文件为病毒文件;其中,所述病毒库中的每个序列对应一类病毒文件。
本发明实施例的病毒程序检测方法主要用于检测处于安卓系统的文件是否是病毒文件。则本实施例的病毒程序检测方法可应用于终端中,所述终端具体可以为手机、平板电脑等移动终端;所述终端也可以为个人计算机(PC)等终端。所述病毒程序检测方法也可应用在服务器中。在本发明实施例中,均已终端作为执行主体进行描述。
本实施例步骤101中,终端获得的第一文件具体可以为安卓安装包(APK,AndroidPackage)文件,当然,所述第一文件也可以是终端支持的任何格式的文件。
本实施例中,提取所述第一文件的全量特征,所述全量特征支持唯一确定所述第一文件的所有组成部分。具体的,所述第一文件可包含多个组成部分,例如可包括多个子文件等等;提取到的所述第一文件的全量特征包括每个子文件的特征;所述每个子文件的特征具体可以包括每个子文件的标识、大小、格式、所包含的字符串或代码序列等等。
本实施例步骤102中,所述基于所述全量特征通过预设算法计算得到第一序列,包括:基于所述全量特征通过SIMHASH算法计算得到第一序列。其中,所述通过SIMHASH算法计算得到第一序列可参照现有技术中的SIMHASH算法的实现过程计算得到第一序列,例如首先通过hash算法将每个特征对应生成hash值,将生成的hash值按照预设权重生成加权数字串;将各个特征对应的序列值对应位累加,生成一个序列串;对生成的序列串转换为二进制,即仅包含有0和1,获得第一序列。具体的计算过程本实施例中不做详细描述。其中,所述第一序列具体可以为N位的字节;N为正整数;作为一种实施方式,所述第一序列具体可以为128位的字节。
本实施例步骤103中,所述分别计算所述第一序列与病毒库中的多个序列之间的相似度参数之前,所述方法还包括:采集多个病毒样本文件;提取每个病毒样本文件的全量特征,基于所述全量特征通过预设算法计算得到序列,基于得到的多个序列生成病毒库。
具体的,在检测文件是否是病毒文件之前,首先建立病毒库,所述病毒库中包括已确定为病毒样本文件对应的hash序列;所述hash序列的获得方式可参照步骤101至步骤102的第一序列的计算方式,即对每个病毒样本文件进行全量特征的提取,基于提取的全量特征按照预设算法(具体可以为SIMHASH算法)计算获得对应的序列。其中,所述病毒库中的每个hash序列对应一类病毒文件。可以理解为,多个病毒样本文件可能感染同一类病毒;在建立病毒库时,可针对一类病毒仅存储一个或几个hash序列,也即所述病毒库中存储的hash序列尽可能的包含所有类型的病毒文件特征(即病毒文件对应的hash序列),这样也尽可能的减少检测时间。
在实际应用中,可通过其他病毒引擎提供病毒样本、或者终端上报的病毒样本建立病毒库。图2为本发明实施例一中的病毒库的建立示意图;如图2所示,作为一种实施方式,终端42可直接通过病毒引擎提供的病毒样本建立病毒库。作为另一种实施方式,服务器41可直接通过病毒引擎提供的病毒样本建立病毒库,建立的病毒库可通过网络传输至终端42。其中,病毒库中的病毒样本可具有多种来源:活跃病毒、新发现病毒等等。
基于此,本实施例步骤103中,分别计算所述第一序列与病毒库中的多个序列之间的相似度参数;当所述相似度参数小于预设阈值时,确定所述第一文件为病毒文件。相应的,当所述相似度参数不小于所述预设阈值时,可确定所述第一文件不是病毒文件。
具体的,所述相似度参数具体可以为海明码距离,即分别计算所述第一序列与所述病毒库中的每个序列之间的海明码距离。其中,两个码字的对应比特位取值不同的比特数称为这两个码字的海明码距离。例如,第一个码字为10101,第二个码字为00110,相比之下,这两个码字的第一、第四和第五比特位的取值均不同,则这两个码字的海明码距离为3。基于此,本实施例中,可分别计算所述第一序列与病毒库中每个序列之间的海明码距离,判断所述海明码距离是否小于预设阈值;其中,所述预设阈值可根据人为经验预先设定;作为一种实施方式,所述预设阈值的取值可以在1至10之间;当计算获得的海明码距离小于所述预设阈值时,表明所述第一文件与所述病毒库中的序列对应文件的相似度极大,也表明所述第一文件为病毒文件的可能性极大,由此可确定所述第一文件为病毒文件。相应的,当计算获得的海明码距离不小于所述预设阈值时,表明所述第一文件与所述病毒库中的序列对应文件的相似度极小,也表明所述第一文件为病毒文件的可能性较小,由此可确定所述第一文件不是病毒文件。
采用本发明实施例的技术方案,基于全量特征的病毒检测方式,有效解决了现有技术中基于点特征的病毒检测方式容易被绕过的问题,解决了病毒发生变种则无法检测出的问题,以及对于某些小众(流传范围小,不广泛传播)的病毒,本发明实施例的技术方案可通过全量特征的方式实现病毒检测,大大提高了病毒检测的准确率。
实施例二
本发明实施例还提供了一种病毒程序检测方法。图3为本发明实施例二的病毒程序检测方法的流程示意图;如图3所示,所述病毒程序检测方法包括:
步骤201:获得第一文件,提取所述第一文件的全量特征;所述全量特征支持唯一确定所述第一文件的所有组成部分。
步骤202:基于所述全量特征通过预设算法计算得到第一序列。
步骤203:将所述第一序列进行分段处理获得n个分段序列;n为正整数。
步骤204:分别将每一个分段序列与病毒库中的每个序列对应的分段序列进行比较,基于比较结果确定所述第一文件是否是病毒文件;其中,所述病毒库中的每个序列对应一类病毒文件。
本发明实施例的病毒程序检测方法主要用于检测处于安卓系统的文件是否是病毒文件。则本实施例的病毒程序检测方法可应用于终端中,所述终端具体可以为手机、平板电脑等移动终端;所述终端也可以为个人计算机(PC)等终端。所述病毒程序检测方法也可应用在服务器中。在本发明实施例中,均已终端作为执行主体进行描述。
本实施例步骤201中,终端获得的第一文件具体可以为APK文件,当然,所述第一文件也可以是终端支持的任何格式的文件。
本实施例中,提取所述第一文件的全量特征,所述全量特征支持唯一确定所述第一文件的所有组成部分。具体的,所述第一文件可包含多个组成部分,例如可包括多个子文件等等;提取到的所述第一文件的全量特征包括每个子文件的特征;所述每个子文件的特征具体可以包括每个子文件的标识、大小、格式、所包含的字符串或代码序列等等。
本实施例步骤202中,所述基于所述全量特征通过预设算法计算得到第一序列,包括:基于所述全量特征通过SIMHASH算法计算得到第一序列。其中,所述通过SIMHASH算法计算得到第一序列可参照现有技术中的SIMHASH算法的实现过程计算得到第一序列,例如首先通过hash算法将每个特征对应生成hash值,将生成的hash值按照预设权重生成加权数字串;将各个特征对应的序列值对应位累加,生成一个序列串;对生成的序列串转换为二进制,即仅包含有0和1,获得第一序列。具体的计算过程本实施例中不做详细描述。其中,所述第一序列具体可以为N位的字节;N为正整数;作为一种实施方式,所述第一序列具体可以为128位的字节。
本实施例中,将所述第一序列进行分段处理获得n个分段序列;以所述第一序列为128位字节为例,可以将所述第一序列分为n段,每个分段序列的位数为128/n。其中,基于实施例一中第一序列与病毒库中的多个序列的比较方式,即基于计算所述第一序列与病毒库中的多个序列之间的相似度参数;当所述相似度参数小于预设阈值时,确定所述第一文件为病毒文件,本实施方式中,所述n等于所述预设阈值;作为一种实施方式,n的取值可以在1至10之间。
本实施例步骤204中,所述分别将每一个分段序列与病毒库中的每个序列对应的分段序列进行比较之前,所述方法还包括:提取每个病毒样本文件的全量特征,基于所述全量特征通过预设算法计算得到序列,将每个序列进行分段处理获得所述每个序列对应的n个分段序列;n为正整数;将所述n个分段序列和对应的序列存储在病毒库中。
具体的,在检测文件是否是病毒文件之前,首先建立病毒库,所述病毒库中包括已确定为病毒样本文件对应的hash序列以及hash序列所对应的分段hash序列;所述hash序列和分段hash序列的获得方式可参照步骤201至步骤203的第一序列的计算方式和n个分段序列的获得方式,即对每个病毒样本文件进行全量特征的提取,基于提取的全量特征按照预设算法(具体可以为SIMHASH算法)计算获得对应的hash序列,所述hash序列可以理解为通过SIMHASH算法计算获得的hash值;进一步对获得的hash序列进行分段处理获得分段hash序列。其中,所述病毒库中的每个hash序列(以及分段hash序列)对应一类病毒文件。可以理解为,多个病毒样本文件可能感染同一类病毒;在建立病毒库时,可针对一类病毒仅存储一个或几个hash序列,也即所述病毒库中存储的hash序列尽可能的包含所有类型的病毒文件特征(即病毒文件对应的hash序列),这样也尽可能的减少检测时间。
在实际应用中,可通过其他病毒引擎提供病毒样本、或者终端上报的病毒样本建立病毒库。图4为本发明实施例二中的病毒库的建立示意图;如图4所示,作为一种实施方式,终端42可直接通过病毒引擎提供的病毒样本建立病毒库。作为另一种实施方式,服务器41可直接通过病毒引擎提供的病毒样本建立病毒库,建立的病毒库可通过网络传输至终端42。其中,病毒库中的病毒样本可具有多种来源:例如活跃病毒、新发现病毒等等。在本实施例中,获得的病毒样本进行分段处理后存入病毒库,可以理解为,所述病毒库中存储有病毒样本对应的完整的hash值,以及所述完整的hash值分段处理后的每个分段hash值。
基于此,本实施例步骤204中,所述分别将每一个分段序列与病毒库中的每个序列对应的分段序列进行比较,基于比较结果判定所述第一文件是否是病毒文件,包括:将所述第一序列的每一个分段序列分别与所述病毒库中的每个序列对应的分段序列进行比较;当所述第一序列的第一分段序列与所述病毒库中的第二序列的第二分段序列相等时,计算所述第一分段序列与所述第二分段序列之间的第一相似度参数;其中,所述第一分段序列为所述第一序列的任一分段序列;所述第二序列为所述病毒库中的任一序列;所述第二分段序列为所述第二序列的任一分段序列;当所述第一相似度参数小于预设阈值时,确定所述第一文件为病毒文件。相应的,当所述第一序列的每一个分段序列与所述病毒库中的每个序列对应的分段序列均不相等时,确定所述第一文件不是病毒文件。
具体的,所述相似度参数具体可以为海明码距离,即分别计算所述第一序列与所述病毒库中的每个序列之间的海明码距离。其中,两个码字的对应比特位取值不同的比特数称为这两个码字的海明码距离。例如,第一个码字为10101,第二个码字为00110,相比之下,这两个码字的第一、第四和第五比特位的取值均不同,则这两个码字的海明码距离为3。在基于实施例一所述的检测方式中,发明人发现当计算两个文件的海明码距离小于n时,检出的样本与命中的样本属于一个家族的准确率大于99.9%。基于此,本实施例中只关注海明码距离为n及以下的分段序列,于是将序列(即计算获得的hash值)分为n段,每个分段序列的位数可以为128/n。两个hash值的某段相等,其出于巧合的几率是2的128/x次方,否则其hash值的海明码距离必小于x。基于此,本实施例中,首先,分别将所述第一序列的每一个分段序列与病毒库中的所有分段序列进行匹配;当检测到所述第一序列的第一分段序列与所述病毒库中的第二序列的第二分段序列相等时,再计算所述第一分段序列与所述第二分段序列之间的第一相似度参数(即计算海明码距离)。当计算获得的海明码距离小于所述预设阈值时,表明所述第一文件与所述病毒库中的序列对应文件的相似度极大,也表明所述第一文件为病毒文件的可能性极大,由此可确定所述第一文件为病毒文件。相应的,当计算获得的海明码距离不小于所述预设阈值时,表明所述第一文件与所述病毒库中的序列对应文件的相似度极小,也表明所述第一文件为病毒文件的可能性较小,由此可确定所述第一文件不是病毒文件。实验表明,在病毒库中的数据量为10万时,检测一个文件的hash值的耗时,可从1100ms降为8ms左右,大大减少了文件检测时间。
采用本发明实施例的技术方案,一方面,基于全量特征的病毒检测方式,有效解决了现有技术中基于点特征的病毒检测方式容易被绕过的问题,解决了病毒发生变种则无法检测出的问题,以及对于某些小众病毒实现了病毒检测,大大提高了病毒检测的准确率。另一方面,通过改进的SIMHASH的海明码距离检测算法,对计算获得的hash序列进行分段,并对分段进行匹配相同后再进行海明码距离的计算,这种方式大大缩短了检测的时间,提升用户的体验。
实施例三
本发明实施例还提供了一种病毒程序检测方法。图5为本发明实施例三的病毒程序检测方法的流程示意图;如图5所示,所述病毒程序检测方法包括:
步骤301:病毒库的建立过程。
步骤302:待检测文件的SIMHASH算法的处理过程。
步骤303:待检测文件与病毒库的匹配过程。
步骤301中,病毒库中的病毒样本可通过服务端的病毒引擎提供,也可以通过终端上报提供;病毒库中的病毒样本可具有多种来源:例如活跃病毒、新发现病毒等等。具体的,对已确定的病毒样本进行全量特征的提取,基于提取的全量特征按照预设算法(具体可以为SIMHASH算法)计算获得对应的hash序列,对获得的hash序列进行分段处理获得分段hash序列。所述病毒库中存储所述分段hash序列以及对应的完整的hash序列。中,所述病毒库中的每个hash序列(以及分段hash序列)对应一类病毒文件。可以理解为,多个病毒样本文件可能感染同一类病毒;在建立病毒库时,可针对一类病毒仅存储一个或几个hash序列,也即所述病毒库中存储的hash序列尽可能的包含所有类型的病毒文件特征(即病毒文件对应的hash序列),这样也尽可能的减少检测时间。
步骤302中,在获得待检测的APK文件时,对所述APK文件进行全量特征的提取,基于提取的全量特征按照预设算法(具体可以为SIMHASH算法)计算获得对应的第一hash序列,对获得的第一hash序列进行分段处理获得分段hash序列,以基于改进的SIMHASH的海明码距离的计算。其中,可通过服务器侧或终端中的客户端获得待检测的APK文件。
步骤303采用基于改进SIMHASH的海明码距离计算方法。具体的,基于获得的第一hash序列以及所述第一hash序列的分段hash序列,遍历病毒库,对病毒库中的每一个病毒样本,首先匹配分段hash序列,如果与一个病毒样本的分段hash序列不相同,则匹配下一个样本的分段hash序列,直至所述病毒库中的所有病毒样本的分段hash序列均匹配不相同,这是可确定所述待检测文件不是病毒文件。当所述第一hash序列中的任一分段hash序列(可记为第一分段hash序列)与病毒库中的一hash序列(可记为第二hash序列)中的任一分段hash序列(可记为第二分段hash序列)相同时,计算所述第一分段hash序列与所述第二分段hash序列之间的海明码距离;当所述海明码距离小于预设阈值时,可确定所述待检测文件为病毒文件;当所述海明码距离不小于所述预设阈值时,进行下一个分段hash序列或者下一个病毒样本的分段hash序列的匹配,直至所述病毒库中的所有hash序列的分段hash序列均匹配完成。
最后输出所述待检测文件的状态是病毒状态或是安全状态,结束检测流程。
实施例四
本发明实施例还提供了一种终端。图6为本发明实施例的终端的组成结构示意图;如图6所示,所述终端包括:所述终端包括:特征收集模块41、病毒检测模块42和病毒维护模块43;其中,
所述特征收集模块41,用于获得第一文件,提取所述第一文件的全量特征;所述全量特征支持唯一确定所述第一文件的所有组成部分;
所述病毒检测模块42,用于基于所述特征收集模块41提取的全量特征通过预设算法计算得到第一序列;还用于分别将计算所述第一序列与所述病毒维护模块43中的多个序列之间的相似度参数;当所述相似度参数小于预设阈值时,确定所述第一文件为病毒文件;
所述病毒维护模块43,用于存储多个序列;每个序列对应一类病毒文件。
本实施例中,所述特征收集模块41提取所述第一文件的全量特征,所述全量特征支持唯一确定所述第一文件的所有组成部分。具体的,所述第一文件可包含多个组成部分,例如可包括多个子文件等等;提取到的所述第一文件的全量特征包括每个子文件的特征;所述每个子文件的特征具体可以包括每个子文件的标识、大小、格式、所包含的字符串或代码序列等等。其中,所述第一文件具体可以为APK文件,当然,所述第一文件也可以是终端支持的任何格式的文件。
本实施例中,所述病毒检测模块42基于所述全量特征通过SIMHASH算法计算得到第一序列。其中,所述通过SIMHASH算法计算得到第一序列可参照现有技术中的SIMHASH算法的实现过程计算得到第一序列,例如首先通过hash算法将每个特征对应生成hash值,将生成的hash值按照预设权重生成加权数字串;将各个特征对应的序列值对应位累加,生成一个序列串;对生成的序列串转换为二进制,即仅包含有0和1,获得第一序列。具体的计算过程本实施例中不做详细描述。其中,所述第一序列具体可以为N位的字节;N为正整数;作为一种实施方式,所述第一序列具体可以为128位的字节。
本实施例中,所述病毒维护模块43,用于分别计算所述第一序列与病毒库中的多个序列之间的相似度参数之前,采集多个病毒样本文件;提取每个病毒样本文件的全量特征,基于所述全量特征通过预设算法计算得到序列并存储。
具体的,所述病毒检测模块42在检测文件是否是病毒文件之前,首先通过病毒维护模块43建立病毒库,所述病毒库中包括已确定为病毒样本文件对应的hash序列;所述hash序列的获得方式可参照本实施例所述的第一序列的计算方式,即对每个病毒样本文件进行全量特征的提取,基于提取的全量特征按照预设算法(具体可以为SIMHASH算法)计算获得对应的序列。其中,所述病毒库中的每个hash序列对应一类病毒文件。可以理解为,多个病毒样本文件可能感染同一类病毒;在建立病毒库时,可针对一类病毒仅存储一个或几个hash序列,也即所述病毒库中存储的hash序列尽可能的包含所有类型的病毒文件特征(即病毒文件对应的hash序列),这样也尽可能的减少检测时间。在实际应用中,可通过其他病毒引擎提供病毒样本、或者终端上报的病毒样本建立病毒库。其中,病毒库中的病毒样本可具有多种来源:活跃病毒、新发现病毒等等。
本实施例中,所述病毒检测模块42分别计算所述第一序列与病毒库中的多个序列之间的相似度参数;当所述相似度参数小于预设阈值时,确定所述第一文件为病毒文件。相应的,当所述相似度参数不小于所述预设阈值时,可确定所述第一文件不是病毒文件。
具体的,所述相似度参数具体可以为海明码距离,即分别计算所述第一序列与所述病毒库中的每个序列之间的海明码距离。其中,两个码字的对应比特位取值不同的比特数称为这两个码字的海明码距离。例如,第一个码字为10101,第二个码字为00110,相比之下,这两个码字的第一、第四和第五比特位的取值均不同,则这两个码字的海明码距离为3。基于此,本实施例中,所述病毒检测模块42可分别计算所述第一序列与病毒库中每个序列之间的海明码距离,判断所述海明码距离是否小于预设阈值;其中,所述预设阈值可根据人为经验预先设定;作为一种实施方式,所述预设阈值的取值可以在1至10之间;当计算获得的海明码距离小于所述预设阈值时,表明所述第一文件与所述病毒库中的序列对应文件的相似度极大,也表明所述第一文件为病毒文件的可能性极大,由此可确定所述第一文件为病毒文件。相应的,当计算获得的海明码距离不小于所述预设阈值时,表明所述第一文件与所述病毒库中的序列对应文件的相似度极小,也表明所述第一文件为病毒文件的可能性较小,由此可确定所述第一文件不是病毒文件。
实施例五
本发明实施例还提供了一种终端。如图6所示,所述终端包括:特征收集模块41、病毒检测模块42和病毒维护模块43;其中,
所述特征收集模块41,用于获得第一文件,提取所述第一文件的全量特征;所述全量特征支持唯一确定所述第一文件的所有组成部分;
所述病毒检测模块42,用于基于所述特征收集模块41提取的全量特征通过预设算法计算得到第一序列;将所述第一序列进行分段处理获得n个分段序列;n为正整数;还用于分别将每一个分段序列与病毒库中的每个序列对应的分段序列进行比较,基于比较结果确定所述第一文件是否是病毒文件。
所述病毒维护模块43,用于存储多个序列;每个序列对应一类病毒文件。
本实施例中,所述特征收集模块41提取所述第一文件的全量特征,所述全量特征支持唯一确定所述第一文件的所有组成部分。具体的,所述第一文件可包含多个组成部分,例如可包括多个子文件等等;提取到的所述第一文件的全量特征包括每个子文件的特征;所述每个子文件的特征具体可以包括每个子文件的标识、大小、格式、所包含的字符串或代码序列等等。其中,所述第一文件具体可以为APK文件,当然,所述第一文件也可以是终端支持的任何格式的文件。
本实施例中,所述病毒维护模块43,用于所述病毒检测模块42分别将每一个分段序列与病毒库中的每个序列对应的分段序列进行比较之前,采集多个病毒样本文件;提取每个病毒样本文件的全量特征,基于所述全量特征通过预设算法计算得到序列,将每个序列进行分段处理获得所述每个序列对应的n个分段序列;n为正整数;存储所述n个分段序列和对应的序列。
具体的,所述病毒检测模块42在检测文件是否是病毒文件之前,首先通过病毒维护模块43建立病毒库,所述病毒库中包括已确定为病毒样本文件对应的hash序列以及hash序列所对应的分段hash序列;所述hash序列和分段hash序列的获得方式可参照本实施例所述的第一序列的计算方式和n个分段序列的获得方式,即对每个病毒样本文件进行全量特征的提取,基于提取的全量特征按照预设算法(具体可以为SIMHASH算法)计算获得对应的hash序列,所述hash序列可以理解为通过SIMHASH算法计算获得的hash值;进一步对获得的hash序列进行分段处理获得分段hash序列。其中,所述病毒库中的每个hash序列(以及分段hash序列)对应一类病毒文件。可以理解为,多个病毒样本文件可能感染同一类病毒;在建立病毒库时,可针对一类病毒仅存储一个或几个hash序列,也即所述病毒库中存储的hash序列尽可能的包含所有类型的病毒文件特征(即病毒文件对应的hash序列),这样也尽可能的减少检测时间。在实际应用中,可通过其他病毒引擎提供病毒样本、或者终端上报的病毒样本建立病毒库。其中,病毒库中的病毒样本可具有多种来源:活跃病毒、新发现病毒等等。
图7为本发明实施例中的病毒检测模块42的一种处理过程示意图;如图7所示,在获取到所述特征收集模块41的全量特征后,分别通过SIMHASH算法获得hash序列(即第一序列)、对获取到的hash序列进行分段处理、与病毒库中的序列进行匹配过程,最终基于匹配结果输出状态。
具体的,本实施例中,所述病毒检测模块42基于所述全量特征通过SIMHASH算法计算得到第一序列。其中,所述通过SIMHASH算法计算得到第一序列可参照现有技术中的SIMHASH算法的实现过程计算得到第一序列,例如首先通过hash算法将每个特征对应生成hash值,将生成的hash值按照预设权重生成加权数字串;将各个特征对应的序列值对应位累加,生成一个序列串;对生成的序列串转换为二进制,即仅包含有0和1,获得第一序列。具体的计算过程本实施例中不做详细描述。其中,所述第一序列具体可以为N位的字节;N为正整数;作为一种实施方式,所述第一序列具体可以为128位的字节。
本实施例中,所述病毒检测模块42将所述第一序列进行分段处理获得n个分段序列;以所述第一序列为128位字节为例,可以将所述第一序列分为n段,每个分段序列的位数为128/n。其中,基于实施例四中第一序列与病毒库中的多个序列的比较方式,即基于计算所述第一序列与病毒库中的多个序列之间的相似度参数;当所述相似度参数小于预设阈值时,确定所述第一文件为病毒文件,本实施方式中,所述n等于所述预设阈值;作为一种实施方式,n的取值可以在1至10之间。
本实施例中,所述病毒检测模块42,用于将所述第一序列的每一个分段序列分别与所述病毒库中的每个序列对应的分段序列进行比较;
当所述第一序列的第一分段序列与所述病毒库中的第二序列的第二分段序列相等时,计算所述第一分段序列与所述第二分段序列之间的第一相似度参数;其中,所述第一分段序列为所述第一序列的任一分段序列;所述第二序列为所述病毒库中的任一序列;所述第二分段序列为所述第二序列的任一分段序列;当所述第一相似度参数小于预设阈值时,确定所述第一文件为病毒文件。
相应的,所述病毒检测模块42,还用于当所述第一序列的每一个分段序列与所述病毒库中的每个序列对应的分段序列均不相等时,确定所述第一文件不是病毒文件。
具体的,所述相似度参数具体可以为海明码距离,即分别计算所述第一序列与所述病毒库中的每个序列之间的海明码距离。其中,两个码字的对应比特位取值不同的比特数称为这两个码字的海明码距离。例如,第一个码字为10101,第二个码字为00110,相比之下,这两个码字的第一、第四和第五比特位的取值均不同,则这两个码字的海明码距离为3。在基于实施例四所述的检测方式中,发明人发现当计算两个文件的海明码距离小于n时,检出的样本与命中的样本属于一个家族的准确率大于99.9%。基于此,本实施例中只关注海明码距离为n及以下的分段序列,于是将序列(即计算获得的hash值)分为n段,每个分段序列的位数可以为128/n。两个hash值的某段相等,其出于巧合的几率是2的128/x次方,否则其hash值的海明码距离必小于x。基于此,本实施例中,首先,所述病毒检测模块42分别将所述第一序列的每一个分段序列与病毒库中的所有分段序列进行匹配;当检测到所述第一序列的第一分段序列与所述病毒库中的第二序列的第二分段序列相等时,再计算所述第一分段序列与所述第二分段序列之间的第一相似度参数(即计算海明码距离)。当计算获得的海明码距离小于所述预设阈值时,表明所述第一文件与所述病毒库中的序列对应文件的相似度极大,也表明所述第一文件为病毒文件的可能性极大,由此可确定所述第一文件为病毒文件。相应的,当计算获得的海明码距离不小于所述预设阈值时,表明所述第一文件与所述病毒库中的序列对应文件的相似度极小,也表明所述第一文件为病毒文件的可能性较小,由此可确定所述第一文件不是病毒文件。实验表明,在病毒库中的数据量为10万时,检测一个文件的hash值的耗时,可从1100ms降为8ms左右,大大减少了文件检测时间。
本发明实施例四和实施例五中,所述终端中的特征收集模块41、病毒检测模块42和病毒维护模块43,在实际应用中均可由所述终端中的中央处理器(CPU,CentralProcessing Unit)、数字信号处理器(DSP,Digital Signal Processor)、微控制单元(MCU,Microcontroller Unit)或可编程门阵列(FPGA,Field-Programmable Gate Array)实现。
图8为本发明实施例的终端的一种应用架构示意图;如图8所示,包括终端81和第一服务器82;本应用架构适用于终端通过网络下载文件的应用场景;例如终端81通过应用商店待下载一应用文件;所述终端82通过网络与该应用文件对应的第一服务器82建立连接,从所述第一服务器82中下载该应用文件。所述终端81获得所述应用文件后,通过本发明实施例的技术方案检测所述应用文件是安全文件还是病毒文件。在检测之前或者检测过程中或者检测完成后,所述终端还可与病毒库对应的第二服务器83建立网络连接,以对所述终端81中的病毒库进行维护,对病毒库进行更新等等。
图9a和图9b为本发明实施例的终端的应用示意图;如图9a所示,终端的检测功能可对文件安全进行检测,确定文件安全后,提示用户该文件安全。如图9b所示,终端的检测功能可对文件安全进行检测,确定文件有病毒后,提示用户该文件有病毒,应做删除处理等等。
图10为本发明实施例的终端的硬件结构示意图;所述终端作为硬件实体的一个示例如图10所示。所述装置包括处理器902、存储介质904以及至少一个外部通信接口901;所述处理器902、存储介质904以及外部通信接口901均通过总线903连接。
这里需要指出的是:以上涉及终端项的描述,与上述方法描述是类似的,同方法的有益效果描述,不做赘述。对于本发明服务器实施例中未披露的技术细节,请参照本发明方法实施例的描述。
在本发明上述实施例的描述中,均已终端作为病毒程序检测方法作为执行主体进行描述的。在其他的实施方式中,所述病毒程序检测方法也可应用在服务器中,所述服务器中的各组成单元以及每个组成单元的功能可参照实施例四和实施例五的终端描述方式。图11为本发明实施例中的特征收集模块的一种处理过程示意图;如图11所示,在特征收集模块提取全量特征时,一种实施方式是通过终端的客户端进行特征采集;另一种实施方式时通过服务器侧的后台引擎进行特征采集;采集后获得表征全量特征的特征序列。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (11)

1.一种病毒程序检测方法,其特征在于,所述方法包括:
获得第一文件,提取所述第一文件的全量特征;所述全量特征支持唯一确定所述第一文件的所有组成部分;
基于所述全量特征通过预设算法计算得到第一序列;
将所述第一序列的每一个分段序列分别与病毒库中的每个序列对应的分段序列进行比较;其中,所述病毒库中的每个序列对应一类病毒文件;
当所述第一序列的第一分段序列与所述病毒库中的第二序列的第二分段序列相等,且所述第一分段序列与所述第二分段序列之间的相似度参数小于预设阈值时,确定所述第一文件为病毒文件;
其中,所述第一分段序列为所述第一序列的任一分段序列;所述第二序列为所述病毒库中的任一序列;所述第二分段序列为所述第二序列的任一分段序列。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:当所述第一序列的每一个分段序列与所述病毒库中的每个序列对应的分段序列均不相等时,确定所述第一文件不是病毒文件。
3.根据权利要求1所述的方法,其特征在于,所述将所述第一序列的每一个分段序列分别与病毒库中的每个序列对应的分段序列进行比较之前,所述方法还包括:采集多个病毒样本文件;
提取每个病毒样本文件的全量特征,基于所述全量特征通过预设算法计算得到序列,基于得到的多个序列生成病毒库。
4.根据权利要求3所述的方法,其特征在于,所述基于得到的多个序列生成病毒库,包括:
将每个序列进行分段处理获得所述每个序列对应的n个分段序列;n为正整数;
将所述n个分段序列和对应的序列存储在病毒库中。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述相似度参数包括海明码距离。
6.一种终端,其特征在于,所述终端包括:特征收集模块、病毒检测模块和病毒维护模块;其中,
所述特征收集模块,用于获得第一文件,提取所述第一文件的全量特征;所述全量特征支持唯一确定所述第一文件的所有组成部分;
所述病毒检测模块,用于基于所述特征收集模块提取的全量特征通过预设算法计算得到第一序列;还用于将所述第一序列的每一个分段序列分别与病毒库中的每个序列对应的分段序列进行比较;当所述第一序列的第一分段序列与所述病毒库中的第二序列的第二分段序列相等,且所述第一分段序列与所述第二分段序列之间的相似度参数小于预设阈值时,确定所述第一文件为病毒文件;其中,所述第一分段序列为所述第一序列的任一分段序列;所述第二序列为所述病毒库中的任一序列;所述第二分段序列为所述第二序列的任一分段序列;
所述病毒维护模块,用于存储多个序列;每个序列对应一类病毒文件。
7.根据权利要求6所述的终端,其特征在于,所述病毒检测模块,还用于当所述第一序列的每一个分段序列与所述病毒库中的每个序列对应的分段序列均不相等时,确定所述第一文件不是病毒文件。
8.根据权利要求6所述的终端,其特征在于,所述病毒维护模块,用于采集多个病毒样本文件;提取每个病毒样本文件的全量特征,基于所述全量特征通过预设算法计算得到序列并存储。
9.根据权利要求8所述的终端,其特征在于,所述病毒维护模块,还用于将每个序列进行分段处理获得所述每个序列对应的n个分段序列;n为正整数;存储所述n个分段序列和对应的序列。
10.根据权利要求6至9任一项所述的终端,其特征在于,所述相似度参数包括海明码距离。
11.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述的病毒程序检测方法。
CN201610300614.0A 2016-05-06 2016-05-06 一种病毒程序检测方法和终端 Active CN106682506B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201610300614.0A CN106682506B (zh) 2016-05-06 2016-05-06 一种病毒程序检测方法和终端
PCT/CN2017/083240 WO2017190690A1 (zh) 2016-05-06 2017-05-05 一种病毒程序检测方法、终端和计算机可读存储介质
US16/006,488 US10678914B2 (en) 2016-05-06 2018-06-12 Virus program detection method, terminal, and computer readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610300614.0A CN106682506B (zh) 2016-05-06 2016-05-06 一种病毒程序检测方法和终端

Publications (2)

Publication Number Publication Date
CN106682506A CN106682506A (zh) 2017-05-17
CN106682506B true CN106682506B (zh) 2020-03-17

Family

ID=58839503

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610300614.0A Active CN106682506B (zh) 2016-05-06 2016-05-06 一种病毒程序检测方法和终端

Country Status (3)

Country Link
US (1) US10678914B2 (zh)
CN (1) CN106682506B (zh)
WO (1) WO2017190690A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11429380B2 (en) * 2018-09-25 2022-08-30 Fossid AB Method for converting source code into numeric identifiers and comparison against data sets
CN111368294B (zh) * 2018-12-25 2023-02-10 腾讯科技(深圳)有限公司 病毒文件的识别方法和装置、存储介质、电子装置
CN111310179A (zh) * 2020-01-22 2020-06-19 腾讯科技(深圳)有限公司 计算机病毒变种的分析方法、装置和计算机设备
CN115016843B (zh) * 2022-05-23 2024-03-26 北京计算机技术及应用研究所 一种高精度的二进制代码相似性比对方法
CN116089961B (zh) * 2023-02-14 2023-07-21 河南省中视新科文化产业有限公司 一种基于大数据的计算机智能图像管理系统及方法
CN117201193B (zh) * 2023-11-06 2024-01-26 新华三网络信息安全软件有限公司 病毒检测方法、装置、存储介质及电子设备
CN117235727B (zh) * 2023-11-09 2024-02-23 中孚安全技术有限公司 基于大型语言模型的WebShell识别方法和系统

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7007166B1 (en) * 1994-12-28 2006-02-28 Wistaria Trading, Inc. Method and system for digital watermarking
US5871697A (en) * 1995-10-24 1999-02-16 Curagen Corporation Method and apparatus for identifying, classifying, or quantifying DNA sequences in a sample without sequencing
US6418382B2 (en) * 1995-10-24 2002-07-09 Curagen Corporation Method and apparatus for identifying, classifying, or quantifying DNA sequences in a sample without sequencing
US6807632B1 (en) * 1999-01-21 2004-10-19 Emc Corporation Content addressable information encapsulation, representation, and transfer
US7574409B2 (en) * 2004-11-04 2009-08-11 Vericept Corporation Method, apparatus, and system for clustering and classification
JP4997373B2 (ja) * 2006-10-31 2012-08-08 ティーティーアイ インベンションズ シー リミテッド ライアビリティ カンパニー 暗号ハッシュを用いたウィルス位置決定法
US8528089B2 (en) * 2006-12-19 2013-09-03 Mcafee, Inc. Known files database for malware elimination
CN101281571B (zh) * 2008-04-22 2010-12-22 白杰 防御未知病毒程序的方法
CN103839002A (zh) * 2012-11-21 2014-06-04 腾讯科技(深圳)有限公司 网站源代码恶意链接注入监控方法及装置
CN103139644B (zh) * 2013-01-31 2016-01-20 南通同洲电子有限责任公司 一种序列号匹配的方法和数字电视终端
US9294501B2 (en) * 2013-09-30 2016-03-22 Fireeye, Inc. Fuzzy hash of behavioral results
CN104700033B (zh) * 2015-03-30 2019-01-29 北京瑞星网安技术股份有限公司 病毒检测的方法及装置

Also Published As

Publication number Publication date
WO2017190690A1 (zh) 2017-11-09
US20180293380A1 (en) 2018-10-11
CN106682506A (zh) 2017-05-17
US10678914B2 (en) 2020-06-09

Similar Documents

Publication Publication Date Title
CN106682506B (zh) 一种病毒程序检测方法和终端
US10062038B1 (en) Generation and use of trained file classifiers for malware detection
WO2017190620A1 (zh) 一种病毒检测方法、终端及服务器
WO2015101097A1 (zh) 特征提取的方法及装置
US9313217B2 (en) Integrated network threat analysis
KR101582601B1 (ko) 액티비티 문자열 분석에 의한 안드로이드 악성코드 검출 방법
US9202050B1 (en) Systems and methods for detecting malicious files
WO2013117151A1 (zh) 文件快速扫描方法和系统
EP2998902B1 (en) Method and apparatus for processing file
WO2020134311A1 (zh) 一种恶意软件检测方法和装置
WO2017197942A1 (zh) 病毒库的获取方法及装置、设备、服务器、系统
CN106709336A (zh) 识别恶意软件的方法和装置
CN104036187A (zh) 计算机病毒类型确定方法及其系统
Naik et al. Fuzzy-import hashing: A static analysis technique for malware detection
WO2018121464A1 (zh) 一种病毒检测方法及装置、存储介质
Naik et al. Augmented YARA rules fused with fuzzy hashing in ransomware triaging
CN109753791A (zh) 恶意程序检测方法及装置
CN102682237B (zh) 针对网络下载文件的判毒方法及系统
US10296743B2 (en) Method and device for constructing APK virus signature database and APK virus detection system
CN105488409B (zh) 一种检测恶意代码家族变种及新家族的方法及系统
CN105809034A (zh) 一种恶意软件识别方法
CN109858249B (zh) 移动恶意软件大数据的快速智能比对和安全检测方法
CN110210216B (zh) 一种病毒检测的方法以及相关装置
CN113704569A (zh) 信息的处理方法、装置及电子设备
Chen et al. IHB: A scalable and efficient scheme to identify homologous binaries in IoT firmwares

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230707

Address after: 518057 Tencent Building, No. 1 High-tech Zone, Nanshan District, Shenzhen City, Guangdong Province, 35 floors

Patentee after: TENCENT TECHNOLOGY (SHENZHEN) Co.,Ltd.

Patentee after: TENCENT CLOUD COMPUTING (BEIJING) Co.,Ltd.

Address before: 2, 518000, East 403 room, SEG science and Technology Park, Zhenxing Road, Shenzhen, Guangdong, Futian District

Patentee before: TENCENT TECHNOLOGY (SHENZHEN) Co.,Ltd.