CN112136123A - 表征文件以进行相似性搜索 - Google Patents

表征文件以进行相似性搜索 Download PDF

Info

Publication number
CN112136123A
CN112136123A CN201880015405.9A CN201880015405A CN112136123A CN 112136123 A CN112136123 A CN 112136123A CN 201880015405 A CN201880015405 A CN 201880015405A CN 112136123 A CN112136123 A CN 112136123A
Authority
CN
China
Prior art keywords
file
computers
hash
feature
features
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
CN201880015405.9A
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.)
Vilustotar Slu
Original Assignee
Vilustotar Slu
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 Vilustotar Slu filed Critical Vilustotar Slu
Publication of CN112136123A publication Critical patent/CN112136123A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • G06F16/137Hash-based
    • 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/564Static detection by virus signature recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • G06F16/148File search processing
    • G06F16/152File search processing using file content signatures, e.g. hash values

Abstract

在一些实施方式中,一种由包括一个或多个计算机的文件表征系统所执行的对文件进行聚类的方法包括:接收文件;确定所述文件的格式;基于所述文件的格式来选择与所述格式相关联的一个或多个文件特征的集合;针对所述一个或多个文件特征的集合中的每个文件特征来从所述文件中提取用于所述文件特征的相应的特征值;以及基于所述特征值来生成所述文件的哈希。

Description

