CN114492366A - 二进制文件的分类方法、计算设备及存储介质 - Google Patents

二进制文件的分类方法、计算设备及存储介质 Download PDF

Info

Publication number
CN114492366A
CN114492366A CN202210022273.0A CN202210022273A CN114492366A CN 114492366 A CN114492366 A CN 114492366A CN 202210022273 A CN202210022273 A CN 202210022273A CN 114492366 A CN114492366 A CN 114492366A
Authority
CN
China
Prior art keywords
file
binary
classified
binary file
determining
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
CN202210022273.0A
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.)
Alibaba Cloud Computing Ltd
Original Assignee
Alibaba Cloud Computing 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 Alibaba Cloud Computing Ltd filed Critical Alibaba Cloud Computing Ltd
Priority to CN202210022273.0A priority Critical patent/CN114492366A/zh
Publication of CN114492366A publication Critical patent/CN114492366A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/194Calculation of difference between files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Abstract

本申请实施例提供一种二进制文件的分类方法、计算设备及存储介质。在本申请实施例中,获取待分类二进制文件,获取待分类二进制文件中对应的可变化代码;确定可变化代码的代码特征,作为待分类二进制文件的文件特征;将待分类二进制文件的文件特征与预置的多个二进制文件类簇中的质心二进制文件的文件特征进行对比,确定待分类二进制文件所属类簇,从而确定待分类二进制文件所属类簇,所述质心二进制文件代表对应类簇的类簇特征。使得更加快速且准确地对二进制文件进行分类。

Description

