CN107169353A - 异常文件识别方法及装置 - Google Patents

异常文件识别方法及装置 Download PDF

Info

Publication number
CN107169353A
CN107169353A CN201710263599.1A CN201710263599A CN107169353A CN 107169353 A CN107169353 A CN 107169353A CN 201710263599 A CN201710263599 A CN 201710263599A CN 107169353 A CN107169353 A CN 107169353A
Authority
CN
China
Prior art keywords
data
abnormal document
sample
serial data
sample abnormal
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.)
Granted
Application number
CN201710263599.1A
Other languages
English (en)
Other versions
CN107169353B (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
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 CN201710263599.1A priority Critical patent/CN107169353B/zh
Publication of CN107169353A publication Critical patent/CN107169353A/zh
Application granted granted Critical
Publication of CN107169353B publication Critical patent/CN107169353B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • G06F21/563Static detection by source code analysis

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)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种异常文件识别方法及装置,属于网络技术领域。方法包括:获取多个样本异常文件的特征集合以及公共数据串,样本异常文件的特征集合由样本异常文件的多个数据层的特征确定,多个样本异常文件通过同一加密变形算法加密变形得到,公共数据串为至少两个样本异常文件的指定数据层均包括的数据串;获取待识别的目标文件;根据目标文件的多个数据层的特征,获取目标文件的特征集合;当特征集合与任一样本异常文件的特征集合匹配,且目标文件与任一样本异常文件的指定数据层均包括公共数据串,确定目标文件为异常文件。本发明扩展了一种异常文件识别方法,解决了异常文件加密变形后无法识别的问题,提升了灵活性。

Description