表征文件以进行相似性搜索
技术领域
本说明书一般地涉及反病毒软件程序。
背景技术
恶意软件常常破坏计算机操作并且在未经许可的情况下收集用户或组织的私人或敏感信息。反病毒软件用于检测恶意软件。为了推进反病毒软件并减少恶意软件攻击的发生和严重度,研究人员研究已经识别的恶意软件。通过逆向工程恶意软件程序,研究人员可改进检测算法。
在一些情况下,当恶意软件研究人员识别恶意软件文件时,他们生成文件的哈希。一般而言,哈希不重叠,所以每个哈希唯一地识别文件。然而,因为哈希值是唯一的,所以这些哈希值无助于识别类似结构化恶意软件的系列。研究具有类似属性的恶意软件的系列允许研究人员识别恶意软件代码中的模式。在一些示例中,研究人员能够基于签名特征来识别一件特定恶意软件的起源或创建者。研究人员还可以跟踪一种类型的恶意软件的演变以协助预料或者更好地为将来的攻击做准备。
文件包括提供描述通过特定文件所执行的操作的属性的信息和包含在特定文件内的数据的全局特征。例如,公共全局特征是文件格式,其指定如何使用比特以对文件中的信息进行编码。其它示例性特征包括元数据、可执行任务等。通常,与特定恶意软件文件有关或者从特定恶意软件文件导出的恶意软件文件与初始文件共享公共文件特征。通过基于公共全局特征将成件恶意软件分组成系列,研究人员可产生识别恶意软件文件的可以以类似的方式检测或者移除的变体的签名。
在一个实施方式中,恶意软件表征系统从文件中提取全局特征。可以基于恶意软件的文件类型来提取具体特征。例如,从.exe文件中提取的特征可以与从.pdf或.doc文件中提取的特征不同。基于文件类型的特征提取消除对于从二进制文件中进行盲特征提取的需要,这是资源密集的且费时的。基于这些全局特征,系统生成文件的哈希。哈希用作文件簇的标识符——具有公共特征的文件被指派相同的哈希,并且在搜索到哈希时返回具有相同的哈希的所有文件。因为哈希对文件进行索引,所以可快速地返回搜索结果,从而减小等待时间并且减少执行搜索所需要的处理资源。
发明内容
一般而言,本说明书中描述的主题的一个创新方面可用一种包括通过包括一个或多个计算机的文件表征系统来对文件进行聚类的方法加以具体实现。所述方法包括:接收文件;确定所述文件的格式;基于所述文件的格式来选择与所述格式相关联的一个或多个文件特征的集合;针对所述一个或多个文件特征的集合中的每个文件特征来从所述文件中提取用于所述文件特征的相应的特征值;以及基于所述特征值来生成所述文件的哈希。
实施方式可以包括以下特征中的一个或多个。例如,对于所述一个或多个文件特征的集合中的每个文件特征具有匹配特征值的文件可以具有相同的哈希。在一些实施方式中,所述方法可以包括:提交所述文件的所生成的哈希作为要搜索索引的搜索查询,其中,所述索引通过相应的哈希来列举多个文件;以及响应于提交所述搜索查询而接收具有所生成的哈希的所有文件。
在一些实施方式中,所述一个或多个文件特征的集合中的至少一个文件特征是文件大小、文件类型或元数据值。所述方法可以包括:在通过多个文件的相应的哈希来列举所述多个文件的索引中使用所生成的哈希来对所述文件进行索引。在一些实施方式中,基于所提取的数据的值来生成所述文件的哈希包括:组合所述特征值以生成所述文件的特征的组合表示;以及对所述组合表示应用哈希函数以生成所述文件的哈希。
在一些实施方式中,基于所述文件的格式来选择具有所述格式的文件的一个或多个文件特征的集合包括:基于所述文件的格式来识别一个或多个文件特征的预定集合;以及响应于由所述一个或多个计算机提取所述相应的特征值并且基于所提取的相应的特征值的值来更新所述一个或多个文件特征的预定集合。
本说明书中描述的主题的另一创新方面可用一种文件表征系统加以具体实现,所述文件表征系统包括:一个或多个计算机;以及存储指令的一个或多个存储设备,所述指令当由所述一个或多个计算机执行时使所述一个或多个计算机执行操作。这些操作包括:接收文件;确定所述文件的格式;基于所述文件的格式来选择与所述格式相关联的一个或多个文件特征的集合;针对所述一个或多个文件特征的集合中的每个文件特征来从所述文件中提取用于所述文件特征的相应的特征值;以及基于所述特征值来生成所述文件的哈希。
在一些实施方式中,对于所述一个或多个文件特征的集合中的每个文件特征具有匹配特征值的文件具有相同的哈希。在一些实施方式中,所述操作包括:提交所述文件的所生成的哈希作为要搜索索引的搜索查询,其中,所述索引通过相应的哈希来列举多个文件;以及响应于提交所述搜索查询而接收具有所生成的哈希的所有文件。
在一些实施方式中,所述一个或多个文件特征的集合中的至少一个文件特征是文件大小、文件类型或元数据值。在一些实施方式中,所述操作包括:在通过多个文件的相应的哈希来列举所述多个文件的索引中使用所生成的哈希来对所述文件进行索引。在一些实施方式中,基于所提取的数据的值来生成所述文件的哈希包括:组合所述特征值以生成所述文件的特征的组合表示;以及对所述组合表示应用哈希函数以生成所述文件的哈希。
在一些实施方式中,基于所述文件的格式来选择具有所述格式的文件的一个或多个文件特征的集合包括:基于所述文件的格式来识别一个或多个文件特征的预定集合;以及响应于提取所述相应的特征值并且基于所提取的相应的特征值的值来更新所述一个或多个文件特征的预定集合。
本说明书中描述的主题的另一创新方面可用一种或多种非暂时性计算机可读介质加以具体实现,所述非暂时性计算机可读介质存储指令,所述指令当由一个或多个计算机执行时使所述一个或多个计算机执行操作。这些操作包括:接收文件;确定所述文件的格式;基于所述文件的格式来选择与所述格式相关联的一个或多个文件特征的集合;针对所述一个或多个文件特征的集合中的每个文件特征来从所述文件中提取用于所述文件特征的相应的特征值;以及基于所述特征值来生成所述文件的哈希。
在一些实施方式中,对于所述一个或多个文件特征的集合中的每个文件特征具有匹配特征值的文件具有相同的哈希。在一些实施方式中,所述操作包括:提交所述文件的所生成的哈希作为要搜索索引的搜索查询,其中,所述索引通过相应的哈希来列举多个文件;以及响应于提交所述搜索查询而接收具有所生成的哈希的所有文件。
在一些实施方式中,所述一个或多个文件特征的集合中的至少一个文件特征是文件大小、文件类型或元数据值。在一些实施方式中,所述操作包括:在通过多个文件的相应的哈希来列举所述多个文件的索引中使用所生成的哈希来对所述文件进行索引。在一些实施方式中,基于所提取的数据的值来生成所述文件的哈希包括:组合所述特征值以生成所述文件的特征的组合表示;以及对所述组合表示应用哈希函数以生成所述文件的哈希。
本说明书中描述的主题可被实现在特定实施例中以便实现以下优点中的一个或多个。所公开的系统基于公共全局特征来将成件恶意软件分组成系列,从而允许研究人员研究具有类似结构的恶意软件的系列。通过将恶意软件分类为具有类似特征或结构的系列,可基于所生成的哈希来准确地识别与正在表征的具体文件类似但不是与正在表征的具体文件相同的文件的成件恶意软件,指向相同系列内的所有分类的恶意软件。附加地,因为恶意软件通过所生成的哈希来索引,所以可快速地返回搜索结果。通过研究恶意软件系列,研究人员能够识别恶意软件代码中的模式,识别一件特定恶意软件的起源或创建者,并且跟踪一种类型的恶意软件的演变。这些优点允许研究人员更好地预料并为将来的攻击做准备。
在下面的附图和描述中阐述了本说明书中描述的主题的一个或多个实施方式的细节。主题的其它潜在特征、方面和优点将从说明书、附图和权利要求书中变得显而易见。
附图说明
图1是图示示例文件表征系统的系统图。
图2是图示用于表征文件的示例过程的流程图。
图3是图示用于搜索并识别文件的示例过程的流程图。
图4是示例计算系统的框图。
在各个附图中相似的附图标记和名称指示相似的元件。
具体实施方式
本文档一般地描述用于在安全场境中表征文件的技术。
图1是图示示例环境100的系统图,在所述示例环境100中示出了示例性文件表征系统130。环境100包括用户可用来提交要分析和表征的文件的客户端设备。环境100包括客户端设备110,所述客户端设备110可通信地连接到网络120。客户端设备110通过网络120连接到文件表征系统130,并且可以将一个或多个文件112发送到文件表征系统130以进行处理。
客户端设备110可以是能够通过网络120请求和接收资源的电子设备。示例客户端设备110包括个人计算机、移动通信设备以及可通过网络120发送和接收数据的其它设备。客户端设备110通常包括用户应用,诸如web浏览器,以方便通过网络120发送和接收数据,但是通过客户端设备110所执行的本机应用也可方便通过网络120发送和接收数据。
文件112是存储信息的电子资源,并且可包括各种内容。文件112具有通过其内容所定义的格式。例如,可以通过文件扩展名来指示文件112的格式。文件的格式通过指定如何使用比特以在数字存储介质中对信息进行编码来定义如何对信息进行编码以便存储在文件中的结构。例如,文件可以是各种类型的文件格式中的任一种,包括多媒体音频和/或视频、批处理文件、可执行文件、图像文件、文本文件、压缩文件、类文件、数据库文件或其它文件格式。文件的文件扩展名指示文件的特性,诸如文件的格式,并且通常是被指定为文件的名称的后缀的标识符。例如,文件可以具有指示它是文本文件的.txt的文件扩展名、用于指示它是JPEG标准中的数字图像的.jpeg的文件扩展名等。文件可以是各种其它格式中的任一种并且具有各种其它文件扩展名中的任一种。文件112可以包括元数据或提供关于文件112的内容和/或属性的信息的数据。文件112可包括例如在文件它本身内并且/或者不会随着时间的推移而改变的静态内容(例如,文本或其它指定的内容)。文件112还可包括可以随着时间的推移或者在每请求基础上改变的动态内容。例如,提交文件以供分析的用户可维护用于填充电子文档的各部分的数据源。在此示例中,给定文件可包括使客户端设备110在该给定文件被客户端设备110处理(例如,渲染或者执行)时从数据源请求内容的一个或多个标签或脚本。客户端设备110将从数据源获得的内容集成到给定电子文档中以创建包括从数据源获得的内容的复合电子文档。
网络120可以是局域网(LAN)、广域网(WAN)、因特网或其组合。网络120将客户端设备110与文件分析系统130连接。网络120可以包括802.11“Wi-Fi”无线以太网(例如,使用低功率Wi-Fi芯片组)、蓝牙、通过AC布线操作的网络,或5类(CAT5)或6类(CAT6)有线以太网网络。
文件表征系统130从环境100的用户接收用于处理的文件112并且对文件112进行表征和索引。文件表征系统130包括格式检测器132、文件特征选择器134、文件特征提取器136、哈希生成器138和索引器140。文件表征系统130分析文件以对从客户端设备110的用户接收到的文件进行表征和索引。
格式检测器132检测从用户接收到的文件112的格式。文件112可以具有各种格式。在一些示例中,文件112各自具有相同的文件格式。例如,由文件表征系统130接收到的每个文件112可以是二进制文件。在一些示例中,文件112具有各种不同的文件格式。例如,由文件表征系统130接收到的两个文件112可以是计算机辅助设计(CAD)文件,一个文件112可以是SQL压缩数据库文件,并且一个文件112可以是Microsoft Works数据库文件。
文件特征选择器134基于由格式检测器132确定的文件的格式来选择要从每个文件112中提取的一个或多个文件特征的集合。也就是说,文件特征选择器134维护针对多种文件格式中的每一种识别要从具有该格式的文件中提取的特征的相应集合的数据。例如,文件特征选择器134可以确定,因为文件112是文本文件,所以存在文件名、最后修改日期和文件112可用的文件大小。
文件特征提取器136针对由文件特征选择器134选择为与文件112的文件类型相对应的文件特征的集合中的每个文件特征来从文件112中提取用于所述文件特征的相应的特征值。文件的元数据是提供关于文件的信息的数据。在一些示例中,文件112的元数据包括文件112的特征和属性。文件112可以具有各种特征或属性,包括文件名、最后访问日期、最后修改日期、文件大小、作者、文件属性、位置、内容等。文件特征提取器136可以从文件112的元数据中检测特征的值。例如,文件特征提取器136可以从文档112的元数据中提取特定文件特征的值,诸如Word文档112的作者。
哈希生成器138基于由文件特征提取器136提取的特征值来生成文件112的哈希。例如,哈希生成器138可以使用哈希函数来生成文件112的哈希。哈希生成器138可以使用各种哈希函数算法中的任一种,包括平凡哈希函数、完美哈希函数、滚动哈希、通用哈希、带有校验和函数的哈希函数、乘法哈希函数、密码哈希函数、非线性表查找函数等。例如,哈希生成器138可以使用MD5哈希。
索引器140使用由哈希生成器138为文件生成的哈希来对从用户接收到的文件112进行索引。在一些示例中,索引器140使用哈希表来定位存储器中的数据,诸如索引150。例如,索引器140可以使用所生成的哈希作为密钥来找到为其生成了哈希的文件112的映射位置。索引器140可以使用哈希来快速地定位数据,而不必在每次访问表时搜索表中的每行。例如,索引器140可以创建可被高效地搜索的表的所选部分的副本并且包括从那里拷贝所述部分的块地址或到表的完整行或列的直接链接。
文件表征系统130可访问索引150,其中从客户端设备110的用户接收到的文件112由索引器140索引。在一些示例中,索引150可以是易失性存储器。例如,索引150可以是随机存取存储器(RAM)。在一些示例中,索引150可以是非易失性存储器。例如,索引150可以是诸如硬盘驱动器、固态驱动器、只读存储器等这样的存储设备。
图2是用于表征文件的示例过程200的流程图。过程200可以由一个或多个位置中的一个或多个计算机的系统诸如文件表征系统130执行。
系统接收文件(202)。例如,文件表征系统130可以通过网络120从客户端设备110的用户接收文件112。
系统确定文件的格式(204)。例如,文件表征系统130的格式检测器132可以确定文件112的格式。
系统基于文件的格式来选择具有该格式的文件的一个或多个文件特征的集合(206)。例如,文件表征系统130的文件特征选择器134可以基于由格式检测器132确定的格式来选择一个或多个文件特征的集合。在一些示例中,一个或多个文件特征的集合对于不同的文件格式来说可以是不同的。例如,针对具有扩展名.doc的文件格式的文件特征的集合可以包括:作者名字、文件大小和最后访问日期,然而针对具有扩展名.pdf的文件格式的文件特征的集合可以包括:文件大小、是否存在作者签名、文件是否可搜索、最后访问日期以及文件已被更新多少次。
系统针对一个或多个文件特征的集合中的每个文件特征来从文件中提取用于所述文件特征的相应的特征值(208)。例如,文件特征提取器136可以从文件112中提取用于由文件特征选择器134选择的文件特征中的每一个的特征值。在一些示例中,文件特征提取器136使用文件112的元数据来从文件112中提取用于文件特征中的每一个的特征值。
系统基于特征值来生成文件的哈希(210)。例如,文件表征系统130的哈希生成器138可以基于由文件特征提取器136提取的特征值来生成文件112的哈希。
图3是用于搜索并识别文件的示例过程300的流程图。过程300可以由一个或多个位置中的一个或多个计算机的系统(诸如文件表征系统130)执行。
系统从用户接收已知恶意软件文件(302)。例如,文件表征系统130可以从用户接收文件112。在此特定示例中,文件112可以是已知为恶意软件的文件。在一些示例中,用户可以提交已知恶意软件文件112并且请求执行搜索以识别与已知恶意软件文件112类似的其它恶意软件。
例如,用户可以是希望识别与已知恶意软件文件112类似的恶意软件诸如与已知恶意软件文件112相同的恶意软件系列内的恶意软件以识别已知恶意软件文件112的起源的研究人员。在一些示例中,每个恶意软件系列共享一个或多个签名特征。例如,特定恶意软件系列可以全部包括“Mad Max”的作者名字。在一些示例中,一个或多个签名特征用于为特定文件生成哈希,并且具有相同的一个或多个签名特征的文件将具有相同的哈希。在一些示例中,使用恶意软件文件的一个或多个签名特征所生成的哈希可以用于搜索其它恶意软件,并且所标识的其它恶意软件可以指示所识别的恶意软件文件的其它特征的起源或作者。
系统为所接收到的文件生成指示恶意软件系列的哈希(304)。例如,文件表征系统130的哈希生成器138可以为所接收到的文件112生成哈希。在一些示例中,可以根据过程200来生成所接收到的文件112的哈希。在一些示例中,所接收到的文件112的哈希可以指示所接收到的已知恶意软件文件112的恶意软件系列。例如,所生成的哈希可以是用于与所接收到的已知恶意软件文件112相同的恶意软件系列内的所有文件的索引。
系统使用所生成的哈希来搜索已知恶意软件文件的储存库以识别与所接收到的文件相同的恶意软件系列中的其它恶意软件(306)。例如,索引器140可以使用所生成的哈希来搜索索引150。在一些示例中,索引150可以通过针对相应文件所生成的哈希来列举已知恶意软件文件。在一些示例中,索引器140可以使用所生成的哈希来搜索索引150以通过查找针对文件112生成的哈希来识别与所接收到的已知恶意软件文件112相同的恶意软件系列中的其它恶意软件。
系统响应于用户的请求而向用户提供识别所识别的其它恶意软件的数据(308)。例如,文件表征系统130可以通过客户端设备110来通过网络120向用户提供识别所识别的其它恶意软件的数据。
图4是可用于执行上述操作的示例计算机系统400的框图。系统400包括处理器410、存储器420、存储设备430和输入/输出设备440。组件410、420、430和440中的每一个均可例如使用系统总线450来互连。处理器410能够处理在系统400内执行的指令。在一个实施方式中,处理器410是单线程处理器。在另一实施方式中,处理器410是多线程处理器。处理器410能够处理存储在存储器420中或在存储设备430上的指令。
存储器420存储系统400内的信息。在一个实施方式中,存储器420是计算机可读介质。在一个实施方式中,存储器420是易失性存储器单元。在另一实施方式中,存储器420是非易失性存储器单元。
存储设备430能够为系统400提供大容量存储。在一个实施方式中,存储设备430是计算机可读介质。在各种不同的实施方式中,存储设备430可包括例如硬盘设备、光盘设备、由多个计算设备(例如,云存储设备)通过网络共享的存储设备,或某个其它大容量存储设备。
输入/输出设备440为系统400提供输入/输出操作。在一个实施方式中,输入/输出设备440可包括一个或多个网络接口设备,例如,以太网卡、串行通信设备例如RS-232端口和/或无线接口设备例如802.11卡。在另一实施方式中,输入/输出设备可包括被配置为接收输入数据并且向其它输入/输出设备例如键盘、打印机和显示设备460发送输出数据的驱动器设备。然而,还可使用其它实施方式,诸如作为移动计算设备、移动通信设备、机顶盒电视客户端设备等。
尽管已在图4中描述了示例处理系统,但是本说明书中描述的主题和功能操作的实施方式可用其它类型的数字电子电路或者用计算机软件、固件或硬件包括本说明书中公开的结构及其结构等同物或者用它们中的一个或多个的组合加以实现。
本说明书中描述的主题和操作的实施例可用数字电子电路或者用计算机软件、固件或硬件包括本说明书中公开的结构及其结构等同物或者用它们中的一个或多个的组合加以实现。本说明书中描述的主题的实施例可作为编码在计算机存储介质(或多个介质)上以供由数据处理装置执行或者控制数据处理装置的操作的一个或多个计算机程序即计算机程序指令的一个或多个模块被实现。替换地或此外,可将程序指令编码在人工生成的传播信号上,所述传播信号例如为机器生成的电、光或电磁信号,其被生成来对信息进行编码以便传输到适合的接收器装置以供由数据处理装置执行。计算机存储介质可以是或者被包括在计算机可读存储设备、计算机可读存储基板、随机或串行存取存储器阵列或设备或它们中的一个或多个的组合中。此外,虽然计算机存储介质不是传播信号,但是计算机存储介质可以是编码在人工生成的传播信号中的计算机程序指令的源或目的地。计算机存储介质也可以是或者被包括在一个或多个单独的物理组件或介质(例如,多个CD、磁盘或其它存储设备)中。
本说明书中描述的操作可作为由数据处理装置对存储在一个或多个计算机可读存储设备上或者从其它源接收到的数据执行的操作被实现。
术语“数据处理装置”包含用于处理数据的所有种类的装置、设备和机器,作为示例包括可编程处理器、计算机、片上系统或多个可编程处理器、计算机、片上系统或前述的组合。装置可包括专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。装置除了包括硬件之外还可包括为所述计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时环境、虚拟机或它们中的一个或多个的组合的代码。装置和执行环境可实现各种不同的计算模型基础设施,诸如web服务、分布式计算和网格计算基础设施。
计算机程序(也称为程序、软件、软件应用、脚本或代码)可用任何形式的编程语言编写,所述编程语言包括编译或解释语言、声明或过程语言,并且它可被以任何形式部署,包括作为独立程序或者作为模块、组件、子例程、对象或适合于在计算环境中使用的其它单元。计算机程序可以但不必对应于文件系统中的文件。可在保持其它程序或数据(例如,存储在标记语言文档中的一个或多个脚本)的文件的一部分中、在专用于所述程序的单个文件中、或者在多个协调文件(例如,存储代码的一个或多个模块、子程序或部分的文件)中存储程序。可将计算机程序部署成在一个计算机上或者在位于一个站点处或者分布在多个站点之上并通过通信网络互连的多个计算机上执行。
本说明书中描述的过程和逻辑流程可通过一个或多个可编程处理器执行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行动作而被执行。过程和逻辑流程也可由专用逻辑电路执行,并且装置也可作为专用逻辑电路被实现,所述专用逻辑电路例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。
作为示例,适合于执行计算机程序的处理器包括通用微处理器和专用微处理器两者。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的必要元件是用于依照指令来执行动作的处理器以及用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括或者在操作上耦合以从用于存储数据的一个或多个大容量存储设备(例如,磁盘、磁光盘或光盘)接收数据,或者将数据转移到用于存储数据的一个或多个大容量存储设备,或者兼而有之。然而,计算机不必具有这样的设备。此外,计算机可被嵌入在另一设备中,所述另一设备例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器或便携式存储设备(例如,通用串行总线(USB)闪存驱动器)等等。适合于存储计算机程序指令和数据的设备包括所有形式的非易失性存储器、介质和存储器设备,作为示例包括:半导体存储器设备,例如EPROM、EEPROM和闪速存储器设备;磁盘,例如内部硬盘或可移动盘;磁光盘;以及CD ROM和DVD-ROM盘。处理器和存储器可由专用逻辑电路补充,或者被并入在专用逻辑电路中。
为了提供与用户的交互,可在计算机上实现本说明书中描述的主题的实施例,所述计算机具有用于向用户显示信息的显示设备例如CRT(阴极射线管)或LCD(液晶显示器)监视器以及用户可用来向该计算机提供输入的键盘和指点设备例如鼠标或轨迹球。其它种类的设备也可用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以任何形式接收来自用户的输入,包括声、语音或触觉输入。此外,计算机可通过向由用户使用的设备发送文档并且从由用户使用的设备接收文档来与用户交互;例如,通过响应于从web浏览器接收到的请求而向用户的客户端设备上的web浏览器发送web页面。
本说明书中描述的主题的实施例可被实现在计算系统中,所述计算系统包括后端组件(例如,作为数据服务器),或者包括中间件组件(例如,应用服务器),或者包括前端组件(例如,具有用户可用来与本说明书中描述的主题的实施方式交互的图形用户界面或Web浏览器的客户端计算机),或者包括一个或多个这样的后端、中间件或前端组件的任何组合。系统的组件可通过任何形式或介质的数字数据通信例如通信网络来互连。通信网络的示例包括局域网(“LAN”)和广域网(“WAN”)、互连网络(例如,因特网)和对等网络(例如,自组织对等网络)。
计算系统可包括客户端和服务器。客户端和服务器一般地彼此远离并且通常通过通信网络来交互。客户端和服务器的关系借助于在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。在一些实施例中,服务器向客户端设备发送数据(例如,HTML页面)(例如,用于向与客户端设备交互的用户显示数据并且从与客户端设备交互的用户接收用户输入的目的)。可在服务器处从客户端设备接收在客户端设备处生成的数据(例如,用户交互的结果)。
虽然本说明书包含许多具体实施方式细节,但是这些不应该被解释为对任何发明的或可以要求保护的范围构成限制,而是相反被解释为特定于特定发明的特定实施例的特征的描述。也可在单个实施例中相结合地实现在本说明书中在单独的实施例的上下文中描述的某些特征。相反地,也可单独地或者按照任何适合的子组合在多个实施例中实现在单个实施例的上下文中描述的各种特征。此外,尽管特征可以在上面被描述为按照某些组合起作用并且甚至最初被如此要求保护,但是可在一些情况下从该组合中除去来自要求保护的组合的一个或多个特征,并且所要求保护的组合可以针对子组合或子组合的变化。
类似地,虽然在附图中以特定次序描绘操作,但是这不应该被理解为要求以所示的特定次序或者以顺序次序执行这样的操作,或者要求执行所有图示的操作以实现所希望的结果。在某些情况下,多任务处理和并行处理可以是有利的。此外,上述实施例中的各种系统组件的分离不应该被理解为在所有实施例中要求这样的分离,并且应该理解的是,所描述的程序组件和系统通常可被一起集成在单个软件产品中或者包装到多个软件产品中。
因此,已经描述了主题的特定实施例。其它实施例在以下权利要求的范围内。在一些情况下,权利要求中记载的动作可被以不同的次序执行并仍然实现所希望的结果。此外,附图中描绘的过程不一定要求所示的特定次序或顺序次序来实现所希望的结果。在某些实施方式中,多任务处理和并行处理可以是有利的。

