CN109684835A - 使用机器学习来检测恶意文件的系统和方法 - Google Patents

使用机器学习来检测恶意文件的系统和方法 Download PDF

Info

Publication number
CN109684835A
CN109684835A CN201810772387.0A CN201810772387A CN109684835A CN 109684835 A CN109684835 A CN 109684835A CN 201810772387 A CN201810772387 A CN 201810772387A CN 109684835 A CN109684835 A CN 109684835A
Authority
CN
China
Prior art keywords
data
file
injury
data block
parameter
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.)
Granted
Application number
CN201810772387.0A
Other languages
English (en)
Other versions
CN109684835B (zh
Inventor
亚历山大·S·克里斯提科夫
叶卡捷琳娜·M·洛巴切瓦
阿列克谢·M·罗曼恩科
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.)
Kaspersky Lab AO
Original Assignee
Kaspersky Lab AO
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
Priority claimed from RU2017136618A external-priority patent/RU2679785C1/ru
Application filed by Kaspersky Lab AO filed Critical Kaspersky Lab AO
Publication of CN109684835A publication Critical patent/CN109684835A/zh
Application granted granted Critical
Publication of CN109684835B publication Critical patent/CN109684835B/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
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/15Correlation function computation including computation of convolution operations
    • 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/568Computer malware detection or handling, e.g. anti-virus arrangements eliminating virus, restoring damaged files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/12Detection or prevention of fraud

Abstract

本发明公开了使用机器学习来检测恶意文件的系统和方法。示例性方法包括:基于规则选择被分析的对象中的一个或多个数据块;对所述一个或多个数据块进行静态分析以确定所述一个或多个数据块的特征集;基于所述特征集和用于检测恶意对象的模型来确定所述对象的危害程度,其中,所述模型已经用机器学习的方法在至少一个安全对象和一个恶意对象上训练过;当所述危害程度不超过预定的危害阈值时,识别所述对象为安全的;以及,当所述一个或多个数据块的所述危害程度超过所述预定的危害阈值时,将所述对象识别为恶意的。

Description