二进制文件的分类方法、计算设备及存储介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种二进制文件的分类方法、计算设备及存储介质。
背景技术
随着大数据和云计算技术的迅猛发展,伴随而来的网络安全局面日益复杂,在大数据海量文件的背景下,人工审计恶意代码已是捉襟见肘。而相比于文本文件,二进制文件因为缺少大量语义信息导致更加难以提取有效特征。且,二进制文件大小要远大于文本文件,在海量样本场景下如何快速分析一直是一个挑战性问题。
发明内容
本申请的多个方面提供一种二进制文件的分类方法、计算设备及存储介质,使得更加快速且准确地对二进制文件进行分类。
本申请实施例提供一种二进制文件的分类方法,包括:待分类二进制文件,获取所述待分类二进制文件中对应的可变化代码;确定所述可变化代码的代码特征,作为待分类二进制文件的文件特征;将所述待分类二进制文件的文件特征与预置的多个二进制文件类簇中的质心二进制文件的文件特征进行对比,确定所述待分类二进制文件所属类簇,从而确定待分类二进制文件的类簇,所述质心二进制文件代表对应类簇的类簇特征。
本申请实施例还提供一种计算设备,包括:存储器、处理器;所述存储器,用于存储计算机程序;所述处理器,执行所述计算机程序,以用于:获取待分类二进制文件,获取所述待分类二进制文件中对应的可变化代码;确定所述可变化代码的代码特征,作为待分类二进制文件的文件特征;将所述待分类二进制文件的文件特征与预置的多个二进制文件类簇中的质心二进制文件的文件特征进行对比,确定所述待分类二进制文件所属类簇,从而确定待分类二进制文件的类簇,所述质心二进制文件代表对应类簇的类簇特征。
本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被一个或多个处理器执行时,致使所述一个或多个处理器实现上述方法中的步骤。
在本申请实施例中,获取待分类二进制文件,获取待分类二进制文件中对应的可变化代码;确定可变化代码的代码特征,作为待分类二进制文件的文件特征;将待分类二进制文件的文件特征与预置的多个二进制文件类簇中的质心二进制文件的文件特征进行对比,确定待分类二进制文件所属类簇,从而确定待分类二进制文件的类簇,质心二进制文件代表对应类簇的类簇特征。
其中,获取待分类二进制文件,获取待分类二进制文件中对应的可变化代码,可以剔除掉不必要的信息,使得更有针对性地针对可变化代码进行较为准确且快速的分类,以及代码的识别。
将文件特征与预置的多个二进制文件类簇中的质心二进制文件的文件特征进行对比,确定待分类二进制文件所属类簇,从而确定待分类二进制文件的类簇,从而使得以自动化的方式对二进制文件进行分类以及识别。且分类以及识别的速度和准确率都得到了大大的提升。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请一示例性实施例的二进制文件的分类方法的流程示意图;
图2为本申请一示例性实施例的二进制文件的分类的过程的示意图;
图3为本申请一示例性实施例的二进制文件的分类系统的结构示意图;
图4为本申请一示例性实施例提供的二进制文件的分类装置的结构示意图;
图5为本申请一示例性实施例提供的计算设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
根据前文可知,随着大数据和云计算技术的迅猛发展,伴随而来的网络安全局面日益复杂,在大数据海量文件的背景下,人工审计恶意代码已是捉襟见肘,所以需要一种面向海量数据的自动化恶意代码分析技术。
基于此,本申请实施例提供了一种二进制文件的分类方法、计算设备及存储介质,使得更加快速且准确地对二进制文件进行分类。
下面结合方法实施例,针对二进制文件的分类过程进行详细说明。
图1为本申请一示例性实施例的一种二进制文件的分类方法的流程示意图。本申请实施例提供的该方法100由计算设备执行,如,云服务器等。该方法100包括以下步骤:
101:获取待分类二进制文件,获取待分类二进制文件中对应的可变化代码。
102:确定可变化代码的代码特征,作为待分类二进制文件的文件特征。
103:将待分类二进制文件的文件特征与预置的多个二进制文件类簇中的质心二进制文件的文件特征进行对比,确定待分类二进制文件所属类簇,从而确定待分类二进制文件的类簇。
其中,质心二进制文件代表对应类簇的类簇特征。
以下针对上述步骤进行详细地阐述:
101:获取待分类二进制文件,获取待分类二进制文件中对应的可变化代码。
其中,待分类二进制文件可以是指未知的二进制文件,等待分类和识别,而二进制文件是经过源代码编译过后生成的文件。在该文件可以记录或包含多个函数(或指令)。在二进制文件中可以存在用户代码,即用户实现的功能逻辑的代码,即可变化代码。从该二进制文件中进行提取。
例如,服务器可以从其它平台,如其它服务器自动采集到的多个未知的待分类二进制文件,并将多个未知的待分类二进制文件自动发送至服务器上。或者,通过人工的方式,进行未知的待分类二进制文件的采集,可以通过人工的方式对未知的待分类二进制文件进行采集。然后可以由人工触发的方式,将对应的未知的待分类二进制文件发送至服务器。
然后,服务器可以从获取到的待分类二进制文件中提取对应的用户代码。
为了能够更加准确地提取用户代码,可以通过下述方式进行代码提取。
具体的,获取待分类二进制文件中对应的可变化代码,包括:识别待分类二进制文件中的函数,确定函数的签名,根据函数的签名确定函数的来源库;根据确定的来源库,从待分类二进制文件中剔除掉来源库对应的代码,得到可变化代码。
其中,二进制文件可以包括多个函数,由此可以从二进制文件中获取到多个函数或指令。
其中,函数或指令中可以包含前缀码(也可以称为前缀指令,如锁前缀指令)、操作码以及字符串常量等。
其中,获取到函数后,生成函数的签名,将函数的签名与函数标识库中多个函数的签名进行匹配,确定匹配的签名;根据匹配的签名确定对应的来源库,从而确定函数的来源库。
生成签名的过程可以包括:获取待分类二进制文件中函数的特征,特征用于描述函数的样式,根据特征,生成函数的签名,根据签名。
例如,根据前文所述,服务器可以通过采集多个函数样本,然后对函数样本进行分析,确定不同类型函数对应的结构,如函数结构形式。然后根据分析出的函数结构,对未知的待分类二进制文件中的函数进行识别,确定函数的边界,由此划分出对应的函数。对每个函数中的指令,提取对应的特征,如指令的前缀码、操作码以及字符串常量等。服务器在提取到该函数的每条指令中的特征,进行拼接组合。组合后可以通过编码方式base64和/或sha256对组合结果进行编码,将每条指令对应的编码结果组成该函数的签名。
如图2所示,服务器根据二进制文件2011(即待分类二进制文件)获取到函数的签名后,根据签名与函数标识库,即库函数签名库2012中多个函数的签名进行匹配,根据匹配到的签名,从该库中确定对应的来源库。从而可以根据该匹配到的来源库确定该函数的来源库。然后剔除掉对应的来源库的代码,从而保留下对应的用户代码。即执行步骤2013:获取用户代码。由此服务器可以根据该用户代码获取过程201来实现用户代码的获取。
需要说明的是,服务器在确定该函数中存在jmp跳转指令。可以根据指令的名称或其它标识来确定指令的类型。如可以根据“jmp”标识来确定该指令为jmp指令。提取该jmp跳转指令中的跳转对象的语义,如对应的符号,作为其特征。还可以提取其前缀码、操作码。然后,可以直接将前缀码、操作码以及跳转对象的语义直接进行拼接组合并作为该指令的签名。或者将拼接以及组合的结果进行上述的编码,将编码结果作为该指令的签名。然后根据待签名函数中其它指令的编码结果组成该函数的签名。
除了预置跳转指令外,如jmp指令外,或预置调用指令外,其它跳转指令和调用指令不用获取或记录后面的跳转对象的语义或调用对象的语义(如,调用地址的语义,或调用函数的语义),这样可以去除地址值等变化造成签名变化的影响,提升泛化性。但对于预置跳转指令,如对于指令jmp loc_103353,操作码为\xeb,跳转对象的语义为“download_file”提取的特征为\xebdownload_file。对应的特征没有则不提取。
还可以通过模型的方式来进行用户代码的提取,如通过训练模型进行用户代码的提取。就不再赘述了。
如果是以全部函数代码进行聚类,静态编译的二进制文件中库函数占比很高,这样即便改变了用户代码,对整体文件的影响也很小,导致聚类时依旧会聚在一起,不能很好的区分正常样本与恶意样本(即正常二进制文件或恶意二进制文件),例如正常的基础软件与嵌入恶意代码的基础软件。所以通过提取用户代码可以提高区分的精度。
102:确定可变化代码的代码特征,作为待分类二进制文件的文件特征。
例如,根据前文所述,服务器可以根据函数中的如符号信息,用户全局变量信息,其中包括配置项,还有地址信息,地址信息依赖获取平台、编译器、编译选项等,确定函数的函数特征,如去除掉这些可变化信息,然后根据剩下的信息确定函数的特征。即可以作为代码特征。即通过其中用户代码的不可变化代码中的函数特征,确定用户代码特征。
具体的,确定可变化代码的代码特征,包括:去除二进制文件中代码段中的操作数;根据代码段中其它信息确定可变化代码对应函数的函数特征,并根据可变化代码中函数的地址顺序,合并函数特征,将得到的合并函数特征作为可变化代码的代码特征。
例如,根据前文所述,服务器可以针对每个函数对应的代码段中的操作数进行去除,从而由此可以去除掉了二进制文件中的可变化信息,摆脱了可变化信息的影响。然后提取代码段中的前缀码以及操作码,作为函数特征。按照地址顺序,如由小到大的顺序,将二进制文件中的函数的函数特征进行合并,得到对应的合并函数特征,作为对应代码特征。如图2所示,即服务器可以通过对用户代码2021执行步骤2022:提取特征。从而通过特征提取过程202来实现特征提取。
此外,在进行特征确定之前可以先将获取到的二进制文件进行归一化处理,如将二进制文件的汇编码转成统一的中间语言IR,这样便消除了不同的架构带来的影响。例如,可以将x86汇编码、arm汇编码、mips汇编码统一转换成中间语言VEX IR或者LLVM IR。为了进行编译优化,还可以对指令进行重构,消除编译器和编译选项的差异带来的影响。如将指令根据预置的规则进行重构,重构成符合该预置规则的指令。如一定数量的指令等。
然后可以进行反汇编,来进行特征的提取。
还需要说明的是,数据段可以包含如符号信息,是可以改变和删除的。用户全局变量信息,其中包括配置项,可变化。还有地址信息,地址信息依赖获取平台、编译器、编译选项,从而进行变化。
其中,操作数可以包含用户变量,用户变量内容是可变的。操作数还可以包含地址值,地址值依赖源代码、平台、编译器、编译选项,是可变化的。操作数还可以包含寄存器,寄存器依赖架构、平台、编译器,是可变化的。
103:将待分类二进制文件的文件特征与预置的多个二进制文件类簇中的质心二进制文件的文件特征进行对比,确定待分类二进制文件所属类簇,从而确定待分类二进制文件的类簇。
其中,质心二进制文件代表对应类簇的类簇特征。即该质心二进制文件代表该整个类簇的特征。
例如,根据前文所述,服务器可以根据前文所述的方式确定质心二进制文件的文件特征。即该文件中合并函数特征。然后服务器可以将待分类二进制文件的文件特征与数据库中已记录的多个二进制文件类簇中质心二进制文件文件特征进行比较,确定两者的相似度,从而确定待分类二进制文件所属类簇。
具体的,将待分类二进制文件的文件特征与预置的多个二进制文件类簇中的质心二进制文件的文件特征进行对比,确定所述待分类二进制文件所属类簇,包括:对比待分类二进制文件的文件特征对应的文件特征值与质心二进制文件的文件特征对应的文件特征值,确定文件特征值的相似度;根据文件特征值的相似度,确定待分类二进制文件所属类簇。
其中,该方法100还包括:根据模糊哈希以及文件特征,确定文件特征值。
其中,模糊哈希算法又叫基于内容分割的分片哈希算法。模糊哈希使用一个弱哈希计算文件的局部内容,在特定条件下对文件进行分片,然后使用一个强哈希对文件的每片计算哈希值,取这些值的一部分并连接起来,与分片条件一起构成一个模糊哈希结果。
除此以外还可以通过sim哈希算法来确定对应的特征值。
例如,根据前文所述,服务器可以先根据模糊哈希算法(更具体的可以是ssdeep计算模糊哈希的工具)确定代码特征的代码特征值,以及确定质心二进制文件的文件特征的文件特征值。通过编辑距离算法来确定两者的相似度。当相似度大于或等于阈值,则确定两者相似,则属于同一类簇,否则不相似。其中,如图2所示,服务器可以对二进制文件2011(即待分类二进制文件)和多个类簇2031进行对比,执行步骤2032:确定类簇,即确定二进制文件2011的类簇。从而使得服务器可以通过类簇确定过程203来实现类簇的确定。
通过确定质心二进制文件来进行类簇的确定,这样极大的减少了比较的计算开销。将代码特征的模糊哈希结果与每一个质心二进制文件对应的模糊哈希结果进行相似度比较,若相似度达到一定阈值,可判定该待分类二进制文件属于某类簇,建立相似关系。一个待分类二进制文件可与多个类簇建立相似关系,这是合理的,因为真实世界中的恶意代码可能会参考多个开源的恶意代码家族。且提供了一种快速而有效的相似度比较,进行增量聚类。
当确定了待分类二进制文件的类簇后,可以对对应类簇进行更新,并更新对应的质心二进制文件,由此可以更加准确地对后续的二进制文件进行分类。
具体的,该方法100还包括:当待分类二进制文件所属于预置的多个二进制文件类簇中对应类簇,根据待分类二进制文件更新对应类簇中的二进制文件;确定更新后对应类簇中的二进制文件与该类簇中其它二进制文件的相似度,根据相似度确定更新后类簇中的新的质心二进制文件。
例如,根据前文所述,服务器可以将待分类二进制文件更新到相似的类簇中。然后对更新后的类簇,确定其中每个二进制文件与其它二进制文件的相似度,根据前文所述的方式确定。然后根据每个二进制文件与其它二进制文件的相似度之和,来确定更新类簇后的新的质心二进制文件。
具体的,根据相似度确定更新后类簇中的新的质心二进制文件,包括:确定更新后对应类簇中的二进制文件与该类簇中其它二进制文件的相似度之和,根据相似度之和,确定新的质心二进制文件。
例如,根据前文所述,服务器通过下式进行确定相似度之和,即质心相似度:
Figure BDA0003463137090000061
其中,Ai是指每个二进制文件,Bj是指其它二进制文件。j是指其它二进制文件的标识。i是指与j对应的每个二进制文件的标识。
将质心相似度最大的二进制文件选择为新的质心二进制文件。其它就不再赘述了。仅说明:如图2所示,服务器可以对更新后的类簇2041执行步骤2042:更新质心,即更新质心二进制文件。使得服务器可以通过更新质心过程204来实现更新质心二进制文件。继续迭代处理下一个相似的聚类,直到所有待分类二进制文件的相似聚类处理完毕。
需要说明的是,通过上述相似度之和的计算,更新聚类的质心。能够保证高效率的分析,保证类簇的质量与质心的更新。
此外,该方法100还包括:当待分类二进制文件不属于预置的多个二进制文件类簇,则确定待分类二进制文件与其它待分类二进制文件中的相似度;当文件的相似度大于或等于阈值,则将对应的多个待分类二进制文件进行聚类,生成对应二进制文件类簇;确定生成的类簇的质心二进制文件。
根据前文可知,若待分类二进制文件与数据库中已记录的所有质心二进制文件都不存在相似关系,且待分类二进制文件与未分析完的其它待分类二进制文件之间存在相似关系,通过前文所述的方式来确定相似关系。则服务器可以将这些相似的待分类二进制文件生成为一个新的聚类,即一个新的类簇,从这些相似的新聚类中进行质心更新操作,选择出来一个质心二进制文件,与前文所述的质心更新步骤相同,就不再赘述了。
此外,该方法100还包括:当文件的相似度小于阈值,则将待分类二进制文件直接生成对应二进制文件类簇。
根据前文所述,若待分类二进制文件与上述均不相似,即质心二进制文件以及未分析完的其它待分类二进制文件都不相似,则成为孤立节点聚类,自己成为质心二进制文件。
待分类二进制文件分类完成后,可以设置其标签为分析完毕。未分析完的标签则可以是正在分析等。
本申请实施例还可以通过下述方式进行分类,其中,在特征提取方面,可以通过基于深度神经网络的聚类方法,解决了图嵌入和自动化特征提取的问题,例如图计算Gemini,代码相似度检测Order Matters,涉及多个训练模型,例如structure2vec、siamese、BERT、word2vec、MPNN、CNN等。而传统方式在提取特征上过多的依赖人工经验,在适应更多尤其是未知的恶意代码类型时具有一定的局限性;除此之外,传统方式特征提取方法和流程较为复杂,不利于将其自动化,无法较快完成大规模样本的自动特征提取。
其中,Gemini的分析流程如下:1.将二进制函数的控制流图作为输入,并使用人工设计的特征提取方式将每个块block表示成低维的向量。2.使用structure2vec算法(一种将结构化数据转换成向量的算法)计算图嵌入。3.将两个二进制文件的embedding(嵌入)向量作为输入,使用siamese(是基于两个人工神经网络建立的耦合构架,以两个样本为输入,其两个子网络各自接收一个输入,输出其嵌入高维度空间的表征,通过计算两个表征的距离,例如欧式距离,以比较两个样本的相似程度)网络计算相似度并使用梯度下降算法loss训练模型。
而Order Matters模型主要分为semantic-aware(语义感知)模块、structural-aware(结构感知)模块、order-aware(顺序感知)模块,其分析流程如下:1.在semantic-aware模块,模型将控制流图作为输入,使用BERT(基于变换器的双向编码器表示技术是用于自然语言处理的预训练技术)对token embedding(标记嵌入)作预训练,得到blockembedding(块嵌入)。2.在structural-aware模块,使用MPNN(消息传递神经网络框架)算法得到graph semantic&structural embedding(图语义以及结构的嵌入)。3.在order-aware模块,模型将控制流图的邻接矩阵作为输入,并使用CNN(卷积神经网络)计算graph orderembedding(图顺序嵌入)。4.对第2步和第3步生成的两个向量使用concat(连接)和MLP(多层感知机)得到最终的graph embedding(图嵌入)。
然而,基于深度神经网络的方式需要训练集训练模型,若补充训练集则需要重新训练,不利于增量聚类,不适合具有高对抗性的恶意代码检测场景。其次,深度学习可解释性差,自动特征提取技术尚不成熟,无法应用在实际应用场景中。
在大规模检索方面,KD树(是一种对k维空间中的实例点进行存储以便对其进行快速检索的树形数据结构)和LSH(局部敏感哈希是一种算法技术,可以将相似的输入项以很高的概率哈希到相同的“存储区”中,常用于大规模快速检索)均有不错的快速查询效果,但是各自依然存在缺陷。KD树不能实时增量更新,需要定时重建KD树,且每次重新构建KD树时较为耗时,时间复杂度为O(k*n*logn)。然而,LSH则需要寻找一个合适的哈希函数,否则生成的哈希分布不均匀,或者生成的哈希函数不能将相似的样本靠近,不相似的样本远离,导致不能减少查询的开销。在恶意代码日新月异的场景下,这种哈希函数需要经常更换,增加了LSH实现的复杂度。
而本申请实施例在特征提取方面是:1.仅对用户代码进行特征提取,排除了库函数对聚类精确度的影响,使之可以分析基础软件污染等更加复杂的情景。2.使用了基于模糊哈希的二进制文件相似性比较方式,该方式对人工经验依赖较少,可适应新增的未知恶意代码类型。3.本申请实施例是一种无监督学习方案,不需要训练集,可进行增量聚类,适合具有高对抗性的恶意代码检测场景。从而实现了特征提取的优化。
本申请实施例在大规模检索方面是:1.本申请实施例在相似度比较时只使用了一个特征,相比较多维特征比较减少了很多时间开销,可适应于大规模比较。2.本申请实施例提出了一种分级比较策略,每个待分类二进制文件只与一个类簇中的质心二进制文件进行比较,时间复杂度为类簇的个数,极大的减少了比较的时间开销。3.本申请实施例的质心更新操作使得待分类二进制文件可实时加入类簇中,且仅更新与之相似的类簇,不需要重建整个类簇,适用于增量聚类和大规模实时系统。由此从检索方面进行了优化。
除此之外,本申请实施例还解决了单一待分类二进制文件属于多个类簇的场景问题,在真实世界中的恶意代码可能会参考多个开源的恶意代码家族,而之前的方法忽略了这种情况。
本申请实施例目前每天可实时处理百万数量级样本,并目前聚类数据库中已有亿数量级的二进制文件节点与相似关系。
本申请实施例可应用于已知恶意代码家族未知样本(如未知的待分类二进制文件)的发现和未知恶意代码家族的发现。例如,在一个类簇中,对于一个未知样本,其相似样本皆为已知的恶意样本,则可判定该未知样本为高可疑恶意样本。类似的,对于未知恶意代码家族的发现,可利用与所有已知恶意样本(如已知恶意二进制文件)家族都不相似,且在短时间内又存在大量相似样本(如二进制文件)聚为一个类簇,可判定为高可疑未知恶意代码家族。因为对于一个恶意代码家族,其恶意样本存在自变异的情况,即对原有二进制文件在不改变原有的恶意行为的情况下进行微小改动,生成新的二进制文件,然后再以新的二进制文件进行扩散传播,造成了短时间内爆发大量相似二进制文件的情况。
此外,本申请实施例还可应用在恶意代码指纹库的建立,将已知恶意样本(如恶意二进制文件)使用根据前文所述进行聚类后,再使用自动化恶意代码特征提取工具生成恶意代码检测规则,建立恶意样本黑特征库。最后使用该黑特征库进行恶意代码检测,可极大减少安全研究人员编写手工检测规则的时间,减少人力资源。
具体的,该方法100还包括:根据更新后的恶意类簇,确定恶意类簇中的恶意代码检测信息;根据恶意代码检测信息,生成对应的恶意代码特征库,以进行恶意代码的检测。此处就不再赘述了。
需要说明的是,本申请实施例是具有通用性的,适用于所有二进制文件,而不是局限于某种特定类型。此外,本申请实施例具有较高的准确性,以用户代码逻辑作为聚类依据,并解决了噪音数据干扰的问题,使得聚类更加准确。
图3为本申请一示例性实施例提供的一种二进制文件的分类系统的结构示意图。如图3所示,该系统300可以包括:第一设备301以及第二设备302,该系统300还可以包括第三设备303。
其中,第一设备301是指可以在网络虚拟环境中提供计算处理服务的设备,可以是指利用网络进行二进制文件的分类的设备。在物理实现上,第一设备301可以是任何能够提供计算服务,响应服务请求,并进行二进制文件的分类的设备,例如可以是云服务器、云主机、虚拟中心、常规服务器等等,其上构架有数据库。第一设备301的构成主要包括处理器、硬盘、内存、系统总线等,和通用的计算机架构类似。
需要说明的是,该第一设备301的具体的实现形态可以是一台物理设备或者虚拟设备,其可以部署有签名引擎以及聚类引擎,实现签名引擎以及二进制文件聚类的功能,用于函数签名的确定,同时也可以部署有数据库,对确定的签名进行存储,实现数据库的功能。以及用于实现二进制文件的聚类。其中,签名引擎将确定的函数签名发送至数据库进行识别。
此外,第一设备301的具体的实现形态还可以是由多台物理设备或者虚拟设备组成的分布式架构,分布式架构可以提高处理任务的吞吐量,方便根据服务进行扩充和缩减。其中,对于签名引擎而言,其可以是通过分布式架构,来实现函数签名的确定。而对于数据库而言,其也可以是通过分布式架构,来对签名进行存储,实现数据库功能。签名引擎将确定的函数签名发送至数据库进行识别。对于聚类引擎而言,其也可以通过分布式构架来实现二进制文件的聚类。
第二设备302是指可以在网络虚拟环境中提供计算处理服务的设备,可以是指利用网络进行数据发送以及接收的设备。在物理实现上,第二设备302可以是任何能够提供计算服务,响应服务请求,并进行数据发送以及接收的设备,例如可以是云服务器、云主机、虚拟中心、常规服务器等等。第二设备302的构成主要包括处理器、硬盘、内存、系统总线等,和通用的计算机架构类似。
第三设备303可以是有一定计算能力的设备,可以实现向第一设备301发送数据的功能,也可以接收第一设备301发送的数据。第三设备303的基本结构可以包括:至少一个处理器。处理器的数量可以取决于具有一定计算能力装置的配置和类型。具有一定计算能力装置也可以包括存储器,该存储器可以为易失性的,例如RAM,也可以为非易失性的,例如只读存储器(Read-Only Memory,ROM)、闪存等,或者也可以同时包括两种类型。存储器内通常存储有操作系统(Operating System,OS)、一个或多个应用程序,也可以存储有程序数据等。除了处理单元和存储器之外,具有一定计算能力装置还包括一些基本配置,例如网卡芯片、IO总线、显示组件以及一些外围设备等。可选地,一些外围设备可以包括,例如键盘、输入笔等。其它外围设备在本领域中是众所周知的,在此不做赘述。可选地,第三设备303可以为智能终端,例如,手机、台式电脑、笔记本、平板电脑等。
具体的,第一设备301,获取待分类二进制文件,获取待分类二进制文件中对应的可变化代码;确定可变化代码的代码特征,作为待分类二进制文件的文件特征;将待分类二进制文件的文件特征与预置的多个二进制文件类簇中的质心二进制文件的文件特征进行对比,确定待分类二进制文件所属类簇,从而确定待分类二进制文件的类簇,质心二进制文件代表对应类簇的类簇特征。
第二设备302,发送待分类二进制文件,至第一设备301。第三设备303,发送待分类二进制文件,至第一设备301。
此外,第一设备301,当待分类二进制文件所属于预置的多个二进制文件类簇中对应类簇,根据待分类二进制文件更新对应类簇中的二进制文件;确定更新后对应类簇中的二进制文件与该类簇中其它二进制文件的相似度,根据相似度确定更新后类簇中的新的质心二进制文件。
具体的,第一设备301,确定更新后对应类簇中的二进制文件与该类簇中其它二进制文件的相似度之和,根据相似度之和,确定新的质心二进制文件。
具体的,第一设备301,识别待分类二进制文件中的函数,确定函数的签名,根据函数的签名确定函数的来源库;根据确定的来源库,从待分类二进制文件中剔除掉来源库对应的代码,得到对应的可变化代码。
具体的,第一设备301,去除二进制文件中代码段中的操作数;根据代码段中其它信息确定可变化代码对应函数的函数特征,并根据可变化代码中函数的地址顺序,合并函数特征,将得到的合并函数特征作为可变化代码的代码特征。
具体的,第一设备301,对比待分类二进制文件的文件特征对应的文件特征值与质心二进制文件的文件特征对应的文件特征值,确定文件特征值的相似度;根据待分类二进制文件的文件特征值和数据库已记录的质心二进制文件的文件特征值(即文件特征值)的相似度,确定待分类二进制文件所属类簇。
此外,第一设备301,根据模糊哈希以及文件特征,确定文件特征值。
此外,第一设备301,当待分类二进制文件不属于预置的多个二进制文件类簇,则确定该待分类二进制文件与其它待分类二进制文件的相似度;当文件的相似度大于或等于阈值,则将对应的多个待分类二进制文件进行聚类,生成对应二进制文件类簇;确定生成的类簇的质心二进制文件。
此外,第一设备301,当文件的相似度小于阈值,则将待分类二进制文件直接生成对应二进制文件的类簇。
此外,第一设备301,根据更新后的恶意类簇,确定恶意类簇中的恶意代码检测信息;根据恶意代码检测信息,生成对应的恶意代码特征库,以进行恶意代码的检测。
在二进制文件的聚类场景中,第一设备301,如服务器可以从第二设备302,如其它服务器自动采集到的预置的多个二进制文件,并将多个文件自动发送至服务器上。即执行步骤311:发送待分类二进制文件,或者,可以通过人工的方式对未知的待分类二进制文件进行采集。然后可以由人工触发的方式,通过第三设备303,如电脑,将对应的未知的待分类二进制文件发送至服务器。即执行步骤312:发送待分类二进制文件。
服务器可以通过采集多个函数样本,然后对函数样本进行分析,确定不同类型函数对应的结构,如函数结构形式。然后根据分析出的函数结构,对未知的待分类二进制文件中的函数进行识别,确定函数的边界,由此划分出对应的函数。对每个函数中的指令,提取对应的特征,如指令的前缀码、操作码以及字符串常量等。服务器在提取到该函数的每条指令中的特征,进行拼接组合。组合后可以通过编码方式base64和/或sha256对组合结果进行编码,将每条指令对应的编码结果组成该函数的签名。根据签名与函数标识库中多个函数的签名进行匹配,根据匹配到的签名,从该库中确定对应的来源库。从而可以根据该匹配到的来源库确定该函数的来源库。然后剔除掉对应的来源库的代码,从而保留下对应的用户代码。
服务器可以针对每个函数对应的代码段中的操作数进行去除后,由此可以去除掉二进制文件中的可变化信息。然后提取代码段中的前缀码以及操作码,作为函数特征。按照地址顺序,如由小到大的顺序,将二进制文件中的函数的函数特征进行合并,得到对应的合并函数特征,作为对应代码特征。
服务器可以先根据模糊哈希算法(更具体的可以是ssdeep计算模糊哈希的工具)确定代码特征的代码特征值,以及确定质心二进制文件的文件特征的文件特征值。通过编辑距离算法来确定两者的相似度。当相似度大于或等于阈值,则确定两者相似,则属于同一类簇,否则不相似。
当确定了待分类二进制文件的类簇后,服务器可以将待分类二进制文件更新到相似的类簇中。然后对更新后的类簇,确定其中每个二进制文件与其它二进制文件的相似度,根据前文所述的方式确定。然后根据每个二进制文件与其它二进制文件的相似度之和,来确定更新类簇后的新的质心二进制文件。
若待分类二进制文件与所有质心二进制文件都不存在相似关系,且待分类二进制文件与未分析完的其它待分类二进制文件之间存在相似关系,通过前文所述的方式来确定相似关系。则服务器可以将这些相似的待分类二进制文件生成为一个新的聚类,即一个新的类簇,从这些相似的新聚类中进行质心更新操作,选择出来一个质心二进制文件,与前文所述的质心更新步骤相同,就不再赘述了。若待分类二进制文件与上述均不相似,即质心二进制文件以及未分析完的其它待分类二进制文件都不相似,则成为孤立节点聚类,自己成为质心样本。
最后,服务器将分类结果发送至其它服务器或电脑。即执行步骤313:发送分类结果,或执行步骤314:发送分类结果。
此处未详细记载的内容可以参考前文所述的内容,就不再赘述。
在上述本实施例中,第一设备301、第二设备302以及第三设备303进行网络连接。若第一设备301、第二设备302以及第三设备303是通信连接,该移动网络的网络制式可以为2G(GSM)、2.5G(GPRS)、3G(WCDMA、TD-SCDMA、CDMA2000、UTMS)、4G(LTE)、4G+(LTE+)、WiMax、5G等中的任意一种。
图4为本申请一示例性实施例提供的一种二进制文件的分类装置的结构框架示意图。该装置400可以应用于计算设备,如服务器。该装置400包括:获取模块401、确定模块402、对比模块403;以下针对各个模块的功能进行详细的阐述:
获取模块401,用于获取待分类二进制文件,获取待分类二进制文件中对应的可变化代码。
确定模块402,用于确定可变化代码的代码特征,作为待分类二进制文件的文件特征。
对比模块403,用于将待分类二进制文件的文件特征与预置的多个二进制文件类簇中的质心二进制文件的文件特征进行对比,确定待分类二进制文件所属类簇,从而确定待分类二进制文件的类簇,质心二进制文件代表对应类簇的类簇特征。
此外,该装置400还包括:更新模块,用于当待分类二进制文件所属于预置的多个二进制文件类簇中对应类簇,根据待分类二进制文件更新对应类簇中的二进制文件;确定模块402,还用于确定更新后对应类簇中的二进制文件与该类簇中其它二进制文件的相似度,根据相似度确定更新后类簇中的新的质心二进制文件。
具体的,确定模块402,还用于确定更新后对应类簇中的二进制文件与该类簇中其它二进制文件的相似度之和,根据相似度之和,确定新的质心二进制文件。
具体的,获取模块401,识别单元,用于识别待分类二进制文件中的函数,确定函数的签名,根据函数的签名确定函数的来源库;筛选单元,用于根据确定的来源库,从待分类二进制文件中剔除掉来源库对应的代码,得到对应的可变化代码。
具体的,确定模块402,包括:去除单元,用于去除二进制文件中代码段中的操作数;合并单元,用于根据代码段中其它信息确定对应函数的函数特征,并根据可变化代码中函数的地址顺序,合并函数特征,将得到的合并函数特征作为可变化代码的代码特征。
具体的,对比模块403,包括:对比单元,用于对比待分类二进制文件的文件特征对应的文件特征值与预置的多个二进制文件类簇中的质心二进制文件的文件特征的文件特征值,确定文件特征值的相似度;确定单元,用于根据文件特征值的相似度,确定待分类二进制文件所属类簇。
此外,确定模块402,还用于根据模糊哈希以及文件特征,确定文件特征值。
此外,确定模块402,还用于当待分类二进制文件不属于预置的多个二进制文件类型,则确定待分类二进制文件与其它待分类二进制文件中的相似度;该装置还包括:聚类模块,用于当文件的相似度大于或等于阈值,则将对应的多个待分类二进制文件进行聚类,生成对应二进制文件类簇;确定模块402,还用于确定生成的类簇的质心二进制文件。
此外,聚类模块,还用于当文件的相似度小于阈值,则将待分类二进制文件直接生成对应二进制文件的类簇。
此外,确定模块402,还用于根据更新后的恶意类簇,确定恶意类簇中的恶意代码检测信息;该装置400还包括:生成模块,用于根据恶意代码检测信息,生成对应的恶意代码特征库,以进行恶意代码的检测。
本装置400中未能详尽的内容请参考前文所述,就不再赘述。
以上描述了图4所示的装置400的内部功能和结构,在一个可能的设计中,图4所示的装置400的结构可实现为计算设备,如,服务器。如图5所示,该设备500可以包括:存储器501、处理器502;
存储器501,用于存储计算机程序。
处理器502,用于执行计算机程序,以用于:获取待分类二进制文件,获取待分类二进制文件中对应的可变化代码;确定可变化代码的代码特征,作为待分类二进制文件的文件特征;将待分类二进制文件的文件特征与预置的多个二进制文件类簇中的质心二进制文件的文件特征进行对比,确定待分类二进制文件所属类簇,从而确定待分类二进制文件的类簇,质心二进制文件代表对应类簇的类簇特征。
此外,处理器502,还用于:当待分类二进制文件所属于预置的多个二进制文件类簇中对应类簇,根据待分类二进制文件更新对应类簇中的二进制文件;确定更新后对应类簇中的二进制文件与该类簇中其它二进制文件的相似度,根据所述相似度确定更新后类簇中的新的质心二进制文件。
具体的,处理器502,具体用于:确定更新后对应类簇中的二进制文件与该类簇中其它二进制文件的相似度之和,根据相似度之和,确定新的质心二进制文件。
具体的,处理器502,具体用于:识别待分类二进制文件中的函数,确定函数的签名,根据函数的签名确定函数的来源库;根据确定的来源库,从待分类二进制文件中剔除掉来源库对应的代码,得到对应的可变化代码。
具体的,处理器502,具体用于:去除二进制文件中代码段中的操作数;根据代码段中其它信息确定可变化代码对应函数的函数特征,并根据可变化代码中函数的地址顺序,合并函数特征,将得到的合并函数特征作为可变化代码的代码特征。
具体的,处理器502,具体用于:对比待分类二进制文件的文件特征对应的文件特征值与质心二进制文件的文件特征对应的文件特征值,确定文件特征值的相似度;根据文件特征值的相似度,确定待分类二进制文件所属类簇。
此外,处理器502,还用于:根据模糊哈希以及文件特征,确定文件特征值。
此外,处理器502,还用于:当待分类二进制文件不属于预置的多个二进制文件类簇,则确定待分类二进制文件与其它待分类二进制文件的相似度;当文件的相似度大于或等于阈值,则将对应的多个待分类二进制文件进行聚类,生成对应二进制文件类簇;确定生成的类簇的质心二进制文件。
此外,处理器502,还用于:当文件的相似度小于阈值,则将待分类二进制文件直接生成对应二进制文件的类簇。
此外,处理器502,还用于:根据更新后的恶意类簇,确定恶意类簇中的恶意代码检测信息;根据恶意代码检测信息,生成对应的恶意代码特征库,以进行恶意代码的检测。
本发明实施例提供了一种计算机存储介质,计算机程序被一个或多个处理器执行时,致使一个或多个处理器实现图1-图2方法实施例中一种二进制文件的分类方法的步骤。就不再过多赘述了。
另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102、103等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件和软件结合的方式来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以计算机产品的形式体现出来,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程多媒体数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程多媒体数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程多媒体数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程多媒体数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (12)