Claims (20)

1.一种由包括一个或多个计算机的文件表征系统来对文件进行聚类的方法,其中,所述方法包括:
由所述一个或多个计算机接收文件;
由所述一个或多个计算机确定所述文件的格式;
由所述一个或多个计算机并且基于所述文件的所述格式来选择与所述格式相关联的一个或多个文件特征的集合;
由所述一个或多个计算机并且针对所述一个或多个文件特征的集合中的每个文件特征来从所述文件中提取所述文件特征的相应的特征值;以及
由所述一个或多个计算机并且基于所述特征值来生成所述文件的哈希。
2.根据权利要求1所述的方法,其中,对于所述一个或多个文件特征的集合中的每个文件特征具有匹配特征值的文件具有相同的哈希。
3.根据权利要求2所述的方法,还包括:
提交所述文件的所生成的哈希作为要搜索索引的搜索查询,其中,所述索引通过相应的哈希列举多个文件;以及
响应于提交所述搜索查询,接收具有所生成的哈希的所有文件。
4.根据权利要求1至3中的任何一项所述的方法,其中,所述一个或多个文件特征的集合中的至少一个文件特征是:文件大小、文件类型或元数据值。
5.根据权利要求1至4中的任何一项所述的方法,还包括:
在通过多个文件的相应的哈希列举所述多个文件的索引中,使用所生成的哈希来对所述文件进行索引。
6.根据权利要求1至5中的任何一项所述的方法,其中,由所述一个或多个计算机并且基于所提取的数据的值来生成所述文件的哈希包括:
组合所述特征值以生成所述文件的特征的组合表示;以及
对所述组合表示应用哈希函数以生成所述文件的哈希。
7.根据权利要求1至6中的任何一项所述的方法,其中,由所述一个或多个计算机并且基于所述文件的所述格式来选择具有所述格式的文件的一个或多个文件特征的集合包括:
由所述一个或多个计算机并且基于所述文件的所述格式来识别一个或多个文件特征的预定集合,以及
响应于由所述一个或多个计算机提取所述相应的特征值并且基于所提取的相应的特征值的值来更新所述一个或多个文件特征的预定集合。
8.一种文件表征系统,所述文件表征系统包括:
一个或多个计算机;以及
存储指令的一个或多个存储设备,所述指令当由所述一个或多个计算机执行时使所述一个或多个计算机执行包括以下步骤的操作:
由所述一个或多个计算机接收文件;
由所述一个或多个计算机确定所述文件的格式;
由所述一个或多个计算机并且基于所述文件的所述格式来选择与所述格式相关联的一个或多个文件特征的集合;
由所述一个或多个计算机并且针对所述一个或多个文件特征的集合中的每个文件特征来从所述文件中提取用于所述文件特征的相应的特征值;以及
由所述一个或多个计算机并且基于所述特征值来生成所述文件的哈希。
9.根据权利要求8所述的系统,其中,对于所述一个或多个文件特征的集合中的每个文件特征具有匹配特征值的文件具有相同的哈希。
10.根据权利要求9所述的系统,所述操作还包括:
提交所述文件的所生成的哈希作为要搜索索引的搜索查询,其中,所述索引通过相应的哈希列举多个文件;以及
响应于提交所述搜索查询而接收具有所生成的哈希的所有文件。
11.根据权利要求8至10中的任何一项所述的系统,其中,所述一个或多个文件特征的集合中的至少一个文件特征是:文件大小、文件类型或元数据值。
12.根据权利要求8至11中的任何一项所述的系统,所述操作还包括:
在通过多个文件的相应的哈希列举所述多个文件的索引中使用所生成的哈希来对所述文件进行索引。
13.根据权利要求8至12中的任何一项所述的系统,其中,由所述一个或多个计算机并且基于所提取的数据的值来生成所述文件的哈希包括:
组合所述特征值以生成所述文件的特征的组合表示;以及
对所述组合表示应用哈希函数以生成所述文件的哈希。
14.根据权利要求8至13中的任何一项所述的系统,其中,由所述一个或多个计算机并且基于所述文件的所述格式来选择具有所述格式的文件的一个或多个文件特征的集合包括:
由所述一个或多个计算机并且基于所述文件的所述格式来识别一个或多个文件特征的预定集合,以及
响应于由所述一个或多个计算机提取所述相应的特征值并且基于所提取的相应的特征值的值来更新所述一个或多个文件特征的预定集合。
15.一种或多种计算机可读介质,所述计算机可读介质存储指令,所述指令当由一个或多个计算机执行时使所述一个或多个计算机执行包括以下步骤的操作:
由所述一个或多个计算机接收文件;
由所述一个或多个计算机确定所述文件的格式;
由所述一个或多个计算机并且基于所述文件的所述格式来选择与所述格式相关联的一个或多个文件特征的集合;
由所述一个或多个计算机并且针对所述一个或多个文件特征的集合中的每个文件特征来从所述文件中提取用于所述文件特征的相应的特征值;以及
由所述一个或多个计算机并且基于所述特征值来生成所述文件的哈希。
16.根据权利要求15所述的计算机可读介质,其中,对于所述一个或多个文件特征的集合中的每个文件特征具有匹配特征值的文件具有相同的哈希。
17.根据权利要求16所述的计算机可读介质,所述操作还包括:
提交所述文件的所生成的哈希作为要搜索索引的搜索查询,其中,所述索引通过相应的哈希列举多个文件;以及
响应于提交所述搜索查询而接收具有所生成的哈希的所有文件。
18.根据权利要求15至17中的任何一项所述的计算机可读介质,其中,所述一个或多个文件特征的集合中的至少一个文件特征是:文件大小、文件类型或元数据值。
19.根据权利要求15至18中的任何一项所述的计算机可读介质,所述操作还包括:
在通过多个文件的相应的哈希列举所述多个文件的索引中,使用所生成的哈希来对所述文件进行索引。
20.根据权利要求15至19中的任何一项所述的计算机可读介质,其中,由所述一个或多个计算机并且基于所提取的数据的值来生成所述文件的哈希包括:
组合所述特征值以生成所述文件的特征的组合表示;以及
对所述组合表示应用哈希函数以生成所述文件的哈希。
CN201880015405.9A 2017-03-02 2018-03-02 表征文件以进行相似性搜索 Pending CN112136123A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP17382109.1A EP3370183B1 (en) 2017-03-02 2017-03-02 Characterizing malware files for similarity searching
EP17382109.1 2017-03-02
PCT/US2018/020613 WO2018160939A1 (en) 2017-03-02 2018-03-02 Characterizing files for similarity searching

