CN109145600A - 使用静态分析元素检测恶意文件的系统和方法 - Google Patents

使用静态分析元素检测恶意文件的系统和方法 Download PDF

Info

Publication number
CN109145600A
CN109145600A CN201710919670.7A CN201710919670A CN109145600A CN 109145600 A CN109145600 A CN 109145600A CN 201710919670 A CN201710919670 A CN 201710919670A CN 109145600 A CN109145600 A CN 109145600A
Authority
CN
China
Prior art keywords
rule
resource
electronic document
malicious file
extraction
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
CN201710919670.7A
Other languages
English (en)
Other versions
CN109145600B (zh
Inventor
弗拉基米尔·V·克雷洛夫
亚历山大·V·利斯金
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
Application filed by Kaspersky Lab AO filed Critical Kaspersky Lab AO
Publication of CN109145600A publication Critical patent/CN109145600A/zh
Application granted granted Critical
Publication of CN109145600B publication Critical patent/CN109145600B/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
    • G06F21/563Static detection by source code analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • 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
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • 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
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Virology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及使用静态分析元素检测恶意文件的系统和方法。具体提供了一种用于确定电子文件是否是恶意的系统和方法。示例性的方法包括:从电子文件提取资源;形成第一规则,该第一规则在提取的多个资源之间建立函数相关性;在恶意文件资源的数据库中识别第二规则,该第二规则与提取的多个资源中的一个或多个相关联,将形成的所述第一规则与识别的所述第二规则进行比较,以计算第一规则与第二规则之间的相似度;以及当所计算的相似度超过预定的阈值时,确定电子文件为恶意文件。

Description

使用静态分析元素检测恶意文件的系统和方法
技术领域
本发明总体涉及防病毒技术,并且更具体地,涉及使用静态分析元素检测恶意文件的系统和方法。
背景技术
计算机技术近十年来的快速发展以及各种计算设备(个人计算机、笔记本电脑、平板电脑、智能手机等)的广泛使用已经成为在各种活动领域中使用这些设备并解决大量问题(从因特网冲浪到银行转账和电子档案)的强大动力。与在这些设备上运行的计算设备和软件的数量增长并行,恶意程序的数量也已以快节奏增长。
目前,存在巨大量的种类的恶意程序。一些恶意程序从用户设备窃取个人机信息和机密信息(诸如登录名和密码、银行信息、电子文件)。其它恶意程序将用户设备转变成所谓的僵尸网络进行攻击(诸如分布式拒绝服务(DDOS)攻击),或者在其它计算机或计算机网络上通过穷举法挑选出密码。另外的恶意程序通过侵入性广告、付费订阅、向长途号码发送SMS等提供付费内容。
专用程序或者防病毒的程序用于处理恶意程序,其包括检测恶意程序,预防感染并修复被恶意程序感染的计算机系统。
防病毒程序使用不同的技术来检测一系列的恶意程序,诸如:
·静态分析——分析有害程序,包括基于组成被分析的程序的文件中包含的数据,启动或仿真被分析的程序的工作,在此期间,可以采用统计分析;
·签名分析——搜索被分析的程序的特定的代码段与来自恶意程序的签名数据库的已知代码(签名)的对应性;
·白名单和黑名单——在恶意程序的校验和的数据库(黑名单)中或在安全程序的校验和的数据库(白名单)中搜索被分析的程序(或者其一部分)的计算的校验和;
·动态分析——基于在执行或仿真被分析的程序的工作的过程中获得的数据,分析有害程序,在此期间,可以采用动态分析;
·启发式分析—仿真被分析的程序的工作,创建仿真日志(包含关于API函数调用的数据、发送的参数、被分析的程序的代码段等等),以及搜索来自创建的日志的数据与来自恶意程序的仿真签名的数据库的数据的对应性;
·主动防御——拦截被分析的已启动的程序的API函数调用,创建关于被分析的程序的工作的日志(包含关于API函数调用的数据、发送的参数、被分析的程序的代码段等等),以及搜索来自创建的日志的数据与来自恶意程序的调用数据库的数据的对应性。
静态分析和动态分析均具有其优点和缺点。例如,静态分析对在其上正进行分析的计算机系统的资源的要求较低,并且由于静态分析不需要执行或仿真被分析的程序,所以统计分析更快,但效果较差,即静态分析具有较低的恶意程序检测百分比,较高的虚假警报(即,被防病毒程序分析的文件判断为有害的,然而,该文件是安全的)百分比。因为动态分析使用在执行或仿真被分析的程序的工作期间获得的数据,所以动态分析更慢,并且对在其上正进行分析的计算机系统的资源的要求较高,但其也更有效。现代的防病毒程序采用包括静态分析元素和动态分析元素二者的复杂的分析。
虽然已知的技术擅长于检测恶意文件以及构成潜在威胁的文件(在所述文件包含与先前已经检测的恶意文件中使用的数据类似的数据的情况下),但是它们通常在检测使用如下数据的新的恶意文件时具有较差的效果:该数据先前并未在其它的恶意文件中使用,或者已经被修改。
发明内容
本公开能够解决使用静态分析元素检测恶意文件的问题。
根据示例性方面,提供了一种用于确定电子文件是否是恶意的方法。在该方面,该方法包括:从所述电子文件提取多个资源;形成至少一个第一规则,所述至少一个第一规则在提取的多个资源之间建立函数相关性;在恶意文件资源的数据库中识别至少一个第二规则,所述至少一个第二规则与提取的所述多个资源中的至少一者相关联,将形成的所述至少一个第一规则与识别的所述至少一个第二规则进行比较,以计算形成的所述至少一个第一规则与识别的所述至少一个第二规则之间的相似度,以及当计算的所述相似度超过预定的阈值时,确定所述电子文件为恶意文件。
根据另一方面,所述方法包括执行检测所述恶意文件以及隔离所述恶意文件中的至少一者。
根据另一方面,从所述电子文件提取所述多个资源包括提取如下的至少一者:与用于创建所述电子文件的开发环境有关的数据、与打包所述电子文件的软件应用程序有关的数据以及所述电子文件的数字签名。
根据另一方面,所述方法包括:计算提取的所述多个资源中的至少一者的散列和,以及在恶意文件资源的所述数据库中,基于计算的所述散列和识别所述至少一个第二规则。
根据另一方面,所述方法包括:通过创建提取的所述多个资源的人造神经网络来形成所述至少一个第一规则,其中,创建的所述人造神经网络的节点分别是所述提取的资源的分析,并且所述节点之间的链接指示所述提取的资源之间的所述函数相关性。
根据另一方面,所述方法包括:在所述恶意文件资源的数据库中,基于提取的所述多个资源之间的所述函数相关性识别所述至少一个第二规则。
根据另一方面,所述方法包括:提取包括图标资源、清单资源和对话框资源的所述多个资源,在所述图标资源、所述清单资源和所述对话框资源中的至少两者之间形成函数相关性,以及基于在所述图标资源、所述清单资源和所述对话框资源中的所述至少两者之间形成的所述函数相关性,在恶意文件资源的所述数据库中搜索所述至少一个第二规则。
根据另一方面,所述方法包括:基于利用形成的所述至少一个第一规则的提取的所述多个资源的所述函数相关性与识别的所述至少一个第二规则的提取的所述多个资源中的至少一者之间的判别分析的模式识别,计算形成的所述至少一个第一规则与识别的所述至少一个第二规则之间的所述相似度。
根据示例性方面,提供了用于确定电子文件是否是恶意的系统。在该方面,该系统包括:至少一个数据库,所述至少一个数据库存储与多个恶意文件资源相关联的多个规则;和至少一个处理器,所述至少一个处理器配置成:从所述电子文件提取多个资源,形成至少一个第一规则,所述至少一个第一规则在提取的多个资源之间建立函数相关性;在所述至少一个数据库中识别存储的多个规则中的至少一个第二规则,其中,识别的所述至少一个第二规则与所述电子文件的提取的多个资源中的至少一者相关联,将所形成的至少一个第一规则与所识别的至少一个第二规则进行比较,以计算形成的所述至少一个第一规则与识别的所述至少一个第二规则之间的相似度,以及当计算的所述相似度超过预定的阈值时,确定所述电子文件为恶意文件。
根据另一示例性方面,提供了一种非暂时性计算机可读介质,所述非暂时性计算机可读介质存储用于确定电子文件是否是恶意的计算机可执行指令。在该方面,包括用于如下操作的指令:从所述电子文件提取多个资源,形成至少一个第一规则,所述至少一个第一规则在提取的多个资源之间建立函数相关性;在恶意文件资源的数据库中识别至少一个第二规则,所述至少一个第二规则与所述提取的多个资源中的至少一者相关联,将形成的所述至少一个第一规则与识别的所述至少一个第二规则进行比较,以计算形成的所述至少一个第一规则与识别的所述至少一个第二规则之间的相似度,以及当计算的所述相似度超过预定的阈值时,确定所述电子文件为恶意文件。
以上对本发明的示例性方面的简要概述用于提供对本发明的基本理解。该概述不是对所有预期方面的广泛综述,并且既不旨在标识所有方面的关键的要素或主要的要素,也不旨在勾画本发明的任何方面或所有方面的范围。该概述的唯一目的是以简化的形式呈现一个或多个方面,作为随后的对本发明的更详细的描述的前奏。为了实现前述内容,本发明的一个或多个方面包括在权利要求中所描述的且特别指出的特征。
附图说明
并入本说明书中并构成本说明书的一部分的附图示出了本发明的一个或多个示例性方面,以及连同详细的描述一起用来阐述这些示例性方面的原理和实现方式。
图1示出根据示例性的方面用于使用静态分析元素检测恶意文件的系统的框图;
图2示出根据示例性的方面用于使用静态分析元素检测恶意文件的方法的流程图;
图3示出根据示例性的方面,其上可以实施所公开的系统和方法的通用计算机系统(其可以是个人计算机或服务器)的示例。
具体实施方式
现在参考附图描述各个方面,其中在全文中相同的附图标记始终用于指代相同的元件。在下面的描述中,为了解释的目的,阐述了许多具体细节以促进对一个或多个方面的透彻理解。然而,在一些或所有实例中可以显而易见的是,可以在不采用下面描述的具体设计细节的情况下实践下面描述的任一方面。在其它实例中,以框图形式示出了众所周知的结构和设备,以便于描述一个或多个方面。以下呈现一个或多个方面的简要概述,以便提供对这些方面的基本理解。该概述不是对所有预期方面的广泛概述,并且不旨在标识所有方面的关键的或决定性的要素,也不描绘任何或所有方面的范围。
以下公开内容引入将在本发明的不同方面的描述中使用的多个定义和概念。
“函数相关性”是两组属性之间的关系,其中,一组的属性可以通过所有属性共有的转换从第二组的属性获得。
“数据的相似性”是可以通过数字参数或“相似度”来描述的数据彼此相关联的特征,其可以通过使用已知度量(诸如“Levenshtein”距离)来计算,以确定数据彼此之间的相似程度(优选地,其值通常在0到1的范围内,其中0表示数据完全相同,1表示数据完全不同)。
图1示出根据示例性的方面用于使用静态分析元素检测恶意文件的系统的框图。
如所示出的,用于使用静态分析元素检测恶意文件的系统的结构图可以包括多个模块,所述多个模块包括:配置用于提取资源的模块110(即“资源提取模块”)、配置用于形成规则的模块120(即“规则形成模块”)、配置用于搜索规则的模块130(即“规则搜索模块”)、配置用于比较规则的模块140(即“规则比较模块”)、配置用于做出决策的模块150(即“决策做出模块”)以及恶意文件资源的数据库160。
如本文所使用的,术语“模块”指的是例如现实世界的设备、部件、或使用硬件(例如通过专用集成电路(Application Specific Integrated Circuit,ASIC)或现场可编程门阵列(Field-Programmable Gate Array,FPGA))实现的部件的布置,或者指的是硬件和软件的组合,例如通过微处理器系统和实现模块功能的指令集(该指令集在被执行时将微处理器系统转换成专用设备)来实现这样的组合。一个模块也可以实现为硬件和软件的组合,其中,某些功能仅通过硬件实现,其它功能通过硬件和软件的组合实现。在某些实现方式中,可以在通用计算机的处理器上执行模块的至少一部分,并且在一些情况下,可以在通用计算机的处理器上执行模块的所有部分。因此,每个模块可以以各种合适的配置来实现,并且不应被限制为本文例示的任一示例实现。
根据示例性方面,配置用于提取资源的模块110被设计成从被分析的文件提取资源,并且将所提取的资源发送至配置用于形成规则的模块120和配置用于搜索规则的模块130。
在系统的一个变型方面,被分析的文件至少是可执行的文件和包含脚本的文件。
例如,可执行的文件可以是文件.exe(explore.exe)、文件.dll(OCHelper.dll)、文件sys(mountmgr.sys)。
在另一示例中,包含脚本(ActionScript语言的脚本、可由堆栈虚拟机AdobeFlash执行的脚本、由Internet Explorer调用的脚本、Microsoft Excel宏命令以及可在执行用于应用程序的语言Visual Basic的脚本时执行的脚本)的文件可以是任何这样的文件:该文件的数据执行第三方可执行的文件。
在系统的另一变型方面中,包含脚本的文件至少是以下文件:Microsoft Office(.doc,.docx,ppt,pptx,.xls,.xlsx等等);Adobe Acrobat Reader(.pdf);Adobe FlashPlayer(.swf);包含以PowerShell语言编写的脚本。
在系统的另一变型方面中,被分析的文件的资源至少是:包含在被分析的文件的资源部分中的资源;包含在被分析的文件中且描述用于创建(编译)该文件的开发环境的数据;包含在被分析的文件中且描述用于打包该文件的软件的数据;和/或对应于被分析的文件的数字签名的数据。
例如,包含在具有扩展名“.exe”的被分析的可执行文件的资源部分中的资源可以是游标(RT_CURSOR)、图标(RT_ICON)、对话窗口(RT_DIALOG)、菜单(RT_MENU)、字符串(RT_STRING)、位图(RT_BITMAP)等等,该资源以树的形式构建并且存储在被分析的文件的部分“.rsrc”中。关于构成资源的元数据的资源的所有信息(例如,针对图标:图标的尺寸、图标中每个颜色的位数、图标的类型、位图的指针;针对对话框:对话框的尺寸、对话框的基本字体的参数、包含在对话框内的元素的数量等等)可以直接包含在资源本身中。
在另一示例中,描述用于创建被分析的文件(例如,在可执行的文件中编译源代码)的开发环境的数据可以是:开发环境的名称、开发环境的版本、被分析的文件的创建(或编译)日期;(诸如Microsoft Visual Studio 2015)。描述开发环境的上述数据可能不会以显式形式包含在被分析的文件中,而是通过使用给定的开发环境的典型的签名分析被分析的文件的结构而获得,并且该签名可能是函数和/或执行代码的调用。
在另一示例中,描述用于打包被分析的文件的软件的数据可以是打包程序的名称、打包程序的版本、打包被分析的文件的数据(诸如UPX 3.94)。描述打包软件的上述数据可能不会以显式形式包含在被分析的文件中,而是通过分析位于被分析的可执行的文件的入口点处的可执行代码而获得(例如,由于每个打包软件将在被打包的文件中创建独特的解压代码,如果我们知道它的特性(即被使用的API函数、操作符的调用顺序等等),还可以确定实际的打包软件,并且解压代码的上述特征可以由签名和位掩码来指定)。
在另一示例中,对应于被分析的文件的数字签名的数据可以是:发布数字签名的组织的名称、和/或该数字签名的有效性(真实性)。
在系统的又一变型方面中,配置用于提取资源的模块110基于至少以下提取资源:关于包含在被分析的文件中的资源的结构的数据;和/或包含被提取的资源的元数据的签名。
例如,在具有扩展名“.exe”的可执行的文件中,关于资源的结构的数据包含在该文件的标头以及资源部分“.rsrc”的标头中,构成了树,在该树的节点直接找到资源本身或关于资源的数据。
在系统的又一变型方面,配置用于提取资源的模块110附加地根据每个提取的资源计算该资源的散列和,并且将计算的散列和发送至配置用于搜索规则的模块130。
例如,该散列和可以为:用于图像、媒体数据或非结构化资源的MD5和(或简称MD5);和/或基于用于对话框、字符串、菜单以及包含词汇数据的其它资源的词位的卷积。
在另一示例中,该散列和可以是感知散列,该感知散列对于相似的数据是相同的。
在示例性的方面,配置用于形成规则的模块120被设计成形成在所获得的资源之间建立函数相关性的至少一个规则(以下称为规则),其中,通过从所获得的资源创建人造神经网络来形成该规则,其中,人造神经网络的节点是用于执行所获得资源的分析的模块,并且在神经网络的创建期间形成的节点之间的链接指示所获得的资源之间的函数相关性,并且配置用于形成规则的模块120还被设计成将形成的每个规则发送至配置用于比较规则的模块140。
在系统的一个变型方面,配置用于形成规则的模块120附加地从由第三方(例如病毒分析师或防病毒公司的自动防病毒应用程序)预先建立的函数相关性的总体在由所述第三方处理的文件的资源之间形成规则,其中,由配置用于提取资源的模块110提取的资源与用于形成所述预先建立的函数相关性的资源相似。
例如,病毒分析师或自动分析应用程序(在云服务的上下文中使用,例如卡巴斯基安全网络)预先已经根据对大量恶意文件的分析在恶意文件的资源之间建立了典型的链接:主应用程序图标(RC_ICON)与安全应用程序的图标(诸如Internet Explorer或WindowsMedia Player)相似但不一致(即相似度趋向0,但不等于0);只有一个对话框(RC_DIALOG),并且它是主窗口的对话框;等等。
配置用于形成规则的模块120使用这些链接来建立从由配置用于提取资源的模块110分析的文件提取的资源之间的函数相关性。
在系统的另一变型方面,配置用于分析资源的模块是所创建的人造神经网络的节点,其被设计成使用基于所获得的资源的预定算法来创建描述上述资源之间的函数链接的数据。
在系统的另一变型方面,配置用于根据获得的资源来分析资源的模块的工作结果构成资源的卷积。
在系统的另一变型方面,资源分析模块是描述用于处理资源的算法的数据,并且该算法的执行由配置用于形成规则的模块120直接完成。
例如,资源分析模块可以是描述逆仿射变换的数据,逆仿射变换将图像转换成一组反对称张量(affinor)。
在另一示例中,资源分析模块可以是如下数据:该数据描述用于从文本挑选词汇并从挑选的词汇组成文本卷积的算法。
在系统的另一变型方面,资源分析模块被提供用于执行集群分析,其中,集群是至少通过以下被统一的资源组:被分析的文件中的那些资源的应用程序、描述那些资源的预定范围的参数、用于包含在所述资源中的词汇的分布的预定范围的频率特性、和/或模式识别。
例如,资源分析模块可以是如下算法:该算法用于将图像(作为所获得的资源)与预定图像(包含在模块中)进行比较并计算所提及的图像之间的相似度(例如,建立“相似/不相似”的功能链接)。
在系统的另一变型方面,根据从配置用于提取资源的模块110获得的资源,从人造神经网络元素的数据库170选择人造神经网络,其中,所获得的人造神经网络的节点和链接将被预先确定(例如,由病毒分析师或防病毒公司的自动防病毒应用程序)。在选择上述人造神经网络之后,配置用于形成规则的模块120根据从配置用于提取资源的模块110获得的资源来执行人造神经网络的训练。
在系统的另一变型方面,配置用于形成规则的模块120通过至少使用感知机的方法来创建人造神经网络,其中,S元素是资源,A元素和R元素是分析资源的方式,并且这些元素之间的链接是根据上述资源的元数据和/或卷积神经网络(CNN)布置的,其中,神经网络的节点是资源和资源的卷积,链接是执行所述资源的卷积的资源分析模块。
在系统的另一变型方面,配置用于形成规则的模块120根据机器学习算法形成所创建的人造神经网络的节点之间的链接。
在系统的另一变型方面,配置用于形成规则的模块120使用的机器学习方法用于在所创建的人造神经网络的节点之间形成链接,配置用于形成规则的模块120使用监督学习,其中,训练者的角色由第三方(例如病毒分析师或防病毒公司的自动防病毒应用程序)扮演,同时所述第三方根据由所述第三方在形成恶意文件资源的数据库160期间已经分析的文件,预先完成错误校正。
在系统的另一变型方面,配置用于形成规则的模块120使用的机器学习方法用于在所创建的人造神经网络的节点之间形成链接,配置用于形成规则的模块120使用无监督学习,其中,使用误差反向传播方法来训练人造神经网络。
在系统的另一变型方面,被配置用于形成规则的模块120附加地将关于多个资源的信息发送至配置用于搜索规则的模块130,其中,已经在所述多个资源之间建立了函数相关性。并且,配置用于搜索规则的模块130仅针对获得所述信息的那些资源执行对恶意文件资源的数据库160中的规则的搜索。
配置用于搜索规则的模块130被设计成根据从配置用于提取资源的模块110获得的资源,在恶意文件资源的数据库160中执行至少一个规则的搜索;以及将找到的每个规则发送至配置用于比较规则的模块140。
在系统的另一变型方面,配置用于搜索规则的模块130附加地根据所获得的资源的散列和,在恶意文件资源的数据库160中执行至少一个规则的搜索。
例如,恶意文件资源的数据库160中的每个资源对应有该资源的一个MD5。在这种情况下,针对待搜索的那些资源,配置用于搜索规则的模块130预先计算MD5,然后基于计算的MD5在恶意文件资源的数据库160中执行规则的搜索(例如,通过二进制搜索方法)。
在系统的另一变型方面,基于从配置用于提取资源的模块110获取的资源和包含在恶意文件资源的数据库160中的资源(已根据该资源形成规则)的相似度的确定,在恶意文件资源的数据库160中搜索规则期间,配置用于搜索规则的模块130发现了规则。
例如,在根据一个图像(作为被提取的资源之一)在恶意文件资源的数据库中执行图像的搜索的情况下,配置用于搜索规则的模块130执行以下动作:根据从被分析的文件获得的图像,形成YUV分量(YUV分量构成在颜色模型中描述所提及的图像的数据,该数据以亮度Y和两个色度U和V表现组成该图像的点的颜色);针对每个形成的分量,从最暗(0)到最亮(255)来计算色度的频率分布,从而形成构成数据阵列(行阵列)的256个度量的向量;所形成的向量与来自恶意文件资源的数据库160的其它256个度量的向量进行比较,同样构成用作潜在关键码(候选关键码,以下称为关键码(key))的数据阵列(即用于执行搜索被输入至恶意文件资源的数据库160中的其它数据的数据),为此,计算所形成的向量和关键码的标量积(计算向量之间的角度);并且,如果所计算的标量积的值小于预定的值,则根据其形成所述向量的图像被认为是相似的。
在系统的另一变型方面,配置用于搜索规则的模块130使用利用判别函数分析的模式识别方法,计算从配置用于提取资源的模块110获得的资源与用作形成包含在恶意文件资源的数据库160内的规则的基础的资源的相似度。
在系统的另一变型方面,基于包含在恶意文件资源的数据库160中的仅仅与从配置用于提取资源的模块110获得的资源具有相同的类型的用于制定规则的资源,配置用于搜索规则的模块130在恶意文件资源的数据库160中搜索规则。
例如,基于恶意文件资源的数据库160中的图标,配置用于搜索规则的模块130找到了规则,图标用于形成这些规则。例如,基于Internet Explorer图标,在恶意文件资源的数据库160中找到了一个规则,该规则将Internet Explorer图标的MD5与由Microsoft创建的清单(RT_MANIFECT)相关联。
在系统的另一变型方面,根据仅从配置用于提取资源的模块110获得的那些资源,配置用于搜索规则的模块130附加地在恶意文件资源的数据库160中搜索规则,其中,配置用于形成规则的模块120已经在那些资源之间建立函数相关性。
例如,配置用于提取资源的模块110从文件“explorer.ex”提取图标“icon1.ico”、图标“icon2.ico”、清单“manifest.txt”和主窗口对话框“DIALOG_1”。配置用于形成规则的模块120在图标“icon1.ico”和对话框“DIALOG_1”(图标“icon1.ico在来自对话框“DIALOG_1”的一个按钮上示出)之间建立了函数相关性。为了在恶意文件资源的数据库160中搜索规则,配置用于搜索规则的模块130仅将图标“icon1.ico”和对话框“DIALOG_1”用作关键码,而忽略图标“icon2.ico”和清单“manifest.txt”。
配置用于比较规则的模块140被设计成计算从配置用于形成规则的模块120获得的规则和从配置用于搜索规则的模块130获得的规则之间的相似度;以及被设计成将所计算的相似度发送至配置用于做出决策的模块150。
在系统的一个变型方面,相似度是从0(规则是相同的)到1(规则是不同的)的数值。
例如,两个规则分别包含5个分量,在一个规则中的4个分量和第二规则中的4个分量是相同的,然而剩余的两个分量是不同的,其具有0.2的相似度。
在系统的另一变型方面,配置用于比较规则的模块140使用利用判别分析的模式识别方法计算规则之间的相似度。
在系统的另一变型方面,在已经从配置用于形成规则的模块120或者配置用于搜索规则的模块130获得至少两个规则的情况下,配置用于比较规则的模块140还配置成计算至少两对规则的相似度,每对规则包括从配置用于形成规则的模块120获得的一个规则以及从配置用于搜索规则的模块130获得的一个规则,而至少两对规则包括来自配置用于形成规则的模块120或配置用于搜索规则的模块130的不同的规则;以及,配置用于比较规则的模块140还配置成将相似度的和计算为先前计算的相似度的中心趋势的度量,和/或计算为先前计算的相似度的模糊散列。
例如,配置用于形成规则的模块120已经根据资源(资源#1、资源#2、资源#3)制定规则r1、规则r2,同时配置用于搜索规则的模块130已经找到规则m1。配置用于比较规则的模块140计算相似度:
r1→m1=0.251
r2→m1=0.374
并且,相似度的总和作为先前所计算的相似度的算术平均值:
{ri}→m1=0.3125。
如果所获得的相似度超过预定的阈值,则配置用于做出决策的模块150用于将被分析的文件判断为恶意的。
在系统的一个变型方面,相似度的阈值由第三方(诸如病毒分析师或者防病毒公司的自动防病毒软件应用程序)根据对包含在恶意文件资源的数据库160中的规则的统计分析预先建立,使得关于由第三方分析的安全文件的有害性的决策将是否定的,该决策由配置用于做出决策的模块150做出,并且关于恶意文件的决策将是肯定的。
例如,当创建恶意文件资源的数据库160时,借助于一个或多个自动软件应用程序,病毒分析师已经分析了1000个文件,其中,659个文件被证明是恶意的,而剩余的341个文件是安全的。根据被分析的恶意文件的资源,制定规则,然后,将规则输入到恶意文件资源的数据库160。此后,针对被分析的1000个文件中的每一者,计算根据被分析的文件资源制定的规则和包含在所创建的恶意文件资源的数据库160中的规则的相似度。基于计算的相似度,根据公式建立关于相似度的阈值:
slimit=ave(min({sclean}),max({smalvare}))
其中:
slimit是相似度的阈值,
sclean是安全文件的相似度,
smalvare是恶意文件的相似度。
在系统的另一变型方面,如果配置用于做出决策的模块150将被分析的文件判断为是恶意的,则配置用于做出决策的模块150附加地将至少一个规则(如由配置用于形成规则的模块120所形成的)输入到恶意文件资源的数据库160。
例如,根据由配置用于提取资源的模块110从被分析的文件“video.avi.exe”提取的资源{di},配置用于形成规则的模块120制定规则{ri},根据规则{ri},配置用于做出决策的模块150已经将被分析的文件判断为是恶意的。配置用于做出决策的模块150将资源{di}作为关键码,将规则{ri}输入到恶意文件资源的数据库160中。
恶意文件资源的数据库160是包含至少两个规则的数据库,至少两个规则中的每一者在至少同一个恶意文件的资源之间建立函数相关性。
在系统的一个变型方面,恶意文件资源的数据库160由防病毒公司(服务器)提供在计算设备(客户端)上,文件的分析在计算设备(客户端)上完成。
在系统的另一变型方面,存储在恶意文件资源的数据库160中的每一个规则对应于至少一个关键码,由此,配置用于搜索规则的模块130将用于形成所提及的规则的资源以及用于形成所提及的规则的资源的散列和中的至少一者作为关键码来执行搜索规则。
在系统的另一变型方面,制定在同一个恶意文件的资源之间建立功能链接的规则,并且由第三方(诸如病毒分析师或者防病毒公司的自动防病毒软件应用程序)预先将该规则输入到恶意文件资源的数据库160中,并且只有这样,包含所提及的规则的恶意文件资源的数据库160才提供至用于使用静态分析元素检测恶意文件的系统。
在系统的另一变型方面,恶意文件资源的数据库160附加地被设计成通过配置用于做出决策的模块150输入由配置用于形成规则的模块120制定的规则。
人造神经网络元素的数据库170是包含至少一个先前创建的(例如,根据被分析的恶意文件,由病毒分析师或者防病毒公司的自动防病毒软件应用程序)人造神经网络元素数据库,所述人造神经网络构成资源分析模块和加权因子的组合,其中,资源分析模块是人造神经网络的节点,加权因子表征人造神经网络的节点之间的链接。
在系统的一个变型方面,人造神经网络元素的数据库170由防病毒公司(服务器)提供在计算设备(客户端)上,文件的分析在计算设备(客户端)上完成。
在系统的另一变型方面,人造神经网络构成描述资源{di}的分析算法{Ai}的数据和表征{Ai}之间的链接的加权因子{wi},即:
其中,
n是由配置用于提取资源的模块110提取的资源的数量,
m是资源的分析算法{Ai}的数量,
ri是如由分析算法{Ai}所制定的所有资源{di}的集合之间的第i个函数相关性,而针对每个单独的资源{di},使用在人造计算机网络的训练期间被修改的独立的加权因子{wij}。
例如,如果作为确定文件“movie.avi.exe”的有害性的示例,通过使用静态分析元素来操作用于检测恶意文件的系统,文件“movie.avi.exe”作为具有模拟应用程序“Internet Explorer”的图形界面的图形界面的应用程序,可以如下操作该系统。
在一个方面,配置用于提取资源的模块110从被分析的文件“movie.avi.exe”提取如下资源:来自Windows资源的资源部分“.rsrc”的应用程序“main.ico”(RC_ICON)的主图标、清单“manifest.txt”(RC_MANIFEST)、主窗口对话框“DIALOG_Main”(RC_DIALOG)、主窗口菜单“MENU_Main”(RC_MENU);配置用于提取资源的模块110从代码部分“.text”提取关于用于创建文件“movie.avi.exe”的开发环境的数据:开发环境“Embarcadero Delphi 10.2”的名称和版本;从数据部分“.data”提取关于文件“movie.avi.exe”的打包软件的数据:打包软件“ASProtect 32(SKE)2.70”的名称和版本。
配置用于形成规则的模块120使用从配置用于提取资源的模块110获得的资源,训练从人造神经网络元素的数据库170选择的人造神经网络。为此,借助于集群分析,配置用于形成规则的模块120选择具有相似属性或类似关系的资源(例如,某些图标与其它图标类似,并且从而形成一个单独集群,某些图标用于对话框中并且形成另一集群),并且根据先前由病毒分析师形成的关于在行为上类似于文件“movie.avi.exe”的文件,使用所选择的资源作为用于人造神经网络的输入参数,以形成使用监督训练的链接。在所创建的人造神经网络已经被“训练”之后,即在所述人造神经网络的节点之间已经形成了链接(已经计算了神经网络的元素之间的加权因子)之后,根据所形成的链接,配置用于形成规则的模块120形成建立在由配置用于提取资源的模块110提取的资源之间的函数相关性的规则:
r1:main.ico→manifest.txt(“Internet Explorer”)
r2:“Embarcadero Delphi”→manifest.txt(“Internet Explorer”)
r3:“ASProtect 32(SKE)2.70”→main.ico
r4:DIALOG_Main→MENU_Main
换句话说,图标“main.ico”属于以语言“Delphi”编写的名称为“InternetExplorer”的应用程序,并且借助于应用程序“ASProtect”打包。此外,主窗口对话框“DIALOG_Main”链接至主窗口菜单“MENU_Main”。
链接DIALOG_Main→MENU_Main被认为是微不足道的(因为根据创建应用程序的规则,无论文件是安全的还是恶意的,或者它包含什么资源等等,主窗口对话框总是链接至主窗口菜单),因此,将不会在恶意文件资源的数据库160中搜索所提及的资源。
在该示例中,配置用于搜索规则的模块130计算资源(main.ico、manifest.txt、“Embarcadero Delphi”、“ASProtect 32(SKE)2.70”)的感知散列和;通过配置用于提取资源的模块110从文件“movie.avi.exe”提取除了以下资源的资源:DIALOG_Main和MENU_Main;并且基于所计算的感知散列和在恶意文件资源的数据库160中搜索规则。由于在规则的搜索中,配置用于搜索规则的模块130使用来自文件“movie.avi.exe”的所提取的资源的感知散列和,将找到在恶意文件的资源之间建立函数相关性的规则,该恶意文件的资源类似于(但不一定相同)从文件“movie.avi.exe”所提取的资源。
作为执行搜索的结果,配置用于搜索规则的模块130从恶意文件资源的数据库160选择规则m1,建立函数相关性:
app_main.ico→app_manifest.info(“Internet Explorer”)
“Embarcadero Delphi”→app_manifest.info(“Internet Explorer”)
并且将该函数相关性发送至配置用于比较规则的模块140。
配置用于比较规则的模块140计算规则{ri}和规则m1之间的相似度,其中,规则{ri}由配置用于形成规则的模块120制定,规则m1从配置用于搜索规则的模块130获得:
s1(r1→m1)=0.021
s2(r2→m1)=0.178
s3(r3→m1)=0.105
由于资源并未被配置用于搜索规则的模块130使用来搜索恶意文件资源的数据库160中的规则,所以没有进行关于相似度r4→m1的计算,其中,配置用于形成规则的模块120已经确定了资源之间的函数相关性(DIALOG_Main,MENU_Main)。然后,配置用于比较规则的模块140计算相似度的总和作为先前计算的相似度的几何平均值:
并且将所获得的相似度的值发送至配置用于做出决策的模块150。
配置用于做出决策的模块150将所获得的相似度值0.073与预定阈值0.203进行比较。由于所获得的相似度并未超过预定的阈值,配置用于做出决策的模块150宣布关于被分析的文件“movie.avi.exe”的有害性的决策。
因此,文件“movie.avi.exe”被判断为是恶意的,在此之后,包括使用静态分析元素检测恶意文件的系统的防病毒程序将至少通知用户在计算机系统上已经检测到恶意文件、阻止文件“movie.avi.exe”的执行、隔绝(即隔离)文件“movie.avi.exe”或者将文件“movie.avi.exe”从计算机系统移除。
图2示出根据示例性方面的用于使用静态分析元素检测恶意文件的方法的流程图。
如图所示,图2的流程图提供了使用静态分析元素检测恶意文件的方法,该方法包括:步骤210,在该步骤中,从被分析的文件提取资源;步骤220,在该步骤中,形成规则;步骤230,在该步骤中,搜索规则;步骤240,在该步骤中,计算规则之间的相似度;以及步骤250,在该步骤中,做出关于被分析的文件的有害性的决策。
例如,在步骤210中,配置用于提取资源的模块110用于从被分析的文件提取资源,如上所述。此外,在步骤220中,配置用于形成规则的模块120用于形成在所提取的资源之间建立函数相关性的至少一个规则(以下称为规则),例如,通过从所提取的资源创建人造神经网络,其中,所提取的资源是人造神经网络的节点,以及在创建所述神经网络期间制定的这些节点之间的链接指示所提取的资源之间的函数相关性。
此外,在步骤230中,配置用于搜索规则的模块130用于执行搜索,在搜索期间,该模块130根据在进一步如上所述的步骤210期间所提取的资源在恶意文件资源的数据库160中发现至少一个规则。接下来,在步骤240中,配置用于比较规则的模块140用于计算在步骤220中制定的规则和在也如上所述的步骤230中找到的规则之间的相似度。最后,在步骤250中,如果所计算的相似度超过预定的阈值,则配置用于做出决策的模块150用于将被分析的文件判断为恶意的。如果被分析的文件被确定为是恶意的,则可以根据已知技术将系统配置成删除该文件、隔离该文件和/或执行一些其它的补救行动(诸如警告用户)。
图3示出了通用计算机系统(其可以是个人计算机或服务器)的示例,根据示例性方面,所公开的系统和方法可以在该通用计算机系统上实现。如图所示,该计算机系统20包括中央处理单元21、系统存储器22和连接各种系统部件的系统总线23,各种系统部件包括与中央处理单元21相关联的存储器。系统总线23像现有技术已知的任何总线结构一样来实现,该任何总线结构依次包括总线存储器或总线存储器控制器、外围总线和本地总线,能够与任何其它的总线架构交互。系统存储器包括只读存储器(ROM)24和随机存取存储器(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的计算机指令、数据结构、程序模块和其它数据的电源独立的模块。
本发明提供了使用硬盘27、可移动磁盘29和可移动光盘31的系统的实现方式,但是应当理解的是,可以采用能够存储以计算机可读的形式的数据的其它类型的计算机信息介质56(固态驱动器、闪存卡、数字盘、随机存取存储器(RAM)等),该其它类型的计算机信息介质56经由控制器55连接到系统总线23。
计算机20具有保留记录的操作系统35的文件系统36、以及另外的程序应用37、其它的程序模块38和程序数据39。用户能够通过使用输入设备(键盘40、鼠标42)将命令和信息输入到个人计算机20中。可以使用其它的输入设备(未示出):麦克风、操纵杆、游戏控制器、扫描器等等。这样的输入设备通常通过串行端口46而插接到计算机系统20中,该串行端口46转而连接至系统总线,但这样的输入设备可以以其它方式(例如借助并行端口、游戏端口或通用串行总线(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,闪存或其它类型的电存储介质、磁存储介质或光存储介质,或可用来携带或存储所期望的指令或数据结构形式的程序代码并可以被通用计算机的处理器访问的任何其它介质。
为了清楚起见,本文中没有公开各个方面的所有例程特征。应当领会的是,在本发明的任何实际的实现方式的开发中,必须做出许多特定实现方式的决定,以便实现开发者的特定目标,并且这些特定目标将对于不同的实现方式和不同的开发者变化。应当领会的是,这种开发努力会是复杂的且费时的,但对于了解本发明的优点的本领域的普通技术人员来说仍然是工程的例行任务。
此外,应当理解的是,本文中所使用的措辞或术语出于描述而非限制的目的,从而本说明书的术语或措辞应当由本领域技术人员根据本文中所提出的教导和指导结合相关领域技术人员的知识来解释。此外,不旨在将本说明书或权利要求中的任何术语归于不常见的或特定的含义,除非明确如此阐述。
本文中所公开的各个方面包括本文中以说明性方式所引用的已知模块的现在和未来已知的等同物。此外,尽管已经示出并描述了各个方面和应用,但是对于了解本发明的优点的本领域技术人员将显而易见的是,在不脱离本文中所公开的发明构思的情况下,相比于上文所提及的内容而言的更多修改是可行的。

Claims (20)

1.一种用于确定电子文件是否是恶意的方法,所述方法包括:
从所述电子文件提取多个资源;
形成至少一个第一规则,所述至少一个第一规则在提取的所述多个资源之间建立函数相关性;
在恶意文件资源的数据库中识别至少一个第二规则,所述至少一个第二规则与提取的所述多个资源中的至少一者相关联;
将形成的所述至少一个第一规则与识别的所述至少一个第二规则进行比较,以计算形成的所述至少一个第一规则与识别的所述至少一个第二规则之间的相似度;以及
当计算的所述相似度超过预定的阈值时,确定所述电子文件为恶意文件。
2.根据权利要求1所述的方法,还包括执行检测所述恶意文件以及隔离所述恶意文件中的至少一者。
3.根据权利要求1所述的方法,其中,从所述电子文件提取所述多个资源包括提取以下的至少一者:与用于创建所述电子文件的开发环境有关的数据、与打包所述电子文件的软件应用程序有关的数据以及所述电子文件的数字签名。
4.根据权利要求1所述的方法,还包括:
计算提取的所述多个资源中的所述至少一者的散列和;以及
在所述恶意文件资源的数据库中,基于计算的所述散列和识别所述至少一个第二规则。
5.根据权利要求1所述的方法,还包括:通过创建提取的所述多个资源的人造神经网络来形成所述至少一个第一规则,其中,创建的所述人造神经网络的节点分别是提取的所述多个资源的分析,并且所述节点之间的链接指示提取的所述多个资源之间的所述函数相关性。
6.根据权利要求1所述的方法,还包括:在所述恶意文件资源的数据库中,基于提取的所述多个资源之间的所述函数相关性识别所述至少一个第二规则。
7.根据权利要求6所述的方法,还包括:
提取包括图标资源、清单资源和对话框资源的所述多个资源;
在所述图标资源、所述清单资源和所述对话框资源中的至少两者之间形成函数相关性;以及
基于在所述图标资源、所述清单资源和所述对话框资源中的所述至少两者之间所形成的所述函数相关性,在所述恶意文件资源的数据库中搜索所述至少一个第二规则。
8.根据权利要求1所述的方法,还包括:
基于利用形成的所述至少一个第一规则的提取的所述多个资源的所述函数相关性与识别的所述至少一个第二规则的提取的所述多个资源中的所述至少一者之间的判别分析的模式识别,计算形成的所述至少一个第一规则与识别的所述至少一个第二规则之间的所述相似度。
9.一种用于确定电子文件是否是恶意的系统,所述系统包括:
至少一个数据库,所述至少一个数据库存储与多个恶意文件资源相关联的多个规则;和
至少一个处理器,所述至少一个处理器配置成:
从所述电子文件提取多个资源;
形成至少一个第一规则,所述至少一个第一规则在提取的所述多个资源之间建立函数相关性;
在所述至少一个数据库中识别存储的所述多个规则中的至少一个第二规则,其中,识别的所述至少一个第二规则与所述电子文件的提取的所述多个资源中的至少一者相关联;
将形成的所述至少一个第一规则与识别的所述至少一个第二规则进行比较,以计算形成的所述至少一个第一规则与识别的所述至少一个第二规则之间的相似度;以及
当计算的所述相似度超过预定的阈值时,确定所述电子文件为恶意文件。
10.根据权利要求9所述的系统,其中,所述至少一个处理器还配置成检测所述恶意文件以及隔离所述恶意文件。
11.根据权利要求9所述的系统,其中,所述至少一个处理器还配置成通过提取如下的至少一者而从所述电子文件提取所述多个资源:与用于创建所述电子文件的开发环境有关的数据、与打包所述电子文件的软件应用程序有关的数据以及所述电子文件的数字签名。
12.根据权利要求9所述的系统,其中,所述至少一个处理器还配置成:
计算提取的所述多个资源中的所述至少一者的散列和;以及
在恶意文件资源的所述至少一个数据库中,基于计算的所述散列和识别所述至少一个第二规则。
13.根据权利要求9所述的系统,其中,所述至少一个处理器还配置成:通过创建提取的所述多个资源的人造神经网络来形成所述至少一个第一规则,其中,创建的所述人造神经网络的节点分别是提取的所述多个资源的分析,并且所述节点之间的链接指示提取的所述多个资源之间的所述函数相关性。
14.根据权利要求9所述的系统,其中,所述至少一个处理器还配置成:
在恶意文件资源的所述至少一个数据库中,基于提取的所述多个资源之间的所述函数相关性识别所述至少一个第二规则。
15.根据权利要求14所述的系统,其中,所述至少一个处理器还配置成:
提取包括图标资源、清单资源和对话框资源的所述多个资源;
形成所述图标资源、所述清单资源和所述对话框资源中的至少两者之间的函数相关性;以及
基于在所述图标资源、所述清单资源和所述对话框资源中的所述至少两者之间所形成的所述函数相关性,在恶意文件资源的所述至少一个数据库中搜索所述至少一个第二规则。
16.根据权利要求9所述的系统,其中,所述至少一个处理器还配置成:
基于利用形成的所述至少一个第一规则的提取的所述多个资源的所述函数相关性与识别的所述至少一个第二规则的提取的所述多个资源中的所述至少一者之间的判别分析的模式识别,计算形成的所述至少一个第一规则与识别的所述至少一个第二规则之间的所述相似度。
17.一种非暂时性计算机可读介质,所述非暂时性计算机可读介质存储用于确定电子文件是否是恶意的计算机可执行指令,所述非暂时性计算机可读介质包括用于如下操作的指令:
从所述电子文件提取多个资源;
形成至少一个第一规则,所述至少一个第一规则在提取的所述多个资源之间建立函数相关性;
在恶意文件资源的数据库中识别至少一个第二规则,所述至少一个第二规则与提取的所述多个资源中的至少一者相关联;
将形成的所述至少一个第一规则与识别的所述至少一个第二规则进行比较,以计算形成的所述至少一个第一规则与识别的所述至少一个第二规则之间的相似度;以及
当计算的所述相似度超过预定的阈值时,确定所述电子文件为恶意文件。
18.根据权利要求17所述的非暂时性计算机可读介质,还包括用于执行如下至少一个操作的指令:检测所述恶意文件以及隔离所述恶意文件。
19.根据权利要求17所述的非暂时性计算机可读介质,其中,从所述电子文件提取所述多个资源包括提取如下的至少一者:与用于创建所述电子文件的开发环境有关的数据、与打包所述电子文件的软件应用程序有关的数据以及所述电子文件的数字签名。
20.根据权利要求17所述的非暂时性计算机可读介质,还包括通过创建提取的所述多个资源的人造神经网络来形成所述至少一个第一规则的指令,其中,创建的所述人造神经网络的节点分别是提取的所述多个资源的分析,并且所述节点之间的链接指示提取的所述多个资源之间的所述函数相关性。
CN201710919670.7A 2017-06-16 2017-09-30 使用静态分析元素检测恶意文件的系统和方法 Active CN109145600B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
RU2017121123A RU2654146C1 (ru) 2017-06-16 2017-06-16 Система и способ обнаружения вредоносных файлов с использованием элементов статического анализа
RU2017121123 2017-06-16
US15/669,094 US10867038B2 (en) 2017-06-16 2017-08-04 System and method of detecting malicious files with the use of elements of static analysis
US15/669,094 2017-08-04

Publications (2)

Publication Number Publication Date
CN109145600A true CN109145600A (zh) 2019-01-04
CN109145600B CN109145600B (zh) 2022-02-11

Family

ID=62152802

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710919670.7A Active CN109145600B (zh) 2017-06-16 2017-09-30 使用静态分析元素检测恶意文件的系统和方法

Country Status (4)

Country Link
US (1) US10867038B2 (zh)
JP (1) JP6736532B2 (zh)
CN (1) CN109145600B (zh)
RU (1) RU2654146C1 (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6728113B2 (ja) * 2017-08-22 2020-07-22 株式会社東芝 情報処理装置、情報処理方法、および情報処理プログラム
US10771436B2 (en) * 2018-04-06 2020-09-08 Cisco Technology, Inc. Dynamic whitelist management
WO2020101524A1 (ru) * 2018-11-15 2020-05-22 Публичное Акционерное Общество "Сбербанк России" Выявление эмулируемой мобильной операционной системы с использованием машинного обучения
CN109711160B (zh) * 2018-11-30 2023-10-31 北京奇虎科技有限公司 应用程序检测方法、装置及神经网络系统
CN110837638B (zh) * 2019-11-08 2020-09-01 鹏城实验室 一种勒索软件的检测方法、装置、设备及存储介质
RU2728498C1 (ru) 2019-12-05 2020-07-29 Общество с ограниченной ответственностью "Группа АйБи ТДС" Способ и система определения принадлежности программного обеспечения по его исходному коду
RU2728497C1 (ru) 2019-12-05 2020-07-29 Общество с ограниченной ответственностью "Группа АйБи ТДС" Способ и система определения принадлежности программного обеспечения по его машинному коду
RU2722692C1 (ru) 2020-02-21 2020-06-03 Общество с ограниченной ответственностью «Группа АйБи ТДС» Способ и система выявления вредоносных файлов в неизолированной среде
US11269991B2 (en) 2020-06-22 2022-03-08 Bank Of America Corporation System for identifying suspicious code in an isolated computing environment based on code characteristics
US11880461B2 (en) 2020-06-22 2024-01-23 Bank Of America Corporation Application interface based system for isolated access and analysis of suspicious code in a computing environment
US11636203B2 (en) 2020-06-22 2023-04-25 Bank Of America Corporation System for isolated access and analysis of suspicious code in a disposable computing environment
US11797669B2 (en) 2020-06-22 2023-10-24 Bank Of America Corporation System for isolated access and analysis of suspicious code in a computing environment
US11574056B2 (en) 2020-06-26 2023-02-07 Bank Of America Corporation System for identifying suspicious code embedded in a file in an isolated computing environment
RU2743619C1 (ru) 2020-08-06 2021-02-20 Общество с ограниченной ответственностью "Группа АйБи ТДС" Способ и система генерации списка индикаторов компрометации
RU2759087C1 (ru) 2020-12-07 2021-11-09 Общество с ограниченной ответственностью "Группа АйБи ТДС" Способ и система статического анализа исполняемых файлов на основе предиктивных моделей
US11947572B2 (en) 2021-03-29 2024-04-02 Group IB TDS, Ltd Method and system for clustering executable files
US20220342985A1 (en) * 2021-04-23 2022-10-27 AVAST Software s.r.o. Anomaly detection and characterization in app permissions

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103544430A (zh) * 2012-07-12 2014-01-29 财团法人工业技术研究院 运算环境安全方法和电子运算系统
CN105335655A (zh) * 2015-09-22 2016-02-17 南京大学 一种基于敏感行为识别的安卓应用安全性分析方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8312546B2 (en) * 2007-04-23 2012-11-13 Mcafee, Inc. Systems, apparatus, and methods for detecting malware
US9003314B2 (en) * 2008-08-06 2015-04-07 Mcafee, Inc. System, method, and computer program product for detecting unwanted data based on an analysis of an icon
US9088601B2 (en) * 2010-12-01 2015-07-21 Cisco Technology, Inc. Method and apparatus for detecting malicious software through contextual convictions, generic signatures and machine learning techniques
US11126720B2 (en) * 2012-09-26 2021-09-21 Bluvector, Inc. System and method for automated machine-learning, zero-day malware detection
GB2506605A (en) 2012-10-02 2014-04-09 F Secure Corp Identifying computer file based security threats by analysis of communication requests from files to recognise requests sent to untrustworthy domains
CN105229612B (zh) * 2013-03-18 2018-06-26 纽约市哥伦比亚大学理事会 使用基于硬件的微体系结构数据的异常程序执行的检测
RU2531861C1 (ru) * 2013-04-26 2014-10-27 Закрытое акционерное общество "Лаборатория Касперского" Система и способ оценки вредоносности кода, исполняемого в адресном пространстве доверенного процесса
RU2541120C2 (ru) 2013-06-06 2015-02-10 Закрытое акционерное общество "Лаборатория Касперского" Система и способ обнаружения вредоносных исполняемых файлов на основании сходства ресурсов исполняемых файлов
US9465940B1 (en) * 2015-03-30 2016-10-11 Cylance Inc. Wavelet decomposition of software entropy to identify malware
US9495633B2 (en) * 2015-04-16 2016-11-15 Cylance, Inc. Recurrent neural networks for malware analysis
US10157279B2 (en) * 2015-07-15 2018-12-18 Cylance Inc. Malware detection

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103544430A (zh) * 2012-07-12 2014-01-29 财团法人工业技术研究院 运算环境安全方法和电子运算系统
CN105335655A (zh) * 2015-09-22 2016-02-17 南京大学 一种基于敏感行为识别的安卓应用安全性分析方法

Also Published As

Publication number Publication date
US10867038B2 (en) 2020-12-15
US20180365420A1 (en) 2018-12-20
RU2654146C1 (ru) 2018-05-16
JP2019003596A (ja) 2019-01-10
CN109145600B (zh) 2022-02-11
JP6736532B2 (ja) 2020-08-05

Similar Documents

Publication Publication Date Title
CN109145600A (zh) 使用静态分析元素检测恶意文件的系统和方法
Alasmary et al. Analyzing and detecting emerging Internet of Things malware: A graph-based approach
Khan et al. Analysis of ResNet and GoogleNet models for malware detection
Arora et al. Permpair: Android malware detection using permission pairs
Hashemi et al. Graph embedding as a new approach for unknown malware detection
Xu et al. Hadm: Hybrid analysis for detection of malware
Jian et al. A novel framework for image-based malware detection with a deep neural network
Gao et al. Malware classification for the cloud via semi-supervised transfer learning
JP6758360B2 (ja) 悪意あるコンテナを検出するための機械学習モデルをトレーニングするシステムおよび方法
US20160261618A1 (en) System and method for selectively evolving phishing detection rules
Tang et al. Dynamic API call sequence visualisation for malware classification
CN109684835A (zh) 使用机器学习来检测恶意文件的系统和方法
Yan et al. A survey of adversarial attack and defense methods for malware classification in cyber security
Alrabaee et al. On the feasibility of binary authorship characterization
Yan et al. Automatic malware classification via PRICoLBP
Yuste et al. Optimization of code caves in malware binaries to evade machine learning detectors
CN116467710A (zh) 一种面向不平衡网络的恶意软件检测方法
Xiao et al. Latent imitator: Generating natural individual discriminatory instances for black-box fairness testing
Duarte-Garcia et al. A semi-supervised learning methodology for malware categorization using weighted word embeddings
Fascí et al. Disarming visualization-based approaches in malware detection systems
Zhao et al. Suzzer: A vulnerability-guided fuzzer based on deep learning
Vashishtha et al. An Ensemble approach for advance malware memory analysis using Image classification techniques
Pranav et al. Detection of botnets in IoT networks using graph theory and machine learning
Koranek et al. Identification of return-oriented programming attacks using risc-v instruction trace data
WO2023072002A1 (zh) 开源组件包的安全检测方法及装置

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