异常文件识别方法及装置
技术领域
本发明涉及网络技术领域,特别涉及一种异常文件识别方法及装置。
背景技术
随着网络技术的发展以及网络信息的广泛传播,网络中存在着多个类型的文件,例如脚本、文档、页面等,这些文件中很可能包括异常文件。通常情况下,异常文件会影响系统的正常运行,导致用户信息泄露,为用户带来损失。因此,识别异常文件成为一个亟需解决的问题。
相关技术中,异常特征码可以认为是导致文件出现异常的根源,一旦某一文件中包括异常特征码,即可认为该文件为异常文件,在该文件的运行过程中该异常特征码会影响系统的正常运行,因此识别异常文件的过程可以通过识别异常特征码实现。通常情况下,首先会获取已知的异常特征码,而对于待识别的文件,可以将文件中的数据与该异常特征码进行匹配,以判断该文件是否包括该异常特征码,当确定该文件包括该异常特征码时,可以确定该文件为异常文件。
然而,当采用加密变形算法对异常文件进行加密变形后,异常文件中的异常特征码也会被加密变形,导致异常文件中包括异常特征码加密变形后的数据,而不包括原始的异常特征码,此时将无法识别出该异常文件,存在局限性。
发明内容
为了解决相关技术的问题,本发明实施例提供了一种异常文件识别方法及装置。所述技术方案如下:
第一方面,提供了一种异常文件识别方法,所述方法包括:
获取多个样本异常文件中每个样本异常文件的特征集合以及根据所述多个样本异常文件确定的公共数据串,所述样本异常文件的特征集合由所述样本异常文件的多个数据层的特征确定,所述多个样本异常文件通过采用同一加密变形算法对多个异常文件进行加密变形后得到,所述公共数据串为至少两个样本异常文件的指定数据层均包括的数据串;
获取待识别的目标文件;
根据所述目标文件的多个数据层的特征,获取所述目标文件的特征集合;
当所述特征集合与任一样本异常文件的特征集合匹配,且所述目标文件与所述任一样本异常文件的指定数据层均包括所述公共数据串时,确定所述目标文件为异常文件。
第二方面,提供了一种异常文件识别装置,所述装置包括:
特征集合获取模块,用于获取多个样本异常文件中每个样本异常文件的特征集合,所述样本异常文件的特征集合由所述样本异常文件的多个数据层的特征确定,所述多个样本异常文件通过采用同一加密变形算法对多个异常文件进行加密变形后得到,
公共数据串获取模块,用于获取根据所述多个样本异常文件确定的公共数据串,所述公共数据串为至少两个样本异常文件的指定数据层均包括的数据串;
目标文件获取模块,用于获取待识别的目标文件;
所述特征集合获取模块,还用于根据所述目标文件的多个数据层的特征,获取所述目标文件的特征集合;
异常文件确定模块,用于当所述特征集合与任一样本异常文件的特征集合匹配,且所述目标文件与所述任一样本异常文件的指定数据层均包括所述公共数据串时,确定所述目标文件为异常文件。
本发明实施例提供的技术方案带来的有益效果是:
本发明实施例提供的方法及装置,扩展了一种异常文件识别方法,将待识别的目标文件与经过加密变形的样本异常文件进行匹配,在目标文件的特征集合与样本异常文件的特征集合匹配,且目标文件包括该样本异常文件的指定数据层所包括的公共数据串时,说明目标文件是与样本异常文件类似的文件,因此可以确定目标文件为异常文件。采用上述异常文件识别方法,即使异常文件加密变形后也能够被识别出来,解决了异常文件加密变形后无法识别的问题,提升了灵活性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1A是本发明实施例提供的一种异常文件识别方法的流程图;
图1B是本发明实施例提供的一种处理样本异常文件的流程图;
图1C是本发明实施例提供的第一数据层的示意图;
图1D是本发明实施例提供的第二数据层的示意图;
图1E是本发明实施例提供的特征集合的示意图;
图1F是本发明实施例提供的公共数据串的示意图;
图2A是本发明实施例提供的一种异常文件识别装置的结构示意图;
图2B是本发明实施例提供的一种异常文件识别装置的结构示意图;
图3是本发明实施例提供的一种终端的结构示意图;
图4是本发明实施例提供的一种服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
异常文件是指会影响系统正常运行的文件,例如病毒文件、被损坏的文件等。从文件类型的角度来说,异常文件可以包括脚本、文档、页面等类型的文件,从文件格式的角度来说,异常文件可以包括javascript、vbscript、python、java、shell、powshell等格式的文件。
为了避免异常文件造成不良影响,本发明实施例通过识别装置识别异常文件,该识别装置可以为手机、电脑、服务器等具有数据处理功能的设备。
其中,识别异常文件的过程可以应用于多种场景下。例如在下载到一个新文件时,对该新文件进行识别,判断该新文件是否为异常文件,仅在确定该新文件不是异常文件时才允许存储该新文件。或者,在打开一个来源未知的文件时,对该文件进行识别,判断该文件是否为异常文件,仅在确定该文件不是异常文件时才允许打开该文件。
图1A是本发明实施例提供的一种异常文件识别方法的流程图,该发明实施例的执行主体为识别装置,参见图1A,该方法包括:
101、识别装置将样本异常文件中包括的多个类型划分为多组,对样本异常文件中的数据进行分类,得到与多组分别匹配的多个数据层,使得同一数据层中包括对应的至少一个类型的数据,不同数据层的数据的类型不同。
为了识别经过加密变形后的异常文件,去除加密变形算法对识别异常文件的影响,识别装置可以获取多个已知的异常文件,并采用相同加密变形算法,对多个异常文件进行加密变形,得到经过加密变形后的多个样本异常文件,该多个样本异常文件用于识别经过加密变形后的异常文件。那么,当待识别的目标文件是经过同一加密变形算法加密变形后的异常文件时,可以采用本发明实施例提供的识别方法识别出来。
其中,该加密变形算法可以由识别装置安装的混淆器提供。例如,识别装置可以调用与混淆器之间的接口,向该混淆器传入多个异常文件,混淆器会基于加密变形算法,对多个异常文件进行加密变形,得到加密变形后的多个样本异常文件。
之后,识别装置可以获取每个样本异常文件的特征集合,以特征集合来表示样本异常文件。
考虑到样本异常文件中会包括多个类型的数据,不同类型的数据往往具有不同的特征。若直接对样本异常文件进行特征提取,会得到样本异常文件的整体特征,由于整体特征体现不出每个类型各自的特征,也体现不出不同类型的特征之间的区别,将导致样本异常文件中的细节数据的特征被湮没。
因此,在一种可能实现方式中,可以将样本异常文件划分为多个彼此独立的数据层,从而获取到每个数据层各自的特征,再将多个数据层的特征组合构成特征集合。
识别装置可以对样本异常文件中的数据进行分析,确定该样本异常文件中包括的多个类型,并根据每个类型和对数据层的数量需求,将该多个类型划分为多组,多组的数量等于将要划分的数据层的数量,且不超过该样本异常文件中存在的类型的数量。每组中可以包括同一数据层对应的至少一个类型,也即是要将该至少一个类型的数据划分到同一个数据层中。之后,可以按照已经确定的分组,对样本异常文件中的数据进行分类,将所属的类型属于同一组的数据划分到一个数据层中,进而得到与多组分别匹配的多个数据层。
其中,数据的类型可以包括字符类型、数字类型、特殊符号类型、标点符号类型等。
例如,样本异常文件中包括数字类型、字母类型和符号类型三个类型,当数据层数量为2时,可以将数字类型和字母类型作为一个分组,将符号作为另一个分组,从而将样本异常文件划分为数字或者字母组成的数据层以及符号组成的另一数据层。而当数据层数量为3时,可以将数字类型、字母类型和符号类型分别作为一个分组,从而将样本异常文件划分为数字、字母以及符号三个数据层。同理地,当要求数据层数量为N时(N为正整数,且N不大于样本异常文件的类型总数量),也可以采用上述方式,将样本异常文件划分为N个数据层。
102、识别装置获取多个数据层的特征,组成特征集合。
将样本异常文件划分出多个数据层后,每个数据层的特征不会受到其他数据层数据的干扰,所提取的特征将更加具有针对性,更能反映数据层中数据的特点。为了不遗漏每个数据层的特征,做到更加深入地挖掘样本异常文件,本发明实施例中会获取每个数据层的特征,将多个数据层的特征组成样本异常文件的特征集合。
针对获取每个数据层的特征的过程,识别装置可以调用特征提取算法,对每个数据层进行特征提取,从而获取到每个数据层的特征。其中,特征提取算法可以包括熵值算法、Simhas(简单哈希值)算法、朴素贝叶斯值算法等,相应地,所提取的特征可以包括熵值、Simhas、朴素贝叶斯值等。
考虑到在实际应用中,特征的数值可能会较小,导致不同特征之间的差距体现不明显,因此,识别装置可以在获取到每个数据层原始的特征后,将特征与大于1的预设系数相乘,将乘积作为每个数据层的特征,以扩大所提取特征的数值范围。例如该预设系数可以为100。
并且,为了减少计算量,识别装置可以仅保留特征在前指定位的数字,而舍去特征在后指定位后的数字。例如,对于某个样本异常文件的某个数据层,识别装置获取熵值为5.042543,识别装置可以将5.042543乘以100,将乘积504.2543作为得到的熵值,进一步地,识别装置可以舍去504.2543小数点以后的数字,将504作为最终的熵值。
当得到多个数据层的特征后,识别装置会将多个特征组成特征集合。其中,在组成特征集合时,识别装置可以先确定多个数据层的先后顺序,按照该先后顺序将多个数据层的特征组成特征集合。
例如,某个样本异常文件包括第一数据层和第二数据层两个数据层,识别装置获取第一数据层的熵值为504,第二数据层的熵值为452,识别装置会将(504,452)作为该样本异常文件的特征集合。
103、识别装置确定指定数据层,获取多个样本异常文件的指定数据层中的数据串,从多个样本异常文件的指定数据层中确定出公共数据串。
在实际应用中,包含异常特征码的文件为异常文件,则可以认为每个异常文件会包括至少一个异常特征码。然而,当对异常文件进行加密变形后,异常特征码也会随之加密变形,例如异常特征码会被拆分、打乱或延长等,导致基于原始的异常特征码进行识别时将无法识别该进行加密变形后的异常文件。例如,某个病毒的异常特征码为“;;;;;;”,加密变形后为“1;2;3;4;5;6;”,当基于“;;;;;;”扫描包括该病毒的文件时,将无法识别该病毒。
而本发明实施例中,经过大量的实验、分析和统计等实践活动后,发现针对多个具有相同异常特征码的异常文件来说,当该多个异常文件加密变形后,该多个加密变形后的异常文件的指定数据层会具有相同的公共数据串。针对这一特点,识别装置可以遍历多个样本异常文件的指定数据层,获取该多个样本异常文件的指定数据层中的数据串,从多个样本异常文件的指定数据层中确定出公共数据串,以便基于该公共数据串识别异常文件。其中,该数据串包括连续的一串数据,例如为“;‘;‘;”、“aaaaaa”、“12121212”,识别装置可以调用数据串提取函数,对指定数据层进行提取数据串的操作,获取该指定数据层中的数据串。
针对确定指定数据层的过程,由于每个数据层中的数据串数量可以体现数据层中数据的连续性,因此识别装置可以计算每个数据层的数据串数量,根据该多个样本异常文件中每个数据层的数据串数量,确定指定数据层。其中,该指定数据层可以为某一样本异常文件中数据串数量最大的数据层,也可以为在该多个样本异常文件中的数据串数量之和最大的数据层等。例如,当识别装置根据多个样本异常文件确定符号层中的数据串最多时,可以将符号层作为指定数据层。
该公共数据串为至少两个样本异常文件的指定数据层均包括的数据串。针对从多个数据串中选取公共数据串的过程,识别装置可以确定多个数据串中每个数据串的覆盖率,根据每个数据串的覆盖率,从多个数据串中选取公共数据串。
其中,任一数据串的覆盖率为指定数据层包括该数据串的样本异常文件的数量。数据串的覆盖率越大,指定数据层包括该数据串的样本异常文件的数量越多,可以认为该数据串越可能为该多个样本异常文件的公共数据串。
识别装置可以将数据串原始的覆盖率设置为0,再遍历多个样本异常文件中的每个样本异常文件,对于当前遍历到的样本异常文件,当确定该样本异常文件中包括该数据串时,将覆盖率加一,当确定该样本异常文件不包括该数据串时,继续遍历下一个样本异常文件,当遍历该多个样本异常文件结束时,即可确定该数据串的覆盖率。
在第一种可能的实现方式中,当识别装置确定多个数据串中某一数据串的覆盖率等于多个样本异常文件的数量时,可以确定每个样本异常文件的指定数据层均包括该数据串,因此识别装置可以将该数据串作为公共数据串,也即是,识别装置可以从多个数据串中选取多个样本异常文件的指定数据层均包括的数据串,作为公共数据串。
进一步地,当多个样本异常文件的指定数据层均包括的数据串包括多个时,识别装置还可以从多个样本异常文件的指定数据层均包括的多个数据串中选取长度最大的数据串,将该长度最大的数据串作为最终确定的公共数据串。例如,识别装置可以对该多个数据串按照长度从大到小的顺序排序,并选取排在第一位的数据串,作为公共数据串。
在第二种可能的实现方式中,当识别装置确定根据多个样本异常文件的指定数据层提取的多个数据串中,每个数据串的覆盖率均小于多个样本异常文件的数量时,可以确定该多个数据串中不存在该多个样本异常文件的指定数据层均包括的数据串,表明该多个样本异常文件可能不是同一种异常特征码对应的异常文件,或者可能是没有按照恰当的类型对样本异常文件进行划分。
此时,识别装置可以从该多个数据串中选取覆盖率最大的第一数据串,再确定指定数据层不包括该第一数据串的多个样本异常文件,确定该多个样本异常文件的指定数据层均包括的第二数据串,将该第一数据串和该第二数据串均作为公共数据串。
其中,识别装置可以将该多个数据串的覆盖率按照从大到小的顺序排序,确定排在第一位的覆盖率,并确定该覆盖率对应的数据串作为第一数据串。对于该多个样本异常文件中的每个样本异常文件,识别装置可以判断该样本异常文件的指定数据层是否包括该第一数据串,当该样本异常文件的指定数据层不包括该第一数据串时,选取该样本异常文件。当遍历了多个样本异常文件后,即可选取出指定数据层不包括该第一数据串的多个样本异常文件,并采用与上述确定第一数据串类似的方式,从选取出的多个样本异常文件中确定第二数据串。
上述选取方式仅是以存在多个样本异常文件的指定数据层均包括的第二数据串为例进行说明,然而在实际应用中也可能不存在多个样本异常文件的指定数据层均包括的数据串,此时,可以选取该多个样本异常文件的指定数据层中覆盖率最大的数据串,作为第二数据串,再继续从剩余的不包括该第二数据串的多个样本异常文件中,选取该多个样本异常文件均包括的数据串,或者,选取覆盖率最大的数据串,作为第三数据串,以此类推,直到最终选取出的多个公共数据串能够覆盖每个样本异常文件为止。
举例来说,识别装置获取到了10个样本异常文件,这10个样本异常文件的符号层中覆盖率最高的数据串为a,8个样本异常文件的符号层均包括数据串a,另外2个样本异常文件的符号层均包括数据串b,则确定的公共数据串为(a,b)。
以熵值作为特征,将样本异常文件划分为数据层x和数据层y,其中数据层y为指定数据层,针对任一样本异常文件的处理流程可以参见图1B。且参见下表1,每个样本异常文件可以得到数据层x对应的熵值a,数据层y对应的熵值b和公共数据串,从而得到熵值集合(a,b)和数据层y中包括的公共数据串即可,无需对样本异常文件进行其他多余的操作。综上所述,可以直观地确定上述处理流程具有步骤简单、逻辑清晰的优点,便于自动化运维。
表1
需要说明的是,上述步骤101-103可以预先执行完成,在每次获取到待识别的目标文件时,即可基于上述步骤101-103得到的特征集合和公共数据串进行识别。或者,还可以在每次获取到待识别的目标文件时,执行上述步骤101-103,并基于上述步骤101-103得到的特征集合和公共数据串进行识别。
104、识别装置获取待识别的目标文件,将目标文件划分成多个数据层。
目标文件是指尚未确定是否为异常文件的任一文件。当获取到目标文件后,识别装置会按照在上述步骤101中划分样本异常文件时采用的多个类型,对目标文件进行划分,从而将目标文件划分成多个数据层,其中,目标文件划分成的每个数据层对应的类型与样本异常文件划分成的每个数据层对应的类型相同。例如,当在上述步骤101中将样本异常文件划分为数字层和字母层时,也会将目标文件划分为数字层和字母层。
105、识别装置根据多个数据层的特征,获取该目标文件的特征集合。
当得到目标文件的多个数据层后,识别装置会按照在上述步骤102中获取样本异常文件的多个数据层的特征集合的方式,获取目标文件的多个数据层的特征集合。例如,当在上述步骤101中获取了样本异常文件中每个数据层的熵值,将多个熵值组成样本异常文件的特征集合时,也会获取目标文件每个数据层的熵值,将多个熵值组成目标文件的特征集合。
106、当特征集合与任一样本异常文件的特征集合匹配,且该目标文件与该任一样本异常文件的指定数据层均包括公共数据串,识别装置确定该目标文件为异常文件。
识别装置会获取目标文件特征集合中的每个特征,当每个特征与任一样本异常文件的相同数据层的特征均匹配时,确定该特征集合与该任一样本异常文件的特征集合匹配。
例如,目标文件的特征集合为(504,452),而某一样本异常文件的特征集合也为(504,452),则可确定这两个特征集合匹配。另外,当目标文件的特征集合中有一个特征与样本异常文件的特征不匹配,或者,当匹配的特征在目标文件中所属的数据层和在样本异常文件中所属的数据层不相同时,确定两个特征集合不匹配。例如,当目标文件的特征集合为(504,504)时,认为该特征集合与(504,452)不匹配。或者,当目标文件的特征集合为(452,504)时,也认为该特征集合与(504,452)不匹配。
本发明实施例中,特征集合由文件的多个数据层的特征确定,可以体现文件的整体特性,当确定目标文件的特征集合与任一样本异常文件的特征集合匹配时,可以认为目标文件和该样本异常文件在整体特性上比较相似。而公共数据串可以认为是文件的局部特性,当确定目标文件与任一样本异常文件的指定数据层包括同一个公共数据串时,可以认为目标文件和该样本异常文件在局部特性上比较相似。那么,当目标文件和样本异常文件的特征集合匹配且两者的指定数据层包括同一个公共数据串时,可以确定该目标文件与该样本异常文件在整体特性和局部特性上均相似,因此可以确定该目标文件为异常文件。
另外,当识别装置确定目标文件的特征集合与任一样本异常文件的特征集合均不匹配时,可以确定目标文件不是异常文件。或者,当目标文件的指定数据层不包括公共数据串时,可以确定目标文件不是异常文件。
需要说明的是,在一种可能实现方式中,当识别装置确定了多个公共数据串,而目标文件的指定数据层包括该多个公共数据串中的任一公共数据串时,会选取指定数据层包括该任一公共数据串的多个样本异常文件,判断目标文件的特征集合与所选取的多个样本异常文件中的任一样本异常文件的特征集合是否匹配。
例如,对于10个样本异常文件,8个样本异常文件的指定数据层包括公共数据串a,2个样本异常文件的指定数据层包括公共数据串b,当目标文件的指定数据层包括a,且特征集合与8个样本异常文件对应的8个特征集合中的某一特征集合匹配时,认为该目标文件为异常文件。当该目标文件的指定数据层包括b,而特征集合与2个样本异常文件对应的2个特征集合中的任一特征集合匹配时,认为该目标文件为异常文件。
本发明实施例提供的方法,扩展了一种异常文件识别方法,将待识别的目标文件与经过加密变形的样本异常文件进行匹配,在目标文件的特征集合与样本异常文件的特征集合匹配,且目标文件包括该样本异常文件的指定数据层所包括的公共数据串时,说明目标文件是与样本异常文件类似的文件,因此可以确定目标文件为异常文件。采用上述异常文件识别方法,即使异常文件加密变形后也能够被识别出来,解决了异常文件加密变形后无法识别的问题,提升了灵活性。
进一步地,应用本发明实施例提供的异常文件识别方法,可以对任一种格式的异常文件进行识别,例如可以识别javascript、vbscript、python、java、shell和powshell等格式的异常文件,具备普适性和通杀性。
进一步地,由于本发明实施例提供的异常文件识别方法逻辑清楚、流程简单,便于自动化运维。并且识别异常文件的速度快,提高了识别异常文件的效率。反异常引擎采用本发明实施例提供的方法进行识别时,可以提升对异常文件的检测率,节省时间成本和内存损耗,提升了反异常引擎的性能。
本发明获取了281个异常的样本,这281个样本通过采用同一加密变形算法进行了加密变形,将其中的140个样本作为样本异常文件,141个样本作为目标文件,采用本发明实施例提供的识别方法进行了试验:
先将每个样本异常文件拆分为字符类型和数字类型组成的第一数据层,以及除了字符类型和数字类型以外的其他类型的数据组成的第二数据层。其中如图1C所示,第一数据层包括字符和数字,如图1D所示,第二数据层包括除字符和数字以外的其他数据。根据140个样本异常文件的第一数据层和第二数据层提取了特征集合,如图1E所示,并将第二数据层作为指定数据层,根据140个样本异常文件的第二数据层提取了一个公共数据串,如图1F所示,则可以设置检测条件为“特征集合与图1E中的某个特征集合匹配且第二数据层包括图1F中的公共数据串”,之后根据该检测条件对141个目标文件进行扫描,结果全部命中,141个异常的样本全部检测出来,没有误报情况。
图2A是本发明实施例提供的一种异常文件识别装置的结构示意图。参见图2A,该装置包括:特征集合获取模块201、公共数据串获取模块202、目标文件获取模块203和异常文件确定模块204。
特征集合获取模块201,用于执行上述图1A所示实施例中获取特征集合的步骤;
公共数据串获取模块202,用于执行上述图1A所示实施例中获取公共数据串的步骤;
目标文件获取模块203,用于执行上述图1A所示实施例中获取目标文件的步骤;
异常文件确定模块204,用于执行上述图1A所示实施例中确定异常文件的步骤。
可选地,参见图2B,该装置还包括:
类型划分模块205,用于执行上述图1A所示实施例中的将多个类型划分为多组的步骤;
数据层划分模块206,用于执行上述图1A所示实施例中的将样本异常文件划分为多个数据层的步骤;
可选地,该异常文件确定模块204,包括:
获取子模块2041,用于执行获取多个数据串的步骤;
确定子模块2042,用于执行确定覆盖率的步骤;
选取子模块2043,用于执行选取公共数据串的步骤。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
需要说明的是:上述实施例提供的异常文件识别装置在识别异常文件时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将识别装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的异常文件识别装置与异常文件识别方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图3是本发明实施例提供的一种终端的结构示意图。该终端可以用于实施上述实施例所示出的异常文件识别方法中的识别装置所执行的功能。具体来讲:
终端300可以包括RF(Radio Frequency,射频)电路110、包括有一个或一个以上计算机可读存储介质的存储器120、输入单元130、显示单元140、传感器150、音频电路160、传输模块170、包括有一个或者一个以上处理核心的处理器180、以及电源190等部件。本领域技术人员可以理解,图3中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
RF电路110可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器180处理;另外,将涉及上行的数据发送给基站。通常,RF电路110包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM)卡、收发信机、耦合器、LNA(Low Noise Amplifier,低噪声放大器)、双工器等。此外,RF电路110还可以通过无线通信与网络和其他终端通信。所述无线通信可以使用任一通信标准或协议,包括但不限于GSM(Global System of Mobile communication,全球移动通讯系统)、GPRS(General Packet Radio Service,通用分组无线服务)、CDMA(CodeDivision Multiple Access,码分多址)、WCDMA(Wideband CodeDivision MultipleAccess,宽带码分多址)、LTE(Long Term Evolution,长期演进)、电子邮件、SMS(ShortMessaging Service,短消息服务)等。
存储器120可用于存储软件程序以及模块,如上述示例性实施例所示出的终端所对应的软件程序以及模块,处理器180通过运行存储在存储器120的软件程序以及模块,从而执行各种功能应用以及数据处理,如实现基于视频的交互等。存储器120可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端300的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器120还可以包括存储器控制器,以提供处理器180和输入单元130对存储器120的访问。
输入单元130可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元130可包括触敏表面131以及其他输入终端132。触敏表面131,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面131上或在触敏表面131附近的操作),并根据预先设定的程式驱动相应的链接装置。可选的,触敏表面131可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器180,并能接收处理器180发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面131。除了触敏表面131,输入单元130还可以包括其他输入终端132。具体地,其他输入终端132可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元140可用于显示由用户输入的信息或提供给用户的信息以及终端300的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元140可包括显示面板141,可选的,可以采用LCD(Liquid Crystal Display,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等形式来配置显示面板141。进一步的,触敏表面131可覆盖显示面板141,当触敏表面131检测到在其上或附近的触摸操作后,传送给处理器180以确定触摸事件的类型,随后处理器180根据触摸事件的类型在显示面板141上提供相应的视觉输出。虽然在图3中,触敏表面131与显示面板141是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面131与显示面板141集成而实现输入和输出功能。
终端300还可包括至少一种传感器150,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板141的亮度,接近传感器可在终端300移动到耳边时,关闭显示面板141和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端300还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路160、扬声器161,传声器162可提供用户与终端300之间的音频接口。音频电路160可将接收到的音频数据转换后的电信号,传输到扬声器161,由扬声器161转换为声音信号输出;另一方面,传声器162将收集的声音信号转换为电信号,由音频电路160接收后转换为音频数据,再将音频数据输出处理器180处理后,经RF电路110以发送给比如另一终端,或者将音频数据输出至存储器120以便进一步处理。音频电路160还可能包括耳塞插孔,以提供外设耳机与终端300的通信。
终端300通过传输模块170可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线或有线的宽带互联网访问。虽然图3示出了传输模块170,但是可以理解的是,其并不属于终端300的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器180是终端300的控制中心,利用各种接口和线路链接整个手机的各个部分,通过运行或执行存储在存储器120内的软件程序和/或模块,以及调用存储在存储器120内的数据,执行终端300的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器180可包括一个或多个处理核心;优选的,处理器180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器180中。
终端300还包括给各个部件供电的电源190(比如电池),优选的,电源可以通过电源管理系统与处理器180逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源190还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,终端300还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,终端300的显示单元是触摸屏显示器,终端300还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行上述一个或者一个以上程序包含用于实施上述实施例中识别装置所执行操作的指令。
图4是本发明实施例提供的一种服务器的结构示意图,该服务器400可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processingunits,CPU)422(例如,一个或一个以上处理器)和存储器432,一个或一个以上存储应用程序442或数据444的存储介质430(例如一个或一个以上海量存储设备)。其中,存储器432和存储介质430可以是短暂存储或持久存储。存储在存储介质430的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器422可以设置为与存储介质430通信,在服务器400上执行存储介质430中的一系列指令操作。
服务器400还可以包括一个或一个以上电源426,一个或一个以上有线或无线网络接口450,一个或一个以上输入输出接口458,一个或一个以上键盘456,和/或,一个或一个以上操作系统441,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
该服务器400可以用于执行上述实施例提供的异常文件识别方法中识别装置所执行的步骤。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (12)