Publications (1)

Publication Number Publication Date
CN112136123A true CN112136123A (zh) 2020-12-25

Family

ID=58267075

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880015405.9A Pending CN112136123A (zh) 2017-03-02 2018-03-02 表征文件以进行相似性搜索

Country Status (4)

Country Link
US (1) US20180253439A1 (zh)
EP (2) EP3839785B1 (zh)
CN (1) CN112136123A (zh)
WO (1) WO2018160939A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113553587A (zh) * 2021-06-21 2021-10-26 深信服科技股份有限公司 一种文件检测方法、装置、设备及可读存储介质

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110502480B (zh) * 2019-08-16 2022-04-29 济南浪潮数据技术有限公司 分布式存储数据检索方法、系统、装置及可读存储介质
RU2728497C1 (ru) * 2019-12-05 2020-07-29 Общество с ограниченной ответственностью "Группа АйБи ТДС" Способ и система определения принадлежности программного обеспечения по его машинному коду
WO2021207997A1 (en) * 2020-04-16 2021-10-21 Citrix Systems, Inc. Selecting applications based on features of a file
US10860717B1 (en) 2020-07-01 2020-12-08 Morgan Stanley Services Group Inc. Distributed system for file analysis and malware detection
US10990676B1 (en) 2020-07-01 2021-04-27 Morgan Stanley Services Group Inc. File collection method for subsequent malware detection
US11061879B1 (en) 2020-07-01 2021-07-13 Morgan Stanley Services Group Inc. File indexing and retrospective malware detection system
US11868472B2 (en) 2021-03-30 2024-01-09 Microsoft Technology Licensing, Llc Malicious pattern identification in clusters of data items
CN116304266B (zh) * 2023-03-03 2024-02-27 苏州工业园区航星信息技术服务有限公司 档案管理系统

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6594665B1 (en) * 2000-02-18 2003-07-15 Intel Corporation Storing hashed values of data in media to allow faster searches and comparison of data
US20050210083A1 (en) * 2004-03-18 2005-09-22 Shoji Kodama Storage system storing a file with multiple different formats and method thereof
CN1961313A (zh) * 2004-06-25 2007-05-09 苹果电脑有限公司 用于索引文件并将相关元数据添加到索引和元数据数据库的方法和系统
US20080091725A1 (en) * 2006-10-13 2008-04-17 Paul Jin Hwang System and method for automatic detection of duplicate digital photos
CN101542466A (zh) * 2006-10-25 2009-09-23 威瑞森全球商务有限责任公司 用于提供图像处理以追踪数字信息的方法和系统
US20090271447A1 (en) * 2008-04-28 2009-10-29 Shin Kang Soo Method for synchronizing contents file and device for employing the same
CN102147711A (zh) * 2010-12-31 2011-08-10 成都市华为赛门铁克科技有限公司 一种基于数据内容识别的存储方法及装置
US8826439B1 (en) * 2011-01-26 2014-09-02 Symantec Corporation Encoding machine code instructions for static feature based malware clustering
US20140279933A1 (en) * 2013-03-14 2014-09-18 Konica Minolta Laboratory U.S.A., Inc. Hashing Schemes for Managing Digital Print Media
US20140298470A1 (en) * 2013-03-31 2014-10-02 Kaspersky Lab Zao System and Method for Adaptive Modification of Antivirus Databases
JP2015069302A (ja) * 2013-09-27 2015-04-13 株式会社日立ソリューションズ インデクス作成装置および空間情報検索装置
US9213748B1 (en) * 2013-03-14 2015-12-15 Google Inc. Generating related questions for search queries

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8161548B1 (en) * 2005-08-15 2012-04-17 Trend Micro, Inc. Malware detection using pattern classification
US8453243B2 (en) * 2005-12-28 2013-05-28 Websense, Inc. Real time lockdown
US8312545B2 (en) * 2006-04-06 2012-11-13 Juniper Networks, Inc. Non-signature malware detection system and method for mobile platforms
US20110154495A1 (en) * 2009-12-21 2011-06-23 Stranne Odd Wandenor Malware identification and scanning
US8719939B2 (en) * 2009-12-31 2014-05-06 Mcafee, Inc. Malware detection via reputation system
US9292688B2 (en) * 2012-09-26 2016-03-22 Northrop Grumman Systems Corporation System and method for automated machine-learning, zero-day malware detection
US9015814B1 (en) * 2014-06-10 2015-04-21 Kaspersky Lab Zao System and methods for detecting harmful files of different formats
US9785773B2 (en) * 2014-07-03 2017-10-10 Palantir Technologies Inc. Malware data item analysis
RU2634178C1 (ru) * 2016-10-10 2017-10-24 Акционерное общество "Лаборатория Касперского" Способ обнаружения вредоносных составных файлов

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6594665B1 (en) * 2000-02-18 2003-07-15 Intel Corporation Storing hashed values of data in media to allow faster searches and comparison of data
US20050210083A1 (en) * 2004-03-18 2005-09-22 Shoji Kodama Storage system storing a file with multiple different formats and method thereof
CN1961313A (zh) * 2004-06-25 2007-05-09 苹果电脑有限公司 用于索引文件并将相关元数据添加到索引和元数据数据库的方法和系统
US20080091725A1 (en) * 2006-10-13 2008-04-17 Paul Jin Hwang System and method for automatic detection of duplicate digital photos
CN101542466A (zh) * 2006-10-25 2009-09-23 威瑞森全球商务有限责任公司 用于提供图像处理以追踪数字信息的方法和系统
US20090271447A1 (en) * 2008-04-28 2009-10-29 Shin Kang Soo Method for synchronizing contents file and device for employing the same
CN102147711A (zh) * 2010-12-31 2011-08-10 成都市华为赛门铁克科技有限公司 一种基于数据内容识别的存储方法及装置
US8826439B1 (en) * 2011-01-26 2014-09-02 Symantec Corporation Encoding machine code instructions for static feature based malware clustering
US20140279933A1 (en) * 2013-03-14 2014-09-18 Konica Minolta Laboratory U.S.A., Inc. Hashing Schemes for Managing Digital Print Media
US9213748B1 (en) * 2013-03-14 2015-12-15 Google Inc. Generating related questions for search queries
US20140298470A1 (en) * 2013-03-31 2014-10-02 Kaspersky Lab Zao System and Method for Adaptive Modification of Antivirus Databases
JP2015069302A (ja) * 2013-09-27 2015-04-13 株式会社日立ソリューションズ インデクス作成装置および空間情報検索装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113553587A (zh) * 2021-06-21 2021-10-26 深信服科技股份有限公司 一种文件检测方法、装置、设备及可读存储介质
CN113553587B (zh) * 2021-06-21 2024-02-23 深信服科技股份有限公司 一种文件检测方法、装置、设备及可读存储介质

