CN111460447B - 恶意文件检测方法、装置、电子设备与存储介质 - Google Patents

恶意文件检测方法、装置、电子设备与存储介质 Download PDF

Info

Publication number
CN111460447B
CN111460447B CN202010151746.8A CN202010151746A CN111460447B CN 111460447 B CN111460447 B CN 111460447B CN 202010151746 A CN202010151746 A CN 202010151746A CN 111460447 B CN111460447 B CN 111460447B
Authority
CN
China
Prior art keywords
file
information
files
detected
malicious
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
CN202010151746.8A
Other languages
English (en)
Other versions
CN111460447A (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.)
Qianxin Technology Group Co Ltd
Secworld Information Technology Beijing Co Ltd
Original Assignee
Qianxin Technology Group Co Ltd
Secworld Information Technology Beijing 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 Qianxin Technology Group Co Ltd, Secworld Information Technology Beijing Co Ltd filed Critical Qianxin Technology Group Co Ltd
Priority to CN202010151746.8A priority Critical patent/CN111460447B/zh
Publication of CN111460447A publication Critical patent/CN111460447A/zh
Application granted granted Critical
Publication of CN111460447B publication Critical patent/CN111460447B/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification

Landscapes

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

Abstract

本发明实施例提供一种恶意文件检测方法、装置、电子设备与存储介质;方法包括:获取文件集合;对文件集合中的文件进行分析,得到文件的特征信息;其中,文件的特征信息包括文件所包含的各个层级中每一层级的子文件的动态行为信息与静态文件信息,以及文件所包含所有层级中各子文件的层级关系;根据文件的特征信息为文件集合中的文件进行聚类,得到多个簇;根据待检测文件所在簇内的已检测文件的信息,确定待检测文件的信息。本发明实施例基于多种维度的文件特征信息将已检测文件与未检测文件进行聚类操作,从而根据已检测文件的信息得到未检测文件的信息,实现了对恶意文件的检测及恶意研判。

Description