1.一种二进制文件的分类方法,其特征在于,包括:
获取待分类二进制文件,获取所述待分类二进制文件中对应的可变化代码;
确定所述可变化代码的代码特征,作为待分类二进制文件的文件特征;
将所述待分类二进制文件的文件特征与预置的多个二进制文件类簇中的质心二进制文件的文件特征进行对比,确定所述待分类二进制文件所属类簇,从而确定待分类二进制文件的类簇,所述质心二进制文件代表对应类簇的类簇特征。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述待分类二进制文件所属于预置的多个二进制文件类簇中对应类簇,根据所述待分类二进制文件更新对应类簇中的二进制文件;
确定更新后对应类簇中的二进制文件与该类簇中其它二进制文件的相似度,根据所述相似度确定更新后类簇中的新的质心二进制文件。
3.根据权利要求2所述的方法,其特征在于,所述根据所述相似度确定更新后类簇中的新的质心二进制文件,包括:
确定更新后对应类簇中的二进制文件与该类簇中其它二进制文件的相似度之和,根据相似度之和,确定新的质心二进制文件。
4.根据权利要求1所述的方法,其特征在于,所述获取所述待分类二进制文件中对应的可变化代码,包括:
识别待分类二进制文件中的函数,确定所述函数的签名,根据所述函数的签名确定函数的来源库;
根据确定的来源库,从所述待分类二进制文件中剔除掉来源库对应的代码,得到对应的可变化代码。
5.根据权利要求1所述的方法,其特征在于,所述确定所述可变化代码的代码特征,包括:
去除二进制文件中代码段中的操作数;
根据代码段中其它信息确定可变化代码对应函数的函数特征,并根据可变化代码中函数的地址顺序,合并函数特征,将得到的合并函数特征作为可变化代码的代码特征。
6.根据权利要求1所述的方法,其特征在于,所述将所述待分类二进制文件的文件特征与预置的多个二进制文件类簇中的质心二进制文件的文件特征进行对比,确定所述待分类二进制文件所属类簇,包括:
对比待分类二进制文件的文件特征对应的文件特征值与质心二进制文件的文件特征对应的文件特征值,确定文件特征值的相似度;
根据文件特征值的相似度,确定待分类二进制文件所属类簇。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
根据模糊哈希以及文件特征,确定文件特征值。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述待分类二进制文件不属于预置的多个二进制文件类簇,则确定所述待分类二进制文件与其它待分类二进制文件的相似度;
当文件的相似度大于或等于阈值,则将对应的多个待分类二进制文件进行聚类,生成对应二进制文件类簇;
确定生成的类簇的质心二进制文件。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
当文件的相似度小于阈值,则将待分类二进制文件直接生成对应二进制文件的类簇。
10.根据权利要求2所述的方法,其特征在于,所述方法还包括:
根据更新后的恶意类簇,确定恶意类簇中的恶意代码检测信息;
根据恶意代码检测信息,生成对应的恶意代码特征库,以进行恶意代码的检测。
11.一种计算设备,其特征在于,包括:存储器、处理器;
所述存储器,用于存储计算机程序;
所述处理器,执行所述计算机程序,以用于:
获取待分类二进制文件,获取所述待分类二进制文件中对应的可变化代码;
确定所述可变化代码的代码特征,作为待分类二进制文件的文件特征;
将所述待分类二进制文件的文件特征与预置的多个二进制文件类簇中的质心二进制文件的文件特征进行对比,确定所述待分类二进制文件所属类簇,从而确定待分类二进制文件的类簇,所述质心二进制文件代表对应类簇的类簇特征。
12.一种存储有计算机程序的计算机可读存储介质,其特征在于,计算机程序被一个或多个处理器执行时,致使所述一个或多个处理器实现权利要求1-10任一项所述方法中的步骤。
CN202210022273.0A 2022-01-10 2022-01-10 二进制文件的分类方法、计算设备及存储介质 Pending CN114492366A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210022273.0A CN114492366A (zh) 2022-01-10 2022-01-10 二进制文件的分类方法、计算设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210022273.0A CN114492366A (zh) 2022-01-10 2022-01-10 二进制文件的分类方法、计算设备及存储介质