Also Published As

Publication number Publication date
EP3370183A1 (en) 2018-09-05
EP3839785A1 (en) 2021-06-23
WO2018160939A1 (en) 2018-09-07
EP3839785B1 (en) 2023-07-26
US20180253439A1 (en) 2018-09-06
EP3370183B1 (en) 2021-05-05

Similar Documents

Publication Publication Date Title
EP3839785B1 (en) Characterizing malware files for similarity searching
US9304979B2 (en) Authorized syndicated descriptions of linked web content displayed with links in user-generated content
JP5856139B2 (ja) 仮想ドキュメントを用いたインデックス付与と検索
US9716771B2 (en) Cache control for web application resources
CN108763244B (zh) 在图像内搜索和注释
US11036764B1 (en) Document classification filter for search queries
Duck et al. bioNerDS: exploring bioinformatics’ database and software use through literature mining
Khan et al. Two pre-processing operators for improved learning from semanticweb data
US9823922B1 (en) Source code mapping through context specific key word indexes and fingerprinting
WO2022105497A1 (zh) 文本筛选方法、装置、设备及存储介质
CN107786529B (zh) 网站的检测方法、装置及系统
KR101931859B1 (ko) 전자문서의 대표 단어 선정 방법, 전자 문서 제공 방법, 및 이를 수행하는 컴퓨팅 시스템
JP6242087B2 (ja) 文書管理サーバ、文書管理方法、コンピュータプログラム
US9720814B2 (en) Template identification for control of testing
JP5162215B2 (ja) データ処理装置、データ処理方法、および、プログラム
JP6194180B2 (ja) 文章マスク装置及び文章マスクプログラム
WO2015063873A1 (ja) 情報検索システムおよび情報検索方法
KR102146116B1 (ko) 오픈 소스 분석 도구를 활용한 기계학습 기반의 비정형 빅데이터 거버넌스 방법
WO2017175247A1 (en) Method and system for generating content from search results rendered by a search engine
Ma et al. API prober–a tool for analyzing web API features and clustering web APIs
CN109145220B (zh) 数据处理方法、装置及电子设备
US8934662B1 (en) Tracking image origins
JP2022527671A (ja) プラットフォームをまたいだコンテンツのミュート
US9483553B2 (en) System and method for identifying related elements with respect to a query in a repository
EP3163474A1 (en) A similarity module, a local computer, a server of a data hosting service and associated methods

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