CN110119620B - 训练用于检测恶意容器的机器学习模型的系统和方法 - Google Patents
训练用于检测恶意容器的机器学习模型的系统和方法 Download PDFInfo
- Publication number
- CN110119620B CN110119620B CN201811359307.5A CN201811359307A CN110119620B CN 110119620 B CN110119620 B CN 110119620B CN 201811359307 A CN201811359307 A CN 201811359307A CN 110119620 B CN110119620 B CN 110119620B
- Authority
- CN
- China
- Prior art keywords
- container file
- malicious
- container
- machine learning
- learning model
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
- G06F21/564—Static detection by virus signature recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/561—Virus type analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
- G06F21/563—Static detection by source code analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/568—Computer malware detection or handling, e.g. anti-virus arrangements eliminating virus, restoring damaged files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Virology (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Manipulator (AREA)
Abstract
本发明涉及训练用于检测恶意容器的机器学习模型的系统和方法,特别公开了用于训练和再训练用于检测来自容器文件的恶意活动的模型的系统和方法,所述容器文件包含构成逻辑上独立的数据区域的至少两个或更多个对象。确定从至少一个安全容器和至少一个恶意容器选择的每个对象的参数,所述参数唯一地表征所述对象与至少一个所选对象的函数关系。基于确定的对象的参数而分别针对每个容器形成卷积,所述卷积用于训练用于检测恶意容器文件的机器学习模型。
Description
技术领域
本发明涉及防病毒技术,更具体地涉及训练和教导用于检测恶意容器的机器学习模型的系统和方法。
背景技术
计算机技术在近十年的快速发展以及各种计算设备(个人计算机、笔记本、平板电脑、智能手机等)的广泛使用已成为这些设备在各个活动领域中的使用以及解决大量问题(从因特网冲浪到银行转账和电子文档)的强大动力。随着计算设备和在这些设备上运行的软件的数量的增长,恶意程序的数量也以快节奏增长。
目前,存在大量的恶意程序。一些恶意程序从所述用户的设备窃取关于用户的个人和机密信息(诸如登录名和密码、银行信息、电子文档)。另一些恶意程序将用户的设备变为所谓的僵尸网络进行攻击(诸如分布式拒绝服务(Distributed Denial of Service,DDoS)攻击),或在其它计算机或计算机网络上通过暴力破解方法整理密码。其它的另一些恶意程序通过侵入式广告、付费订阅、将SMS发送到长途号码等等将付费内容推荐给用户。
使用专业程序或防病毒应用处理恶意程序,包括检测恶意程序、防止感染、和恢复感染有恶意程序的计算机系统。防病毒程序采用各种各样的技术检测一系列的恶意程序,诸如静态分析和动态分析。静态分析指的是基于在组成被分析程序的文件中包含的数据对程序进行危害分析,排除被分析程序的工作的发起或仿真,在此期间,静态分析可以采用(i)签名分析,即,搜索被分析程序的特定代码区段与来自恶意程序的签名的数据库的已知代码(签名)的对应关系;以及(ii)白名单和黑名单,即,在恶意程序(黑名单)的校验和的数据库或安全程序(白名单)的校验和的数据库中搜索来自被分析程序(或其部分)的计算的校验和。动态分析指的是基于在被分析程序的工作的执行或仿真的过程中获得的数据对程序进行危害性分析,在此期间,动态分析可以采用(i)启发式分析,即,被分析程序的工作的仿真、创建仿真日志(包含关于API函数调用的数据、传输的参数、被分析程序的代码区段等)、以及搜索来自如此创建的日志的数据与来自恶意程序的仿真签名的数据库的数据的对应关系;以及(ii)主动防御,即,拦截发起的被分析程序的API函数调用、创建关于被分析程序的工作的日志(包含关于API函数调用的数据、传输的参数、被分析程序的代码区段等)、以及搜索来自如此创建的日志的数据与来自恶意程序的调用的数据库的数据的对应关系。
静态分析和动态分析均具有其优势和劣势。静态分析对其上进行分析的计算机系统的资源的需求较小,以及由于它不需要被分析程序的执行或仿真,因此静态分析较快速,但效率较低,即,它具有恶意程序的检测的较低百分比和假警报的较高百分比(即,将由防病毒程序资源分析的文件判断为有害的,而被分析文件为安全的)。由于动态分析使用在被分析程序的工作的执行或仿真期间获得的数据,因此动态分析较慢且对其上进行分析的计算机系统的资源的需求较大,但是它也更为有效。现今的防病毒程序采用复杂的分析,包括静态分析和动态分析二者的要素。
防病毒扫描的主要问题迄今为止保留分布计算资源的任务以在被分析程序之间执行前述扫描。给定大量的被分析程序和受限的计算资源,如下至少是可能的:(i)被分析程序的防病毒扫描的质量的总体降低(例如,单独使用静态分析,排除动态分析);(ii)任意排除被分析程序的一部分的防病毒扫描,在这些程序中可能有恶意程序(例如,等待防病毒扫描的程序的队列总计为N,而计算资源仅足以执行M<N个程序的防病毒扫描,从而最后N-M个程序将排除防病毒扫描);(iii)如果针对被分析程序保持防病毒扫描的平均质量,则用于扫描安全程序的质量高和用于扫描恶意程序的质量低(例如,通过静态分析和动态分析来分析安全程序,仅通过静态分析来分析恶意程序)等等,这又导致第一种和第二种错误。
尽管已知的检测技术擅长检测给定类型的恶意脚本(包含预定已知对象的脚本),但是这些技术无法处理未知类型(诸如还未进行教导的那些脚本(诸如ActionScript)的类型)的恶意对象的检测。此外,考虑到计算资源的受限访问,已知的技术无法用于大量文件(脚本)的快速分析,这是因为,为了使用用于检测的训练模型开始分析,首先需要处理被分析脚本(直到其执行,即,动态分析的执行),这是资源匮乏的操作。
发明内容
本发明的方面能够解决使用统计分析的元素检测恶意文件的问题。因此,本文中公开了用于检测恶意文件的系统和方法、以及更具体地,用于训练(和再训练)检测恶意容器文件的机器学习模型的技术。
根据本发明的一个方面,提供一种用于对检测恶意容器文件的机器学习模型进行训练的计算机实现方法。所述方法包括:从恶意容器文件选择多个对象,其中,容器文件为包含至少两个或更多个对象的文件,所述至少两个或更多个对象构成所述容器文件的逻辑上独立的数据区域。所述方法还包括:确定用于从所述恶意容器文件选择的每个对象的至少一个参数。所述至少一个参数表征各自的所述对象与在所述容器文件中的至少一个其它对象的函数关系。所述方法包括:基于确定的所述至少一个参数生成与所述恶意容器文件相关联的第一卷积。所述第一卷积包括多维矢量,其中,所述多维矢量的每个元素对应于在确定的所述参数之中的其自身的唯一参数,同时所述元素的值对应于确定了所述参数的对象的数量。所述方法包括:基于确定的从安全容器文件所选的对象的参数生成与所述安全容器文件相关联的第二卷积;以及基于与所述恶意容器文件相关联的所述第一卷积和与所述安全容器文件相关联的所述第二卷积来修改机器学习模型。所述机器学习模型被配置成计算被分析的容器文件的危害程度。
在另一方面中,所述方法还包括:将所述机器学习模型应用于目标容器文件以计算所述目标容器文件的危害程度,其中,计算的所述目标容器文件的所述危害程度是表征被分析的所述目标容器文件为恶意的概率的数值。
在另一方面中,所述方法还包括:响应于确定了计算的所述危害程度在预定阈值范围内,再训练所述机器学习模型,使得利用再训练的所述模型计算的所述危害程度高于利用原始的所述机器学习模型计算的所述危害程度。
在另一方面中,所述方法还包括:基于计算的所述危害程度来调度防病毒应用程序以执行所述目标容器文件的防病毒扫描。
在另一方面中,所述恶意容器文件为PDF(便捷式文档格式)文档、软件发行版和文件存档中的一者。
在另一方面中,从所述容器文件选择的所述对象为可执行文件、脚本、媒体数据、和另一容器文件中的至少一者。
在另一方面中,至少一个所选对象的确定的所述参数包括以下项中的至少一者:所述所选对象的类型、所述所选对象的大小、和所述所选对象在所述容器文件中包含的全部对象之中的索引。
在另一方面中,使用第二机器学习模型执行所述确定用于从所述恶意容器文件选择的每个对象的至少一个参数,其中,所述第二机器学习模型包括用于确定所述对象的所述参数的规则集合,从而每个确定的参数提高将目标容器文件分类为恶意的概率。
在另一示例性方面中,提供一种用于对检测恶意容器文件的机器学习模型进行训练的系统。所述系统包括被配置成存储容器文件组的存储设备、和硬件处理器。所述处理器被配置成:从恶意容器文件选择多个对象,以及确定用于从所述恶意容器文件选择的每个对象的至少一个参数。容器文件为包含至少两个或更多个对象的文件,至少两个或更多个对象构成所述容器文件的逻辑上独立的数据区域,以及所述至少一个参数表征各自的所述对象与在所述容器文件中的至少一个其它对象的函数关系。所述处理器还被配置成:基于确定的所述至少一个参数生成与所述恶意容器文件相关联的第一卷积,其中,所述第一卷积包括多维矢量,其中,所述多维矢量的每个元素对应于在确定的所述参数之中的其自身的唯一参数,同时所述元素的值对应于确定了所述参数的对象的数量;以及基于从安全容器文件所选的对象的确定的参数生成与所述安全容器文件相关联的第二卷积。所述处理器还被配置成:基于与所述恶意容器文件相关联的所述第一卷积和与所述安全容器文件相关联的所述第二卷积来修改机器学习模型,其中,所述机器学习模型被配置成计算被分析的容器文件的危害程度。
根据另一个示例性方面,提供了一种计算机可读介质,其包括多个指令,这些指令包括用于执行本文中所公开的方法中的任一方法的计算机可执行指令。
以上对示例性方面的简要概述用于提供对本发明的基本理解。该概述不是对所有预期方面的广泛综述,并且既不旨在标识所有方面的关键的或主要的要素,也不旨在勾画本发明的任何方面或所有方面的范围。该概述的唯一目的是以简化的形式呈现一个或多个方面,作为随后的对本发明的更详细的描述的前奏。为了实现前述内容,本发明的一个或多个方面包括在权利要求中所描述的且示例性指出的特征。
附图说明
并入本说明书中并构成本说明书的一部分的附图示出了本发明的一个或多个示例性方面,以及这些附图连同具体实施方式一起用来阐述这些示例性方面的原理和实现方式。
图1示出了对用于检测恶意容器的模型进行教导的系统的结构图。
图2示出了对用于检测恶意容器的模型进行教导的方法的结构图。
图3示出了用于调度防病毒扫描任务的系统的结构图。
图4示出了用于调度防病毒扫描任务的方法的结构图。
图5示出了通用计算机系统、个人计算机或服务器的示例。
具体实施方式
本文中在用于训练用于检测恶意容器文件的机器学习模型的系统、方法和计算机程序产品的范畴内描述示例性方面。本领域的普通技术人员将认识到,以下描述仅仅是说明性的,而不旨在以任何方式进行限制。其它方面将很容易将其自身暗示给了解本发明的优点的本领域的技术人员。现在将详细地参考如附图中所示的示例性方面的实现方式。贯穿附图和以下描述将尽可能地使用相同的附图标记来指代相同或类似的项目。
我们将引入将用于描述本发明的示例性方面的多个定义和术语。
矢量—为构成有序的值集的抽象数据类型,其中,可以不止一次遇到某个值,以及所有的值可以为相同类型或不同类型。在矢量中发现的值的实例被称为该矢量的元素(分量)。
容器—为自身可以封装其它类型的对象的一种文件。不像集合,容器实现特定数据结构。
机器学习(Machine Learning,ML)—为人工智能的一类方法,其特征性状不是直接解决问题、而是在应用来自一组类似问题的方案的过程中的教导。通过使用数理统计、数值方法、优化方法、概率理论、图表理论和用于利用数字格式的数据进行工作的各种技术来构建这类方法。
无监督学习(自学习、自发学习)—为机器学习的方法之一,其中,自发地教导被测系统以执行规定的任务,而无实验者的部分干预。从控制论的立场,它为多种控制论实验之一。作为规则,仅适合于针对对象集(训练选择)已知描述的问题,以及要求发现在对象之中存在的内部链接、依赖性和规则。
监督学习—为机器学习方法之一,其中,借助“刺激/响应”示例迫使被测系统学习。从控制论的立场,它为多种控制论实验之一。在输入与标准输出(刺激/响应)之间可以存在特定依赖性,但是它是未知的。仅有限的一组先例是已知的–“刺激/响应”对被称为训练选择。基于该数据,需要重建依赖性(构建适合预测的刺激/响应关系的模型),即,构造能够针对任何给定对象产生足够准确的响应的算法。可以引入质量功能以测量响应的准确度,如在基于示例的教导的情况下。
函数关系—为对象之间的一种关系(链接),由此,各个对象的变化彼此相伴。在函数关系中,因果关系的主要特征是缺乏:生产率(对象不产生彼此)、时间的非对称性(它们共同存在,它们之一不先于另一者)和不可逆性。
本发明的各个方面被配置成教导用于检测恶意文件的模型。本发明的技术效果为实现本发明的目标。本发明的另一个技术效果为在使用用于检测恶意文件的模型时凭借该模型在先前检测的恶意文件上的再训练而增强恶意文件的检测。该技术效果为,在计算机功能方面、即在防病毒技术方面优于传统的静态和动态病毒扫描(其无法辨别容器文件中的危险)的改进。例如,由于容器对象的加密的可能性,因此当像以往那样(通过比较掩码)分析容器文件的内容时,传统的静态病毒扫描无法保证高的验证程度。同时,传统的动态病毒扫描将要求启动每个容器对象(例如,在虚拟环境中)并分析其行为,这非常消耗资源且缓慢。相比之下,本发明的各方面提供了一种系统,该系统以解决这两个问题的方式(即,具有恶意(或非恶意)的可靠验证的快速分析)分析容器文件。
使用对用于检测恶意容器的模型进行教导的方法来实现这些结果,其中,该容器为包含构成提及的容器的逻辑上独立的数据区域的至少两个或更多个对象(后文中,对象)的文件,其中,该方法包含通过来自对用于检测恶意容器的模型进行教导的系统的资源所执行的步骤,以及在该步骤中,使用确定参数的部件来确定从至少一个安全容器和一个恶意容器选择的每个对象的参数,所述参数唯一地表征提及的对象与至少一个所选对象的函数关系;使用形成卷积的部件来基于确定的从提及的容器选择的对象的参数来分别形成针对各个容器的卷积,该卷积为多维矢量,每个多维矢量的每个元素对应于确定的参数之中的其自身的唯一参数,同时提及的元素的值对应于已经确定了提及的参数的对象的数量;使用教导部件来基于如此形成的卷积进行用于检测恶意容器的模型的机器教导,其中,提及的用于检测的模型为用于计算容器的危害程度的算法,同时该容器的危害程度为表征提及的容器为恶意的概率的数值。
在该方法的另一特定方面中,在计算的容器的危害程度位于先前确定的阈值范围内的情况下,进一步再训练用于检测恶意容器的模型,使得基于借助再训练的用于确定参数的模型所选择的对象的参数计算的危害程度大于基于借助非再训练的用于检测恶意容器的模型所选择的对象的参数计算的危害程度。
在该方法的又一特定方面中,容器至少为:PDF文档;发行版;文件存档。
在该方法的另一特定方面中,从容器选择的对象至少为:可执行文件;脚本;媒体数据;和容器。
在该方法的又一特定方面中,对象的参数至少为:对象的类型;对象的大小;对象在容器中包含的全部对象之中的索引。
图1示出了对用于检测恶意容器的模型进行教导的系统的结构图的示例。用于对用于检测恶意容器的模型进行教导的系统包括:被分析的容器100、容器的对象105、参数确定模块110、用于确定参数的模型111、卷积生成模块120、模型训练模块130、检测模块131、以及被配置成再训练用于确定参数的模型的再训练模块140。
在一个方面中,容器100为包含至少两个对象105(在后文中,对象)的文件,所述至少两个对象105为给定容器100的逻辑上独立的数据区域。容器100可以是被配置成且格式化成封装多个逻辑上独立的数据区域(其自身可以为文件或其它容器)的任何文件、包或其它数据对象。换言之,容器100可以为任何给定结构化数据集,从技术上讲,可以基于关于前文提及的结构的信息从该数据集中挑选出逻辑上独立的数据区域作为独立对象105。
例如,容器100可以为封装对象的PDF(便携式文档格式)文档,所述对象提供固定版式的平面型文档的完整描述,诸如文本、字体、矢量图形、光栅图像、和其它显示信息以及其它逻辑构造信息、交互性元素(例如注释、表单域)、层、视频内容、文件附件、元数据、和/或安全相关的对象(例如,加密密钥、数字签名)。在另一示例中,容器100可以为包含SWF文件的应用程序(Flash应用程序)或直接为SWF文件本身。在另外其它示例中,容器100可以为Java小程序;包含作为逻辑上独立的软件组件的对象的软件发行版(诸如格式化为微软安装程序或“MSI”的Windows安装程序);或文件存档(诸如由WinZip存档器打包的文件集合),其中,对象105为存档器中包含的文件。
在一些方面中,容器100可以为按二进制字格式(使多个对象(即“存储器”)作为OLE复合文件)或按基于XML的文件格式(使多个对象以二进制编码块存储在XML内)而格式化的电子文档(诸如Microsoft文档)。例如,Microsoft Excel电子文档“quarterly_report.xlsx”100可以包含文本数据(诸如Microsoft Excel表的单元彼此之间的函数关系的描述公式)105.1、图像或OLE附件(基于来自所述电子文档的表的数据构建的图表)105.2、以及其它Microsoft Excel电子文档105.3。
在该系统的又一示例性方面中,从容器100挑选出的对象105至少为可执行文件(包括库DLL);脚本(例如,以JavaScript语言编写的脚本、ActionScript等);媒体数据(诸如图像、视频、音频等);另一容器文件(诸如嵌入另一文件存档中的文件存档);二进制数据;和文本。
例如,作为文件存档“archive.zip”的容器100可以包含可执行文件“viewer.exe”105.4和图像“family.jpg”105.5,而提及的可执行文件“viewer.exe”105.4同样也为容器100,这是因为存在用于其的已知结构(PE文件的结构),该结构描述文件区段,以及源区段包含图像“me.GIFf”105.5。
换言之,对象105可以为数据,可以进行该数据的修改(包括从容器100替换和移除)而不改变存储有所述数据的容器100的功能或结构,即,可以进行所述对象105的修改而不修改该容器100中包含的其它对象105。
所描述的系统可以使用各种各样的技术从容器100中选择一个对象105以供分析,以及结合图3更详细地来描述。
参数确定模块110被配置成确定从被分析容器100选择的对象105的参数,以及将确定的参数传递到卷积生成模块120,所述参数中的至少一者表征所选对象105彼此之间的函数关系。
在该系统的一个示例性方面中,对象105的参数包括指示对象105的类型(例如图像、文本、媒体数据、容器等)的参数;指示对象105的大小的参数;指示确定类型的所选对象105的总大小(例如,图像的总大小为1020kb、文本数据的总大小为12kb等)的参数;以及对象105在容器100中包含的全部对象105之中的索引。另外,参数至少为:容器100(例如zip存档、SWF文件等)的类型;容器100的大小;容器中所选对象105的数量;以及全部所选对象105的总大小。
例如,容器“quarterly_report.xlsx”100可以包含图像“chart_01.jpg”105.6、“chart_02.jpg”105.7、以及VBScript“viewer.vbs”105.8。容器100的对象105的参数可以为在下文的表1.1和表1.2中呈现的参数:
参数 | “chart_01.jpg” | “chart_02.jpg” | “viewer.vbs” |
类型 | 图像 | 图像 | 脚本 |
大小 | 15kb | 78kb | 2kb |
索引 | 1 | 2 | 3 |
表1.1
表1.2
从容器100的大小与该容器100的对象105的大小总和的比率,进一步确定的是所述容器100的解包程度。容器的解包程度可以为数值量,该数值量表征:(i)从存储在容器100中的那些对象中选择了多少个对象105,包括多少个确定类型(包括取决于容器100的类型)的对象105;以及(ii)所选对象105相对于包含那些对象的容器100的大小的总大小(换言之,容器100中包含的对象105中有多少个对象被有效地从该容器中提取)。在计算的容器的解包程度小于先前给定的阈值的情况下,做出该容器100的解包不完全的决定,因此所述容器100将至少由用于选择对象105的其它算法来处理;和/或被发送以供由本领域中已知的任何方法进行的附加分析。
在用于确定从容器100选择的对象105的参数的系统的另一示例性方面中,使用用于确定参数的训练模型111,其中,所述用于确定参数的模型111构成用于确定对象105的参数的规则集合,从而每个确定的参数提高了将被分析容器分类为恶意的概率(即,不考虑不影响被分析对象的危害性或降低其危害性的参数)。
可以将用于容器对象的参数分为两个大组,即,第一组参数以及第二组参数,基于该第一组参数可以计算容器或对象的危害程度;基于该第二组参数不能计算容器或对象的危害性。所描述的系统可以在训练(一个或多个)机器学习模型时抑制使用一些确定的参数。即,来自第一组的这类参数将不被考虑(其限界计算资源),即,如果某个参数X不是来自第一组的参数,则在进一步分析中忽略该参数。例如,某个参数X不是直接地(例如,来自黑名单的哈希和)或间接地(例如,用于恶意IP地址的掩码)描述恶意对象105的数据的参数-将通过用于确定参数的训练模型111明确地忽略该参数以及将不从容器100提取该参数描述的对象105。另一参数Y间接地描述恶意对象105的数据,因此,根据其它参数的值,可以按某个概率从容器100提取对象105。此外,参数Z直接地描述恶意对象105的数据,使得将从容器100明确地提取该对象105。用于确定参数的适当训练的模型111从容器100仅提取可由描述恶意对象105的参数来表征且因此影响容器100的危害程度的那些对象105。
卷积生成模块120被配置成基于由参数确定模块110确定的对象105的参数生成或形成卷积(卷积算法的值),该卷积为多维矢量,该多维矢量的每个元素对应于来自该组确定的参数中的其自身的参数,同时该元素的值对应于该参数确定的对象105的数量;以及将如此形成的卷积传送到模型训练模块130。
用于形成卷积的算法可以在数学上被表达为:
其中:
c-为如此形成的卷积;
ei-为用于第i个参数的基础;
pi-为第i个参数;
np-为针对对象105确定的参数的数量;
N(pi)-为确定了第i个参数的对象105的数量。
例如,从表1.2中呈现的参数,将形成卷积:
c=[2,95232,1,2048],
其中,c为矢量,该矢量的每个元素取决于一个确定的参数:
c[0]-为从容器100选择的图像的数量(即,2个图像);
c[1]-为从容器100选择的所有图像的总大小(即,95232字节);
c[2]-为从容器100选择的脚本的数量(即,1个脚本);
c[3]-为从容器100选择的所有脚本的总大小(即,2048字节)。
在该系统的一个示例性方面中,用于形成卷积的对象105的参数可以为对象105的确定的参数的函数的值:
pj=f(pi)
即,该卷积可以在数学上被表达为:
其中:
c-为如此形成的卷积;
ej-为用于参数的第j个处理函数的基础;
{pi}-为该组参数;
nf-为针对对象105确定的参数的指定处理函数f(pi)的数量;
fj({pi})-为针对对象105确定的参数的第j个处理函数;
N(fj)-为确定了第j个函数的值的对象105的数量。
例如,如果该参数为对象105的大小,同时对象105的大小可在范围[0x00000000,0xFFFFFFFF]内,则在一个示例性方面中构成所形成的卷积的矢量可以包含至少(4294967296+1)个元素(1用于保存对象105的总大小,以及4294967296用于保存指定大小的对象105的数量)。关于容器100及其对象105的信息的这类表示是多余的且资源匮乏的,因此可以使用对象105的大小的函数f(pi)的值代替对象105的大小。例如,如果该函数为二进制对数f=log2,则代替用于保存给定大小的对象105的数量的矢量的4294967296个元素,需要该矢量的仅32个元素(232=4294967296)。
在该系统的又一个示例性方面中,函数f({pi})可以为数学模型,包括包含条件结构的对象。
例如,如果该参数为对象105的大小,同时对象105的大小可在范围[0x00000000,0xFFFFFFFF]内,则对象105的参数可以是借助对象105的大小的函数f(pi)所计算的在预定范围[0,max](其中,max为大于0的预定值,从关于矢量的大小、矢量的处理速度等的考虑中选取)内的索引。
因此,代替用于保存给定大小的对象105的数量的4294967296个矢量元素,需要仅5个矢量元素。采用相同方式,可以通过离散变换将任何离散参数映射到离散参数的另一空间上。
在该系统的另一示例性方面中,基于先前执行的对容器100的分析选择上述离散变换的参数,使得在公式化卷积中的信息量为用于该卷积的预定大小的最大值。例如,如果该参数为对象105的大小,同时对象105的大小可在范围[0x00000000,0xFFFFFFFF]内,则对象105的参数可以是借助对象105的大小的函数所计算的在预定范围[0,max]内的索引(index):
index=f(p,{limits}),
其中:
f-为用于将连续参数p离散变换为离散参数index的函数;
index-为离散参数;
p-为连续参数;
{limits}-为以成对形式{min,max}表达的且描述连续参数p与离散参数index的关系的一组参数。
选择参数{min,max},从而对象105的大小的分布为均匀的(在(maxi-mini)=常数的情况下,该分布为线性的;在(maxi-mini)=ef(i)的情况下,该分布为常规分布)。
模型训练模块130被配置成基于针对(预定)安全容器形成的至少一个卷积以及针对(预定)恶意容器形成的一个卷积来机器学习用于检测恶意容器的模型131,所述检测模型131为用于计算容器100的危害程度的算法,同时容器100的危害程度为表征所述容器100为恶意的概率的数值。例如,危害程度可以为在范围0.0到1.0内的实际数值,其中,值0.0意味着保证被分析容器是安全的,以及1.0意味着被分析容器绝对地为恶意的(即,如果在计算机上使用恶意活动,则该恶意活动将发生)。在另一示例中,将双曲函数用于被分析容器的危害的二进制分类。
在该系统的一个示例性方面中,模型训练模块130还被配置成:在计算的容器100的危害程度在阈值的预定范围内的情况下再训练用于检测恶意容器131的模型,使得利用用于检测恶意容器131的再训练模型所计算的危害程度高于利用用于检测恶意容器131的非再训练模型所计算的危害程度。
例如,如果容器的危害程度在范围[0.80,0.85]内(例如0.805),同时从阈值0.82开始容器100被视为是恶意的,则再训练用于检测恶意容器131的模型,使得借助用于检测恶意容器131的再训练模型所计算的恶意程度大于提及的值0.805(诸如0.815)。
在另一示例中,无论在何时所计算的容器100的危害程度大于预定阈值,都进行用于检测恶意容器131的模型的再训练。例如,如果容器100的危害程度等于0.2,则借助用于检测恶意容器131的再训练模型所计算的程度大于所述值0.2(诸如0.21),以及如果容器100的危害程度等于0.95,则借助用于检测恶意容器131的再训练模型所计算的程度大于所述值0.95(诸如0.99)。即,容器100的危害程度越接近1.0,对用于检测恶意容器131的模型的再训练就越有效。
再训练模块140被配置成在阈值的预定范围内再训练用于确定参数的模型111,从而基于借助再训练的用于确定参数的模型111所选择的对象105的参数所计算的危害程度高于基于借助非再训练的用于确定参数的模型111所选择的对象105的参数所计算的危害程度。
在该系统的另一示例性方面中,再训练模块140可以被配置成:再训练用于确定参数的模型111,将至少一个容器100添加到用于确定参数的模型111的教导选择,以及从用于确定参数的模型111的教导选择中移除至少一个容器。
在另一示例性方面中,用于确定参数的模型111的再训练至少使用机器学习的方法:监督学习(诸如人工神经网络、误差修正方法、错误的反向传播方法、基准矢量的方法等等);以及无监督学习(诸如阿尔法强化系统、伽玛强化系统、最近邻居法等等)。
图2示出了对用于检测恶意容器的模型进行教导的方法的结构图的示例。对用于检测恶意容器的模型进行教导的方法的结构图包括:步骤210,确定对象的参数;步骤220,形成卷积;步骤230,教导用于检测恶意容器的模型;以及步骤240,再训练用于确定参数的模型。
在步骤210中,使用参数确定模块110确定从至少一个安全容器100.1和至少一个恶意容器100.2选择的对象105的参数,所述参数唯一地表征在所述对象与至少一个所选对象(即在同一容器文件中)之间的函数关系。在一些方面中,安全容器和恶意容器甚至可以为另一容器内的子容器,并且单个地且独立地来分析。
在一个示例性方面中,容器100选自:至少构成包含安全容器和恶意容器100的训练选择的容器组;或被配置成执行防病毒扫描(确定所述容器100的危害性)的容器组,预先不知道将所述容器100分类为安全的或恶意的。例如,出于训练用于确定参数的模型111或检测模型131的目的,可以由分析者准备容器的训练选择。在另一示例中,可以基于借助其它手段(例如,从用户、从现场、借助网络爬虫)采集的信息形成被配置成执行防病毒扫描的该容器组。
在步骤220中,使用卷积生成模块120、基于选自所述容器100的对象105的确定的参数来分别形成针对各个容器100的卷积。该卷积可以被表示为多维矢量,该多维矢量的每个元素对应于确定的参数之中的其自身的唯一参数,同时该元素的值对应于确定了该参数的对象105的数量。
在步骤230中,使用模型训练模块130基于形成的卷积执行用于检测恶意容器的模型131的机器学习,所述检测模型131为用于计算容器100的危害程度的算法,同时容器100的危害程度为表征所述容器100为恶意的概率的数值。
在步骤240中,在计算的容器100的危害程度大于预定阈值的情况下,使用再训练模块140再训练用于确定参数的模型111,使得基于借助再训练的用于确定参数的模型111所选择的对象105的参数所计算的危害程度大于基于借助非再训练的用于确定参数的模型111所选择的对象105的参数所计算的危害程度。
图3示出用于调度防病毒扫描任务的系统的结构图的示例。用于调度防病毒扫描任务的系统的结构图包括容器组300、被分析容器100、容器的对象105、选择模块310、参数确定模块110、用于确定参数的模型111、卷积生成模块120、检测模型131、用于再训练用于确定参数的模型的模块140、分析模块320、和被配置成调度防病毒扫描任务的防病毒模块330。
上文在图1、图2中已详细描述了被分析容器100、容器的至少一个对象105、参数确定模块110、用于确定参数的模型111、卷积生成模块120、检测模型131和再训练模块140的目的和布局。
容器组300包含至少两个容器。在图3中所描述的图解决了用于分析来自容器组300的容器的危害性的计算资源的分布的问题。
选择模块310被配置成从被分析容器100选择容器的至少一个对象105,以及将所选对象105发送到参数确定模块110。在该系统的一个示例性方面中,基于关于被分析容器100的结构的信息,通过任何合适的已知方法,从被分析容器100中选择容器的对象105。在该系统的另一示例性方面中,基于预定的选择规则,诸如基于容器的大小是否在预定的值范围内;基于容器是否具有明确类型;以及基于容器的危害程度是否在预定的值范围内,进行对象105的选择。
假定已针对所述容器100计算出危害程度,则需要针对容器100进行进一步危害分析以提高防病毒扫描的有效性,以及降低第一种和第二种误差。此外,上文所描述的确定危害程度的方法具有高速、对计算资源的低要求,但不具有最高有效性(检测速率)。例如,PDF文件在虚拟环境或“沙盒”中的动态分析表明,当PDF文件被打开时,对于新文件来说可以被保存到磁盘-当打开所述PDF文件时,对于shell(外壳)代码来说可以被执行,从而需要进一步检查所述PDF文件。
卷积生成模块120还被配置成将公式化卷积发送到分析模块320。
分析模块320被配置成基于借助训练的检测模型131形成的卷积计算被分析容器100的危害程度以及将计算的危害程度发送到用于调度防病毒扫描任务的防病毒模块330。
防病毒模块330被配置成针对被分析容器100确定防病毒扫描的参数,该防病毒扫描的参数表征将对其执行该防病毒扫描的计算系统的资源,所述资源将被分配以在指定时间内执行对于该容器100的防病毒扫描。在一个示例性方面中,防病毒扫描的参数可以包括针对来自容器组300的容器执行防病毒扫描的次序,和/或被分配以针对来自容器组300的每个容器执行防病毒扫描的计算资源。在一些方面中,防病毒扫描的参数还可以包括:用于针对来自容器组300的每个容器执行防病毒扫描的开始时间和结束时间;和/或对于来自容器组300的每个容器的防病毒扫描的方法。
在容器(已针对这些容器计算了危害程度)的防病毒扫描任务的调度中,目标如下:上文所描述的确定容器的危害程度的方法的优势是其高速和对计算资源的低要求。因此,可以正确地检测保证干净(具有很低的危害程度)的容器以及保证恶意(具有很高的危害程度)的容器。剩余的容器需要通过如本领域中已知的更缓慢的、资源需求量更大的、但也更可靠的检查手段来进一步检查。此外,容器可能显现的越恶意,应当越快速地(即越快地)检查该容器。这是防病毒扫描任务的调度的目标。上述方法连同本领域中已知的防病毒扫描方法能够在执行提及的防病毒扫描时减少第一种和第二种误差,同时提高在执行防病毒扫描时的整体速度以及减少耗费的计算资源。
例如,被分析容器的危害程度越高,越将该容器放置到靠近执行防病毒扫描的容器的队列的开端。用于执行防病毒扫描的容器的队列自身可以动态地改变,使得新添加到该队列的、具有较高危害程度的容器将比具有较低危害程度的容器更快地经历防病毒扫描,即使提及的具有较低危害程度的容器已等待更久。因此,产生按如从其它源获得的危害程度分类的容器的动态队列。
在另一示例中,用于执行防病毒扫描的开始时间和结束时间被计算使得至少:(i)将在不超出预定时间的时间内完成来自用于防病毒扫描的容器的队列的全部容器的防病毒扫描;和/或(ii)用于提及的防病毒扫描的计算资源的使用将不超出预定对象。
在另一示例性方面中,可以从队列排除来自容器组300的一些容器,以执行防病毒扫描。例如,如果基于容器所计算的校验和(例如MD5)在“白名单”(基于安全容器所计算的校验和的数据库)上,则从执行防病毒扫描的队列中排除该容器并将该容器视为安全的。另一方面,如果该校验和出现在“黑名单”(基于恶意容器所计算的校验和的数据库)上,则也从执行防病毒扫描的队列中排除该容器并将该容器视为恶意的。
图4示出用于调度防病毒扫描任务的方法的结构图的示例。用于调度防病毒扫描任务的方法的结构图包括:步骤410,选择容器的对象;步骤420,形成卷积;步骤430,计算危害程度;以及在步骤440,调度防病毒扫描任务。
在步骤410中,使用选择模块310从被分析容器100中选择容器的至少一个对象105。
在一个示例性方面中,容器100选自:至少构成包含安全容器和恶意容器100的训练选择的容器组;和/或配置成执行防病毒扫描(确定了所述容器100的危害性)的容器组,预先不知道将所述容器100分类为安全的或恶意的。例如,出于训练用于确定参数的模型111或检测模型131的目的,可以由分析者准备容器的训练选择。
在步骤420中,使用卷积生成模块120基于容器的所选对象105形成卷积。在一些方面中,基于在步骤410中选择的对象105的参数形成的卷积为多维矢量,该多维矢量的每个元素对应于来自该组确定的参数的其自身的参数,同时该元素的值对应于确定了该参数的对象105的数量,以及将如此形成的卷积传送到模型训练模块130。
用于形成卷积的算法可以在数学上被表达为:
其中:
c-为如此形成的卷积;
ei-为用于第i个参数的基础;
pi-为第i个参数;
np-为针对对象105确定的参数的数量;
N(pi)-为已经确定了第i个参数的对象105的数量。
在步骤430中,使用分析模块320基于在步骤420中借助训练的检测模型131形成的卷积计算被分析容器100的危害程度。
在步骤440中,使用用于调度防病毒扫描任务的防病毒模块330,基于如在步骤430中计算的容器100的危害程度确定对于被分析容器100的防病毒扫描的参数,该防病毒扫描的参数表征将对其执行该防病毒扫描的该计算系统的资源,所述资源将被分配以在指定时间内执行对于该容器100的防病毒扫描。
图5为示出根据示例性方面的其上可实施用于训练检测恶意容器文件的机器学习模型的系统和方法的方面的计算机系统20的框图。应当注意,计算机系统20可以实现例如前文所描述的、在图1至图4中所示的模块中的一者或多者。
如所示,该计算机系统20(其可以是个人计算机或服务器)包括中央处理单元21、系统存储器22和连接各种系统部件的系统总线23,各种系统部件包括与中央处理单元21相关联的存储器。如本领域的普通技术人员能够理解的,系统总线23可以包括总线存储器或总线存储器控制器、外围总线、以及能够与任何其它的总线架构交互的本地总线。系统存储器可以包括永久性存储器(ROM)24和随机存取存储器(Random-Access Memory,RAM)25。基本输入/输出系统(Basic Input/Output System,BIOS)26可以存储用于在计算机系统20的元件之间的信息传输的基本程序,例如在使用ROM 24加载操作系统时的那些基本程序。
计算机系统20还可以包括用于读取和写入数据的硬盘27、用于在可移动磁盘29上读取和写入的磁盘驱动器28、以及用于读取和写入可移动光盘31(诸如CD-ROM、DVD-ROM和其它光学介质)的光盘驱动器30。硬盘27、磁盘驱动器28和光盘驱动器30分别通过硬盘接口32、磁盘接口33和光盘驱动器接口34而连接到系统总线23。驱动器和对应的计算机信息介质为用于存储计算机系统20的计算机指令、数据结构、程序模块和其它数据的电源独立的模块。
示例性方面包括使用借助控制器55连接到系统总线23的硬盘27、可移动磁盘29和可移动光盘31的系统。本领域的普通技术人员能够理解,也可以利用能够以计算机可读的形式存储数据的任何类型的介质56(固态驱动器、闪存卡、数字盘、随机存取存储器(RAM)等等)。
计算机系统20具有可以存储操作系统35的文件系统36、以及额外的程序应用37、其它程序模块38和程序数据39。计算机系统20的用户可以使用键盘40、鼠标42、或本领域的普通技术人员已知的任何其它输入设备(诸如但不限于麦克风、操纵杆、游戏控制器、扫描器等)输入命令和信息。这些输入设备通常通过串行端口46插入到计算机系统20中,串行端口46转而连接到系统总线,但是本领域的普通技术人员能够理解,输入设备也可以以其它方式来连接,诸如但不限于借助并行端口、游戏端口、或通用串行总线(Universal SerialBus,USB)来连接。监控器47或其它类型的显示设备也可以通过接口(例如视频适配器48)连接到系统总线23。除了监控器47,个人计算机还可以配备有其它的外围输出设备(未示出),例如扬声器、打印机等。
计算机系统20可以使用与一个或多个远程计算机49的网络连接而工作在网络环境中。一个或多个远程计算机49可以为本地计算机工作站或服务器,其包括在描述计算机系统20的性质时使用的上述元件中的大多数元件或全部元件。其它设备也可以存在于计算机网络中,诸如但不限于路由器、网站、对等设备或其它的网络节点。
网络连接可以形成局域计算机网络(Local-Area computer Network,LAN)50和广域计算机网络(Wide-Area computer Network,WAN)。这些网络用在企业计算机网络和公司内部网络中,并且这些网络通常有权访问因特网。在LAN或WAN网络中,个人计算机20通过网络适配器或网络接口51连接到局域网50。当使用网络时,计算机20系统可以采用调制解调器54或本领域的普通技术人员所熟知的实现与广域计算机网络(诸如因特网)的通信的其它模块。调制解调器54可以是内部设备或外部设备,可以通过串行端口46连接到系统总线23。本领域的普通技术人员能够领会,所述网络连接是使用通信模块建立一个计算机与另一个计算机的连接的许多熟知方式的非限制性示例。
在各个方面中,本文中所描述的系统和方法可以以硬件、软件、固件或它们的任何组合来实施。如果以软件来实施,则上述方法可以作为一个或多个指令或代码而被存储在非暂时性计算机可读介质上。计算机可读介质包括数据存储器。以示例性而非限制性的方式,这种计算机可读介质可以包括RAM,ROM,EEPROM,CD-ROM,闪存或其它类型的电存储介质、磁存储介质或光存储介质,或可用来携带或存储所期望的指令或数据结构形式的程序代码并可以被通用计算机的处理器访问的任何其它介质。
在各个方面中,本发明中所描述的系统和方法可以按照模块来处理。本文中所使用的术语“模块”指的是例如现实世界的设备、部件、或使用硬件(例如通过专用集成电路(Application Specific Integrated Circuit,ASIC)或现场可编程门阵列(Field-Programmable Gate Array,FPGA))实现的部件的布置,或者指的是硬件和软件的组合,例如通过微处理器系统和实现模块功能的指令组(该指令组在被执行时将微处理器系统转换成专用设备)来实现这样的组合。一个模块还可以被实施为两个模块的组合,其中单独地通过硬件促进某些功能,并且通过硬件和软件的组合促进其它功能。在某些实现方式中,模块的至少一部分(以及在一些情况下,模块的全部)可以被执行在通用计算机(例如上文在图5中更详细描述的通用计算机)的处理器上。因此,每个模块可以以各种适合的配置来实现,而不应受限于本文中所列举的任何特定的实现方式。
为了清楚起见,本文中没有公开各个方面的所有例程特征。应当领会的是,在本发明的任何实际的实现方式的开发中,必须做出许多特定实现方式的决定,以便实现开发者的特定目标,并且这些特定目标将对于不同的实现方式和不同的开发者变化。应当理解的是,这种开发努力会是复杂的且费时的,但对于了解本发明的优点的本领域的普通技术人员来说仍然是工程的例行任务。
此外,应当理解的是,本文中所使用的措辞或术语出于描述而非限制的目的,从而本说明书的术语或措辞应当由本领域技术人员根据本文中所提出的教导和指导结合相关领域技术人员的知识来解释。此外,不旨在将本说明书或权利要求中的任何术语归于不常见的或特定的含义,除非明确如此阐述。
本文中所公开的各个方面包括本文中以说明性方式所引用的已知模块的现在和未来已知的等同物。此外,尽管已经示出并描述了各个方面和应用,但是对于了解本发明的优点的本领域技术人员显而易见的是,在不脱离本文中所公开的发明构思的前提下,相比于上文所提及的内容而言的更多修改是可行的。
Claims (20)
1.一种用于对检测恶意容器文件的机器学习模型进行训练的计算机实现的方法,包括:
从恶意容器文件选择多个对象,其中,容器文件为包含至少两个或更多个对象的文件,所述至少两个或更多个对象构成所述容器文件的逻辑上独立的数据区域;
确定用于从所述恶意容器文件选择的每个对象的至少一个参数,其中,所述至少一个参数表征各自的所述对象与在所述容器文件中的至少一个其它对象的函数关系;
基于确定的所述至少一个参数生成与所述恶意容器文件相关联的第一卷积,其中,所述第一卷积包括多维矢量,其中,所述多维矢量的每个元素对应于在确定的所述参数之中的所述每个元素自身的唯一参数,同时所述元素的值对应于确定了所述参数的对象的数量;
基于从安全容器文件所选的对象的确定的参数生成与所述安全容器文件相关联的第二卷积;以及
基于与所述恶意容器文件相关联的所述第一卷积和与所述安全容器文件相关联的所述第二卷积来修改机器学习模型,其中,所述机器学习模型被配置成计算被分析的容器文件的危害程度。
2.如权利要求1所述的方法,还包括:
将所述机器学习模型应用于目标容器文件以计算所述目标容器文件的危害程度,其中,计算的所述目标容器文件的所述危害程度是表征被分析的所述目标容器文件为恶意的概率的数值。
3.如权利要求2所述的方法,还包括:
响应于确定了计算的所述危害程度在预定阈值范围内,再训练所述机器学习模型,使得利用再训练的所述机器学习模型计算的所述危害程度高于利用原始的所述机器学习模型计算的所述危害程度。
4.如权利要求2所述的方法,还包括:
基于计算的所述危害程度来调度防病毒应用程序以执行所述目标容器文件的防病毒扫描。
5.如权利要求1所述的方法,其中,所述恶意容器文件为PDF文档、软件发行版和包含由存档器软件打包的多个文件的文件存档中的一者。
6.如权利要求1所述的方法,其中,从所述容器文件选择的所述对象为可执行文件、脚本、媒体数据、和另一容器文件中的至少一者。
7.如权利要求1所述的方法,其中,至少一个所选对象的确定的所述参数包括以下项中的至少一者:所述所选对象的类型、所述所选对象的大小、和所述所选对象在所述容器文件中包含的全部对象之中的索引。
8.如权利要求1所述的方法,其中,使用第二机器学习模型执行所述确定用于从所述恶意容器文件选择的每个对象的至少一个参数,其中,所述第二机器学习模型包括用于确定所述对象的所述参数的规则集合,使得每个确定的参数提高将目标容器文件分类为恶意的概率。
9.一种用于对检测恶意容器文件的机器学习模型进行训练的系统,所述系统包括:
存储设备,所述存储设备被配置成存储容器文件组;
硬件处理器,所述硬件处理器被配置成:
从恶意容器文件选择多个对象,其中,容器文件为包含至少两个或更多个对象的文件,所述至少两个或更多个对象构成所述容器文件的逻辑上独立的数据区域;
确定用于从所述恶意容器文件选择的每个对象的至少一个参数,其中,所述至少一个参数表征各自的所述对象与在所述容器文件中的至少一个其它对象的函数关系;
基于确定的所述至少一个参数生成与所述恶意容器文件相关联的第一卷积,其中,所述第一卷积包括多维矢量,其中,所述多维矢量的每个元素对应于在确定的所述参数之中的所述每个元素自身的唯一参数,同时所述元素的值对应于确定了所述参数的对象的数量;
基于从安全容器文件所选的对象的确定的参数生成与所述安全容器文件相关联的第二卷积;以及
基于与所述恶意容器文件相关联的所述第一卷积和与所述安全容器文件相关联的所述第二卷积来修改机器学习模型,其中,所述机器学习模型被配置成计算被分析的容器文件的危害程度。
10.如权利要求9所述的系统,其中,所述硬件处理器被配置成:
将所述机器学习模型应用于目标容器文件以计算所述目标容器文件的危害程度,其中,计算的所述目标容器文件的所述危害程度是表征被分析的所述目标容器文件为恶意的概率的数值。
11.如权利要求10所述的系统,其中,所述硬件处理器被配置成:
响应于确定了计算的所述危害程度在预定阈值范围内,再训练所述机器学习模型,使得利用再训练的所述机器学习模型计算的所述危害程度高于利用原始的所述机器学习模型计算的所述危害程度。
12.如权利要求10所述的系统,其中,所述硬件处理器被配置成:
基于计算的所述危害程度来调度防病毒应用程序以执行所述目标容器文件的防病毒扫描。
13.如权利要求9所述的系统,其中,所述恶意容器文件为PDF文档、软件发行版和包含由存档器软件打包的多个文件的文件存档中的一者。
14.如权利要求9所述的系统,其中,从所述容器文件选择的所述对象为可执行文件、脚本、媒体数据、和另一容器文件中的至少一者。
15.如权利要求9所述的系统,其中,至少一个所选对象的确定的所述参数包括以下项中的至少一者:所述所选对象的类型、所述所选对象的大小、和所述所选对象在所述容器文件中包含的全部对象之中的索引。
16.如权利要求9所述的系统,其中,使用第二机器学习模型执行所述确定用于从所述恶意容器文件选择的每个对象的至少一个参数,其中,所述第二机器学习模型包括用于确定所述对象的所述参数的规则集合,使得每个确定的参数提高将目标容器文件分类为恶意的概率。
17.一种非暂时性计算机可读介质,所述非暂时性计算机可读介质包括用于对检测恶意容器文件的机器学习模型进行训练的计算机可执行指令,所述计算机可执行指令包括用于如下操作的指令:
从恶意容器文件选择多个对象,其中,容器文件为包含至少两个或更多个对象的文件,所述至少两个或更多个对象构成所述容器文件的逻辑上独立的数据区域;
确定用于从所述恶意容器文件选择的每个对象的至少一个参数,其中,所述至少一个参数表征各自的所述对象与在所述容器文件中的至少一个其它对象的函数关系;
基于确定的所述至少一个参数生成与所述恶意容器文件相关联的第一卷积,其中,所述第一卷积包括多维矢量,其中,所述多维矢量的每个元素对应于在确定的所述参数之中的所述每个元素自身的唯一参数,同时所述元素的值对应于确定了所述参数的对象的数量;
基于从安全容器文件所选的对象的确定的参数生成与所述安全容器文件相关联的第二卷积;以及
基于与所述恶意容器文件相关联的所述第一卷积和与所述安全容器文件相关联的所述第二卷积来修改机器学习模型,其中,所述机器学习模型被配置成计算被分析的容器文件的危害程度。
18.如权利要求17所述的非暂时性计算机可读介质,其中,所述计算机可执行指令还包括用于如下操作的指令:
将所述机器学习模型应用于目标容器文件以计算所述目标容器文件的危害程度,其中,计算的所述目标容器文件的所述危害程度是表征被分析的所述目标容器文件为恶意的概率的数值。
19.如权利要求18所述的非暂时性计算机可读介质,其中,所述计算机可执行指令还包括用于如下操作的指令:
响应于确定了计算的所述危害程度在预定阈值范围内,再训练所述机器学习模型,使得利用再训练的所述机器学习模型计算的所述危害程度高于利用原始的所述机器学习模型计算的所述危害程度。
20.如权利要求18所述的非暂时性计算机可读介质,其中,所述计算机可执行指令还包括用于如下操作的指令:
基于计算的所述危害程度来调度防病毒应用程序以执行所述目标容器文件的防病毒扫描。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2018104438A RU2697955C2 (ru) | 2018-02-06 | 2018-02-06 | Система и способ обучения модели обнаружения вредоносных контейнеров |
RU2018104438 | 2018-02-06 | ||
US16/124,255 US10902118B2 (en) | 2018-02-06 | 2018-09-07 | System and method of training a machine learning model for detection of malicious containers |
US16/124,255 | 2018-09-07 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110119620A CN110119620A (zh) | 2019-08-13 |
CN110119620B true CN110119620B (zh) | 2023-05-23 |
Family
ID=67476780
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811359307.5A Active CN110119620B (zh) | 2018-02-06 | 2018-11-15 | 训练用于检测恶意容器的机器学习模型的系统和方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10902118B2 (zh) |
JP (1) | JP6758360B2 (zh) |
CN (1) | CN110119620B (zh) |
RU (1) | RU2697955C2 (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11461462B1 (en) * | 2018-09-21 | 2022-10-04 | Ca, Inc. | Systems and methods for producing adjustments to malware-detecting services |
CN110908964B (zh) * | 2019-10-18 | 2023-08-18 | 平安科技(深圳)有限公司 | 分布式文件系统的监控方法、装置、终端及存储介质 |
US11537809B2 (en) * | 2019-11-21 | 2022-12-27 | Kyndryl, Inc. | Dynamic container grouping |
US20210243226A1 (en) * | 2020-02-03 | 2021-08-05 | Purdue Research Foundation | Lifelong learning based intelligent, diverse, agile, and robust system for network attack detection |
CN111327608B (zh) * | 2020-02-14 | 2021-02-02 | 中南大学 | 基于级联深度神经网络的应用层恶意请求检测方法及系统 |
US12015630B1 (en) | 2020-04-08 | 2024-06-18 | Wells Fargo Bank, N.A. | Security model utilizing multi-channel data with vulnerability remediation circuitry |
US11720686B1 (en) * | 2020-04-08 | 2023-08-08 | Wells Fargo Bank, N.A. | Security model utilizing multi-channel data with risk-entity facing cybersecurity alert engine and portal |
US20220058498A1 (en) * | 2020-08-24 | 2022-02-24 | Kyndryl, Inc. | Intelligent backup and restoration of containerized environment |
CN112508200B (zh) * | 2020-12-18 | 2024-01-16 | 北京百度网讯科技有限公司 | 处理机器学习模型文件的方法、装置、设备、介质和程序 |
CN112528284A (zh) * | 2020-12-18 | 2021-03-19 | 北京明略软件系统有限公司 | 恶意程序的检测方法及装置、存储介质、电子设备 |
US11573770B2 (en) * | 2021-05-05 | 2023-02-07 | International Business Machines Corporation | Container file creation based on classified non-functional requirements |
US20230409710A1 (en) * | 2022-05-26 | 2023-12-21 | Microsoft Technology Licensing, Llc | Allow list of container images based on deployment configuration at a container orchestration service |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105095756A (zh) * | 2015-07-06 | 2015-11-25 | 北京金山安全软件有限公司 | 可移植文档格式文档的检测方法和装置 |
CN106663124A (zh) * | 2014-08-11 | 2017-05-10 | 微软技术许可有限责任公司 | 生成和使用知识增强型模型 |
CN107341401A (zh) * | 2017-06-21 | 2017-11-10 | 清华大学 | 一种基于机器学习的恶意应用监测方法和设备 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9100425B2 (en) * | 2010-12-01 | 2015-08-04 | Cisco Technology, Inc. | Method and apparatus for detecting malicious software using generic signatures |
US8838992B1 (en) | 2011-04-28 | 2014-09-16 | Trend Micro Incorporated | Identification of normal scripts in computer systems |
US20130222422A1 (en) | 2012-02-29 | 2013-08-29 | Mediatek Inc. | Data buffering apparatus capable of alternately transmitting stored partial data of input images merged in one merged image to image/video processing device and related data buffering method |
JP5441043B2 (ja) * | 2012-04-19 | 2014-03-12 | 株式会社Ffri | プログラム、情報処理装置、及び情報処理方法 |
RU2587429C2 (ru) * | 2013-12-05 | 2016-06-20 | Закрытое акционерное общество "Лаборатория Касперского" | Система и способ оценки надежности правила категоризации |
US9324022B2 (en) * | 2014-03-04 | 2016-04-26 | Signal/Sense, Inc. | Classifying data with deep learning neural records incrementally refined through expert input |
US10078752B2 (en) * | 2014-03-27 | 2018-09-18 | Barkly Protects, Inc. | Continuous malicious software identification through responsive machine learning |
JP2017004123A (ja) | 2015-06-05 | 2017-01-05 | 日本電信電話株式会社 | 判定装置、判定方法および判定プログラム |
WO2017011702A1 (en) * | 2015-07-15 | 2017-01-19 | Cylance Inc. | Malware detection |
US9690938B1 (en) * | 2015-08-05 | 2017-06-27 | Invincea, Inc. | Methods and apparatus for machine learning based malware detection |
US11151244B2 (en) * | 2016-05-11 | 2021-10-19 | British Telecommunications Public Limited Company | Software container profiling |
WO2017223294A1 (en) | 2016-06-22 | 2017-12-28 | Invincea, Inc. | Methods and apparatus for detecting whether a string of characters represents malicious activity using machine learning |
US10503901B2 (en) * | 2016-09-01 | 2019-12-10 | Cylance Inc. | Training a machine learning model for container file analysis |
US10637874B2 (en) * | 2016-09-01 | 2020-04-28 | Cylance Inc. | Container file analysis using machine learning model |
WO2018045165A1 (en) | 2016-09-01 | 2018-03-08 | Cylance Inc. | Container file analysis using machine learning models |
US10489589B2 (en) * | 2016-11-21 | 2019-11-26 | Cylance Inc. | Anomaly based malware detection |
TWI677804B (zh) * | 2017-11-29 | 2019-11-21 | 財團法人資訊工業策進會 | 計算機裝置及辨識其軟體容器行為是否異常的方法 |
-
2018
- 2018-02-06 RU RU2018104438A patent/RU2697955C2/ru active
- 2018-09-07 US US16/124,255 patent/US10902118B2/en active Active
- 2018-11-08 JP JP2018210452A patent/JP6758360B2/ja active Active
- 2018-11-15 CN CN201811359307.5A patent/CN110119620B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106663124A (zh) * | 2014-08-11 | 2017-05-10 | 微软技术许可有限责任公司 | 生成和使用知识增强型模型 |
CN105095756A (zh) * | 2015-07-06 | 2015-11-25 | 北京金山安全软件有限公司 | 可移植文档格式文档的检测方法和装置 |
CN107341401A (zh) * | 2017-06-21 | 2017-11-10 | 清华大学 | 一种基于机器学习的恶意应用监测方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
JP2019192198A (ja) | 2019-10-31 |
RU2697955C2 (ru) | 2019-08-21 |
US10902118B2 (en) | 2021-01-26 |
RU2018104438A3 (zh) | 2019-08-06 |
RU2018104438A (ru) | 2019-08-06 |
JP6758360B2 (ja) | 2020-09-23 |
US20190243972A1 (en) | 2019-08-08 |
CN110119620A (zh) | 2019-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110119620B (zh) | 训练用于检测恶意容器的机器学习模型的系统和方法 | |
CN110659483B (zh) | 使用在一个恶意文件上训练的学习模型识别多个恶意文件的系统和方法 | |
CN109145600B (zh) | 使用静态分析元素检测恶意文件的系统和方法 | |
CN109684836B (zh) | 使用经训练的机器学习模型检测恶意文件的系统和方法 | |
RU2679785C1 (ru) | Система и способ классификации объектов | |
RU2739865C2 (ru) | Система и способ обнаружения вредоносного файла | |
CN109271780B (zh) | 机器学习恶意软件检测模型的方法、系统和计算机可读介质 | |
CN110659486B (zh) | 用于使用两级文件分类来检测恶意文件的系统和方法 | |
CN106557697B (zh) | 生成杀毒记录集合的系统和方法 | |
CN109684072B (zh) | 基于机器学习模型管理用于检测恶意文件的计算资源的系统和方法 | |
CN111382430A (zh) | 用于对计算机系统的对象进行分类的系统和方法 | |
US20210097177A1 (en) | System and method for detection of malicious files | |
CN109558207B (zh) | 在虚拟机中形成用于进行文件的防病毒扫描的日志的系统和方法 | |
CN111538978A (zh) | 基于从任务危险等级确定的访问权执行任务的系统和方法 | |
CN112580044A (zh) | 用于检测恶意文件的系统和方法 | |
US11985151B2 (en) | Generation device, generation method, and generation program | |
EP3522080B1 (en) | System and method of training a machine learning model for detection of malicious containers | |
Alazab et al. | Malicious code detection using penalized splines on OPcode frequency | |
EP3588351B1 (en) | System and method of identifying malicious files using a learning model trained on a malicious file | |
EP3416085B1 (en) | System and method of detecting malicious files with the use of elements of static analysis | |
US11880460B2 (en) | System and method for differential malware scanner | |
US20240248990A1 (en) | Machine learning-based malware detection for code reflection |
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 |