使用机器学习来检测恶意文件的系统和方法
技术领域
本发明大体上涉及防病毒技术,并且更具体地涉及使用机器学习来检测恶意文件的方法和系统。
背景技术
最近十年中计算机技术的迅速发展,以及各种计算设备的广泛分布(个人电脑、笔记本电脑、平板电脑、智能手机等),已成为在各个活动领域使用这些设备的强大动力,也带来了大量的问题(从上网到银行转账和电子文档的传输)。随着计算机设备数量的增长,以及运行在这些设备上的软件的发展,恶意程序的数量也在快速增长。
目前,存在大量的各种类型的恶意程序。其中,一些程序从这些设备的用户那里窃取个人数据和机密数据(比如登录名和密码、银行信息、电子文档)。另一些程序通过从用户的设备中形成所谓的僵尸网络来进行攻击,比如拒绝服务(分布式拒绝服务(DistributedDenial of Service,DDoS)),或者通过在其他计算机或计算机网络上使用暴力的方法来对密码进行分类。还有一些程序通过侵入广告、付费订阅、发送短信到收费号码等方式向用户提供付费内容。
被称为防病毒程序的专门程序用于对抗恶意程序,包括检测恶意程序、防止感染,以及恢复已被恶意程序感染的计算机设备的工作能力。防病毒程序使用各种技术来检测全部种类的恶意程序,例如:
●静态分析——基于被分析程序的组成文件中包含的数据,对危害程序的分析,包括对被分析程序工作的运行或仿真,可以在统计分析中使用:
o签名分析——搜索被分析程序的特定代码段与来自恶意程序签名数据库的已知代码(签名)的对应关系;
o白名单和黑名单——在恶意程序(黑名单)的校验和数据库或者安全程序(白名单)的校验和数据库中,搜索被分析程序(或其中的某些部分)的计算校验和;
●动态分析——基于被分析程序工作的执行或仿真过程中所获得的数据,对危害程序的分析,可以在动态分析中使用:
o启发式分析——对被分析程序工作的仿真、仿真日志(包含API函数调用的数据,传输的参数,被分析程序的代码段,等等)的创建,以及搜索所创建日志数据与来自恶意程序行为特征数据库的数据之间的对应关系;
o主动保护——拦截对被分析的启动程序的API函数的调用、对被分析程序行为日志(包含API函数调用的数据,传输的参数,被分析程序的代码段,等等)的创建、以及搜索所创建日志的数据与来自恶意程序调用数据库的数据之间的对应关系。
静态分析和动态分析各有利弊。静态分析对执行分析的计算机设备的资源的要求较低,因为它不需要执行或仿真被分析程序,统计分析在所作分析的速度方面更有效率,但同时就所做分析的质量而言不太有效,即检测出恶意程序检测的百分比较低,且假警报(例如宣布一个经防病毒程序分析的文件是恶意的结论,但实际上该文件是安全的)的百分比较高。因为使用执行或仿真被分析程序工作过程中获得的数据,所以动态分析在所作分析的速度方面效率较低,并且对执行分析的计算机设备资源的要求较高,但另一方面完成分析的质量更为有效。现代防病毒程序采用了一种综合分析,包括了静态分析和动态分析两者的元素。
由于计算机安全的现代标准要求对恶意程序(尤其是以前不为人知的程序)进行操作响应,所以对恶意程序的自动检测是关注的主要焦点。为了有效地操作这些方法,人们经常使用人工智能的元素和用于检测恶意程序的各种模型(例如,以一组特定的描述恶意文件的输入数据的基础上的文件的危害性形成的决策规则集)的机器学习方法,以使得能够不仅对众所周知的恶意程序或者具有众所周知的恶意行为的恶意程序进行有效检测,而且还能够对新的具有未知的或较少研究的恶意行为的恶意程序进行有效检测,以及使得能够进行用来检测新的恶意程序的操作适配(学习)。
尽管已知的技术很好地解决了对具有某些特征的恶意文件(例如,用来描述特定文件组的文件的某些特性的数据,如图形界面的存在,数据加密,通过计算机网络的数据传输,等等)的检测,该某些特征类似于已知恶意文件的特征,但是已知的技术往往无法检测到特征与已知恶意文件的特征不同的恶意文件(尽管行为类似)。
发明内容
公开了使用机器学习来检测恶意文件的系统和方法。
根据一个方面,提供了一种方法包括:基于规则选择被分析的对象中的一个或多个数据块;对所述一个或多个数据块进行静态分析以确定所述一个或多个数据块的特征集;基于所述特征集和用于检测恶意对象的模型来确定所述对象的危害程度,其中,所述模型已经通过机器学习的方法在至少一个安全对象和一个恶意对象上训练过;当所述危害程度不超过预定的危害阈值时,识别所述对象为安全的;以及,当所述一个或多个数据块的危害程度超过所述预定的危害阈值时,将所述对象识别为恶意的。
在另一个方面,所述方法还包括:如果所述对象被识别为恶意的,则重新训练所述用于检测恶意对象的模型。
在另一个方面,所述方法还包括:基于包括被分析的对象的参数和先前找到的数据块的特征的标准,搜索要从所述对象中选择的一个或多个数据块。
在另一个方面,选择所述一个或多个数据块包括:计算所述一个或多个数据块的参数,所述参数包括以下各项中的一个或多个:数据块的大小、数据块在所述对象中的位置、所述对象的类型以及所述对象中的相关数据。
在另一个方面,基于分析模型来执行选择所述一个或多个数据块,并且所述分析模型是用于搜索以增加将所述对象分类为恶意的概率的规则集。
在另一个方面,所述规则集取决于针对先前找到的数据块所确定的特征。
在另一个方面,所述特征集包括以下各项中的一个或多个:供选择的数据块的参数、包含在数据块中的数据的类型、数据块与先前选择的数据块之间的逻辑或功能关系、以及危害系数。
在另一个方面,所述危害系数被计算为与所述对象所执行的每个命令相关联的权重的总和。
进一步地,在一个方面,提供了用于检测恶意文件的系统,所述系统包括硬件处理器,所述硬件处理器被配置为:基于规则选择被分析的对象中的一个或多个数据块;对所述一个或多个数据块进行静态分析以确定所述一个或多个数据块的特征集;基于所述特征集和用于检测恶意对象的模型来确定所述对象的危害程度,其中,所述模型已经通过机器学习的方法在至少一个安全对象和一个恶意对象上训练过;当所述危害程度不超过预定的危害阈值时,识别所述对象为安全的,其中,对所述对象的所有数据块执行静态分析;以及。当所述一个或多个数据块的所述危害程度超过所述预定的危害阈值时,将所述对象识别为恶意的。
此外,在一个方面,提供了在其上存储指令的计算机可读介质,在所述指令执行时,执行用于检测恶意文件的方法,该方法包括:基于规则选择被分析的对象中的一个或多个数据块;对所述一个或多个数据块进行静态分析以确定所述一个或多个数据块的特征集;基于所述特征集和用于检测恶意对象的模型来确定所述对象的危害程度,其中,所述模型已经用机器学习的方法在至少一个安全对象和一个恶意对象上训练过;当所述危害程度不超过预定的危害阈值时,识别所述对象为安全的,其中,对所述对象的所有数据块执行静态分析;以及,当所述一个或多个数据块的所述危害程度超过所述预定的危害阈值时,将所述对象识别为恶意的。
以上对示例方面的简化概述用于提供对本发明的基本理解。该概述不是对所有预期方面的广泛概述,并且既不旨在标识所有方面的关键或重要元素,也不旨在描绘本发明的任何或所有方面的范围。其唯一目的是以简化形式呈现一个或多个方面,作为随后的更详细描述的具体实施方式的序言。为了实现上述内容,本发明的一个或多个方面包括在权利要求中描述和特别指出的特征。
附图说明
附图合并到本说明书中,并构成了本说明书的一部分,示出了本发明的一个或多个实例特征,并结合详细的描述,有助于解释实施例的原理和实现。
图1是根据本发明的示例性方面的一种用于使用机器学习来检测恶意文件的系统的框图。
图2是根据本发明的示例性方面的一种用于使用机器学习来检测恶意文件的方法的流程图。
图3示出了根据本发明的示例性方面随行为模式数量而动态变化的危害程度的示例。
图4示出了根据本发明的示例性方面的行为模式的元素之间的关系的示意图的示例。
图5是根据本发明的示例性方面的一种对象分类系统的框图。
图6是根据本发明的示例性方面的一种对象分类方法的流程图。
图7示出了根据本发明的示例性方面的通用计算机系统、个人计算机或服务器的示例。
具体实施方式
现在,通过参考附图来描述多种特征,其中,同样的附图标记自始至终都指的是同样的元素。在以下描述中,为了便于解释,为了促进对一个或多个特征的全面理解,阐述了大量具体的细节。然而,在一些或所有实例中,可以很明显地看出,下面任何描述的特征都可以在不采用以下描述的特定设计细节的情况下进行实践。在其他情况下,为了便于对一个或多个特征的描述,在框图中显示了众所周知的结构和设备。
以下术语将通用于本发明、附图和权利要求书。
恶意文件——一种文件,已知这种文件的执行会导致未经授权的破坏、阻塞、修改、复制计算机信息或用于保护计算机信息的模块失效。
可执行文件的恶意行为——在该文件执行期间可能执行的一组操作,且已知该组操作能够导致未经授权的破坏、阻塞、修改、复制计算机信息或用于保护计算机信息的模块失效。
可执行文件的恶意活动——由该文件根据其恶意行为执行的一组操作。
普通用户的计算机设备——假设的(理论上的)计算机设备,具有先前选定的一组用户的计算机设备的平均特征,与这些用户的计算设备上所执行的应用程序相同的应用程序在所述计算机设备上被执行。
计算机设备的可执行命令——可由计算设备执行的一组机器指令或脚本的指令,计算设备基于这些指令的参数(称为命令参数或描述所述命令的参数)来执行这些指令。
词法分析(标记化)——将字符的输入序列解析为经识别组(以下简称为:词位)的分析过程,以在输出端形成识别序列(以下简称为:令牌)。
令牌——在词法分析过程中由词位形成的识别序列。
图1示出了根据本发明的示例性方面的一种使用机器学习来检测恶意文件的系统的框图。机器学习系统100包括:配置为准备训练选集的准备模块111,配置为形成行为日志的日志模块112,配置为形成行为模式的模式模块121,配置为形成卷积函数的卷积模块122,配置为创建检测模块的检测模型模块131,配置为执行检测模型的机器学习的机器学习(ML)模块132,配置为计算危害程度的危害性模块142,配置为管理资源的资源模块143。
一方面,所述系统100具有客户端-服务器体系结构,其中,所述准备模块111、所述日志模块112、所述模式模块121、所述卷积模块122、所述检测模型模块131和所述ML模块132在所述服务器侧工作,且所述模式模块121、所述危害性模块142和所述资源模块143在所述客户端侧工作。
例如,所述客户端可以是用户的所述计算机设备,比如个人电脑、笔记本、智能手机等等。所述服务器可以是防病毒公司的计算机设备,比如用于执行文件的初步收集和防病毒分析的服务器的分布式系统,防病毒记录的创建等等。在这方面,所述系统100可以用于检测所述客户端侧的恶意文件,从而提高该客户端防病毒保护的有效性。
在另一个示例中,所述客户端和所述服务器都可以是防病毒公司单独的所述计算机设备,其中,所述系统100可以用于文件的自动防病毒分析和防病毒记录的创建,从而提高防病毒公司的工作有效性。
根据一个方面,所述准备模块111从文件数据库中选择至少一个文件。然后,所述准备模块111将所述选择文件传送到所述ML模块132,所述ML模块132在所述选择文件的基础上对检测模型进行训练。一旦所述检测模型被训练过,或者训练到预先确定的程度,所述日志模块112就会生成一个行为日志,所述行为日志将所述选择文件执行的每一条命令按目录分类。所述模式模块121基于所述行为日志来制定行为模式。一旦知道了所述行为模式,所述卷积模块122就会根据所述行为模式形成一个卷积函数,在某些情况下,所述卷积函数是通过计算所述行为模式的特征向量来形成的。所述检测模型模块131创建了一个检测模型,所述检测模型基于所述准备模块111所选择的至少一个文件的参数。在所述检测模型创建之后,所述ML模块132被配置为,通过使用所述卷积模块122的所述卷积函数来计算所述检测模型的参数,来教导(或者换句话说,训练)检测模型。所述ML模块132在所述准备模块111选择的文件上训练所述检测模型。
最后,所述检测模型用于在训练和行为模式的基础上计算被分析文件的危害程度。然后,由所述ML模块132检查所述检测模块,以确定恶意判定是否准确。当确定所述检测模块被不合适训练时(即,恶意文件没有被检测为恶意的),由所述ML模块132进行重新训练。当针对恶意性分析文件时,所述危害性模块142根据所述行为日志和所述训练过的检测模型来计算文件的危害程度。因此,所述资源模块143可以分配被分析文件所属的计算机系统的计算资源,以确保计算机系统的安全。
所述准备模块111被设计为:
●根据预先确定的形成文件学习选集的规则,从文件数据库中选择至少一个文件,在此之后,所述ML模块132将在对所述选择文件的分析的基础上实行对所述检测模型的训练;
●将所述选择文件发送到所述日志模块112。
在所述系统的一个方面,至少有一个安全文件和一个恶意文件被保存在所述文件数据库中。
例如,所述文件数据库可以将Windows操作系统的文件作为安全文件保存,可以将后门程序、进行未授权访问数据的应用程序,和远程控制操作系统和计算机的应用程序的文件整体作为恶意文件保存。通过训练所提到的文件和使用机器学习的方法,所述检测恶意文件的模型能够高准确度的检测出有一个功能类似于上述后门程序的功能的恶意文件(准确度越高,用于上述检测模型的训练的文件越多)。
在所述系统的另一个方面,所述文件数据库此外至少保留:
●可疑的文件(风险软件)-不是恶意的文件,但是能够执行恶意的操作;
●未知文件-这些文件的危害性尚未确定,并且仍然未知(即,不安全的文件、恶意的文件、可疑的文件等等)。
例如,所述文件数据库可以具有用于远程管理的应用程序文件(比如RAdmin)、存档的文件或数据加密的文件(比如WinZip)等等作为可疑的文件。
在所述系统的另一个方面,所述文件数据库至少保留文件:
●由防病毒网络爬虫收集的;
●由用户发送的。
上述文件由防病毒专家分析,包括在自动文件分析的帮助下进行的分析,以便宣布对这些文件的危害作出的判断。
例如,所述文件数据库可以保留由用户从他们的计算机设备发给防病毒公司以用于对其危害性进行检查的文件,在这种情况下,所传输的文件可能是安全的也可能是恶意的,所述安全文件和所述恶意文件之间的数量分布,接近于位于所述用户计算机设备上的所有安全文件和所有恶意文件之间的数量分布(即,所述安全文件数量与所述恶意文件数量的比率与位于所述用户计算机设备上的所有安全文件数量与所有恶意文件数量的比率之间的差异的数量值,小于指定阈值
)。不同于用户传输的文件(例如那些主观上可疑的文件),由防病毒网络爬虫收集的文件通常被证明是恶意的,所述防病毒网络爬虫被设计用来搜索可疑的文件和恶意的文件。
在所述系统的另一个方面,至少有下列条件之一被用作从文件数据库中选择文件的标准:
·从所述文件数据库中选择的安全文件与恶意文件之间的分布,对应于位于普通用户的计算机设备上的安全文件与恶意文件之间的分布;
●从所述文件数据库中选择的安全文件与恶意文件之间的分布,对应于在防病毒网络爬虫帮助下收集的安全文件与恶意文件之间的分布;
·从所述文件数据库中选择的文件的参数,对应于位于普通用户的计算机设备上的文件的参数;
●所选文件的数量对应于一个预先确定的值,而文件本身是随机选择的。
例如,所述文件数据库包含100000个文件,其中,40%是安全文件,60%是恶意文件。从所述文件数据库中选择出15000个文件(占总数15%的文件被保留在所述文件数据库中),例如所选择的安全文件与恶意文件之间的分布,对应于位于普通用户的计算机设备上的安全文件与恶意文件之间的分布,合计为95比5。出于这个目的,从所述文件数据库中随机选择了14250份安全文件(占安全文件总数的35.63%)和750份恶意文件(占恶意文件总数的1.25%)。
在另一个示例中,所述文件数据库包含1250000个文件,其中,95%是安全文件,5%是恶意文件,也就是说,在所述文件数据库中保留的安全文件与恶意文件之间的分布,对应于位于普通用户的计算机设备上的安全文件与恶意文件之间的分布。在这些文件中,有5000个文件是随机选择的,其中有4750个被证明是安全文件,且有250个有很高的可能性是恶意文件。
在所述系统的另一个方面,所述文件参数至少有:
●文件的危害性,描述文件的特性是否是安全的、恶意的、潜在危险的、或者在执行所述文件时计算机系统的行为是不确定的,等等;
●在所述文件执行期间,由计算机设备执行的命令的数量;
●文件的大小;
●使用所述文件的应用程序。
例如,从“ActionScript”语言的脚本文件数据库中选择了恶意文件,所述恶意文件可由应用程序“Adobe Flash”执行,并且所述恶意文件的大小不超过5kb。
在所述系统的另一方面,所述准备模块111还被设计为:
●根据预先确定的形成文件测试选集的规则,从文件数据库中选择至少一份其他文件,在此之后,所述ML模块132将在对所述选择文件的分析的基础上实行对所述训练过的检测模型的验证;
●将所述选择文件发送到所述日志模块112。
例如,所述文件数据库包含75000个文件,其中,20%是安全文件,80%是恶意文件。首先,从所述文件数据库中选择出12500个文件,其中,30%是安全文件且70%是恶意文件,之后所述ML模块132将在所述选择文件分析结果的基础上,执行对所述检测模型的训练,然后从剩余的62500个文件中选择出2500个文件,其中,60%是安全文件且40%是恶意文件,在此之后,所述ML模块132将在所述选择文件分析结果的基础上,执行对所述检测模型的检查。以上述方式制定的数据称为交叉验证数据集。
所述日志模块112被设计为:
●至少在以下过程期间,拦截至少一个可执行的命令:
o所接收到文件的执行,
o对所接收到的文件的执行的仿真,其中,对所述文件的执行的仿真包括打开上述文件(例如,通过解释器打开脚本);
●针对每个拦截命令确定至少一个描述所述命令的参数;
●在所述经拦截命令和由其确定的参数的基础上形成所获得的文件的行为日志,其中,所述行为日志构成了来自文件中的经拦截命令(以下简称为,所述命令)的总和,其中,每个命令对应至少一个由其确定并且描述该命令的参数(以下简称为,所述参数)。
例如,所述命令在收集密码并通过计算机网络传输所述密码的恶意文件执行时进行拦截,并且所述命令的计算参数,可以如下所述:
CreateFile,‘c:\windows\system32\data.pass’
ReadFile,0x14ea25f7,0xf000
connect,http://stealpass.com
send,0x14ea25f7,0xf000
在所述系统的一个方面,从文件中命令的拦截至少是通过以下方式完成的:
●专门的驱动程序;
●调试程序;
●管理程序。
例如,在执行文件时命令的拦截和所述命令参数的确定是借助驱动程序完成的,所述驱动程序通过拼接一个WinAPI函数的入口点来进行拦截。
在另一个示例中,在文件工作的仿真过程中,对命令的拦截是通过执行所述仿真的仿真程序方式直接完成的,这决定了需要仿真的命令的参数。
在另一个示例中,在虚拟机上的文件的执行过程中,对命令的拦截是通过管理程序方式完成的,这决定了需要仿真的命令的参数。
在所述系统的另一个方面,文件中的所述经拦截命令至少有:
●API函数;
●描述预先确定的一组操作(宏命令)的一组机器指令。
例如,恶意程序经常执行对某些文件的搜索并修改它们的属性,为此它们使用了一系列命令,例如:
FindFirstFile,‘c:\windows\system32\*.pass’,0x40afb86a
SetFileAttributes,‘c:\windows\system32\data.pass’
FindNextFile,0x40afb86a
CloseHandle,0x40afb86a
,上述命令可以只通过一个命令来描述
_change_attributes,‘c:\windows\system32\*.pass’
在系统的另一个方面,每个命令都与它唯一的标识符相匹配。
例如,所有WinAPI函数都可以与0x0000到0x8000的范围中的数值相匹配,其中,每个WinAPI函数都对应一个惟一的数值(例如,ReadFile→0x00f0、ReadFileEx→0x00f1、connect→0x03A2)。
在系统的另一个方面,描述相似操作的几个命令与单个标识符相匹配。
例如,所有的命令,比如ReadFile、ReadFileEx、ifstream、getline、getchar等等,它们描述了文件数据的读取,与一个标识符_read_data_file(0x70F0)相匹配。
所述模式模块121被设计为:
●在所述命令和从行为日志中选择的参数的基础上,形成至少一个行为模式,其中,所述行为日志构成来自所述文件的全部可执行命令(以下简称为,所述命令),其中,每个命令对应于至少一个描述该命令的参数(以下简称为,所述参数),所述行为模式为至少有一个命令和这样的参数的集合,描述了该集合的所有命令(以下简称为所述行为模式的元素);
●将形成的所述行为模式发送给所述卷积模块122;
例如,从所述行为日志中选择出下列命令ci和参数pi
{c1,p1,p2,p3},
{c2,p1,p4},
{c3,p5},
{c2,p5},
{c1,p5,p6},
{c3,p2}.
在所述选择的命令和参数的基础上,形成了每个行为模式中包含一个命令和一个描述该命令的参数的行为模式:
{c1,p1},{c1,p2},{c1,p3},{c1,p5},{c1,p6},
{c2,p1},{c2,p4},{c2,p5},
{c3,p2},{c3,p5}.
接下来,在形成所述模式的基础上,还形成了每个行为模式中包含一个参数,并且所有的命令都可以用该参数来描述的行为模式:
{c1,c2,p1},
{c1,c3,p2},
{c1,c2,c3,p5},
然后,在形成所述模式的基础上,还形成了每个行为模式中包含多个参数,并且所有的命令都可以同时用这些参数来描述的行为模式:
{c1,c2,p1,p5}.
在所述系统的一个方面,所述命令和所述参数是从所述行为日志中选择的,至少在以下规则的基础上选择:
●每一个连续的级命令和描述该命令的参数,增量i是预先指定的;
●所述命令在预先确定的时间周期(例如,每10秒)后,从所述预先选择的命令以及描述这些命令的参数中执行;
●所述命令和所述描述这些命令的参数是在所述文件执行开始的预定时间间隔内执行的;
●来自预先确定的列表的所述命令和所述描述这些命令的参数;
●来自预先确定的列表的所述参数和这些参数描述的所述命令;
●当命令参数的数量大于预定的阈值时,在这种情况下,k为第一或者随机命令参数。
例如,从所述行为日志一中选择了使用硬盘的所有命令(比如CreateFile、ReadFile、WriteFile、DeleteFile、GetFileAttribute等等)和描述所选命令的所有参数。
在另一个示例中,从所述行为日志一中选择了每第一千个的命令和描述所选命令的所有参数。
在所述系统的一个方面,所述行为日志是由至少两个文件预先形成的,其中,一个是安全文件,另一个是恶意文件。
在系统的另一个方面,所述行为日志的每个元素都与诸如所述行为模式的元素类型的特征相匹配。所述行为模式(命令或参数)的元素的类型至少是:
●“数值范围”,如果所述行为模式的元素可以被表示成数值,
例如,对于构成connect命令的参数porthtml=80的所述行为模式的元素,所述行为模式的所述元素的类型可以是“从0x0000到0xFFFF的数值范围”,
●“字符串”,如果所述行为模式的元素可以被表示成字符串的形式,例如,对于构成connect命令的参数的所述行为模式的元素,所述行为模式的所述元素的类型可以是“小于32个字符的字符串”,
●如果所述行为模式的元素可以用由预先确定的数据结构所描述的数据的形式来表示,则所述行为模式的元素类型可以是“数据结构”,
例如,对于构成find_record命令的参数src=0x336b9a480d490982cdd93e2e49fdeca7的行为模式的元素,所述行为模式的所述元素的类型可以是“数据结构MD5”,
在所述系统的另一个方面,所述行为模式还包括,作为所述行为模式的元素,在所述行为模式的所述元素的词法分析的基础上形成的令牌,至少使用了:
●对词位形成的预先确定的规则,
●预先训练过的递归神经网络。
例如,借助所述参数的词法分析
‘c:\windows\system32\data.pass’
在所述词位形成规则的基础上:
●如果所述字符串包含文件路径,则确定文件所在的磁盘;
●如果所述字符串包含文件路径,则确定文件所在的文件夹;
●如果所述字符串包含文件路径,则确定文件扩展名;
其中,所述词位是:
●文件路径;
●文件所在的文件夹;
●文件名;
●文件扩展名;
可以形成的令牌为:
在另一个示例中,借助所述参数的词法分析
‘81.19.82.8’,‘81.19.72.38’,‘81.19.14.32’
在所述词位形成规则的基础上:
●如果所述参数构成了IP地址,则确定描述所述IP地址(例如,等式M∧IP=const中的位掩码M对所有所述IP都为真)的位掩码(或它的模拟,由元字符表示);
所述令牌可以制定:
‘81.19.*.*’.
在另一个示例中,从所有可用的参数组成的数值中,所述数值的所述令牌是在预定范围内形成的:23,16,7224,6125152186,512,2662162,363627632,737382,52,2625,3732,812,3671,80.3200
排序是通过数值范围完成的:
从0到999
→{16,23,52,80.512,812},
从1000到9999
→{2625,3200.3671,7224},
从10000开始
→{737382,2662162,363627632,6125152186}
在所述系统的另一方面,令牌是由由字符串组成的行为模式的元素形成的。
例如,所述行为模式是包含磁盘名称、目录、文件、文件扩展名等的文件路径。在这种情况下,所述令牌可以是所述磁盘名称和所述文件扩展名。
C:\Windows\System32\drivers\acpi.sys
C:\
*.sys
所述卷积模块122被设计为:
●由所述行为模式形成卷积函数,这样所述卷积函数的结果的反卷积函数在获得的行为模式上执行的的结果,与所获得的行为模式有一定的相似度,所述相似度大于指定值,即
r~g-1(g(r))
其中:
ri是所述行为模式,
g是所述卷积函数,
g-1是所述反卷积函数,
●将形成的所述卷积函数发送给所述ML模块132;
在所述系统的另一方面,所述卷积模块还被设计为:
●在所述获得的行为模式的基础上计算行为模式的特征向量,其中,所述行为模式的特征向量可以表示为所述行为模式的元素的哈希和的总和;
●由所述行为模式的特征向量形成一个卷积函数,其中,所述卷积函数构成一个哈希函数,从而,所述计算出的特征向量,和由所述计算出的特征向量得出的所述哈希函数的结果的反哈希函数的结果的相似度,大于预定值。
在所述系统的另一个方面,所述卷积函数是由度量学习方法形成的。在这方面,在借助行为模式的所述卷积函数获得的卷积之间的计算出的距离,具有比预定的相似度阈值更高的相似度。所述计算出的距离小于预定的距离阈值。然而,对于相似度小于预定的相似度阈值的行为模式,所述计算出的距离大于所述预定的距离阈值。
例如,所述行为模式的特征向量可以如下计算:
●首先创建一个空的位向量,由100000个元素组成(其中一位信息是为所述向量的每个元素保留的);
●所述行为模式r中的1000个元素预留用于存储所述命令ci的数据,其余99000个元素预留给所述行为模式r的所述参数ci,其中,50000个元素(从元素1001到元素51000)预留给字符串参数,以及25000个元素(从元素51001到元素76000)预留给数值参数;
●所述行为模式r的每个命令ci都与从0到999的特定数值xi相匹配,并且相应的位被设置在创建的所述向量中。
v[xi]=true;
●对于所述行为模式r的每个参数pi,哈希和是由下列公式计算的:
o对于字符串:yi=1001+crc32(pi)(mod 50000)
o对于数值:yi=51001+crc32(pi)(mod 25000)
o对于其余的:yi=76001+crc32(pi)(mod 24000)
,根据所述计算出的哈希和,在所述创建的向量中设置对应的位v[yi]=true;
由元素组成的、所描述的位向量构成了所述行为模式r的特征向量。
在所述系统的另一个方面,所述行为模式的特征向量是由以下公式计算的:
D=∑ibi×h(ri)
其中:
b是计算位置系统的基础(例如,对于二进制向量b=2,对于代表字符串的向量,即,一组字符,b=8),
ri是所述行为模式的第i个元素,
h是哈希函数,其中0≤h(ri)<b。
例如,所述行为模式的特征向量可以如下计算:
●首先创建另一个空的位向量(与前面的示例不同),由1000个元素组成(其中一位信息是为所述向量的每个元素保留的);
●根据公式计算所述行为模式r的每个模式元素r_i的哈希和:
,根据所述计算出的哈希和,在所述创建的向量中设置对应的位v[xi]=true;
在所述系统的另一个方面,所述行为模式的特征向量构成了Bloom过滤器。
例如,所述行为模式的特征向量可以如下计算:
●首先创建另一个空的向量(与前面的示例不同),由100000个元素组成;
●通过以下公式的一组哈希函数{hj},为所述行为模式r的每个模式元素ri计算至少两个哈希和:
xij=hj(ri)
其中:
hj(ri)=crc32(ri),
hj(0)=constj
,根据所述计算出的哈希和,在所述创建的向量中设置对应的元素
v[xij]=true
在所述系统的另一个方面,所述行为模式的特征向量的制定的卷积函数的结果的大小,小于所述行为模式的特征向量的大小。
例如,所述特征向量构成一个包含100000个元素的位向量,因而具有12500字节的大小,而所述特征向量的卷积函数的结果构成了8个MD5哈希和的集合,因而具有256字节的大小,即所述特征向量大小的2%。
在所述系统的另一个方面,所述特征向量与所述计算出的特征向量的所述哈希函数的结果的所述反哈希函数的结果之间的相似度,构成了范围在0到1之间的数值,并且通过以下公式计算:
其中:
h(ri)∧gi表示h(ri)与gi的同余
并且
{h(ri)}是所述行为模式的元素的所述哈希函数的结果集,
{gi}是所述行为模式的元素的所述哈希函数的结果的所述反哈希函数的结果集,
ri是所述行为模式的第i个元素,
h是所述哈希函数,
w是所述相似度。
例如,所述计算出的特征向量构成了位向量
1010111001100100101101110111111010001000110010010010011101011011
01010001100110110100100010000001011101110011011011
,该特征向量的所述卷积函数的结果是
1010011110101110101
,以及上述所得结果的所述逆卷积函数的结果是
1010111001000100101101110011111010001000110010010100011101011011
01110001100110110100000010000001011101110011011011
(其中,粗体表示的元素与所述特征向量不同)。因此,所述特征向量和反卷积函数的结果的相似度是0.92。
在所述系统的另一个方面,前面提到的哈希函数使用所述行为模式的元素,作为取决于所述行为模式的元素类型的参数:
例如,为了由行为模式计算哈希和,可以使用哈希函数CRC32,所述行为模式构成了包含有到文件的路径的字符串;对于任何其他字符串-可以使用霍夫曼算法;对于数据集-可以使用哈希函数MD5。
在的所述系统的另一个方面,行为模式的所述特征向量的所述卷积函数的形成是由自动编码器完成的,其中,输入数据是所述行为模式的所述特征向量的元素,并且输出数据是与所述输入数据的相似系数大于预定阈值的数据。
所述检测模型模块131被设计为:
●为恶意文件创建检测模型,至少包括:
o所述检测模型的机器学习方法的选择;
o训练模型参数的初始化,其中,在所述检测模型的机器学习开始之前初始化的所述训练模型参数被称为超参数;
在一个方面,所述检测模型依赖于所述准备模块111所选择的文件的参数;另一方面,所述检测模型是固定的且不依赖于所述训练模型的参数。在另一方面,本文公开的每一种模型,包括所述检测模型、所述训练模型等,都可能依赖于所述准备模块111的传入文件、所述检测模型的机器学习方法参数和收到的用于验证的模型参数。
●将创建的所述训练模型发送给所述ML模块132;
根据一个方面,可以根据一种方法形成检测模型,然后用于所述准备模块111来生成基于所述文件数据库的行为日志。在实时条件下,基于所述文件的确定的严重性,使用所述机器学习模块132对所述训练模型进行重新训练。在另一方面,可以基于所述文件数据库中的文件,使用所述准备模块11来形成和训练所述检测模型。在这种方法中,所述检测模型可以在本文描述的系统操作之前进行微调,在已部署的生产环境中对文件进行操作。在另一方面,所述系统使用单个文件作为训练样本文件和可能需要防病毒扫描的文件。在这方面,行为日志没有积累或者补充,因此所述检测模型不是基于以前键入的文件统计数据构建的,而是检测模型对每个文件进行单独调整。
例如,当选择所述检测模型的机器学习方法时,首先决定是否使用人工神经网络或随机森林作为所述检测模型,然后,如果选择随机森林,则选择随机森林的节点的分离标准;或者如果选择人工神经网络,则选择人工神经网络参数的数值优化方法。基于该方法在使用预定种类(例如,数据结构、所述行为模式的元素数量、用于对恶意文件的进行搜索的所述计算机设备的性能、所述计算设备的可用资源,等等)的输入数据(行为模式)来检测恶意文件时的有效性(例如,在对恶意文件的检测过程中出现的第一类和第二类错误的数量),来决定机器学习的特定方法的选择。
在另一个示例中,所述检测模型的机器学习方法至少在以下基础上选择:
●交叉测试、滑动检查、交叉验证(CV);
●AIC标准、BIC标准的数学验证等;
●A/B测试、分割测试;
●堆叠。
在另一个示例中,当计算机设备性能低于预定的阈值时,选择随机森林,否则就选择人工神经网络。
在所述系统的一个方面,机器学习是为预先创建的未经训练的检测模型执行的(例如,一种检测模型,其中,所述模型的参数在输入数据分析的基础上,不能产生准确度高于预定阈值的输出数据)。
在所述系统的另一个方面,所述检测模型的机器学习方法至少在以下基础上选择:
●基于决策树的梯度提高;
●决策树;
●K-最近邻法;
●支持向量机(SVM)方法。
在所述系统的另一个方面,所述检测模型模块131还被设计为根据需要从所述ML模块132创建检测模型,其选择的某些超参数和机器学习方法,与先前的检测模型所选择的超参数和机器学习方法不同。
所述ML模块132被设计为训练所述检测模型,其中所述检测模型的参数是利用所述获得的卷积函数,基于所获得的行为模式计算出的,其中所述检测模型基于至少一种行为模式,利用所述检测模型的计算参数,构成用于计算文件危害程度的规则集。
例如,利用所述准备模块111选择的已知文件集训练所述检测模型,其中所述文件集包含60%的安全文件和40%的恶意文件。
在所述系统的一个方面,文件的危害程度构成从0到1的数值,其中,0表示所述文件是安全的,1表示所述文件是恶意的。
在所述系统的另一个方面,选择了训练所述检测模型的方法,以确保文件危害程度的单调变化,取决于基于所述行为日志分析形成的行为模式的数量变化。
例如,文件危害程度的单调变化意味着,在分析每个后续行为模式时,计算出的危害程度将不小于先前计算出的危害程度(例如,在分析第10个行为模式之后,计算出的危害程度等于0.2;在分析第50个行为模式之后,所述危害程度是0.4;并且在分析第100个行为模式后,所述危害程度是0.7)。
在所述系统的另一方面,所述ML模块132还被设计为:
●对在文件测试选集的文件的分析基础上形成的所述获得的行为日志,执行所述训练过的检测模型的检查,以确定文件测试选集的文件危害性的正确测定;
●如果检查结果为否定的,则至少发送一个请求:
o到所述准备模块111,准备与当前用于训练所述检测模型的文件集不同的文件选集;
o到所述检测模型模块131,创建与当前检测模型不同的新的检测模型。
对所述训练过的检测模型的检查包括以下内容:基于由所述准备模块111选择的文件集来教导所述检测模型,已知这些文件是安全的还是恶意的。为了验证用于检测恶意文件的模型已被正确训练,即所述检测模型能够检测恶意文件并传递安全文件,执行所述模型的检查。为此目的,所述检测模型用于确定所述准备模块111选择的来自另一文件集的文件是否是恶意的,已经预先知道这些文件是否是恶意的。因此,可以确定“错过”了多少恶意文件以及检测到多少安全文件。如果错过的恶意文件和检测到的安全文件的数量大于预定阈值,则认为该检测模型训练不当并且需要对其进行重复机器学习(例如,对另一个文件训练选集,使用与所述检测模型的先前的参数值不同的参数值,等等)。
例如,当执行对所述训练过的模型的检查时,检查来自文件测试选集的恶意文件的检测中第一类和第二类错误的数量。如果这种错误的数量大于预定阈值,则选择新的训练和文件测试选集,并创建新的检测模型。
在另一个示例中,所述文件训练选集包含10000个文件,其中,8500个是恶意的,1500个是安全的。在教导所述检测模型后,检查了包含1200个文件的文件测试选集,其中,350个是恶意的,850个是安全的。根据检查执行的结果,350个恶意文件中有15个未被检测出(4%),而850个安全文件中有102个(12%)被错误地认为是恶意文件。如果未检测出的恶意文件数超过5%,或者意外检测出的安全文件超过0.1%,则认为所述训练过的的检测模型训练不当。
在所述系统的一个方面,所述系统的行为日志还基于先前形成的所述系统的行为日志,和在所述系统的行为日志形成之后拦截的命令而形成。
例如,在开始执行必须发布关于该文件的危害性或安全性的判定的文件之后,经拦截命令和描述这些命令的参数被记录在行为日志中。在分析这些命令和参数的基础上,计算该文件的危害程度。如果根据分析结果没有判定所述文件是恶意的还是安全的,则可以继续拦截命令。所述拦截的命令和描述它们的参数被记录在旧的行为日志或者新的行为日志中。在第一种情况下,基于对记录在所述行为日志中的所有命令和参数的分析来计算危害程度,即,甚至是那些先前用于计算危害程度的命令和参数。
所述危害性模块142被设计为:
●基于从所述日志模块112获得的所述行为日志和从所述ML模块132获得的所述检测模型来计算危害程度,文件的危害程度是定量特征(例如,位于0-所述文件只有安全行为到1-表示所述文件有预定的恶意行为的范围内),描述所述可执行文件的恶意行为;
●将所述计算出的危害程度发送到所述资源模块143。
所述资源模块143被设计成基于所获得的危害程度的分析来分配所述计算机系统的计算机资源,以用于确保计算机系统的安全性。
在所述系统的一个方面,所述计算机系统的计算机资源至少包括:
●空闲RAM的容量;
●硬盘上的可用空间量;
●可以在防病毒扫描(例如,用更大的仿真深度)上花费的可用处理器时间(处理器时间的量)。
在所述系统的另一个方面,对危害程度的分析在于确定在每个先前危害程度的计算之后的所述危害程度值的变化的动态,并且至少:
●在所述危害程度值增加的情况下分配额外的计算机系统资源;
●在所述危害程度值减少的情况下释放先前分配的计算机系统资源;
图2是根据本发明的示例性方面的一种用于使用机器学习来检测恶意文件的方法的流程图。方法200可以在所述系统100上实现。简而言之,所述方法200包括:在步骤211,准备文件训练选集;在步骤212,形成行为日志;在步骤221,形成行为模式;在步骤222,形成卷积函数;在步骤231,创建检测模型;在步骤232,训练所述检测模型;在步骤241,跟踪所述计算机系统的行为;在步骤242,计算所述危害程度;以及在步骤243,管理所述计算机系统的资源。
更具体地,在步骤211中,所述准备模块111用于根据预定标准从文件数据库中选择至少一个文件,其中,所述检测模型的训练将基于所述选择文件在步骤232中完成。
在步骤212中,使用了所述日志模块112:
●拦截至少一个命令,至少在以下期间:
o步骤211中所述选择文件的执行,
o步骤211中所述选择文件工作的仿真,
●为每个拦截命令确定至少一个描述该命令的参数;
●在所拦截的命令和所述确定的参数的基础上,形成所获得文件的行为日志,其中所述行为日志代表来自所述文件的经拦截命令(以下简称为,命令)集,其中每个命令对应至少一个描述该命令的定义的参数(以下简称为,参数)。
在步骤221中,所述模式模块121用于在所述命令和从在步骤212中形成的行为日志中选择的参数的基础上,形成至少一个行为模式,其中所述行为日志代表来自所述文件的可执行命令组(以下简称为,所述命令),其中每个命令对应于至少一个描述该命令的参数(以下简称为,所述参数),所述行为模式为至少有一个命令和这样的参数的集合,该参数描述了该集合的所有命令;
在步骤222中,所述卷积模块222用于由步骤221中形成的所述行为模式形成卷积函数,这样所述卷积函数的结果的反卷积函数在上述行为模式上执行的的结果,与上述行为模式有一定的相似度,所述相似度大于指定值。
在步骤231中,所述检测模型模块131用于创建检测模型,至少为:
●选择检测模型的机器学习方法;
●初始化所述训练模型的参数,其中,在开始所述检测模型的机器学习之前初始化的所述训练模型的参数被称为超参数,取决于在步骤211中所述选择文件的参数。
在步骤232中,所述ML模块132用于训练在步骤231中创建的所述检测模型,其中所述检测模型的参数是利用在步骤222中形成的卷积函数基于步骤221中形成的行为模式计算出的,其中所述检测模型基于至少一种行为模式,利用所述检测模型的计算参数,构成用于计算文件危害程度的一组规则。
在步骤241中,使用了行为跟踪模块141以:
●拦截由计算机系统中运行的所述文件执行的至少一个命令;
●基于所述经拦截命令形成所述系统的行为日志。
在步骤242中,所述危害性模块142用于,基于在步骤241中形成的所述系统的行为日志和在步骤232中训练的所述检测模型,来计算所述危害程度。
在步骤243中,所述资源模块143用于,基于在步骤242计算出的危害程度的分析来分配计算机资源,以确保计算机系统的安全性。
图3示出了根据本发明的示例性方面随行为模式数量而动态变化的危害程度的示例。
所述危害程度变化的动态作为行为模式数量的函数的示例包含图表311,所述图表311绘制了所述危害程度的任意变化的动态作为在恶意文件执行期间形成的行为模式的数量的函数。图3还示出了所述危害程度单调变化的动态作为在执行恶意文件期间形成的行为模式数量的函数的图表312。图表321绘制了所述危害程度任意变化的动态作为在执行安全文件期间形成的行为模式数量的函数。最后,图表322绘制了所述危害程度单调变化的动态作为在执行安全文件期间形成的行为模式数量的函数。
在所述系统的一个方面,可执行文件的所述危害程度取值范围为0(所述文件具有绝对安全的行为)到1(所述文件具有预定的恶意行为)。
图表311示出了所述危害程度任意变化的动态作为在执行恶意文件期间形成的行为模式数量的函数。
在开始时,在执行所述文件时,形成的行为模式的数量不大,此外,所述可执行文件的恶意活动可能不存在或最小(例如,发生数据的初始化,这对于许多文件来说是自然的,包括安全文件)。因此最初,计算出的危害程度与0略有不同,并且不超过预定阈值(以下简称为,所述安全标准)。在所述危害程度超过所述阈值之后,所述可执行文件的行为不再被认为是安全的(在图表上,该阈值由虚线表示)。
然而,随着时间的推移,可执行文件的恶意活动增加并且所述危害程度可能开始接近1,超过安全标准,同时所述危害程度可能还未达到预定阈值(以下简称为,所述危害标准)此后传递可执行文件的行为将被认为是恶意的(在图表中,该阈值由短划线表示)。
经过一段时间的增长后,所述恶意活动可能会停止,并且危害程度将再次趋于0(时间A)。在某个时间,所述危害程度将大于所述危害标准(时间B),并且可执行文件的行为将被识别为恶意的,因此被分析的所述文件将被识别为恶意的。
将文件识别为恶意文件的时间可能比恶意活动开始增长的时间晚得多,因为所描述的方法对于所述危害程度的突然增长有很好的响应,这种情况最常发生在可执行文件长期的、明显表现出恶意的活动中。
如果恶意活动是偶然发生的(图表311的左侧),则计算出的所述危害程度可能达不到对所述可执行文件行为的危害性以及所述可执行文件本身的危害性进行判决的值。
在不基于形成的每个行为模式(例如,因为计算机装置的性能不高)来计算所述危害程度的情况下,可能出现在时间A(当恶意活动开始时)和时间C(恶意活动完成时)计算所述危害程度的情况,但不会在时间B(当恶意活动发生时)计算所述危害程度的情况。因此,计算出的所述危害程度不会超过所述危害标准,所述可执行文件的活动将不会被识别为恶意的,因此将无法检测到恶意文件。
图表312示出了所述危害程度单调变化的动态作为在执行恶意文件期间形成的行为模式数量的函数。
在开始时,在执行所述文件时,形成的行为模式的数量不大,且所述可执行文件的恶意活动可能不存在或最小(例如,发生数据的初始化,这对于许多文件来说是自然的,包括安全文件)。因此,计算出的危害程度与0略有不同,并且不超过预定阈值(以下简称为,所述安全标准)。如上所述,所述安全标准为一个值,如果超过该值,则表明所述可执行文件的行为不再被认为是安全的(在图表上,该阈值由虚线表示)。
然而,随着时间的推移,可执行文件的恶意活动增加并且所述危害程度开始接近1,超过安全标准,同时所述危害程度可能还未达到预定阈值(以下简称为,所述危害标准)此后传递可执行文件的行为将被认为是恶意的(在图表中,该阈值由短划线表示)。
经过一段时间的增长(时间A-B),恶意活动可能会停止(时间B-A)但危害程度不会下降,而只会在所述可执行文件的任何恶意活动期间继续增长。在某个时间,所述危害程度将大于所述危害标准(时间D),并且可执行文件的行为将被识别为恶意的,因此所述文件自身将被识别为恶意的。
将文件识别为恶意文件的时间可能在恶意活动显现之后立即发生,因为所描述的方法对于所述危害程度的平稳增长有很好的响应,这种情况可以发生在可执行文件长期的、明显表现出恶意的活动中,也可以发生在频繁的、偶然的、不太明显的恶意活动中。
如果恶意活动是偶然发生的(图表312的左侧),则计算出的所述危害程度随着时间的推移可能达到对所述可执行文件行为的危害性以及所述可执行文件本身的危害性进行判决的值。
在不基于形成的每个行为模式(例如,因为计算机装置的性能不高)来计算所述危害程度的情况下,可能出现在时间A(当恶意活动开始时)和时间C(恶意活动完成时)计算所述危害程度的情况,但不会在时间B(当恶意活动发生时)计算所述危害程度的情况;尽管如此,由于所述危害程度是单调变化的,计算出的所述危害程度只会增加其值,而在时间C,所述危害程度将超过所述危害标准,所述可执行文件的活动将被识别为恶意的,因此恶意文件将被检测出。
图表321示出了所述危害程度任意变化的动态作为在执行安全文件期间形成的行为模式数量的函数。
在开始时,在执行所述文件时,形成的行为模式的数量不大,此外,所述可执行文件没有恶意活动,尽管可能会执行“可疑”命令,所述“可疑”命令也可以在执行恶意文件期间执行(例如,删除文件,在计算机网络中传输数据等),因此计算出的所述危害程度不等于0且不超过所述预定阈值(以下简称为,所述安全标准),在超过所述预定阈值之后,可执行文件的行为不再被认为是安全的(在图上,该阈值由虚线表示)。
然而,随着时间的推移,可执行文件的恶意活动由于执行大量“可疑”命令而增长,并且所述危害程度开始接近1,同时所述危害程度可能还未达到预定阈值(以下简称为,所述危害标准)此后传递可执行文件的行为将被认为是恶意的(在图表中,该阈值由短划线表示),但它可能超出了安全标准,因此该文件可能不再被认为是安全的并且变得“可疑”。
经过一段时间的增长后,所述恶意活动可能会停止,并且危害程度将再次趋于0(时间C)。
在不基于形成的每个行为模式(例如,因为计算机装置的性能不高)来计算所述危害程度的情况下,在时间B(当所述活动最类似于恶意,即变得“可疑”)计算所述危害程度的情况是可能的,但不会在时间A(当所述“可疑”活动增加时)或者在时间C(当“可疑”活动正在减少时)计算所述危害程度,因而使计算出的所述危害程度超过所述安全标准,所述可执行文件的活动将被识别为“可疑”(它不会被认为是安全的),因而所述安全文件将不被认为是安全的。
图表322示出了所述危害程度单调变化的动态作为在执行安全文件期间形成的行为模式数量的函数。
在开始时,在执行所述文件时,形成的行为模式的数量不大,此外,所述可执行文件没有恶意活动,尽管可能会执行“可疑”命令,所述“可疑”命令也可以在执行恶意文件期间执行(例如,删除文件,在计算机网络中传输数据等),因此计算出的所述危害程度不等于0且不超过所述预定阈值(以下简称为,所述安全标准),在超过所述预定阈值之后,可执行文件的行为不再被认为是安全的(在图上,该阈值由虚线表示)。
然而,随着时间的推移,可执行文件的恶意活动由于执行大量“可疑”命令而增长,并且所述危害程度开始接近1,同时所述危害程度可能还未达到预定阈值(以下简称为,所述危害标准)此后传递可执行文件的行为将被认为是恶意的(在图表中,该阈值由短划线表示),并且它可能没有超出安全标准,因此所述文件会继续被认为是安全的。
经过一段时间的增长(时间A-B),恶意活动可能会停止(时间B-A)但危害程度不会下降,而只会在所述可执行文件的任何恶意活动期间继续增长,但不超过安全系数,因此所述可执行文件的活动将被识别为安全的,并且所述文件将被识别为安全的。
在不基于形成的每个行为模式(例如,因为计算机装置的性能不高)来计算所述危害程度的情况下,在时间B(当所述活动最类似于恶意,即变得“可疑”)计算所述危害程度的情况是可能的,但不会在时间A(当所述“可疑”活动增加时)或者在时间C(当“可疑”活动正在减少时)计算所述危害程度,然而,由于所述危害程度是单调变化的,计算出的危害程度只会增加其值,在时间A、时间B、时间C的所述危害程度不会超过所述安全标准,所述可执行文件的活动将被识别为安全的,因而安全文件将被认为是安全的。
在“可疑”活动显现之后,将文件识别为“可疑”的时间可能不会出现,因为所描述的方法提供了所述危害程度的平稳增长,这样可以避免所述危害程度增长中出现尖峰。
图4显示了行为模式元素之间的关系的示意图的实例。
行为模式的元素之间的关系图的示例包含命令411(清除周期),参数412(孵化周期),具有一个参数412的行为模式的示例,以及具有一个命令411的行为模式的示例。
在执行文件期间,拦截所述命令411并确定描述它们的参数412:
CreateFile 0x24e0da54‘.dat’
{c1,p1,p2}
ReadFile 0x24e0da54‘.dat’
{c2,p1,p2}
DeleteFile 0x24e0da54‘.dat’‘c:\’
{c3,p1,p2,p3}
CreateFile 0x708a0b32‘.dat’0x3be06520
{c1,p2,p3,p5}
WriteFile 0x708a0b32
{c4,p3}
WriteFile 0x708a0b32 0x3be06520 0x9902a18d1718b5124728f9 0
{c4,p3,p5,p6,p7}
CopyMemory 0x3be06520 0x9902a18d1718b5124728f9
{c5,p4,p5,p6}
ReadFile 0x9902a18d1718b5124728f9 0
{c2,p6,p7}
基于所述命令411和所述参数412形成行为模式(421,422),并确定所述行为模式元素之间的关系。
在第一步中,形成包含一个命令411和描述该命令的一个参数412的模式:
在所示的示例中,基于8个经拦截命令(具有描述它们的参数)形成了19个行为模式。
在第二步中,形成包含一个参数412和可由该参数412描述的所有命令411的模式:
在所示的示例中,基于8个经拦截命令(具有描述它们的参数)还形成了7个行为模式。
在第三步中,形成包含多个参数412和可由这些参数421描述的所有命令411的模式:
{c1,c2,c3,p1,p2}
{c4,c5,p5,p6}
{c2,c4,p6,p7}
在给出的示例中,基于8个经拦截命令(具有描述它们的参数)还形成了3个行为模式。
图5显示了对象分类系统的结构图。
所述对象分类系统的结构图包括:被分析的对象501、配置为选择数据块的数据块选择模块510、分析模型511、配置为执行对象的静态分析的静态分析模块520、配置为计算所述危害度的危害性模块530、用于检测恶意对象的模型531、分类模块540、以及配置为重新训练所述分析模型511的重新训练模块550。
所述被分析的对象501为下列各项之一:
●可执行文件;
●脚本,以及包含该脚本的文件;
●网络数据包,或类似的。
例如,所述被分析的对象501可以是可执行文件“word.exe”,所述可执行文件是Microsoft Office软件的组件。
在又一示例中,所述被分析的对象501可以是文件“manual.pdf”,所述文件是电子文档PDF。
在又一示例中,所述被分析的对象501可以是用“JavaScript”语言编写并包含在页面“index.html”上的脚本,通过浏览器从站点“google.com”下载。
在又一示例中,所述被分析的对象501可以是由因特网传送的数据(例如,从服务器应用程序“OnlineBankingServer(在线银行服务器)”传送到客户端应用程序“OnlineBanking App(在线银行应用)”的数据,所述服务器应用程序是在银行侧操作并且处理客户端请求的服务,所述客户端应用程序在用户的计算设备上运行),并被构造为网络数据包的形式。
所述数据块选择模块510被设计为:
●在所述分析模型511的帮助下,选择包含在所述被分析的对象501中的至少一个数据块;
●将所述选择的数据块发送到所述静态分析模块520。
●在所述系统的一个方面,在以下基础上执行对所述被分析的对象501中数据块(作为所述数据选择的元素之一)的搜索:
●所述被分析的对象501的参数;
●先前找到的数据块的特征。
例如,所述被分析的对象501的所述参数或者所述先前找到的数据块的特征可以至少用作:
●搜索新数据块的键;
·用于计算卷积的主要数据,通过该主要数据搜索新的数据块;
●搜索新数据块时形成的规则。
例如,所述分析模型511是用于基于上述数据搜索和选择数据块的一组规则。
在所述系统的另一个方面,所述数据块选集至少包括:
·计算并向所述静态分析模块520发送数据块的所述参数,其中,所选数据块的所述参数至少为:
o所述选择数据块的大小,
o所述选择数据块在所述被分析的对象501中的位置;
●基于所选块的计算参数(即,基于所选块的参数,例如,维度和位置,将确定如何从所述被分析的对象501复制所选块,以及如何转换所选块,例如,当复制加密数据、媒体数据时,等等),复制并直接向所述静态分析模块520发送包含在所述被分析的对象501中的数据。
例如,从可执行文件“explorer.exe”中选择一个描述该文件报头的数据块。为此,首先确定文件“explorer.exe”(type=WindowsPE)的类型,基于确定的文件类型计算所述文件报头的大小(size=4096byte),以及确定所述文件报头的位置(pos=0x120)。然后,4096字节被复制到所述静态分析模块520从被分析的文件“explorer.exe”的0x120位置提供的地址。一般来说,有关不同类型文件结构的信息是事先已知的,可以保存在单独的DB(数据库)中并根据需要使用,以便使用基于有关可执行文件报头结构的信息的算法来处理可执行文件(PE文件),而PDF文件将使用基于有关PDF文件报头结构的信息的其他算法进行处理,等等。
在又一示例中,所述静态分析模块520基于由所述数据块选择模块510计算和发送的参数,来完成与上述示例中相同的数据的复制。
在所述系统的另一个方面,所述被分析的对象501的参数至少是:
●被分析的对象的类型(例如可执行文件、脚本、网络数据包);
●写入所述被分析的对象501并形成该对象501的结构的数据,即相互关联的数据集。
例如,根据所述可执行文件的结构,例如报头、代码段、数据段等,连续选择来自所述被分析的对象501的数据块,所述被分析的对象501为可执行文件“explorer.exe”。
在又一示例中,Microsoft Word电子文档的参数是在该文档中写入的数据,并且表征所述文档中使用的字体(系列、字号、类型等等)。
在所述系统的另一个方面,先前找到的数据块的特征至少是:
●用于从所述被分析的对象501中选择该数据块的所述数据块的参数;
●所述数据块中包含的数据类型(例如,文本、数值、媒体数据、词位、脚本、可执行代码等等);
●该数据块与先前选择的数据块之间的逻辑或功能关系(例如,以二进制关系的形式),其中,当两个数据块(或两种类型的数据块,例如图像和音频)一起使用时,可能出现逻辑关系,而它们可能彼此不相关(例如图像和文本);当来自一个块的数据用于分析来自第二个块的数据时(例如,来自可执行文件的PE报头的数据和来自资源段的数据,关于哪个信息包含在PE报头中),可能出现功能关系。
●基于上述数据块计算的所述被分析的对象501的危害系数(来自所述数据块的数据用作计算所述危害系数的公式的参数,例如,来自所述可执行文件的代码段的每个命令的数量具有其自身的权重,即权重作为参数出现,并且来所述自代码段的所有命令的总权重形成所述危害系数)。
所述分析模型511是用于搜索数据块的规则集。所述搜索的执行使得找到的每个数据块增加了将所述被分析的对象501分类为恶意的概率。
在所述系统的一个方面,搜索数据块的规则可以是用于计算所寻找的数据块的参数的规则。
例如,借助于搜索数据块的规则,计算所述被分析的对象501中的数据块的位置和大小,使得上述数据块开始于被分析的文件501中的位置,在所述位置之前先前选择的数据块结束,并且上述数据块的大小不小于先前选择的数据块的大小。
在所述系统的另一个方面,用于搜索数据块的规则至少取决于先前找到的数据块的特征,其中,该依赖性至少可以涉及:
●选择算法(规则)来搜索数据块;
●使用先前找到的数据块来计算参数,所述数据块将用于搜索数据块的规则;
●基于先前找到的数据块预测新数据块的内容,搜索所述预测的数据块并确定所述找到的数据块与所述预测的数据块的相似度。
例如,在可执行文件“explorer.exe”501中,每个所选数据块应包含与先前选择的数据块相同类型的数据(即,媒体数据□媒体数据,文本□文本,可执行代码□可执行代码等)。并且如果不存在这样的块,则数据与先前选择的数据块有关(即,媒体数据□文本,文本□脚本,脚本□可执行代码等,但不是文本□可执行代码)。在一些方面,在#1类型的数据#1总是与#2类型的数据#2相关的情况下使用相关数据类型,例如,在视频文件中负责图像的数据(类型:视频数据)始终与负责声音的数据(类型:音频数据)相关。
在所述系统的另一个方面,所述分析模型511先前已经通过用于至少一个恶意对象的机器学习的方法进行了训练。
例如,完成训练使得所述训练过的分析模型511仅在所述训练选集中找到包含恶意数据(例如恶意代码)的数据块。
在所述系统的另一个方面,所述分析模型511的机器学习方法至少在以下使用:
●基于决策树的梯度增强;
●决策树;
●K-最近邻法;
●支持向量机(SVM)方法。
所述静态分析模块520执行所述对象的静态分析,并且被设计为:
●形成描述每个接收数据块的特征集;
●计算所述形成的特征集的集合的卷积;
●将所述计算出的卷积发送到所述危害性模块530。
在所述系统的一个方面,为所述数据块形成的特征至少包括:
●所述数据块中存在预定字符的频率特性;
●利用在所述被分析的对象501中存在的预定哈希函数,为来自上述数据块的字符计算哈希和的频率特性;
●访问外部函数库的次数;
●上述数据块中的总数据量。
在所述系统的另一个方面,基于预定的卷积函数执行所述制定的特征集的卷积的计算,使得对所有所述制定的特征集执行的该卷积函数的结果的反卷积函数的结果,对该特征集合的相似度大于给定值的的相似度。
例如,基于对数据块的分析,制定所述特征{p1,p7,p9,p11,p12,p15,p27},在此基础上计算所述卷积{h128,h763,h909}。当所述反函数应用于所述计算出的卷积时,获得所述特征{p1,p7,p10.p11,p12,p15,p27},其中的特征p10.用于代替原始特征p9,而其他所有特征与用于计算该卷积的特征相同。
所述危害性模块530被设计成:借助于所述检测恶意对象的模型531,基于对所获得的卷积的分析来计算所述被分析的对象501的所述危害程度;并将计算出的所述危害程度发送给所述分类模块540。
在所述系统的一个方面,所述危害程度是表征所述被分析的对象501是恶意的概率的数值。
例如,可执行文件“video.avi.exe”的所述危害程度等于0.97(超过预定阈值),所述可执行文件是用于用户数据Trojan-Ransom.Win32.Agent的秘密加密的应用程序,这意味着这个应用程序是恶意的,而“Google Analytics”脚本的所述危害程度等于0.09,所述脚本是用于在浏览器中收集用户操作数据的JavaScript应用程序,这意味着这个脚本是安全的。
所述检测恶意对象的模型531,是基于对从所述被分析的对象501中选择的数据块的分析,来计算所述被分析的对象501的危害系数的规则集。
在所述系统的一个方面,所述检测恶意对象的模型531先前已经通过用于至少一个安全对象和恶意对象的机器学习的方法进行了训练。
在所述系统的另一个方面,用于检测恶意对象的模型531的机器学习的方法至少是:基于决策树的梯度增强;决策树;K-最近邻法;以及支持向量机(SVM)方法。
在所述系统的另一个方面,训练所述检测恶意对象的模型531的方法确保了所述对象危害程度的单调变化,取决于基于所述数据块的分析制定的特征集的数量变化。
例如,从恶意文件“video.avi.exe”中选择了10个数据块。在使用所述检测恶意对象的模型531对每个所选数据块进行连续分析之后,计算所述危害系数:
0.01,0.02,0.09,0.17,0.19,0.21,0.38,0.53,0.87,0.88,
也就是说,所述危害系数仅在每次随后计算所述系数时增加。
在又一示例中,从安全文件“explorer.exe”中选择了15个数据块。在使用所述检测恶意文件的模型532对每个所选数据块进行连续分析之后,计算所述危害系数:
0.01,0.02,0.02,0.02,0.03,0.08,0.08,0.08,0.08,0.08,0.08,0.09,0.10.0.10.
0.10.
也就是说,随后的每次计算都没有降低所述危害系数。相反,如果所选数据块不包含与潜在恶意活动相关的数据,则所述危害系数大致保持与先前计算中的相同水平。如果所选数据块包含与潜在恶意活动相关的数据,则所述危害系数增加。
所述分类模块540被设计为:
●在获得的危害程度不超过预定阈值的情况下,将所述被分析的对象501识别为安全的,其中,基于所述被分析的对象501中包含的所有数据块来计算所述危害程度;
●在获得的危害程度超过所述预定阈值的情况下,将所述被分析的对象501识别为恶意的。
为了将所述被分析的对象501识别为恶意的,分析有限数量的所选数据块就足够了,因为一旦基于所选数据块的分析获得的所述危害程度超过所述预定阈值,所述被分析的对象501将被识别为恶意的。另一方面,如果所述对象未被识别为恶意的,则认为该对象是安全的。为了保证识别出所述被分析的对象501是安全的,需要分析所述被分析的对象501中包含的所有数据块,因为只有在基于对所有数据块的分析获得的危害程度不超过所述预定阈值的情况下,才可以将所述被分析的对象501识别为安全的。否则,如果仅分析有限数量的所选数据块,则不能保证对下一个所选数据块的分析不会导致获得的危害程度超过所述预定阈值。
例如,在分析所述可执行文件“explorer.exe”时,所述数据块选择模块510连续选择“explorer.exe”中包含的数据块,在每次选择数据块之后,所述危害性模块530执行当前危害程度的计算,并且每次计算出的危害程度不超过0.76(所述预定阈值)。在选择了所有数据块(1542次迭代)之后,所述危害程度仍未超过0.76并且所述分类模块540将所述可执行文件“explorer.exe”识别为安全的。
在又一示例中,所提出的系统在分析可执行文件“video.avi.exe”时,所述数据块选择模块510连续选择“explorer.exe”中包含的数据块,在每次选择数据块之后,所述危害性模块530执行当前危害程度的计算,并且在该计算期间,所述危害程度不断增加(对于每个所选数据块):0.01,…0.17,…0.34,…0.69,…0.81,并且在第35次迭代中,它开始超过0.76(所述预定阈值)。一旦计算的危害程度超过所述预定阈值,所述分类模块540就将所述可执行文件“video.avi.exe”识别为恶意的。
在所述系统的一个方面,所述分类模块540将根据所述计算出的危害程度(以下简称为,w)所在的数值范围识别所述被分析的对象,至少为:
●安全的-w∈[0.0,极限无害),
也就是说,确定所述被分析的对象501不会对所述用户的计算机设备造成伤害;
●未知的-w∈[极限无害,极限未知),
也就是说,所述被分析的对象501具有很大的概率不会对所述用户的计算机设备造成伤害;
●可疑的-w∈[极限未知,极限可疑),
也就是说,所述被分析的对象501具有很大的概率会对所述用户的计算机设备造成伤害;
●恶意的-w∈[极限可疑,1.0),
也就是说,确定所述被分析的对象501会对所述用户的计算机设备造成伤害;
其中:
w是所述计算出的危害程度,
极限无害是所述预定的阈值,超过该阈值,所述被分析的对象不能被分类为安全的,
极限未知是所述预定的阈值,超过该阈值,所述被分析的对象不能被分类为未知的,
极限可疑是所述预定的阈值,超过该阈值,所述被分析的对象不能被分类为可疑的,
在所述系统的上述方面中,代替可以通过所述危害系数的一个预定阈值来区分的两个对象集群(安全的和恶意的),描述了四个集群(安全的、未知的、可疑的和恶意的),所述四个集群现在可以通过三个预定阈值来区分。所述预定阈值极限可疑对应于上述双集群系统的预定阈值,超过该预定阈值,所述被分析的对象将被识别为恶意的。
例如,可执行文件“radmin.exe”(其被被设计用于远程控制计算机设备并具有0.56的危害系数的“Remote Administrator(远程管理员)”软件的组件)将被认为是可疑的(w∈[0.50,0.80)),因为它允许控制被这些计算设备的用户隐藏的计算机设备,所述控制经常用于执行恶意活动。所述危害系数是根据从所述被分析的对象501中选择的数据确定的,这样选择出的数据执行所述被分析的对象501的功能,因此这样计算出的危害系数与由所述选择数据提供的所述被分析的对象501的功能相关。
在所述系统的另一个方面,连续地完成对至少一个数据块的搜索和挑选以及所述危害程度的计算,一个接一个地,至少到下列时间为止:
●所述被分析的对象501被识别为恶意的;
●找到并挑选出所有数据块。
例如,所述数据块选择模块510从所述被分析的对象501选择若干数据块,在此基础上所述危害性模块530计算所述危害程度,并且所述分类模块540将识别所述被分析的对象501为安全的或恶意的。
在又一示例中,所述数据块选择模块510从所述被分析的对象501仅选择一个数据块,在此基础上所述危害性模块530计算所述危害程度,而在不可能将所述被分析的对象501识别为恶意的情况下(计算出的所述危害程度未超过所述预定阈值),所述分类模块540将识别所述被分析的对象501为恶意的。再次执行上述循环-选择另一个数据块,依此类推,直到所述被分析对象501被识别为恶意的,或者直到所有数据块都被选择为止,在此之后所述被分析的对象501将被认为是安全的。
所述重新训练模块550被设计成在所述被分析的对象501被识别为恶意的之后重新训练所述分析模型511,因此,基于从所述被分析的对象501中挑选出的,少于重新训练该分析模型511之前需要数量的数据块的分析,来实现将所述被分析的对象501识别为恶意的。
例如,在分类期间,在执行从为恶意文件加密器的可执行文件“video.avi.exe”中选择数据块的512次迭代之后,所述分类模块540将该文件识别为恶意的,并且最终计算出的危害系数等于0.87(所述预定阈值为0.78,大于该阈值,则所述被分析的对象将被识别为恶意的)。在重新训练所述分析模型511之后,在第二次分类期间,在执行从文件“video.avi.exe”选择数据块的260次迭代之后,该文件被识别为恶意的,最终计算出的危害系数等于0.79。由于所述重新训练的分析模型511更经常地选择那些计算出的危害系数更高的数据块,因此实现了该结果。
在某些情况下,在执行N次迭代之后,计算出的危害系数可能明显小于所述预定阈值(例如与0.75相比的0.60),在执行N+1次迭代后,它则明显大于所述预定阈值(例如0.85与0.75相比),解释为所述危害系数的增长函数不是平滑的,而是离散的,由于有限的迭代次数,因此,它可以大步的改变,并且随着所述分析模型511被更好地训练,该步的大小将会更大。
在所述系统的另一个方面,所述分析模型511的重新训练,在所述分类模块540对所述被分析的对象501的分类结束之后进行。无论所述对象501的分类结果如何,都可以执行重新训练,因此在从被所述被分析的对象501选择数据块的每次迭代期间,使用所述重新训练的分析模型511,重复分析所述对象501,基于该数据块计算出的危害系数,不低于使用未重新训练的分析模型511计算出的危害系数。
例如,在分类期间,在执行从为恶意文件加密器的可执行文件“explorer.exe”中选择数据块(即,所有来自被所述文件的数据块都被分析过)的10240次迭代之后,所述分类模块540将该文件识别为安全的,并且最终计算出的危害系数等于0.09。在重复分类中重新训练所述分析模型511之后,文件“explorer.exe”被认为是安全的,而所述危害系数0.09仅在2050次迭代后计算出,并且在此之后不再改变。由于所述重新训练的分析模型511更经常地选择那些计算出的危害系数更高的数据块,因此实现了该结果。
由于所述分析模型511基于所述被分析的对象501的分析结果,不断地进行重新训练,因此在恶意对象501的每次后续分析期间,平均比先前检查的恶意对象501将选择和分析更少数量的数据块(更少的迭代会被执行),因为针对恶意对象计算出的所述危害系数将超过所述预定阈值,并且所述被分析的对象501将被更早地识别为恶意的。但是如果所述被分析的对象501不是恶意的,则所有可用的数据块将被选择。然而,即使在这种情况下,在分析所有选择的数据块之后,所述分析模型511将被重新训练,使得即使在安全对象501的分析期间,所述计算出的危害系数将试图尽可能快地超过所述预定阈值(虽然它不会超过那个系数),随着该危害系数的增长率趋于最大,这意味着当分析已经恶意的对象501时,所选择的数据块的数量将趋于最小。
因此,对安全文件的分析模型511的重新训练,也能够提高它在恶意文件的分析中的有效性。
在执行对所述被分析的对象501的分类之后,在所述对象501被识别为恶意的情况下,可以通过外部手段执行用于补救检测到所述对象的计算机设备的程序。
图6是根据本发明的示例性方面的一种对象分类方法的流程图。图6是根据本发明的一个方面的对象分类的方法600的流程图。简而言之,所述方法600包括:在步骤610,选择数据块;在步骤620,形成特征集;在步骤630,计算卷积;在步骤640,计算危害程度;在步骤650(A),所述对象被识别为安全的;在步骤650(B),所述对象被识别为恶意的;并且,在步骤660,重新训练所述分析模型。
更具体地,在步骤610中,在所述分析模型511的帮助下,选择包含在所述被分析的对象501中的至少一个数据块,所述分析模型511是用于搜索数据块的规则集,制定所述规则使得找到的每个数据块都会增加将所述被分析的对象501分类为恶意的可能性。
在步骤620中,为在步骤610中选择的每个数据块,形成描述该数据块的特征集。
在步骤630中,计算步骤620中所有制成的特征集的卷积。
在步骤640中,基于在步骤630中借助于所述检测恶意对象的模型531计算的卷积的分析,来计算所述被分析的对象501的危害程度。
在步骤650(A)中,在步骤640中计算出的危害程度不超过预定阈值,并且基于所述被分析的对象501中包含的所有数据块来计算该危害程度的情况下,将所述被分析的对象501识别为安全的。
在步骤650(B)中,在步骤640中计算出的危害程度超过所述预定阈值的情况下,所述被分析的对象501被识别为恶意的。
在步骤660中,在所述被分析的对象501被识别为恶意的之后,重新训练所述分析模型511,因此,基于从所述被分析的对象501中挑选出的,少于重新训练该分析模型511之前需要数量的数据块的分析,来实现将所述被分析的对象501识别为恶意的。
图7示出了根据示例特征可以在其上实现本发明的系统和方法的通用计算机系统(所述通用计算机系统可以是服务器)的示例的框图。特别地,图7可以示出所述系统100和/或所述系统100的组件的示例性特征。如图所示,以计算机20等形式提供了通用计算机设备,包括:处理单元21,系统存储器22,以及将包括所述系统存储器的多种系统组件耦合到所述处理单元21的系统总线23。应当理解,所述处理单元21可以对应于CPU114和/或CPU144,并且所述系统存储器22和/或文件系统36可以对应于电子存储器以存储数据文件,或者例如对应于存储器148。
此外,所述系统总线23可以是若干类型的总线结构中的任何一种,包括使用各种总线架构中的任何一种的存储器总线或存储器控制器,外围总线和本地总线。所述系统存储器包括只读存储器(ROM)24和随机存取存储器(RAM)25。基本输入/输出系统26(BIOS)包含有助于在所述计算机104内的元件之间传送信息的基本例程,例如在启动期间,存储在ROM 24中。
所述计算机20还可以包括用于读取和写入硬盘(未示出)的硬盘驱动器27,用于读取或写入可移动磁盘29的磁盘驱动器28,以及用于读取或写入诸如CD-ROM,DVD-ROM或其他光学介质的可移动光盘31的光盘驱动器30。所述硬盘驱动器27、磁盘驱动器28和光盘驱动器30分别通过硬盘驱动器接口32、磁盘驱动器接口33和光盘驱动器接口34连接到所述系统总线23。所述驱动器及其相关的计算机可读介质为所述计算机20提供计算机可读指令、数据结构、程序模块和其他数据的非易失性存储。
尽管这里描述的示例性环境采用硬盘、可移动磁盘29和可移动光盘31,但是本领域技术人员应该理解,可以存储可由计算机访问的数据的其他类型的计算机可读介质,例如磁性录音带、闪存卡、数字视频盘、伯努利盒、随机存取存储器(RAM),只读存储器(ROM)等也可用于所述示例性操作环境中。
许多程序模块可以存储在硬盘、磁盘29、光盘31、ROM 24或RAM 25上,包括操作系统35。所述计算机20包括与所述操作系统35相关或包括在其中的文件系统36、一个或多个应用程序37、其他程序模块38和程序数据39。用户可以通过诸如键盘40和点击设备42的输入设备将命令和信息输入到所述计算机20中。其他输入设备(未示出)可以包括麦克风、操纵杆、游戏手柄、圆盘式卫星天线、扫描仪等。
这些和其他输入设备通常通过耦合到系统总线的串行端口接口46连接到所述处理单元21,但是也可以通过其他接口连接,例如并行端口、游戏端口或通用串行总线(USB)。监视器47或其他类型的显示设备也经由诸如视频适配器48的接口连接到所述系统总线23。除了所述监视器47之外,个人计算机通常还包括其他外围输出设备(未示出),例如扬声器和打印机。
所述计算机20可以在联网环境中使用逻辑连接对一个或多个远程计算机49进行操作。所述远程计算机(或多个计算机)49可以是另一计算机、服务器、路由器、网络PC、对等设备或其他公共网络节点,并且通常包括上述计算机20相关的许多或所有元件。所述逻辑连接包括网络接口53,并且连接到局域网(即LAN)51,例如,和/或广域网(未示出)。这种网络环境在办公室、企业范围的计算机网络、内联网和互联网中是常见的。应当理解,所述远程计算机49可以对应于一个或多个存储节点,例如存储节点102-107,如上所述。
当在LAN网络环境中使用时,所述计算机20通过网络接口或适配器53连接到所述本地网络51。当在WAN联网环境中使用时,所述计算机20通常包括调制解调器54或用于在广域网上建立通信的其他机制,例如互联网。
所述调制解调器54可以是内部的或外部的,经由所述串行端口接口46连接到所述系统总线23。在联网环境中,相对于所述计算机20描述的程序模块或程序模块的某些部分,可以存储在远程存储器存储设备中。应当理解,所示的网络连接是示例性的,并且可以使用在计算机之间建立通信链路的其他机制。
在各个方面,本文描述的系统和方法可以以硬件、软件、固件或其任何组合来实现。如果以软件实现,则可以将所述方法作为一个或多个指令或代码存储在非暂时性的计算机可读介质上。计算机可读介质包括数据存储。作为示例而非限制,这种计算机可读介质可包括RAM、ROM、EEPROM、CD-ROM、闪存或其他类型的电、磁或光存储介质,或者可以用于以指令或数据结构的形式携带或存储所需程序代码并且可以由通用计算机的处理器访问的任何其他介质。
为了清楚起见,并未在此公开这些方面的所有常规特征。应当理解,在开发本发明的任何实际实现时,必须做出许多特定于实现的决定以实现开发者的特定目标,并且这些特定目标将针对不同的实现和不同的开发者而变化。应当理解,这种开发工作量可能是复杂且耗时的,但是对于受益于本发明的本领域技术人员来说仍然是工程的常规任务。
此外,应理解,本文使用的措辞或术语是出于描述而非限制的目的,因此本领域技术人员应根据本文提供的教导和指导,结合相关领域的技术人员的知识,解释本说明书的术语或措辞。此外,除非明确阐述,否则本说明书或权利要求书中的任何术语不应被视为不常见或特殊含义。
本文公开的各个方面包括本文中通过说明的方式提及的已知模块的当前和未来已知等同物。此外,虽然已经示出和描述了特征和应用,但是对于受益于本公开的本领域技术人员来说显而易见的是,在不脱离本文发明的发明构思的情况下,可以进行比上述更多的修改。