1.一种异常文件识别方法,其特征在于,所述方法包括:
获取多个样本异常文件中每个样本异常文件的特征集合以及根据所述多个样本异常文件确定的公共数据串,所述样本异常文件的特征集合由所述样本异常文件的多个数据层的特征确定,所述多个样本异常文件通过采用同一加密变形算法对多个异常文件进行加密变形后得到,所述公共数据串为至少两个样本异常文件的指定数据层均包括的数据串;
获取待识别的目标文件;
根据所述目标文件的多个数据层的特征,获取所述目标文件的特征集合;
当所述特征集合与任一样本异常文件的特征集合匹配,且所述目标文件与所述任一样本异常文件的指定数据层均包括所述公共数据串时,确定所述目标文件为异常文件。
2.根据权利要求1所述的方法,其特征在于,所述获取多个样本异常文件中每个样本异常文件的特征集合以及根据所述多个样本异常文件确定的公共数据串之前,所述方法还包括:
对于每个样本异常文件,将所述样本异常文件中包括的多个类型划分为多组,每组包括与同一数据层对应的至少一个类型;
对所述样本异常文件中的数据进行分类,得到与所述多组分别匹配的多个数据层,使得同一数据层中包括对应的至少一个类型的数据,不同数据层的数据的类型不同;
获取所述多个数据层的特征,组成所述特征集合。
3.根据权利要求1所述的方法,其特征在于,所述根据所述多个样本异常文件的指定数据层中的数据串,确定公共数据串,包括:
获取所述多个样本异常文件的指定数据层中的数据串,得到多个数据串;
确定所述多个数据串中每个数据串的覆盖率,所述数据串的覆盖率为所述指定数据层包括所述数据串的样本异常文件的数量;
根据所述每个数据串的覆盖率,从所述多个数据串中选取所述公共数据串。
4.根据权利要求3所述的方法,其特征在于,所述根据所述每个数据串的覆盖率,从所述多个数据串中选取所述公共数据串,包括:
从所述多个数据串中,选取所述多个样本异常文件的指定数据层均包括的数据串,作为所述公共数据串。
5.根据权利要求3所述的方法,其特征在于,所述根据所述每个数据串的覆盖率,从所述多个数据串中选取所述公共数据串,包括:
当所述多个数据串不包括所述多个样本异常文件的指定数据层均包括的数据串时,从所述多个数据串中选取覆盖率最大的第一数据串;
确定所述指定数据层不包括所述第一数据串的多个样本异常文件,确定所述多个样本异常文件的指定数据层均包括的第二数据串;
将所述第一数据串和所述第二数据串均作为所述公共数据串。
6.根据权利要求1所述的方法,其特征在于,所述获取所述目标文件的特征集合之后,所述方法还包括:
当所述特征集合中的每个特征与所述任一样本异常文件的相同数据层的特征均匹配时,确定所述特征集合与所述任一样本异常文件的特征集合匹配。
7.一种异常文件识别装置,其特征在于,所述装置包括:
特征集合获取模块,用于获取多个样本异常文件中每个样本异常文件的特征集合,所述样本异常文件的特征集合由所述样本异常文件的多个数据层的特征确定,所述多个样本异常文件通过采用同一加密变形算法对多个异常文件进行加密变形后得到;
公共数据串获取模块,用于获取根据所述多个样本异常文件确定的公共数据串,所述公共数据串为至少两个样本异常文件的指定数据层均包括的数据串;
目标文件获取模块,用于获取待识别的目标文件;
所述特征集合获取模块,还用于根据所述目标文件的多个数据层的特征,获取所述目标文件的特征集合;
异常文件确定模块,用于当所述特征集合与任一样本异常文件的特征集合匹配,且所述目标文件与所述任一样本异常文件的指定数据层均包括所述公共数据串时,确定所述目标文件为异常文件。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
类型划分模块,用于对于每个样本异常文件,将所述样本异常文件中包括的多个类型划分为多组,每组包括与同一数据层对应的至少一个类型;
数据层划分模块,用于对所述样本异常文件中的数据进行分类,得到与所述多组分别匹配的多个数据层,使得同一数据层中包括对应的至少一个类型的数据,不同数据层的数据的类型不同;
所述特征集合获取模块,还用于获取所述多个数据层的特征,组成所述特征集合。
9.根据权利要求7所述的装置,其特征在于,所述异常文件确定模块,包括:
获取子模块,用于获取所述多个样本异常文件的指定数据层中的数据串,得到多个数据串;
确定子模块,用于确定所述多个数据串中每个数据串的覆盖率,所述数据串的覆盖率为所述指定数据层包括所述数据串的样本异常文件的数量;
选取子模块,用于根据所述每个数据串的覆盖率,从所述多个数据串中选取所述公共数据串。
10.根据权利要求9所述的装置,其特征在于,所述选取子模块,用于从所述多个数据串中,选取所述多个样本异常文件的指定数据层均包括的数据串,作为所述公共数据串。
11.根据权利要求9所述的装置,其特征在于,所述选取子模块,用于当所述多个数据串不包括所述多个样本异常文件的指定数据层均包括的数据串时,从所述多个数据串中选取覆盖率最大的第一数据串;确定所述指定数据层不包括所述第一数据串的多个样本异常文件,确定所述多个样本异常文件的指定数据层均包括的第二数据串;将所述第一数据串和所述第二数据串均作为所述公共数据串。
12.根据权利要求7所述的装置,其特征在于,所述异常文件确定模块,还用于当所述特征集合中的每个特征与所述任一样本异常文件的相同数据层的特征均匹配时,确定所述特征集合与所述任一样本异常文件的特征集合匹配。
CN201710263599.1A 2017-04-20 2017-04-20 异常文件识别方法及装置 Active CN107169353B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710263599.1A CN107169353B (zh) 2017-04-20 2017-04-20 异常文件识别方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710263599.1A CN107169353B (zh) 2017-04-20 2017-04-20 异常文件识别方法及装置

