利用函数长度统计确定文件相似度的系统和方法技术方案

技术编号:21637506 阅读:49 留言:0更新日期:2019-07-17 14:02
可以使用可执行文件或数据对象中的函数的函数长度来确定可执行文件或可执行对象的文件相似性向量。可以扫描可执行文件或数据对象,并且可以确定函数的长度。可以使用诸如函数数量、最大函数长度、最小函数长度、以及平均函数长度的各种统计来创建文件相似性向量。文件相似性向量可用于比较文件。

A Method and Method for Determining File Similarity Using Function Length Statistics

【技术实现步骤摘要】
【国外来华专利技术】利用函数长度统计确定文件相似度的系统和方法本申请要求2016年9月30日提交的题为“FunctionLengthStatisticstoDetermineFileSimilarity”的美国临时专利申请序列号62/402,658的优先权,其全部公开内容通过引用结合于此。
本专利技术一般涉及反恶意软件(anti-malware)技术,更具体地,本专利技术涉及通过利用函数长度统计确定文件相似性来检测恶意软件。
技术介绍
恶意软件(为“恶意的软件”的缩写)是用于在用户不知情或未经用户同意的情况下破坏计算机操作、损害数据、收集敏感信息、或获得访问私人计算机系统权限的软件。此类恶意软件的示例包括软件病毒、特洛伊木马、rootkit、勒索软件等。恶意软件开发者使用的一种常见机制是将恶意软件嵌入到被做成用户看似可取的文件中,或者用户访问网站时下载并执行的文件中。例如,恶意软件可以嵌入到看似合法且有用的软件应用程序中。用户下载文件,当文件被打开时,文件中的恶意软件被执行。包含恶意软件的文件可称为恶意文件。面对增长的恶意软件的威胁,开发了许多反恶意软件软件包以检测用户文件中的恶意软件。在检测时,反恶意软件软件可以通知用户恶意软件的存在,并且可以自动移除或隔离恶意软件。然而,用于检测恶意软件的传统系统需要大量的时间消耗来分析目标文件或数据。在使用反汇编数据库时,可以减少程序分析负载,因为可以将文件函数与其他文件函数进行比较,但是其在检测混淆的(obfuscated)恶意软件时可能无效。处于这些原因,存在对用于检测恶意软件的改进方法的需求,特别是在不降低系统性能的情况下。专利技术内容本专利技术一般涉及用于使用文件相似性向量检测恶意软件的系统和方法。为了检测恶意软件,可以使用可执行文件或数据对象中的函数的函数长度来确定可执行文件或可执行对象。本专利技术的一个实施例涉及一种方法,其中程序在计算机系统上执行,该计算机系统可以包括单个计算设备或通过网络连接的多个计算设备。该方法可以包括接收用于运行操作系统(OS)的可执行文件的步骤,其中可执行文件格式是可变的,不限于,计算设备的OS。例如,可执行文件可以是在MicrosoftWindows系统中使用的PE文件、在Linux系统中使用的ELF文件、在UNIX系统中使用的ELF文件,或者在MACOSX中使用的Mach-O文件。可执行文件可以包括标头(header)、代码和数据段。系统可以扫描或搜索可执行文件,并且代码段中的值可以被引用。在PE文件系统的情况下,如果扫描的值是操作码,则系统解析目标地址。然而,如果扫描的值不是操作码,则系统可以使用来自系统的存储器单元的虚拟地址。可以使用各种统计,诸如函数数量、最大函数长度、最小函数长度、以及平均函数长度来创建文件相似性向量。可以将文件的文件相似性向量与已知包含恶意软件的其他文件的文件相似性向量进行比较。系统可以确定目标地址是否用于有效函数。例如,如果用预定阈值将系统设置为“six:6”,则系统可以通过第六指令继续反汇编指令,直到达到函数结束为止。因此,可以确定检测到的函数的长度或文件的各种统计学数据。本专利技术的另一个实施例涉及一种非暂时性存储介质,其上存储有程序,该程序被配置用于分析计算设备上的可执行程序是否包含恶意软件。计算机可读存储介质上的程序适用于搜索可执行文件的代码段以获取函数引用。随后,计算程序可以确定与一个或多个函数的集合相关联的一个或多个统计,以及函数的长度。统计可以合并到文件相似性向量中。例如,如果文件相似性向量可以包括平均函数值,则可以确定统计平均函数长度值。基于文件比较,可以提供文件相似性向量,以用于有效的恶意软件检测。其他目的和特征将部分是显而易见的,并部分地在下文中指出。附图说明为了更好地理解本公开,可以参考附图,其中:图1是示出根据本专利技术的一个实施例的、用于确定文件相似性向量的方法的流程图。图2是示出根据本专利技术的一个实施例的、用于确定文件相似性指纹的方法的流程图。图3A是示出按其在可执行文件中的出现顺序的函数的函数长度的示例计数的图。图3B是示出图3A的可执行文件中的相同函数的函数长度的示例计数的图,其中函数按函数长度排序。图4是示出根据本专利技术的一个实施例的、利用文件相似性向量的示例系统的框图。图5是根据本专利技术的一个实施例的、可以在其上执行系统和方法的实施例的计算机系统的框图。具体实施方式在本专利技术的示例实施例的以下详细描述中,参考形成本文一部分的附图,并且其中通过图示的方式示出了可以实践本专利技术的特定示例实施例。充分详细地描述了这些实施例以使本领域技术人员能够实践本专利技术的主题,并且应理解,可以利用其他实施例,并且在不脱离本专利技术的主题的范围的情况下,可以做出逻辑、机械、电气以及其他的改变。以下详细描述的一些部分是按照对计算机存储器内的数据位的操作的算法和符号表示来呈现的。这些算法描述和表示是数据处理领域的技术人员用来将他们工作的实质最有效地传达给本领域其他技术人员的方式。这里的算法通常被认为是导致期望结果的自洽的步骤序列。所述步骤是需要对物理量进行物理操纵的步骤。通常(尽管不是必须的),这些量采用能够被存储、传输、组合、比较以及以其他方式操纵的电信号或磁信号的形式。有时,主要出于常用的原因,已经证明将这些信号称为比特、值、元素、符号、字符、术语、数字等是方便的。然而,应记住,所有这些和类似术语都与适当的物理量相关联,并且仅仅作为应用于这些量的方便标签。除非特别说明,否则诸如“处理”或“计算”或“数算”或“确定”或“显示”等术语是指计算机系统或类似的计算设备的动作和处理从以下讨论中是显而易见的,所述计算机系统或类似的计算设备将表示为计算机系统的寄存器和存储器内的物理(例如,电子)量的数据操纵并变换为类似地表示为计算机系统存储器或寄存器或其他此类信息储存、传输或显示设备内的物理量的其他数据。在附图中,始终使用相同的附图标记来表示出现在多个附图中的相同部件。信号和连接可以用相同的参考数字或标号表示,并且实际含义从其在说明书的上下文中的使用中将是清楚的。通常,本专利技术的给定项目或部分的附图标记的(多个)第一个数字应对应于首先识别项目或部分的图号。各种实施例的描述仅被解释为示例,并且未描述本专利技术主题的每个可能的实例。使用当前或未来技术的组合可以实现许多替代方案,这仍然属于权利要求的范围。因此,以下详细描述不应被视为具有限制意义,并且本专利技术主题的范围仅由所附权利要求限定。在本公开的各个方面,为可执行文件或对象生成文件相似性向量。在一些方面,文件相似性向量包括与可执行文件或对象中的函数的方面有关的值。例如,文件相似性向量生成器可以确定可执行文件或对象中的各种函数的长度,并且可以形成包含包括关于函数长度的统计的值的文件相似性向量。图1是示出根据本专利技术的、用于创建或确定文件相似性向量的方法的流程图100。在框102处,该方法接收可执行文件作为输入。可执行文件可以是包含可执行指令的任何类型的文件。例如,可执行文件可以是应用程序、目标代码库,或目标代码文件。在框104处,扫描可执行文件并确定可执行文件中的函数的位置。在框106处,确定可执行文件中的每个函数的长度。在一些方面,可以将长度确定为函数中的指令数量。在替代方面,可以将长度确定为指令在存本文档来自技高网...