恶意文件检测方法、装置、电子设备与存储介质
技术领域
本发明涉及网络安全领域,尤其涉及一种恶意文件检测方法、装置、电子设备与存储介质。
背景技术
随着电脑、移动智能终端等智能设备的大规模普及,一些组织或个人在电子文件中添加特定目的的恶意代码,以窃取用户的信息、资金,或达到其他不可告人的目的。这些携带有恶意代码的电子文件也被称为恶意文件。近年来,恶意文件的数量呈现爆发性增长,对恶意文件的及时检测已经成为网络安全分析人员以及运营人员面临的首要问题。
现有技术中的恶意文件检测方法主要通过对待检测的样本文件的静态信息进行分析,根据分析结果来判断样本文件是否为恶意文件。此类恶意文件检测方法由于在检测时所基于的信息具有局限性,因此恶意文件的检测结果准确度不高且检测效率也较低。
发明内容
本发明实施例提供一种恶意文件检测方法、装置、电子设备与存储介质,用以解决现有技术中的恶意文件检测方法检测结果准确度不高且检测效率较低的缺陷。
本发明第一方面实施例提供一种恶意文件检测方法,包括:
获取文件集合;所述文件集合包括多个文件,所述多个文件中的一部分文件为已检测文件,所述多个文件中的剩余部分文件为待检测文件;其中,已检测文件的信息包括:已检测文件是否为恶意文件的信息,以及当已检测文件为恶意文件时对恶意文件的描述信息;
对所述文件集合中的文件进行分析,得到文件的特征信息;其中,所述文件的特征信息包括文件所包含的各个层级中每一层级的子文件的动态行为信息与静态文件信息,以及文件所包含所有层级中各子文件的层级关系;所述动态行为信息是子文件在被执行过程中产生的信息,所述静态文件信息是采用静态分析方式对处于未执行状态的子文件进行分析后得到的信息;
根据文件的特征信息为所述文件集合中的文件进行聚类,得到多个簇;
根据待检测文件所在簇内的已检测文件的信息,确定所述待检测文件的信息;所述待检测文件的信息包括:待检测文件是否为恶意文件的信息,以及当待检测文件为恶意文件时对恶意文件的描述信息。
上述技术方案中,所述对恶意文件的描述信息包括:所述恶意文件属于哪个恶意家族和/或来源于哪个攻击团伙的信息。
上述技术方案中,所述对所述文件集合中的文件进行分析,得到文件的特征信息包括:
分析文件,确定文件的层级结构;
对文件各个层级中每一层级的子文件在被执行时所要加载的信息项进行分析,得到所述子文件的动态执行信息;
对文件各个层级中每一层级的子文件的固定项进行分析,得到所述子文件的静态文件信息;其中,所述固定项为子文件中与运行与否无关的项;
记录待检测文件所包含所有层级中各子文件的层级关系;
将所述动态执行信息与静态文件信息转换为统一的中间临时文件对象,对所述中间临时文件对象进行数字特征化,得到与所述动态执行信息相对应的第一特征集以及与所述静态文件信息相对应的第二特征集;
根据所述第一特征集、第二特征集和文件所包含所有层级中各子文件的层级关系确定用于表示待检测文件的特征信息的特征向量。
上述技术方案中,所述根据文件的特征信息为所述文件集合中的文件进行聚类,得到多个簇具体包括:
初次聚类步骤,根据文件的特征信息为所述文件集合中的文件进行聚类,得到多个类;
同源比对步骤,为所述多个类的任意一个类中的文件进行同源比对;
再聚类步骤,根据同源比对结果对类中的非同源文件进行再聚类;
重复执行同源比对步骤与再聚类步骤,直至当前所有类中的文件均不再需要做聚类操作,最终所形成的多个类为所述多个簇。
上述技术方案中,所述为所述多个类的任意一个类中的文件进行同源比对包括:
从所述多个类的任意一个类中以随机的方式抽取两个或多个文件,对所抽取的两个或多个文件进行同源比对,将所得到的同源比对结果作为整个类的同源比对结果。
上述技术方案中,所述聚类采用COBWEB算法实现。
上述技术方案中,所述文件集合中的文件的文件类型包括以下类型中的任意一种或多种:Window可执行文件、Office文档、Office复合文档、PDF文件、ZIP压缩包文件、RAR压缩包文件、GZ压缩包文件、Rich Text Format文件、Email文件、Linux可执行文件、AdobeFlash文件、Windows快捷方式文件、HWP文件、Inpage文件、Android APK文件。
本发明第二方面实施例提供一种恶意文件检测装置,包括:
文件集合获取模块,用于获取文件集合;所述文件集合包括多个文件,所述多个文件中的一部分文件为已检测文件,所述多个文件中的剩余部分文件为待检测文件;其中,已检测文件的信息包括:已检测文件是否为恶意文件的信息,以及当已检测文件为恶意文件时对恶意文件的描述信息;
文件分析模块,用于对所述文件集合中的文件进行分析,得到文件的特征信息;其中,所述文件的特征信息包括文件所包含的各个层级中每一层级的子文件的动态行为信息与静态文件信息,以及文件所包含所有层级中各子文件的层级关系;所述动态行为信息是子文件在被执行过程中产生的信息,所述静态文件信息是采用静态分析方式对处于未执行状态的子文件进行分析后得到的信息;
聚类模块,用于根据文件的特征信息为所述文件集合中的文件进行聚类,得到多个簇;
检测模块,用于根据待检测文件所在簇内的已检测文件的信息,确定所述待检测文件的信息;所述待检测文件的信息包括:待检测文件是否为恶意文件的信息,以及当待检测文件为恶意文件时对恶意文件的描述信息。
本发明第三方面实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如本发明第一方面实施例所提供的恶意文件检测方法的步骤。
本发明第四方面实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如本发明第一方面实施例所提供的恶意文件检测方法的步骤。
本发明第五方面实施例提供一种计算机程序产品,所述计算机程序产品包括计算机可执行指令,所述指令在被执行时用于实现如本发明第一方面实施例所提供的恶意文件检测方法的步骤。
本发明实施例提供的恶意文件检测方法、装置、电子设备与存储介质,基于多种维度的文件特征信息将已检测文件与未检测文件进行聚类操作,从而根据已检测文件的信息得到未检测文件的信息,实现了对恶意文件,特别是大规模恶意文件的检测。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的恶意文件检测方法的流程图;
图2为文件的层级结构的示意图;
图3为本发明实施例提供的恶意文件检测装置的流程图;
图4示例了一种电子设备的实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在对本发明做详细说明之前,首先对本发明中所涉及的相关概念做统一说明。
恶意家族:是指具有相似性、继承性以及衍生性的恶意软件集合。
攻击团伙:将进行APT攻击的团伙定义为攻击团伙。APT(Advanced PersistentThreat,高级持续性威胁)是指隐匿而持久的电脑入侵过程,通常由某些人员精心策划,针对特定的目标。其通常是出于商业或政治动机,针对特定组织或国家,并要求在长时间内保持高隐蔽性。高级持续性威胁包含三个要素:高级、持续性、威胁。高级强调的是使用复杂精密的恶意软件及技术以利用系统中的漏洞。持续性暗指某个外部力量会持续监控特定目标,并从其获取数据。威胁则指人为参与策划的攻击。
从对恶意家族与攻击团伙的定义可以看出,恶意家族的对象是软件,攻击团伙的对象是人或组织。
图1为本发明实施例提供的恶意文件检测方法的流程图,如图1所示,本发明实施例提供的恶意文件检测方法包括:
步骤101、获取文件集合。
在本发明实施例中,文件集合中包括有多个文件,这些文件中的一部分是已检测的文件,在这些文件的标签中对文件的类型做了描述,例如,文件为正常文件,文件为恶意文件。若文件为恶意文件,在文件的标签中还会进一步描述恶意文件的具体信息,如恶意文件归属于某个恶意家族和/或恶意文件来源于某个攻击团伙。这些已检测的文件可以是在之前的某个时间,采用本发明实施例提供的恶意文件检测方法检测过的文件;也可以是采用现有技术中的其他恶意文件检测方法检测过的文件。
文件集合中除已检测的文件以外的剩余文件为待检测的文件。待检测的文件的类型信息并不明确,需要通过本发明实施例提供的恶意文件检测方法明确待检测的文件为正常文件还是恶意文件。如果是恶意文件,还需要进一步检测出该恶意文件的描述信息,如属于哪个恶意家族和/或来源于哪个攻击团伙。
文件集合中所包含的文件可以有多种类型,包括但不限于:Window可执行文件、Office文档、Office复合文档、PDF文件、ZIP压缩包文件、RAR压缩包文件、GZ压缩包文件、Rich Text Format文件、Email文件、Linux可执行文件、Adobe Flash文件、Windows快捷方式文件、HWP文件、Inpage文件、Android APK文件等。
在后面的描述中将会提到,本发明实施例提供的恶意文件检测方法通过对文件层级结构的分析,能够深入文件内部提取相应的特征信息,因此可以支持多种类型的文件的检测。与现有技术中的恶意文件检测方法相比,本发明实施例提供的恶意文件检测方法在所支持的文件的类型上有明显的增加。
步骤102、对文件集合中的文件进行分析,得到文件的特征信息。
对文件进行分析,得到文件的特征信息的具体过程包括:
步骤102-1、对文件进行分析,确定文件的层级结构,获得层级文件信息集;
步骤102-2、根据层级文件信息集得到文件的特征信息。
由于恶意文件会将有效的辨识信息隐藏在文件的内层,因此对于恶意文件单纯依靠外部检测很难进行有效的识别。例如,RAR压缩包文件,压缩包内可存储多个不同类型的文件。还例如word文件,在文件内中设置各种衔接。
针对恶意文件的这一特点,在本发明实施例中,在对文件进行分析以提取文件的特征信息时,需要深入到文件内部。为了达到深入文件内部的目的,需要确定文件的层级结构,按照层级结构从文件获取该文件对应的层级文件信息集。
文件一般具有层级结构,例如,RAR压缩包文件包括有两个层级,其压缩包作为第一层级的子文件,压缩包中的文件可作为第二层级的子文件。文件的层级结构并不局限于上述例子中的两层结构,还可以是多层结构。图2为文件的层级结构的示意图。
层级文件信息集包括每一层级中的子文件的动态行为信息和静态文件信息,以及所有层级中各子文件的层级关系。
动态行为信息是指文件在被执行过程中产生的信息。例如,文件子流最大值、文件子流最小值、pe子流数量、pdf子流数量、png图片数量、jpg图片数量、ole对象数量、api调用次数、注册表操作次数、释放文件数量等。
所述静态文件信息是采用静态分析方式对处于未执行状态的子文件进行分析后得到的信息。例如文件名称、文件作者名称、文件大小、文件类型、hash值、创建时间和修改时间等。
层级关系为文件与文件之间的所属关系。例如压缩包文件包含word文件,word文件插入有衔接文件,衔接文件中有图片文件。
若待分析的文件仅具备一个层级,则文件对应的层级文件信息集仅包括第一层级中文件的动态行为信息和静态文件信息。
若待分析的文件包含至少两个层级,则文件对应的层级文件信息集包括各层级中的子文件的动态行为信息和静态文件信息,以及所有层级中各子文件的层级关系。
若一个层级中的子文件不具备被执行的条件,则该层级中的子文件仅具备静态文件信息。
对文件中存在的执行项进行解析,可得到文件的动态行为信息;其中,所述执行项是文件被执行时加载的信息项。
对文件的基础项进行解析,可得到文件的静态文件信息;其中,所述基础项是指文件的固定项,如作者项、时间项、类型项等。
层级关系可通过记录文件中一个层级的子文件与其他层级(如果有的话)的子文件之间的关系获得。
在得到层级文件信息集后,可根据层级文件信息集得到文件的特征向量。
在层级文件信息集中包括有文件的动态行为信息与文件的静态文件信息。但某些类型的具体信息既有可能在对文件的动态执行过程中出现,也有可能从对文件的静态分析中获取,即某些类型的具体信息既可以归为动态执行信息,也可以归为静态文件信息,如png图片数量。如果处理动态执行信息时对此类信息做一遍处理,在处理静态文件信息时对此类信息再做一遍处理,不仅会浪费计算资源,而且也有可能对后续的恶意文件检测结果的准确性造成影响。
因此在得到文件的动态行为信息与文件的静态文件信息后,可将不同类型的文件通过结合动态行为信息与静态文件信息,转化为统一的中间临时文件对象,对中间临时文件对象进行数字特征化处理,生成数字化的特征向量。例如,将一种静态文件信息采用Json文件格式存储,将一种动态行为信息也采用Json文件格式存储。将这两份Json文件合并为一个Json文件,这一合并后的Json文件就是转换后所得到的中间临时文件对象。
在前文中已经提到,本发明实施提供的方法支持多种类型的文件,因此可生成多种不同的中间临时文件对象。在本发明实施例中,除了前一例子中提到的Json格式的文件外,中间临时文件对象的类型还包括但不限于:PE文件节表信息、PE文件资源信息、PE文件导入导出表信息、PE文件PDB信息、Office文件VB宏代码信息、Office文件Sheet宏代码信息、Office文件版本信息、PDF文件版本信息、PDF文件脚本信息、Email邮件正文内容信息、Email邮件附件信息、沙箱API序列信息、沙箱API调用次数信息、沙箱网络行为信息、沙箱释放文件信息、沙箱注册表操作信息等。
按照信息的表达方式,中间临时文件对象可以分为词信息和数信息。所谓词信息是指文件中以词语或词句的方式予以描述的信息,如作者名称—李三,李三是词语表达出的信息。所谓数信息是指文件中以数值的方式予以描述的信息。如文件大小—20kb,20是数值表达出的信息。
在对动态行为信息和静态文件信息进行数字化特征处理时,按照相应的信息是词信息还是数信息,会有不同的处理方式。对词信息进行数字化转换;对数信息进行数值化提取。具体的说,对于词信息,可采用词袋法进行词频、词长统计生成数字化特征。对于数信息,可直接获取对应的数值生成数字化特征。
层级文件信息集中的动态行为信息和静态文件信息,经中间临时文件对象的转换与数字化特征处理后,分别生成第一特征集、第二特征集。所生成的第一特征集、第二特征集和层级中各文件的层级关系按预设规则生成对应的特征向量。在本发明实施例中,所得到的特征向量是一个1*n维的特征向量。例如,一个特征向量为(3,4,1,0,0,……,-1),其中的3表示字符串长度开平方之后等于10的条数,4表示字符串长度开平方之后等于11的条数,1表示hostxx函数调用1次,0表示internetxxx函数调用0次,0表示hwpxx类型的文件数量为0,……,-1表示该特征向量标签为未知。n的值可以根据具体的应用场景进行调整。
需要说明的是,可为不同的文件设置一个统一的特征向量格式,即在一个特征向量中描述了文件理论上可包含的所有特征,然后按照具体文件的特征,为特征向量中对应的特征赋值。对于一个具体的文件,如果该文件不包含某一特征,则特征向量中对应该特征的特征值默认为0。
本领域技术人员应当理解,通过对待检测文件进行分析所得到的特征向量中的特征值取决于待检测文件本身,不同的待检测文件所对应的特征值极有可能是不相同的。
步骤103、根据文件的特征信息,对文件集合中的文件进行聚类,得到多个簇。
在本发明实施例中,采用基于统计学的聚类算法实现聚类操作,如COBWEB算法。
以COBWEB算法为例,在聚类时以递增的方式将记录(即文件的特征向量)加入到分类树中;当有一个新的记录时,计算新记录与已分好的类之间的匹配度,选择最好的节点将这个新的记录放进去。在选择最好节点时,先将新记录暂时放到每一个已经形成的类中,然后计算每次放入后的CU值,值最大的就是所要找的最匹配的类。COBWEB也计算将这个新的记录作为一个新的节点时CU的值,如果这个值比上述过程所得到的都要大的话,就建立一个新类。
上述操作对于记录的顺序很敏感,COBWEB利用两个操作来将这种敏感性降到最低,这就是merging(合并)和splitting(分裂)的方法。当对一个新的记录进行分类的时候,两个最好的类就可能被合并,当然这些决定必须根据CU值来确定。
以COBWEB算法为代表的基于统计学的聚类算法不仅能够实现聚类,而且还可以进一步找出每一个类的特征描述。因此在恶意样本检测中能够取得良好的效果。
在本发明的其他实施例中,在聚类时也可采用诸如划分聚类算法、基于层次聚类算法、基于密度聚类算法、基于网格的聚类算法、基于神经网络的聚类算法等其他类型的聚类算法。
步骤104、根据待检测文件所在簇内已检测文件的信息,确定待检测文件的信息。
在之前的步骤中,通过对文件集合中的文件进行聚类,实现了相似文件在一个簇内的聚集。一个簇内的文件既有可能包含已检测文件,也有可能包含待检测文件。
已检测文件的标签中描述了文件的类型,即是正常文件还是恶意文件;如果是恶意文件,在文件的标签中还会进一步描述恶意文件的具体信息,如恶意文件归属于某个恶意家族和/或恶意文件来源于某个攻击团伙。因此,根据同一个簇内已检测文件的信息,可以确定待检测文件的信息。所能确定的待检测文件的信息包括:待检测文件属于正常文件还是恶意文件;如果是恶意文件,属于哪个恶意家族和/或来源于哪个攻击团伙。
例如,经聚类后,在一个簇内,包括有文件A和文件B。其中,文件A是已检测的文件,根据该文件的标签信息可以知道,文件A属于恶意团伙a且来源于攻击团伙b。文件B是待检测文件,由于文件A与文件B属于同一个簇,因此根据文件A的标签信息,可以知道文件B也属于恶意团伙a且来源于攻击团伙b。
本发明实施例提供的恶意文件检测方法基于多种维度的文件特征信息将已检测文件与未检测文件进行聚类操作,从而根据已检测文件的信息得到未检测文件的信息,实现了对恶意文件,特别是大规模恶意文件的检测。
进一步地,基于上述任一实施例,在本发明实施例中,所述根据文件的特征信息,对文件集合中的文件进行聚类具体包括:
步骤S1、根据文件的特征信息为所述文件集合中的文件进行聚类,得到多个类;
步骤S2、为所述多个类的任意一个类中的文件进行同源比对;
步骤S3、根据同源比对结果对类中的非同源文件进行再聚类;
步骤S4、重复执行所述步骤S2与步骤S3,直至当前所有类中的文件均不再需要做聚类操作,最终所形成的多个类为所述多个簇。
在本发明前一实施例中,描述了根据文件的特征信息为文件集合中的文件进行聚类的操作。
在某些情况下,如文件集合中所包含的文件的情况较为复杂,一次聚类操作未必能得到理想的结果。例如,在聚类生成的同一簇中同时包含了来自多个恶意家族的文件。这将会对待检测文件的检测结果的准确性产生不良影响。因此在本发明实施例中,通过初次聚类得到多个类后,为处于同一类中的文件进行同源比对。
在之前的描述中已经提到,文件集合中的一部分文件是已检测文件,在已检测文件的标签中不仅描述了文件的类型,如文件为正常文件或文件为恶意文件,当已检测文件为恶意文件时,标签中还进一步描述了恶意文件的具体信息,如恶意文件归属于某个恶意家族和/或恶意文件来源于某个攻击团伙。因此,若要进行同源比对的文件都是已检测文件,可以利用已检测文件的标签中所包含的信息进行同源比对。
在之前的描述中还提到,文件集合中的另一部分文件是待检测文件,待检测文件的标签中并不包含待检测文件是否为恶意文件的信息,以及当待检测文件为恶意文件时对恶意文件的具体描述信息。因此无法直接通过比对标签信息的方式在待检测文件之间或待检测文件与已检测文件之间做同源比对。此时,可采用现有技术中的恶意文件检测方法对需要做同源比对的待检测文件进行检测,使得待检测文件成为已检测文件,进而按照前述已检测文件间同源比对的方法来进行同源比对。由于在同源比对时,一般并不需要将类中所有的待检测文件都与其他文件做同源比对,如在一个类中,待检测文件的数量是100个,需要做同源比对的待检测文件的数量是10个。因此即使采用现有技术中的恶意文件检测方法对需要做同源比对的待检测文件做检测,本发明实施例提供的恶意文件检测方法较现有的恶意文件检测方法在效率上依然有所提高。
在得到同源比对结果后,根据同源比对结果可确定是否要对一个类中的文件继续做聚类操作。例如,在一个类中一共有20个文件,其中有9个文件相近,剩余的11个文件相近。对于这种情况,可对类中的文件再次聚类,如可将该类分成两个类。
同源比对、再聚类这两种操作可以循环进行,直至达到一个终止条件。如在一次同源比对中发现:当前类中属于同一源的文件占类中全部文件的占比超过了设定的阈值,如95%,则对当前类的同源比对、再聚类这一循环过程可以终止。类似的,若文件集合所对应的全部类都不再继续做同源比对、再聚类的操作,则对整个文件集合中的文件的聚类操作可以终止。此时最终所形成的多个类就是对文件集合做聚类所得到的多个簇。
本发明实施例提供的恶意文件检测方法在对文件聚类后,在聚类所得到的各个类中对同一类的文件做同源比对,根据同源比对结果确定是否需要对类中的文件做再次聚类,这有助于提高聚类结果的准确性,为恶意文件检测奠定了良好的基础。
进一步地,基于上述任一实施例,在本发明实施例中,所述为所述多个类的任意一个类中的文件进行同源比对包括:
从所述多个类的任意一个类中以随机的方式抽取两个或多个文件,对所抽取的两个或多个文件进行同源比对,将所得到的同源比对结果作为整个类的同源比对结果。
在进行同源比对时,若从一个类中抽取大量的文件做同源比对操作,将会耗费大量的计算资源与时间,因此在本发明实施例中,可以以随机的方式抽取少量的文件,对这些少量的文件做同源比对,将同源比对结果作为整个类的同源比对结果。这将有助于降低对计算资源的占用,节省时间,提高效率。
进一步地,基于上述任一实施例,图3为本发明实施例提供的恶意文件检测装置的流程图,如图3所示,本发明实施例提供的恶意文件检测装置包括:
文件集合获取模块301,用于获取文件集合;所述文件集合包括多个文件,所述多个文件中的一部分文件为已检测文件,所述多个文件中的剩余部分文件为待检测文件;其中,已检测文件的信息包括:已检测文件是否为恶意文件的信息,以及当已检测文件为恶意文件时对恶意文件的描述信息;
文件分析模块302,用于对所述文件集合中的文件进行分析,得到文件的特征信息;其中,所述文件的特征信息包括文件所包含的各个层级中每一层级的子文件的动态行为信息与静态文件信息,以及文件所包含所有层级中各子文件的层级关系;所述动态行为信息是子文件在被执行过程中产生的信息,所述静态文件信息是采用静态分析方式对处于未执行状态的子文件进行分析后得到的信息;
聚类模块303,用于根据文件的特征信息为所述文件集合中的文件进行聚类,得到多个簇;
检测模块304,用于根据待检测文件所在簇内的已检测文件的信息,确定所述待检测文件的信息;所述待检测文件的信息包括:待检测文件是否为恶意文件的信息,以及当待检测文件为恶意文件时对恶意文件的描述信息。
本发明实施例提供的恶意文件检测装置基于多种维度的文件特征信息将已检测文件与未检测文件进行聚类操作,从而根据已检测文件的信息得到未检测文件的信息,实现了对恶意文件,特别是大规模恶意文件的检测。
图4示例了一种电子设备的实体结构示意图,如图4所示,该电子设备可以包括:处理器(processor)410、通信接口(Communications Interface)420、存储器(memory)430和通信总线440,其中,处理器410,通信接口420,存储器430通过通信总线440完成相互间的通信。处理器410可以调用存储器430中的逻辑指令,以执行如下方法:获取文件集合;对文件集合中的文件进行分析,得到文件的特征信息;其中,所述文件的特征信息包括文件所包含的各个层级中每一层级的子文件的动态行为信息与静态文件信息,以及文件所包含所有层级中各子文件的层级关系;所述动态行为信息是子文件在被执行过程中产生的信息,所述静态文件信息是采用静态分析方式对处于未执行状态的子文件进行分析后得到的信息;根据文件的特征信息为所述文件集合中的文件进行聚类,得到多个簇;根据待检测文件所在簇内的已检测文件的信息,确定所述待检测文件的信息。
此外,上述的存储器430中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的方法,例如包括:获取文件集合;对文件集合中的文件进行分析,得到文件的特征信息;其中,所述文件的特征信息包括文件所包含的各个层级中每一层级的子文件的动态行为信息与静态文件信息,以及文件所包含所有层级中各子文件的层级关系;所述动态行为信息是子文件在被执行过程中产生的信息,所述静态文件信息是采用静态分析方式对处于未执行状态的子文件进行分析后得到的信息;根据文件的特征信息为所述文件集合中的文件进行聚类,得到多个簇;根据待检测文件所在簇内的已检测文件的信息,确定所述待检测文件的信息。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种恶意文件检测方法,其特征在于,包括:
获取文件集合;所述文件集合包括多个文件,所述多个文件中的一部分文件为已检测文件,所述多个文件中的剩余部分文件为待检测文件;其中,已检测文件的信息包括:已检测文件是否为恶意文件的信息,以及当已检测文件为恶意文件时对恶意文件的描述信息;
对所述文件集合中的文件进行分析,确定所述待检测文件的层级结构,得到层级文件信息集;
根据所述层级文件信息集,得到待检测文件的特征信息;
其中,所述层级文件信息集包括文件所包含的各个层级中每一层级的子文件的动态行为信息与静态文件信息,以及文件所包含所有层级中各子文件的层级关系;所述动态行为信息是子文件在被执行过程中产生的信息,所述静态文件信息是采用静态分析方式对处于未执行状态的子文件进行分析后得到的信息;
根据文件的特征信息为所述文件集合中的文件进行聚类,得到多个簇;
根据待检测文件所在簇内的已检测文件的信息,确定所述待检测文件的信息;所述待检测文件的信息包括:待检测文件是否为恶意文件的信息,以及当待检测文件为恶意文件时对恶意文件的描述信息。
2.根据权利要求1所述的恶意文件检测方法,其特征在于,所述对恶意文件的描述信息包括:所述恶意文件所属的恶意家族类型和/或所源自的攻击团伙的信息。
3.根据权利要求1所述的恶意文件检测方法,其特征在于,所述根据所述层级文件信息集,得到待检测文件的特征信息,包括:
对待检测文件各个层级中每一层级的子文件在被执行时所要加载的信息项进行分析,得到所述子文件的动态执行信息;
对待检测文件各个层级中每一层级的子文件的固定项进行分析,得到所述子文件的静态文件信息;其中,所述固定项为子文件中与运行与否无关的项;
记录待检测文件所包含所有层级中各子文件的层级关系;
将所述动态执行信息与静态文件信息转换为统一的中间临时文件对象,对所述中间临时文件对象进行数字特征化,得到与所述动态执行信息相对应的第一特征集以及与所述静态文件信息相对应的第二特征集;
根据所述第一特征集、第二特征集和文件所包含所有层级中各子文件的层级关系确定用于表示待检测文件的特征信息的特征向量。
4.根据权利要求1所述的恶意文件检测方法,其特征在于,所述根据文件的特征信息为所述文件集合中的文件进行聚类,得到多个簇具体包括:
初次聚类步骤,根据文件的特征信息为所述文件集合中的文件进行聚类,得到多个类;
同源比对步骤,为所述多个类的任意一个类中的文件进行同源比对;
再聚类步骤,根据同源比对结果对类中的非同源文件进行再聚类;
重复执行同源比对步骤与再聚类步骤,直至当前所有类中的文件均不再需要做聚类操作,最终所形成的多个类为所述多个簇。
5.根据权利要求4所述的恶意文件检测方法,其特征在于,所述为所述多个类的任意一个类中的文件进行同源比对包括:
从所述多个类的任意一个类中以随机的方式抽取至少两个文件,对所抽取的文件进行同源比对,将所得到的同源比对结果作为整个类的同源比对结果。
6.根据权利要求4所述的恶意文件检测方法,其特征在于,所述聚类采用COBWEB算法实现。
7.根据权利要求1所述的恶意文件检测方法,其特征在于,所述文件集合中的文件的文件类型包括以下类型中的任意一种或多种:Window可执行文件、Office文档、Office复合文档、PDF文件、ZIP压缩包文件、RAR压缩包文件、GZ压缩包文件、Rich Text Format文件、Email文件、Linux可执行文件、Adobe Flash文件、Windows快捷方式文件、HWP文件、Inpage文件、Android APK文件。
8.一种恶意文件检测装置,其特征在于,包括:
文件集合获取模块,用于获取文件集合;所述文件集合包括多个文件,所述多个文件中的一部分文件为已检测文件,所述多个文件中的剩余部分文件为待检测文件;其中,已检测文件的信息包括:已检测文件是否为恶意文件的信息,以及当已检测文件为恶意文件时对恶意文件的描述信息;
文件分析模块,用于对所述文件集合中的文件进行分析,确定所述待检测文件的层级结构,得到层级文件信息集;根据所述层级文件信息集,得到待检测文件的特征信息;其中,所述层级文件信息集包括文件所包含的各个层级中每一层级的子文件的动态行为信息与静态文件信息,以及文件所包含所有层级中各子文件的层级关系;所述动态行为信息是子文件在被执行过程中产生的信息,所述静态文件信息是采用静态分析方式对处于未执行状态的子文件进行分析后得到的信息;
聚类模块,用于根据文件的特征信息为所述文件集合中的文件进行聚类,得到多个簇;
检测模块,用于根据待检测文件所在簇内的已检测文件的信息,确定所述待检测文件的信息;所述待检测文件的信息包括:待检测文件是否为恶意文件的信息,以及当待检测文件为恶意文件时对恶意文件的描述信息。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述恶意文件检测方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至7任一项所述恶意文件检测方法的步骤。
CN202010151746.8A 2020-03-06 2020-03-06 恶意文件检测方法、装置、电子设备与存储介质 Active CN111460447B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010151746.8A CN111460447B (zh) 2020-03-06 2020-03-06 恶意文件检测方法、装置、电子设备与存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010151746.8A CN111460447B (zh) 2020-03-06 2020-03-06 恶意文件检测方法、装置、电子设备与存储介质