Publications (2)

Publication Number Publication Date
CN107169353A true CN107169353A (zh) 2017-09-15
CN107169353B CN107169353B (zh) 2021-05-14

Family

ID=59812687

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710263599.1A Active CN107169353B (zh) 2017-04-20 2017-04-20 异常文件识别方法及装置

Country Status (1)

Country Link
CN (1) CN107169353B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1777119A (zh) * 2005-12-06 2006-05-24 南京邮电大学 一种类似生物免疫机制的入侵检测方法
CN102571767A (zh) * 2011-12-24 2012-07-11 成都市华为赛门铁克科技有限公司 文件类型识别方法及文件类型识别装置
KR20140014784A (ko) * 2012-07-26 2014-02-06 숭실대학교산학협력단 선형패턴과 명암 특징 기반 네트워크 트래픽의 이상현상 감지 방법
CN105045633A (zh) * 2015-08-10 2015-11-11 广东欧珀移动通信有限公司 一种扫描升级包的方法及装置
CN105208037A (zh) * 2015-10-10 2015-12-30 中国人民解放军信息工程大学 一种基于轻量级入侵检测的DoS/DDoS攻击检测和过滤方法
CN105740667A (zh) * 2014-12-10 2016-07-06 阿里巴巴集团控股有限公司 一种基于用户行为的信息识别方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1777119A (zh) * 2005-12-06 2006-05-24 南京邮电大学 一种类似生物免疫机制的入侵检测方法
CN102571767A (zh) * 2011-12-24 2012-07-11 成都市华为赛门铁克科技有限公司 文件类型识别方法及文件类型识别装置
KR20140014784A (ko) * 2012-07-26 2014-02-06 숭실대학교산학협력단 선형패턴과 명암 특징 기반 네트워크 트래픽의 이상현상 감지 방법
CN105740667A (zh) * 2014-12-10 2016-07-06 阿里巴巴集团控股有限公司 一种基于用户行为的信息识别方法及装置
CN105045633A (zh) * 2015-08-10 2015-11-11 广东欧珀移动通信有限公司 一种扫描升级包的方法及装置
CN105208037A (zh) * 2015-10-10 2015-12-30 中国人民解放军信息工程大学 一种基于轻量级入侵检测的DoS/DDoS攻击检测和过滤方法