【技术保护点】
1.一种计算机实现的方法,用于通过确定可执行文件的文件相似性向量来检测恶意软件,所述计算机实现的方法包括以下步骤:确定所述可执行文件中的一个或多个函数的集合;对于所述一个或多个函数的集合中的每个函数,确定函数的长度;确定与所述一个或多个函数的集合相关联的一个或多个统计,所述一个或多个统计包括至少部分地基于所述函数的长度的统计;以及至少部分地基于所述一个或多个统计来确定所述文件相似性向量。

【技术特征摘要】
【国外来华专利技术】2016.09.30 US 62/402,6581.一种计算机实现的方法,用于通过确定可执行文件的文件相似性向量来检测恶意软件,所述计算机实现的方法包括以下步骤:确定所述可执行文件中的一个或多个函数的集合;对于所述一个或多个函数的集合中的每个函数,确定函数的长度;确定与所述一个或多个函数的集合相关联的一个或多个统计,所述一个或多个统计包括至少部分地基于所述函数的长度的统计;以及至少部分地基于所述一个或多个统计来确定所述文件相似性向量。2.如权利要求1所述的方法,其中,所述一个或多个统计包括由所述可执行文件中的函数数量、最小函数长度、最大函数长度、平均函数长度、以及熵值组成的组中的至少一个成员。3.如权利要求1所述的方法,还包括以下步骤:至少部分地基于指令类型定位所述可执行文件中的所述函数的开头。4.如权利要求1所述的方法,还包括以下步骤:确定所述函数是否为有效函数。5.如权利要求4所述的方法,其中,所述确定所述函数是否为有效函数的步骤包括:确定是否能够成功反汇编在所述函数的开头处的预定或可配置数量的指令;响应于确定能够成功反汇编所述预定或可配置数量的指令,确定所述函数是有效的;以及响应于确定不能成功反汇编所述预定或可配置数量的指令,确定所述函数是无效的。6.如权利要求1所述的方法,还包括以下步骤:搜索代码段以获取函数引用。7.如权利要求6所述的方法,其中,所述代码段包括定界的函数块。8.如权利要求6所述的方法,其中,所述代码段中的值是用于调用指令的操作码,并且还包括以下步骤:确定所述调用指令的目标地址是否用于有效函数。9.如权利要求6所述的方法,其中,所述代码段中的值不是用于调用指令的操作码,并且还包括以下步骤:确定所述代码段中的值是否为虚拟地址。10.如权利要求1所述的方法,其中,所述可执行文件包括在MicrosoftWindows系统中使用的PE文件、在Linux系统中使用的ELF文件、在UNIX系统中使用的ELF文件,或者在MACOSX中使用的Mach-O文件。11.如权利要求1所述的...

【专利技术属性】
技术研发人员:M克雷德尔
申请(专利权)人:爱维士软件有限责任公司
类型:发明
国别省市:捷克,CZ

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1