Publications (1)

Publication Number Publication Date
CN114492366A true CN114492366A (zh) 2022-05-13

Family

ID=81509144

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210022273.0A Pending CN114492366A (zh) 2022-01-10 2022-01-10 二进制文件的分类方法、计算设备及存储介质

Country Status (1)

Country Link
CN (1) CN114492366A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117473494A (zh) * 2023-06-06 2024-01-30 兴华永恒(北京)科技有限责任公司 同源二进制文件的确定方法、装置、电子设备及存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117473494A (zh) * 2023-06-06 2024-01-30 兴华永恒(北京)科技有限责任公司 同源二进制文件的确定方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
Saini et al. Oreo: Detection of clones in the twilight zone
Zhang et al. Panorama: a data system for unbounded vocabulary querying over video
Cabrera Lozoya et al. Commit2vec: Learning distributed representations of code changes
US20170344822A1 (en) Semantic representation of the content of an image
CN113806482B (zh) 视频文本跨模态检索方法、装置、存储介质和设备
CN111368289B (zh) 一种恶意软件检测方法和装置
US11756301B2 (en) System and method for automatically detecting and marking logical scenes in media content
CN115357904B (zh) 一种基于程序切片和图神经网络的多类漏洞检测方法
CN111680753A (zh) 一种数据标注方法、装置、电子设备及存储介质
Sakr et al. An efficient fast-response content-based image retrieval framework for big data
CN110969015B (zh) 一种基于运维脚本的标签自动化识别方法和设备
CN112711578A (zh) 用于云计算业务的大数据去噪方法及云计算金融服务器
CN115146062A (zh) 融合专家推荐与文本聚类的智能事件分析方法和系统
CN114492366A (zh) 二进制文件的分类方法、计算设备及存储介质
CN113821657A (zh) 基于人工智能的图像处理模型训练方法及图像处理方法
CN113254649A (zh) 敏感内容识别模型的训练方法、文本识别方法及相关装置
CN112685374B (zh) 日志分类方法、装置及电子设备
CN115858002B (zh) 基于图对比学习的二进制代码相似性检测方法及系统与存储介质
CN110209895B (zh) 向量检索方法、装置和设备
CN112464007A (zh) 基于人工智能和互联网的数据分析方法及、系统及平台
CN116821903A (zh) 检测规则确定及恶意二进制文件检测方法、设备及介质
CN116226850A (zh) 应用程序的病毒检测方法、装置、设备、介质及程序产品
CN112818114A (zh) 信息的分类方法、检测方法、计算设备及存储介质
CN114492365A (zh) 二进制文件之间相似度的确定方法、计算设备及存储介质
CN116822491A (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