Claims (24)

1.一种用于检测安全数据对象和恶意数据对象的方法,包括:
处理器选择对象中的一个或多个数据块以用于进行恶意软件分析;
所述处理器对所选择的一个或多个数据块进行静态分析,以确定所述数据块的特征集,其中,对所述对象的所有数据块进行所述静态分析;
所述处理器基于所述特征集和用于检测恶意对象的模型来确定所述对象的危害程度,其中,所述模型已经通过机器学习的方法在至少一个安全对象和一个恶意对象上训练过;
当所述危害程度不超过预定的危害阈值时,所述处理器将所述对象识别为安全的;以及
当所述一个或多个数据块的危害程度超过所述预定的危害阈值时,所述处理器将所述对象识别为恶意的。
2.根据权利要求1所述的方法,还包括:
如果所述对象被识别为恶意的,则重新训练所述用于检测安全对象和恶意对象的模型。
3.根据权利要求1所述的方法,还包括:
基于包括被分析的对象的参数和先前找到的数据块的特征的标准,搜索要从所述对象中选择的一个或多个数据块。
4.根据权利要求3所述的方法,其中,选择所述一个或多个数据块包括:
计算所述一个或多个数据块的参数,所述参数包括以下各项中的一个或多个:数据块的大小、数据块在所述对象中的位置、所述对象的类型以及所述对象中的相关数据。
5.根据权利要求3所述的方法,其中,基于分析模型来执行选择所述一个或多个数据块,并且所述分析模型是用于搜索以增加将所述对象分类为恶意的概率的规则集。
6.根据权利要求5所述的方法,其中,所述规则集取决于针对先前找到的数据块所确定的特征。
7.根据权利要求1所述的方法,其中,所述特征集包括以下各项中的一个或多个:供选择的数据块的参数、包含在数据块中的数据的类型、数据块与先前选择的数据块之间的逻辑或功能关系、以及危害系数。
8.根据权利要求7所述的方法,其中,所述危害系数被计算为与所述对象所执行的每个命令相关联的权重的总和。
9.一种检测恶意文件的系统,所述系统包括:
硬件处理器,所述硬件处理器被配置为:
根据规则选择被分析对象中的一个或多个数据块;
对所述一个或多个数据块进行静态分析,以确定所述一个或多个数据块的特征集;
基于所述特征集和用于检测恶意对象的模型来确定所述对象的危害程度,其中,所述模型已经通过机器学习的方法在至少一个安全对象和一个恶意对象上训练过;
当所述危害程度不超过预定的危害阈值时,识别所述对象为安全的,其中,对所述对象的所有数据块进行静态分析;以及
当所述一个或多个数据块的危害程度超过所述预定的危害阈值时,将所述对象识别为恶意的。
10.根据权利要求9所述的系统,其中,所述硬件处理器还被配置为:
如果所述对象被识别为恶意的,则重新训练所述用于检测恶意对象的模型。
11.根据权利要求9所述的系统,其中,所述硬件处理器还被配置为:
基于包括被分析的对象的参数和先前找到的数据块的特征的标准,搜索要从所述对象中选择的一个或多个数据块。
12.根据权利要求11所述的系统,其中,所述硬件处理器还被配置为通过以下方式来选择所述一个或多个数据块:
计算所述一个或多个数据块的参数,所述参数包括以下各项中的一个或多个:数据块的大小、数据块在所述对象中的位置、所述对象的类型以及所述对象中的相关数据。
13.根据权利要求11所述的系统,其中,基于分析模型来执行选择所述一个或多个数据块,并且所述分析模型是用于搜索以增加将所述对象分类为恶意的概率的规则集。
14.根据权利要求13所述的系统,其中,所述规则集取决于针对先前找到的数据块所确定的特征。
15.根据权利要求9所述的系统,其中,所述特征集包括以下各项中的一个或多个:供选择的数据块的参数、包含在数据块中的数据的类型、数据块与先前选择的数据块之间的逻辑或功能关系、以及危害系数。
16.根据权利要求15所述的系统,其中,所述危害系数被计算为与所述对象所执行的每个命令相关联的权重的总和。
17.一种非暂时性计算机可读介质,所述非暂时性计算机可读介质上存储有指令,当所述指令被执行时,执行用于检测恶意文件的方法,所述方法包括:
根据规则选择被分析对象中的一个或多个数据块;
对所述一个或多个数据块进行静态分析,以确定所述一个或多个数据块的特征集;
基于所述特征集和用于检测恶意对象的模型来确定所述对象的危害程度,其中,所述模型已经通过机器学习的方法在至少一个安全对象和一个恶意对象上训练过;
当所述危害程度不超过预定的危害阈值时,识别所述对象为安全的,其中,对所述对象的所有数据块进行静态分析;以及
当所述一个或多个数据块的危害程度超过所述预定的危害阈值时,将所述对象识别为恶意的。
18.根据权利要求17所述的介质,还包括:
如果所述对象被识别为恶意的,则重新训练所述用于检测恶意对象的模型。
19.根据权利要求17所述的介质,还包括:
基于包括被分析的对象的参数和先前找到的数据块的特征的标准,搜索要从所述对象中选择的一个或多个数据块。
20.根据权利要求19所述的介质,其中,选择所述一个或多个数据块包括:
计算所述一个或多个数据块的参数,所述参数包括以下各项中的一个或多个:数据块的大小、数据块在所述对象中的位置、所述对象的类型以及所述对象中的相关数据。
21.根据权利要求19所述的介质,其中,基于分析模型来执行选择所述一个或多个数据块,并且所述分析模型是用于搜索以增加将所述对象分类为恶意的概率的规则集。
22.根据权利要求21所述的介质,其中,所述规则集取决于针对先前找到的数据块所确定的特征。
23.根据权利要求17所述的介质,其中,所述特征集包括以下各项中的一个或多个:供选择的数据块的参数、包含在数据块中的数据的类型、数据块与先前选择的数据块之间的逻辑或功能关系、以及危害系数。
24.根据权利要求23所述的介质,其中,所述危害系数被计算为与所述对象所执行的每个命令相关联的权重的总和。
CN201810772387.0A 2017-10-18 2018-07-13 使用机器学习来检测恶意文件的系统和方法 Active CN109684835B (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
RU2017136618A RU2679785C1 (ru) 2017-10-18 2017-10-18 Система и способ классификации объектов
RU2017136618 2017-10-18
US201762574254P 2017-10-19 2017-10-19
US62/574,254 2017-10-19
US16/008,365 2018-06-14
US16/008,365 US10929534B2 (en) 2017-10-18 2018-06-14 System and method detecting malicious files using machine learning

Publications (2)

Publication Number Publication Date
CN109684835A true CN109684835A (zh) 2019-04-26
CN109684835B CN109684835B (zh) 2023-06-30

Family

ID=63108410

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810772387.0A Active CN109684835B (zh) 2017-10-18 2018-07-13 使用机器学习来检测恶意文件的系统和方法

Country Status (4)

Country Link
US (1) US10929534B2 (zh)
EP (1) EP3474173B1 (zh)
JP (1) JP6715292B2 (zh)
CN (1) CN109684835B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110460611A (zh) * 2019-08-16 2019-11-15 国家计算机网络与信息安全管理中心 基于机器学习的全流量攻击检测技术
CN110659492A (zh) * 2019-09-24 2020-01-07 北京信息科技大学 一种基于多智能体强化学习的恶意软件检测方法及装置
CN112241531A (zh) * 2019-07-17 2021-01-19 卡巴斯基实验室股份制公司 基于文件片段检测恶意文件的系统和方法
CN112257816A (zh) * 2020-12-07 2021-01-22 北京瑞莱智慧科技有限公司 模型的后门检测方法、装置、介质和计算设备

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11423143B1 (en) 2017-12-21 2022-08-23 Exabeam, Inc. Anomaly detection based on processes executed within a network
US11431741B1 (en) * 2018-05-16 2022-08-30 Exabeam, Inc. Detecting unmanaged and unauthorized assets in an information technology network with a recurrent neural network that identifies anomalously-named assets
KR102046748B1 (ko) * 2019-04-25 2019-11-19 숭실대학교산학협력단 트리 부스팅 기반 애플리케이션의 위험도 평가 방법, 이를 수행하기 위한 기록 매체 및 장치
US11625366B1 (en) 2019-06-04 2023-04-11 Exabeam, Inc. System, method, and computer program for automatic parser creation
RU2747464C2 (ru) 2019-07-17 2021-05-05 Акционерное общество "Лаборатория Касперского" Способ обнаружения вредоносных файлов на основании фрагментов файлов
CN112532562B (zh) * 2019-09-17 2022-10-11 武汉思普崚技术有限公司 一种对抗性网络的恶意数据流检测方法及系统
US11956253B1 (en) 2020-06-15 2024-04-09 Exabeam, Inc. Ranking cybersecurity alerts from multiple sources using machine learning
CN111723371B (zh) * 2020-06-22 2024-02-20 上海斗象信息科技有限公司 构建恶意文件的检测模型以及检测恶意文件的方法
TW202319944A (zh) * 2021-11-02 2023-05-16 財團法人資訊工業策進會 用於資通安全防護機制的驗證方法及驗證系統
US11941121B2 (en) * 2021-12-28 2024-03-26 Uab 360 It Systems and methods for detecting malware using static and dynamic malware models

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150096024A1 (en) * 2013-09-30 2015-04-02 Fireeye, Inc. Advanced persistent threat (apt) detection center
US20150096023A1 (en) * 2013-09-30 2015-04-02 Fireeye, Inc. Fuzzy hash of behavioral results
CN106161342A (zh) * 2014-09-30 2016-11-23 瞻博网络公司 安全应用的动态优化

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8201244B2 (en) 2006-09-19 2012-06-12 Microsoft Corporation Automated malware signature generation
US8181251B2 (en) * 2008-12-18 2012-05-15 Symantec Corporation Methods and systems for detecting malware
RU2427890C2 (ru) 2009-10-01 2011-08-27 ЗАО "Лаборатория Касперского" Система и способ сравнения файлов на основе шаблонов функциональности
US9349006B2 (en) * 2010-11-29 2016-05-24 Beijing Qihoo Technology Company Limited Method and device for program identification based on machine learning
RU2454714C1 (ru) 2010-12-30 2012-06-27 Закрытое акционерное общество "Лаборатория Касперского" Система и способ повышения эффективности обнаружения неизвестных вредоносных объектов
US10574630B2 (en) 2011-02-15 2020-02-25 Webroot Inc. Methods and apparatus for malware threat research
US9652362B2 (en) 2013-12-06 2017-05-16 Qualcomm Incorporated Methods and systems of using application-specific and application-type-specific models for the efficient classification of mobile device behaviors
US9262635B2 (en) * 2014-02-05 2016-02-16 Fireeye, Inc. Detection efficacy of virtual machine-based analysis with application specific events
CN106471516B (zh) * 2014-06-11 2019-06-11 日本电信电话株式会社 恶意软件判定器、恶意软件判定系统、恶意软件判定方法以及程序
US9436791B1 (en) 2015-03-24 2016-09-06 International Business Machines Corporation Optimizing placement of circuit resources using a globally accessible placement memory
JP2016206950A (ja) 2015-04-22 2016-12-08 日本電信電話株式会社 マルウェア判定のための精査教師データ出力装置、マルウェア判定システム、マルウェア判定方法およびマルウェア判定のための精査教師データ出力プログラム
US10320813B1 (en) * 2015-04-30 2019-06-11 Amazon Technologies, Inc. Threat detection and mitigation in a virtualized computing environment
US20170024660A1 (en) 2015-07-23 2017-01-26 Qualcomm Incorporated Methods and Systems for Using an Expectation-Maximization (EM) Machine Learning Framework for Behavior-Based Analysis of Device Behaviors
US9889859B2 (en) 2015-12-21 2018-02-13 Intel Corporation Dynamic sensor range in advanced driver assistance systems
US10482248B2 (en) * 2016-11-09 2019-11-19 Cylance Inc. Shellcode detection
US10581888B1 (en) 2017-07-31 2020-03-03 EMC IP Holding Company LLC Classifying software scripts utilizing deep learning networks

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150096024A1 (en) * 2013-09-30 2015-04-02 Fireeye, Inc. Advanced persistent threat (apt) detection center
US20150096023A1 (en) * 2013-09-30 2015-04-02 Fireeye, Inc. Fuzzy hash of behavioral results
CN106161342A (zh) * 2014-09-30 2016-11-23 瞻博网络公司 安全应用的动态优化

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112241531A (zh) * 2019-07-17 2021-01-19 卡巴斯基实验室股份制公司 基于文件片段检测恶意文件的系统和方法
CN110460611A (zh) * 2019-08-16 2019-11-15 国家计算机网络与信息安全管理中心 基于机器学习的全流量攻击检测技术
CN110460611B (zh) * 2019-08-16 2022-01-11 国家计算机网络与信息安全管理中心 基于机器学习的全流量攻击检测技术
CN110659492A (zh) * 2019-09-24 2020-01-07 北京信息科技大学 一种基于多智能体强化学习的恶意软件检测方法及装置
CN110659492B (zh) * 2019-09-24 2021-10-15 北京信息科技大学 一种基于多智能体强化学习的恶意软件检测方法及装置
CN112257816A (zh) * 2020-12-07 2021-01-22 北京瑞莱智慧科技有限公司 模型的后门检测方法、装置、介质和计算设备

Also Published As

Publication number Publication date
EP3474173B1 (en) 2021-03-17
US10929534B2 (en) 2021-02-23
US20190114419A1 (en) 2019-04-18
CN109684835B (zh) 2023-06-30
JP6715292B2 (ja) 2020-07-01
JP2019079493A (ja) 2019-05-23
EP3474173A1 (en) 2019-04-24

Similar Documents

Publication Publication Date Title
CN109684835A (zh) 使用机器学习来检测恶意文件的系统和方法
CN109271780B (zh) 机器学习恶意软件检测模型的方法、系统和计算机可读介质
RU2724710C1 (ru) Система и способ классификации объектов вычислительной системы
US10922410B2 (en) System and method for generating a convolution function for training a malware detection model
US10878090B2 (en) System and method of detecting malicious files using a trained machine learning model
RU2739865C2 (ru) Система и способ обнаружения вредоносного файла
RU2624552C2 (ru) Способ обнаружения вредоносных файлов, исполняемых с помощью стековой виртуальной машины
Vidal et al. A novel pattern recognition system for detecting Android malware by analyzing suspicious boot sequences
JP6731981B2 (ja) 機械学習モデルに基づいた悪意のあるファイルの検出のための計算資源を管理するシステムおよび方法
Ahmed et al. Peeler: Profiling kernel-level events to detect ransomware
Poudyal et al. Analysis of crypto-ransomware using ML-based multi-level profiling
CN106355092A (zh) 用于优化反病毒测定的系统和方法
Gandotra et al. Integrated framework for classification of malwares
Buchyk et al. Devising a method of protection against zero-day attacks based on an analytical model of changing the state of the network sandbox
RU2673708C1 (ru) Система и способ машинного обучения модели обнаружения вредоносных файлов
EP3252645A1 (en) System and method of detecting malicious computer systems
KR102091787B1 (ko) 파일 시스템에서의 랜섬웨어 탐지 방법 및 그 장치
Martinelli et al. How discover a malware using model checking
Jawhar A Survey on Malware Attacks Analysis and Detected
Sun et al. Characterizing promotional attacks in mobile app store
Fernando Fesad: Ransomware detection with machine learning using adaption to concept drift
Peng et al. SNDMI: Spyware network traffic detection method based on inducement operations
Agnihotri A Study of Different Approaches for Malware Detection in Smartphones
Sarath et al. Malware Forensics Analysis and Detection in Cyber Physical Systems
Aljehani et al. Detecting A Crypto-mining Malware By Deep Learning Analysis

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
GR01 Patent grant
GR01 Patent grant