基于存在的计算机生成的字符串的应用中的恶意软件检测制造技术

技术编号:22651336 阅读:50 留言:0更新日期:2019-11-26 18:56
可执行文件可以至少部分地基于存在的计算机生成的文本字符串(作为函数名称、方法名称或变量名称)而被确定为恶意的。可以确定可执行文件中的函数名称、方法名称和变量名称的属性。属性可以包括可执行文件中至少一个文本字符串的辅音相对于元音的比率。属性还可以包括序列中的辅音的数量,该序列不受可执行文件中的至少一个文本字符串的元音的干扰。如果属性指示函数名称、方法名称或变量名称已由计算机生成,则可执行文件可被标记为可能是恶意的。

Malware detection in application based on existing computer generated strings

The executable can be determined to be malicious based at least in part on a computer generated text string that exists as a function name, method name, or variable name. You can determine the properties of the function name, method name, and variable name in the executable. Property can include the ratio of consonants to vowels of at least one text string in the executable. Property can also include the number of consonants in a sequence that is not interfered with by the vowels of at least one text string in the executable. If a property indicates that a function name, method name, or variable name has been generated by a computer, the executable can be marked as potentially malicious.

【技术实现步骤摘要】
【国外来华专利技术】基于存在的计算机生成的字符串的应用中的恶意软件检测相关申请的交叉引用本申请要求2017年3月30日提交的题为“基于存在的计算机生成的字符串的应用中的恶意软件检测”、申请序列号为62/479,153的美国临时专利的优先权,该专利目前正在申请中,其全部公开通过引用并入本文。
本专利技术通常涉及恶意软件检测,更具体地,涉及基于存在的计算机生成的字符串的应用中的恶意软件检测。
技术介绍
Malware是“恶意软件(malicioussoftware)”的缩写,是可用于在用户不知情或未经用户同意的情况下破坏计算机操作、毁坏数据、收集敏感信息或访问私人计算机系统的软件。此类恶意软件的示例包括软件病毒、特洛伊木马、根程序病毒包(rootkits)、勒索软件等。恶意软件开发人员使用的一种常见机制是将恶意软件嵌入到文件中,该文件对用户来说是合乎需要的,或者在用户访问网站时下载并执行。例如,恶意软件可以嵌入到看似合法且有用的可执行文件或软件应用中。用户下载文件,当文件打开时,文件中的恶意软件被执行。包含恶意软件的文件可称为恶意文件。为了保护计算设备的恶意软件检测是主要关注的问题。正确识别哪些文件包含恶意软件以及哪些文件是良性的可能是一项艰巨的任务,因为恶意软件开发人员经常混淆恶意软件的各种属性以试图避免被反恶意软件软件检测到。例如,恶意软件创建者通常通过使用计算机随机生成的名称命名函数、方法和/或变量名称来尝试隐藏恶意属性。因此,需要能够基于可执行文件或应用中存在的计算机生成的函数名称、变量名称和/或方法名称来检测恶意软件的系统和方法。还需要适于确定可执行文件或应用中的文本字符串是否是计算机生成的文本字符串的系统和方法。
技术实现思路
本专利技术通常涉及用于检测文件中的恶意软件的系统和方法。本专利技术的一个实施例指向一种接收可执行文件并确定可执行文件中的文本字符串集方法。文本字符串可以至少包括函数名称、变量名称或方法名称。对一个或多个文本字符串的各个方面进行分析以确定文本字符串中的至少一个是否是计算机生成的文本字符串。可以在评估文本字符串时采用迭代循环。可以确定至少一个文本字符串中的辅音相对于元音的比率是否大于预定或可配置的阈值。在这样做时,确定文本字符串中的辅音数量和元音数量。辅音数量可以除以元音数量,以确定文本字符串中辅音相对于元音的比率。如果文本字符串中的辅音相对于元音的比率大于预定或可配置的阈值,则可以将文本字符串指示为可能是计算机生成的字符串。在一个实施例中,辅音相对于元音的比率的阈值例如是3.0。还可以确定在文本字符串中不被元音中断的序列中的辅音数量是否大于预定或可配置的阈值。如果在文本字符串中不被元音中断的序列中的辅音数量大于预定或可配置的阈值,则可以将文本字符串指示为可能是计算机生成的字符串。在一个实施例中,不被元音中断的序列中的辅音数量的阈值例如是3.0。本专利技术的另一个实施例涉及一种非暂时性机器可读介质,其上存储有指令,该指令包括计算机可执行指令,该计算机可执行指令在被执行时被配置用于基于计算机生成的文本字符串的存在来检测文件中的恶意软件。在一个实施例中,计算机可执行指令使一个或多个处理器进行上面概述的方法的一个或多个步骤。本专利技术的另一方面涉及一种系统,该系统包括一个或多个处理器和非暂时性机器可读介质,其上存储有计算机可执行指令,该指令适于基于计算机生成的文本字符串的存在来检测文件中的恶意软件,如上所概述。附图说明为了更好地理解本专利技术的主题,可以参考附图,其中:图1是示出根据本专利技术一个实施例的用于基于存在的计算机生成的字符串来检测恶意软件的方法的操作的流程图;图2是示出根据本专利技术的一个实施例的用于确定字符串是计算机生成的字符串的方法的操作的流程图。图3是示出根据本专利技术一个实施例的用于基于存在的计算机生成的字符串来检测恶意软件的示例系统的框图;和图4是可以在其上执行本专利技术主题的实施例的计算机系统的示例实施例的框图。具体实施方式在本专利技术的示例实施例的以下详细描述中,参考附图,该附图形成本专利技术的示例实施例的一部分,并且其中通过图示的方式示出了可以实践本专利技术的特定示例实施例。对这些实施例进行足够详细的描述,以使本领域技术人员能够实践本专利技术的主题,并且应该理解,可以利用其他实施例,并且可以在不脱离本专利技术主题的范围的情况下进行逻辑、机械、电气和其他改变。以下详细描述的一些部分是根据对计算机存储器内的数据位的操作的算法和符号表示来呈现的。这些算法描述和表示是数据处理领域的技术人员用来最有效地将他们工作的实质传达给本领域其他技术人员的方式。这里的算法通常被认为是导致期望结果的自相一致的步骤序列。这些步骤是需要物理操纵物理量的步骤。通常,尽管不是必须的,这些量采用能够被存储、传输、组合、比较和以其他方式操纵的电信号或磁信号的形式。有时,主要出于通用的原因,已经证明将这些信号称为比特、值、元素、符号、字符、术语、数字等是方便的。然而,应该记住,所有这些和类似术语都与适当的物理量相关联,并且仅仅是应用于这些量的方便标签。除非另有明确说明,否则从以下讨论中可明显看出,诸如“处理”或“计算”或“运算”或“确定”或“显示”等术语是指计算机系统或类似计算设备的动作和过程,其将表示为计算机系统的寄存器和存储器内的物理(例如,电子)量的数据操纵和变换为类似地表示为计算机系统存储器或寄存器或其他此类信息存储、传输或显示设备内的物理量的其他数据。在附图中,始终使用相同的附图标记来表示出现在多个图中的相同部件。信号和连接可以用相同的参考数字或标号表示,并且实际含义将从其在说明书的上下文中的使用中变得清楚。通常,给定项目或本专利技术的一部分的附图标记的第一个数字应对应于首先识别项目或部分的图号。各种实施例的描述仅被解释为示例,并未描述本专利技术主题的每个可能实例。使用当前或未来技术的组合可以实现许多替换方案,这仍然属于权利要求的范围。因此,以下详细描述不应被视为具有限制意义,并且本专利技术主题的范围仅由所附权利要求限定。当开发人员创建安卓(Android)应用时,他或她通常使用常规单词作为变量、函数、方法和值的名称。例如,可以将减去两个数字的函数称为“subtracfNumbers”。这是一个可以理解的人类可读名称,它可以作为该函数的简要描述。通过使用任何语言的常规单词,可以使源代码更容易理解。但是,判断应用是否是恶意的简单方法是查看方法、函数和变量的名称。例如,如果有一个函数被称为“infectDevice”或“getPrivateData”,可以很容易地确定此类函数名称是恶意活动的指示符。即使是最基本的防病毒软件也可能只是通过查看函数名称来标记此应用是恶意的。因此,恶意软件创建者通常通过使用随机生成的名称来命名方法来尝试隐藏此恶意活动,例如,“infectDevice”可以替换为“pqrtpqrpqrt”。基于这样的名称不能容易地确定该功能做什么,并且类似地,传统的防病毒程序也不能识别出它们。真正应用的创建者不本文档来自技高网
...