Publications (2)

Publication Number Publication Date
CN111460447A CN111460447A (zh) 2020-07-28
CN111460447B true CN111460447B (zh) 2023-08-04

Family

ID=71680023

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010151746.8A Active CN111460447B (zh) 2020-03-06 2020-03-06 恶意文件检测方法、装置、电子设备与存储介质

Country Status (1)

Country Link
CN (1) CN111460447B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109101817B (zh) * 2018-08-13 2023-09-01 亚信科技(成都)有限公司 一种识别恶意文件类别的方法及计算设备
CN113076540B (zh) * 2021-04-16 2023-04-14 顶象科技有限公司 一种攻击检测的方法、装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015120752A1 (zh) * 2014-02-17 2015-08-20 北京奇虎科技有限公司 网络威胁处理方法及设备
CN108446559A (zh) * 2018-02-13 2018-08-24 北京兰云科技有限公司 一种apt组织的识别方法及装置
WO2019223637A1 (zh) * 2018-05-23 2019-11-28 深信服科技股份有限公司 恶意文件检测方法、装置、设备及计算机可读存储介质
CN110826064A (zh) * 2019-10-25 2020-02-21 腾讯科技(深圳)有限公司 一种恶意文件的处理方法、装置、电子设备以及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015120752A1 (zh) * 2014-02-17 2015-08-20 北京奇虎科技有限公司 网络威胁处理方法及设备
CN108446559A (zh) * 2018-02-13 2018-08-24 北京兰云科技有限公司 一种apt组织的识别方法及装置
WO2019223637A1 (zh) * 2018-05-23 2019-11-28 深信服科技股份有限公司 恶意文件检测方法、装置、设备及计算机可读存储介质
CN110826064A (zh) * 2019-10-25 2020-02-21 腾讯科技(深圳)有限公司 一种恶意文件的处理方法、装置、电子设备以及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
林杨东 ; 杜学绘 ; 孙奕 ; .恶意PDF文档检测技术研究进展.计算机应用研究.2017,(08),全文. *