Also Published As

Publication number Publication date
CN107169353B (zh) 2021-05-14

Similar Documents

Publication Publication Date Title
CN104239535B (zh) 一种为文字配图的方法、服务器、终端及系统
CN106126015B (zh) 一种应用程序启动控制方法及终端
US20170091335A1 (en) Search method, server and client
US20160241589A1 (en) Method and apparatus for identifying malicious website
CN105912918B (zh) 一种指纹解锁方法及终端
CN107562835A (zh) 文件查找方法、装置、移动终端及计算机可读存储介质
CN106973099A (zh) 一种数据更新方法、装置及系统
CN107357725A (zh) 应用测试方法及装置
CN105912919B (zh) 一种指纹解锁方法及终端
CN106203034B (zh) 一种指纹解锁方法及终端
US10621259B2 (en) URL error-correcting method, server, terminal and system
CN104699501B (zh) 一种运行应用程序的方法及装置
CN108279904A (zh) 代码编译方法及终端
CN107219951A (zh) 触控屏控制方法、装置、存储介质及终端设备
CN104063400B (zh) 数据搜索方法和装置
CN107276602A (zh) 射频干扰处理方法、装置、存储介质及终端
CN109543014A (zh) 人机对话方法、装置、终端及服务器
CN106685948A (zh) 一种数据处理方法、终端、通信设备及数据处理系统
CN107943960A (zh) 一种应用程序整理的方法、移动终端
CN106202422B (zh) 网页图标的处理方法和装置
CN104636455B (zh) 应用程序映射信息的获取方法及装置
CN106657254A (zh) 一种联系人信息的同步方法、装置及系统
CN109634481A (zh) 文本显示方法、装置、移动终端及存储介质
CN104424324B (zh) 列表组件中定位列表项的方法及装置
CN107045610A (zh) 数据迁移方法、终端设备及计算机可读存储介质

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