【技术保护点】
1.一种确定文件中恶意软件存在的方法,所述方法包括:/n接收可执行文件;/n确定所述可执行文件中的文本字符串集,所述文本字符串包括具有函数名称、变量名称或方法名称的组中的至少一个成员;以及/n响应于确定所述文本字符串集中的至少一个文本字符串是计算机生成的文本字符串,确定所述可执行文件可能包含恶意软件。/n

【技术特征摘要】
【国外来华专利技术】20170330 US 62/479,1531.一种确定文件中恶意软件存在的方法,所述方法包括:
接收可执行文件;
确定所述可执行文件中的文本字符串集,所述文本字符串包括具有函数名称、变量名称或方法名称的组中的至少一个成员;以及
响应于确定所述文本字符串集中的至少一个文本字符串是计算机生成的文本字符串,确定所述可执行文件可能包含恶意软件。


2.如权利要求1所述的方法,其中,所述确定所述文本字符串集中的至少一个文本字符串是计算机生成的文本字符串包括:确定所述至少一个文本字符串中的辅音相对于元音的比率大于预定或可配置的阈值。


3.如权利要求2所述的方法,其中,所述确定所述至少一个文本字符串中的辅音相对于元音的比率大于预定或可配置的阈值包括:
确定所述至少一个文本字符串中的辅音数量;
确定所述至少一个文本字符串中的元音数量;以及
将所述辅音数量除以所述元音数量,以确定辅音相对于元音的比率。


4.如权利要求2或3所述的方法,其中,辅音相对于元音的比率的所述预定或可配置阈值是3.0。


5.如前述权利要求中任一项所述的方法,其中,所述确定所述文本字符串集中的至少一个文本字符串是计算机生成的文本字符串包括:确定所述至少一个文本字符串中的不被元音中断的序列中的辅音数量大于预定或可配置的阈值。


6.如权利要求5所述的方法,其中,不被元音中断的序列中的辅音数量的所述预定或可配置阈值是3.0。


7.如前述权利要求中任一项所述的方法,其中,所述确定所述文本字符串集中的至少一个文本字符串是计算机生成的文本字符串包括对所述文本字符串集执行迭代,所述迭代包括:
确定所述至少一个文本字符串的辅音相对于元音的比率大于预定或可配置的第一阈值;
确定所述至少一个文本字符串中的不被元音中断的序列中的辅音数量是否大于预定或可配置的第二阈值;以及
如果超过第一阈值或第二阈值,则指示所述至少一个文本字符串可能是计算机生成的字符串。


8.一种非暂时性机器可读介质,其上存储有指令,所述指令包括计算机可执行指令,所述计算机可执行指令在被执行时使一个或多个处理器:
接收可执行文件;
确定所述可执行文件中的文本字符串集,所述文本字符串包括具有函数名称、变量名称或方法名称的组中的至少一个成员;以及
响应于确定所述文本字符串集中的至少一个文本字符串是计算机生成的文本字符串,确定所述可执行文件可能包含恶意软件。


9.如权利要求8所述的非暂时性机器可读介质,其中,所述确定所述文本字符串集中的至少一个文本字符串是计算机生成的文本字符串包括:确定所述至少一个文本字符串中的辅音相对于元音的比率大于预定或可配置的阈值。


10.如权利要求8或9所述的非暂时性机器可读介质,其中,所述计算机可执行指令还包括计算机可执行指令,用以:
确定所述至少一个文本字符串中的辅音数量;
确定所述至少一个文本字符串中的元音数量;
将所述辅音数量除以所述元音数量,以确定辅音相对于元音的比率;以及
确定所述辅音相对于元音的比率大于预定或可配置的阈值。


11.如权利要求10所述的非暂时性机器可读介质,其中,辅音相对于元音的比率的所述预定或可配...

【专利技术属性】
技术研发人员:D科诺皮斯基
申请(专利权)人:爱维士软件有限责任公司
类型:发明
国别省市:捷克;CZ

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

1