Also Published As

Publication number Publication date
CN111460447A (zh) 2020-07-28

Similar Documents

Publication Publication Date Title
CN111460446B (zh) 基于模型的恶意文件检测方法及装置
US10834128B1 (en) System and method for identifying phishing cyber-attacks through deep machine learning via a convolutional neural network (CNN) engine
US20220124113A1 (en) Server-supported malware detection and protection
US11025649B1 (en) Systems and methods for malware classification
Sultana et al. Intelligent network intrusion detection system using data mining techniques
US11347851B2 (en) System and method for file artifact metadata collection and analysis
CN111695597B (zh) 基于改进式孤立森林算法的信贷欺诈团伙识别方法和系统
Zhang et al. SaaS: A situational awareness and analysis system for massive android malware detection
CN113011889B (zh) 账号异常识别方法、系统、装置、设备及介质
CN111460447B (zh) 恶意文件检测方法、装置、电子设备与存储介质
CN111368289B (zh) 一种恶意软件检测方法和装置
US20200159925A1 (en) Automated malware analysis that automatically clusters sandbox reports of similar malware samples
CN112052451A (zh) 一种webshell检测方法和装置
CN113271292B (zh) 一种基于词向量的恶意域名集群检测方法及装置
Hussain et al. Malware detection using machine learning algorithms for windows platform
CN110929110A (zh) 一种电子文档检测方法、装置、设备及存储介质
Zhu et al. Effective phishing website detection based on improved BP neural network and dual feature evaluation
Čeponis et al. Evaluation of deep learning methods efficiency for malicious and benign system calls classification on the AWSCTD
CN113762294B (zh) 一种特征向量维度压缩方法、装置、设备、介质
CN112116018A (zh) 样本分类方法、装置、计算机设备、介质和程序产品
CN116383707A (zh) 恶意代码检测方法、装置、设备和介质
CN114726823B (zh) 一种基于生成对抗网络的域名生成方法、装置和设备
Kusumaputri et al. Anomaly Detection based on NSL-KDD using XGBoost with Optuna Tuning
EP3848822A1 (en) Data classification device, data classification method, and data classification program
Wu et al. IoT malware analysis and new pattern discovery through sequence analysis using meta-feature information

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
CB02 Change of applicant information

Address after: Room 332, 3 / F, Building 102, 28 xinjiekouwei street, Xicheng District, Beijing 100088

Applicant after: Qianxin Technology Group Co.,Ltd.

Applicant after: Qianxin Wangshen information technology (Beijing) Co.,Ltd.

Address before: Room 332, 3 / F, Building 102, 28 xinjiekouwei street, Xicheng District, Beijing 100088

Applicant before: Qianxin Technology Group Co.,Ltd.

Applicant before: LEGENDSEC INFORMATION TECHNOLOGY (BEIJING) Inc.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant