CN109684832B - 检测恶意文件的系统和方法 - Google Patents

检测恶意文件的系统和方法 Download PDF

Info

Publication number
CN109684832B
CN109684832B CN201811056891.7A CN201811056891A CN109684832B CN 109684832 B CN109684832 B CN 109684832B CN 201811056891 A CN201811056891 A CN 201811056891A CN 109684832 B CN109684832 B CN 109684832B
Authority
CN
China
Prior art keywords
file
call log
computer
call
user computers
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
Application number
CN201811056891.7A
Other languages
English (en)
Other versions
CN109684832A (zh
Inventor
弗拉基米尔·S·戈尔德契克
谢尔盖·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 CN109684832A publication Critical patent/CN109684832A/zh
Application granted granted Critical
Publication of CN109684832B publication Critical patent/CN109684832B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/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
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • 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/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • 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/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • 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
    • 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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • 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/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Virology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了检测恶意文件的方法和系统。根据一方面,方法包括:分别从一个或多个计算机接收一个或多个调用日志,各个调用日志包括从在相应的计算机上执行的文件进行的函数调用;将所述一个或多个调用日志合并成组合调用日志;在所述组合调用日志中搜索以查找存储在威胁数据库中的一个或多个行为规则的匹配项;当在所述调用日志中查找到所述行为规则时,确定关于被研究的文件的判定;以及将关于所述判定的信息发送至所述一个或多个计算机。

Description

检测恶意文件的系统和方法
技术领域
本发明总体涉及计算机安全领域,并且更具体地涉及检测恶意文件的系统和方法。
背景技术
传统的签名分析并不总能检测到恶意文件和包含在文件中的恶意代码,尤其是多态病毒、混淆文件以及外壳代码(shellcode)。因此,现代防病毒应用程序额外使用了采用“沙箱(sandbox)”的验证,“沙箱”是与系统的其余部分隔离的特殊环境,限制了对沙箱内部执行的进程的访问和资源使用。例如,可以基于文件系统和寄存器的部分虚拟化、基于对文件系统和寄存器的访问规则、或者基于混合算法以虚拟机的形式来实现沙箱。在沙箱中执行被验证的文件。在文件执行过程中,将关于应用程序接口(application programminginterface,API)的函数调用和系统事件的信息记录在调用日志中。然后,防病毒应用程序会分析生成的调用日志。
调用日志通常保存关于在文件执行期间由所述文件产生的API函数调用的信息,并且还保存关于来自被调用的API函数的返回的信息(在返回地址处传输(transfer)控件)。沙箱中文件的执行通常在有限的时间间隔(最多几十秒)内发生。同时,当在沙箱中执行包含外壳代码的文件时,可能难以通过分析API函数调用的日志来检测文件的执行,因为外壳代码可能已经被加载到进程的内存中,但是在将控件转移到包含外壳代码的内存位置之前,已经终止沙箱中进程的执行。
用于检测文件中的恶意代码的另一技术是仿真,该仿真包括在仿真器中执行代码期间模仿主机系统。
所提到的技术在现代防病毒软件中一起使用。通常首先执行文件的签名分析,然后如果未检测到恶意行为,则在仿真器或沙箱中执行该文件。如果未检测到恶意行为,则直接在用户的计算机上(不是在隔离的环境中,如在沙箱中的情形)执行该文件。在这个阶段,又一重要的防病毒模块开始工作-行为分析器,该行为分析器在文件在用户计算机上执行的过程中收集并分析API函数调用的日志。利用已安装的拦截器驱动,行为分析器拦截在执行恶意代码期间发生的API函数调用并且还拦截调用的API函数的返回,并将API函数调用和调用的API函数的返回保存在调用日志中。然后,行为分析器在调用日志中搜索已知的恶意行为模式并给出判定(诸如病毒、蠕虫、特洛伊木马(Trojan horse)或附条件的有害软件)。行为分析器分析调用日志的原理类似于沙箱和仿真器的工作。但是行为分析器没有上述模块固有的缺陷–对文件执行的时间没有限制,以及检测和绕过仿真器和沙箱的技术不起作用,因为文件是在用户的计算机上执行,而不是在隔离的环境中或在仿真器中执行。
但同时,文件行为可以根据执行环境或甚至在同一计算机上以不同输入参数启动时而不同。因此,恶意文件在每次启动期间的行为可能不属于已知的恶意行为模式。因此,技术问题是确定的恶意文件的行为不属于已知的恶意行为模式的质量很差的技术问题。
在现实世界执行环境中检测恶意软件的其它已知方法将软件执行的操作注册到日志中并在该日志中搜索已知的恶意行为模式。然而,该方法不能解决所指出的确定的恶意文件的行为不属于已知的恶意行为模式的质量很差的技术问题。
发明内容
公开了用于检测恶意文件的系统和方法。例如,用于检测恶意文件的方法可以包括分别从一个或多个计算机接收一个或多个调用日志,各个调用日志包括从在相应的计算机上执行的文件进行的函数调用;将所述一个或多个调用日志合并成组合调用日志;在所述组合调用日志中搜索以查找存储在威胁数据库中的一个或多个行为规则的匹配项;当在所述调用日志中查找到所述一个或多个行为规则时,确定关于被研究的文件的判定;以及将关于所述判定的信息发送至所述一个或多个计算机。
在另一方面中,所述方法还包括接收已经被搜索到所述一个或多个行为规则的一个或多个调用日志,并且所述一个或多个行为规则表明在所述相应的计算机上执行的文件为以下项中的一者或多者:恶意软件和附条件的有害软件。
在另一方面中,所述方法还包括只有在所述组合调用日志将具有所述一个或多个调用日志中不存在的至少一项记录时,才合并所述一个或多个调用日志。
在另一方面中,所述组合调用日志包括被研究的文件的控制流程图。
在另一方面中,所述判定为以下项中的一者或多者:病毒、蠕虫、特洛伊木马和/或附条件的有害软件。
在另一方面中,所述一个或多个行为规则包括以下项中的一者或多者:调用来自可疑函数列表的API函数、调用特定函数指定次数、函数调用的顺序、替换所述计算机上的域名服务器DNS(domain name server)信息、禁用操作系统更新以及禁用网络防火墙。
在另一方面中,所述方法还包括为所述文件创建病毒签名并将所述病毒签名发送至所述一个或多个计算机。
在另一方面中,所述方法还包括在所述一个或多个调用日志中注册与所述执行的文件有关的信息。
在另一方面中,所述信息包括以下项中的一项或多项:妥协指标、安全判定、所述执行的文件的校验和或所述执行的文件的一部分的校验和、上传到所述相应的计算机的所述执行的文件的源、由所述执行的文件发送和/或接收的数据、以及是否在所述相应的计算机上替换DNS。
用于检测恶意文件的系统的示例可以包括:包括多个计算机的信息系统,所述多个计算机中的每一个计算机包括计算机保护模块,所述计算机保护模块被配置为在相应的计算机上执行文件期间注册应用程序接口API调用;在本地调用日志中搜索来自本地威胁数据库的一个或多个行为规则;当在所述本地调用日志中查找到所述一个或多个行为规则时,确定所述文件为恶意的;停止在所述相应的计算机上执行所述文件;否则,将所述本地调用日志发送至检测模块;以及耦合到所述信息系统的所述检测模块,所述检测模块被配置为:将来自所述多个计算机中的各个计算机的所述计算机保护模块的本地调用日志合并以形成组合调用日志;在所述组合调用日志中搜索来自第二威胁数据库的所述一个或多个行为规则;当在所述组合调用日志中查找到所述一个或多个行为规则时,确定表明所述文件为恶意的判定;以及为所述文件创建病毒签名并将所述病毒签名发送至各个计算机的所述计算机保护模块。
在另一方面中,提供了计算机可读介质,其上存储有指令,当由处理器执行所述指令时,执行用于检测恶意文件的方法,所述方法包括:分别从一个或多个计算机接收一个或多个调用日志,各个调用日志包括从在相应的计算机上执行的文件进行的函数调用;将所述一个或多个调用日志合并成组合调用日志;在所述组合调用日志中搜索以查找存储在威胁数据库中的一个或多个行为规则的匹配项;当在所述调用日志中查找到行为规则时,确定关于被研究文件的判定;以及将关于所述判定的信息发送至所述一个或多个计算机。
以上对示例性方面的简化概述用于提供对本发明的基本理解。本概述不是对所有预期方面的详尽综述,并且既不旨在确定所有方面的重要或关键要素,也不描绘本发明的任何或全部方面的范围。其唯一目的是以简化的形式呈现一个或多个方面,作为对本发明的以下更详细描述的序言。为了实现前述内容,本发明的一个或更多个方面包括权利要求中所描述和示例性指出的特征。
附图说明
并入本说明书并构成本说明书的一部分的附图示出了本发明的一个或多个示例性方面,并且与具体实施方式一起用于解释它们的原理和实现方式。
图1为根据本发明的示例性方面的用于检测恶意文件的系统的框图。
图2为根据本发明的示例性方面的计算机保护模块的框图。
图3为根据本发明的示例性方面的针对性攻击保护模块的框图。
图4为根据本发明的示例性方面的检测恶意文件的方法的流程图。
图5为根据本发明的示例性方面的通用计算机系统的框图。
具体实施方式
本文在用于检测恶意文件的系统和方法以及该系统和方法的计算机程序产品的上下文中描述了示例性方面。本领域的普通技术人员能够认识到,以下描述仅是示例性的,并不意图以任何方式进行限制。受益于本发明的本领域技术人员能够容易地想到其它方面。现在将详细介绍如附图中所示的示例性方面的实现方式。在整个附图和以下描述中尽可能使用相同的附图标记来指代相同或相似的项目。
以下术语将在整个公开、附图和权利要求中使用。
妥协指标(indicators of compromise,IOC)是可在计算机或网络上观察到的侵入至信息系统的产生物(artifact)或残留征兆。有时,IOC被称为“感染指标”。通常妥协指标是病毒签名、IP地址、文件的校验和、URL地址以及僵尸网络命令中心的域名等。存在许多用于妥协指标的标准,特别如下:
●OpenIOC(https://community.rsa.com/docs/DOC-62341,
https://web.archive.org/web/20160401023434,
http://blogs.rsa.com/understanding-indicators-of-compromise-ioc-part-i/,
http://openioc.org/),
●STIX(https://stix.mitre.org/),
●CybOX(https://cybox.mitre.org)以及其它标准。
计算机攻击(也称为网络攻击)是软件和硬件对信息系统和信息电信网络的定向动作,执行计算机攻击的目的是为了破坏这些系统和网络中的信息安全。
针对性攻击‐TA(targeted attack),是针对特定组织或特定个体的计算机攻击的具体例子。
高级持续性威胁-APT(Advanced Persistent Threat),是使用复杂的恶意软件、社会工程方法以及受害者的信息系统上的数据进行的复杂的、冗长的、精心策划的多途径的计算机攻击。
模糊哈希(也称灵活的指纹或局部敏感哈希)是能够抵抗形成模糊哈希的文件中的变化的文件指纹。也就是说,在借助于模糊哈希的指纹值检测到恶意文件时,还将检测到许多类似的(可能未知的)恶意文件。这种指纹的主要特征是它对文件中的微小变化的不变性。
模糊判定是保护模块(例如防病毒应用程序)在执行文件期间检测到作为恶意文件的特征的可疑动作时的响应。例如,在灵活指纹的帮助下检测到文件时,触发模糊判定。模糊判定表明发现的文件有一定程度的可能性是恶意的。
图1示出了使用行为规则来检测恶意文件的系统120。系统120包括信息系统100以及检测模块110、威胁数据库111和调用日志116。
信息系统100(也是公司基础设施)包括通过计算机网络105相互连接的一组计算设备101(也简称为计算机)。计算设备101通常是指任何计算设备和传感器,特别是个人计算机、笔记本、智能手机以及诸如路由器、交换器、集线器等的通信设备。应当注意,计算设备101可以是物理设备或虚拟机。信息系统100可以使用现有技术中已知的网络105的任何拓扑来组织,例如以下类型之一的一部分:完全连接、总线、星形、环形、蜂窝或混合型。在各个计算设备101的保护模块上安装了计算机保护模块(或简称保护模块)102。应当注意,保护模块102可能未安装在某些计算设备101上。信息系统100可以包括针对性攻击防护模块103,该模块可以位于例如单独的服务器上并且通过计算机网络105连接到至少一个计算设备101。可以使用代理服务器(图中未示出)经由网络105将计算设备101连接到因特网以及连接到检测模块110。
在一个特定方面中,针对性攻击性防护模块103还可以被配置为在本地调用日志109中注册与正在所述计算设备101上执行的且正在通过计算机网络105传输的文件相关联的信息。在一些方面中,该信息可以包括:
●妥协指标;
●安全判定(例如,沙箱、IDS的判定);
●来自文件的校验和或来自文件的一部分的校验和;
●上传到计算设备101的文件的源(例如,源IP地址、闪存驱动器(将文件从该闪存驱动器中下载到计算机)等);
●通过文件在网络上传输的数据(例如,访问哪些IP地址、传输哪些数据包等);
●接收到的通过文件在网络上传输的数据(例如,从哪些IP地址寻址、传输哪些数据包等);
●替换计算机上的DNS服务器。
针对性攻击防护模块103还可以被配置为将本地调用日志109发送到检测模块110。
所述系统包括至少两个计算设备101,至少两个计算设备101具有分别在其上运行的计算机保护模块102。根据本发明的一个方面,在执行被研究的文件期间,计算机保护模块102将API函数调用(例如,函数的名称、被传输的参数、函数调用的时间)注册到各个计算设备101的本地调用日志107。
在本发明的特定方面中,本地调用日志107的各个记录都至少包含关于API函数调用的以下信息:
●被调用的函数的名称;
●从上述文件开始的进程的唯一进程标识符(unique process identifier,PID);
●执行进程的地址空间指令的线程的唯一线程标识符(unique threadidentifier,TID);
●上述函数的参数集;
●函数调用的时间。
在执行被研究的文件期间,计算机保护模块102在本地调用日志107中执行对来自本地威胁数据库108的行为规则的搜索。在本发明的特定方面中,本地调用日志107和本地威胁数据库108位于计算设备101上。
所述行为规则包括关于至少一个API函数的调用的信息。在本发明的特定方面中,所述行为规则包括API函数调用的特定集合和用于那些API函数调用的布尔(Boolean)表达式。例如,如果被研究的文件使用特定的参数已经调用了某些API函数,则如行为规则所指定的,保护模块102将在调用日志107中查找到该规则。
所述行为规则还对应于在触发特定规则时给出的判定。在本发明的一个方面中,所述判定表示与触发规则对应的恶意软件或有害软件的最可能类别。所述判定可以包括例如病毒、蠕虫、特洛伊木马和/或附条件的有害软件中的一者或多者。
在特定示例方面中,所述行为规则至少包括以下内容:
●调用来自可疑API函数列表的API函数(例如,所述列表可以包含以下API函数:WinExec、CreateProcess、GetFileSize、CreateFile);
●调用已经执行10次的API函数GetFileSize;
●在调用API函数WriteFile之后,接着调用API函数WinExec(启动用于执行的文件);
●替换计算机上的DNS服务器;
●断开自动操作系统更新;
●断开网络防火墙;
●断开保护模块;
●断开UAC(用户账户控制(User Account Control)-Windows操作系统(OS)的部件)。
如果保护模块102在本地调用日志107中未查找到来自本地威胁数据库108的单个行为规则,则保护模块102将本地调用日志107发送到位于远程服务器上的检测模块110。
在特定示例方面中,只有已经查找到对应于恶意软件的判定的行为规则时,保护模块120才可以将本地调用日志107发送到检测模块110。在另一示例方面中,如果已经查找到对应于附条件的有害软件的判定的行为规则时,则将发送本地调用日志107。
对于被分析的文件,检测模块110将从至少两个保护模块102获得的多个本地调用日志107合并成位于远程服务器上的组合调用日志116。
应当注意,如果对于各个本地调用日志107,组合调用日志116将具有在所提及的各个本地调用日志107中不存在的至少一条记录,则执行本地调用日志107的合并。
我们将示出一个示例-假设有三个本地调用日志。第一本地调用日志包含记录A、B、C,第二本地调用日志包含记录A、B、D,以及第三本地调用日志包含记录A、C、D。在该示例中,将创建包含记录A、B、C、D的组合调用日志。该组合调用日志将具有各个本地调用日志中不存在的记录。记录D不存在于第一本地调用日志中,记录C不存在于第二本地调用日志中以及记录B不存在于第三本地调用日志中。
我们将示出又一示例-假设有三个本地调用日志。第一本地调用日志包含记录A、B,第二本地调用日志包含记录A、B、C,以及第三本地调用日志包含记录A、C。在该示例中,将不会创建组合调用日志,因为组合调用日志将包含记录A、B、C,并且对应于第二本地调用日志(即,组合调用日志中将不具有第二本地调用日志中不存在的记录)。
在一个特定示例方面中,组合调用日志116将包含各个本地调用日志107的所有记录。在另一特定示例方面中,组合调用日志116将包含一个本地调用日志107(诸如第一本地调用日志)的所有记录以及另一个本地调用日志107的不存在于第一本地调用日志中的记录。
在特定示例方面中,通过合并多个本地调用日志107的记录来完成将多个本地调用日志107合并到组合调用日志116中。在这种情况下,交叉记录在组合调用日志116中可以重复或可以不重复。在又一示例方面中,本地调用日志107还可以包含从文件启动的过程的控制流程图(control flow graph,CFG),并且在该示例中,组合调用日志116将包含通过合并多个控制流程图获得的用于所提及的文件的组合控制流程图。
检测模块110在组合调用日志116中执行对来自威胁数据库111的行为规则的搜索。所述威胁数据库位于远程服务器上且特别地包含各个计算设备101的本地威胁数据库108的所有记录。
图2示出了计算机保护模块的多个模块的可行示例。计算机保护模块102可以包含被设计为确定计算设备101的安全性的多个模块:实时病毒扫描器、按需扫描器、电子邮件防病毒、网络(web)防病毒、主动防护模块、HIPS(Host Intrusion Prevention System,主机入侵防护系统)模块、DLP(data loss prevention,数据丢失防护)模块、漏洞扫描器、仿真器、网络防火墙等。在特定示例性方面中,所示出的模块可以是计算机保护模块102的部件。在另一示例方面中,这些模块可以被实现为独立的软件部件。
实时病毒扫描器包含检测在用户的计算机系统上被打开、在用户的计算机系统上启动或保存在用户的计算机系统上的所有文件的恶意活动的功能。按需扫描器与实时病毒扫描器的不同之处在于它根据用户的需求扫描用户指定的文件和目录。
需要电子邮件防病毒来检查收到和发出的电子邮件是否存在恶意文件。网络(web)防病毒用于防止可能包含在用户发布的网站上的恶意代码的执行,并且还阻止网站的打开。HIPS模块用于检测不需要的和恶意的程序活动,并在执行时阻止这些活动。DLP模块用于检测和防止来自计算机或网络的机密数据的丢失。漏洞扫描器用于检测计算设备101上的漏洞(例如,计算机保护模块102的某些部件已经被断开连接、过时的病毒数据库、网络端口已经关闭等)。网络防火墙根据指定的规则提供对网络业务的控制和过滤。仿真器的工作包括在仿真器中的代码执行期间模拟主机系统。主动防护模块使用行为签名来检测被执行的文件的行为并根据其可信程度对文件进行分类。
在检测到恶意软件(可疑行为、垃圾邮件和计算机威胁的其它标志)时,所示出的模块创建相应的通知(然后该通知可被转换为保护模块102的判定),将关于检测到的威胁以及需要采取的用于消除该威胁的动作(诸如,删除或更改文件,禁止文件的执行等)通知给保护模块。在一个特定示例性方面中,已经检测到恶意软件的模块本身可以执行用于消除威胁的动作。在另一示例中,判定可以是模糊的判定或测试性判定(因为该判定可能会生成假警报)-在这种情况下,保护模块将不执行用于消除威胁的动作,而是将通知传输给检测模块110。应该注意,保护模块102的判定是关于文件的信息的一部分,然后以安全通知的形式将该文件发送给检测模块110。在本发明的特定方面中,恶意软件包括以下类别(对应于类别的判定):恶意软件和附条件的有害软件。恶意软件可以具有子类别:病毒、蠕虫、特洛伊木马、加壳程序、恶意实用程序。附条件的有害软件为广告软件、色情软件、其使用可以对计算机(风险软件)造成伤害的合法软件以及其它软件。
图3示出了针对性攻击防护模块的多个模块的可行示例。针对性攻击防护模块103可以包含例如以下保护模块:沙箱、入侵检测系统(Intrusion Detection System,IDS)、信誉服务、雅拉(YARA)规则校验模块和其它检测模块。
沙箱模块具有类似于计算机保护模块102的仿真器的功能,不同之处在于沙箱可以利用额外的计算能力并且工作更长时间,因为针对性攻击防护模块103没有时间限制,诸如计算机保护模块102中固有的时间限制。
沙箱是用于安全执行进程的计算机环境,且用于在从文件启动的进程的执行期间确定可疑活动。
基于文件系统和寄存器的部分虚拟化,基于对文件系统和寄存器的访问规则,或者基于混合方法,沙箱可以例如以虚拟机的形式实现。
根据本发明的一个方面,入侵检测系统可以识别对计算设备101或网络105的未经授权的访问或对计算设备101或网络105未经批准的控制的发生。
信誉服务可以是信誉服务器104的镜像或高速缓存副本,并且此外信誉服务包含关于计算设备101上的文件的普及度的信息(一文件存在于的计算设备101的数量,一文件的启动次数等)。
雅拉规则校验模块用于校验雅拉签名-一种开放的签名格式(请参见http://yararules.com/)。
数据丢失防护(DLP)模块用于检测和防止来自计算机或网络的机密数据的丢失。
图4为确定恶意文件的方法400的流程图。方法400是由计算机系统120执行的图1中描述的系统101的部件的示例性实现。
所述方法从步骤401开始,其中,在执行文件的程序代码期间,至少两个计算设备101的保护模块102特别地将API函数调用注册到各个计算设备101的本地调用日志107。在各个所述计算设备101上执行文件启动的进程。
计算设备101可以具有不同的环境(OS及其版本、安装的OS更新、安装的软件和驱动、被实现的服务和进程、与因特网的连接的存在、外围设备等)。此外,根据计算设备101或打开时间或其它因素,可以使用不同的参数打开用于执行的文件。这种参数可以是例如用户的权限(具有管理员权限或具有用户权限)、启动的目的(例如,特定对象或另一文件被发送到被执行的文件的输入)、使用不同的启动密钥(例如,命令行Windows“Cmd.exe”的解释器的命令“ie.exe-k”以全屏模式启动Internet Explorer浏览器)以及其它参数。因此,在不同计算设备101(或甚至在同一设备上)上执行相同文件(该相同文件可以具有不同行为)期间,执行对不同API函数的调用等。例如,如果一个计算设备101没有连接到因特网,则该文件将不能够访问IP地址,而如果在连接到因特网的另一计算设备上执行该文件,则该文件可以访问所述IP地址。
在步骤402中,在执行文件的程序代码的过程中,使用各个所述计算设备101上的保护模块102(安装在相应的计算设备101上),以在本地调用日志107中搜索来自本地威胁数据库108的行为规则。如果保护模块102已经查找到行为规则,该文件将直接在计算设备101被确定为恶意的并且由保护模块102完成该文件的进一步执行。否则,在步骤403中,保护模块102将本地调用日志107发送到检测模块110。
在步骤404中,检测模块110用于将针对所提及的文件接收到的本地调用日志107合并成组合调用日志116。应当注意,当检测模块从与所提及的文件有关的至少两个不同的保护模块102获得本地调用日志107时,步骤404将是适用的,在组合调用日志116中存在各个本地调用日志107中不存在的至少一条记录。
在步骤405中,检测模块110在组合调用日志116中执行对来自威胁数据库111的行为规则的搜索。在本发明的一个特定方面中,本地威胁数据库108和威胁数据库111是副本。在本发明的另一特定方面中,威胁数据库111至少包含本地威胁数据库108的所有记录以及可能的其它记录。
例如,为了节省计算设备101上的空间,本地威胁数据库108可以包含关于作为给定区域、给定时间或用于信息系统100的所有者的特征的最常见威胁的条目。在另一示例中,本地威胁数据库108为威胁数据库111的镜像副本并且定期更新。在这种情况下,显然自本地威胁数据库108的上次更新并且直到下一次预定更新,威胁数据库111可以使用本地威胁数据库108中不存在的新的威胁记录进行更新。
因此,在步骤406中,如果从组合调用日志116中查找到来自威胁数据库的至少一个行为规则,则根据查找到的行为规则将该文件确定为恶意的。在这种情况下,在步骤407中,检测模块110可以给出关于所确定的文件(例如病毒、蠕虫、特洛伊木马或附条件的有害软件)的判定并且可以为保护模块102创建病毒签名。病毒签名是指例如保护模块102的签名分析模块的签名或仿真器的签名。
因此,能够解决所提出的技术问题-通过使用指定的方法,能够确定未由保护模块102确定的恶意文件。并且能够获得技术结果-通过在组合调用日志(该组合调用日志通过来自针对单个文件的至少两个计算机的各种本地调用日志的组合而产生)中执行对来自威胁数据库的行为规则的搜索,使用行为规则更高质量地确定恶意文件。
下面根据计算设备的环境来讨论在不同的计算设备101上执行文件期间不同行为的几种示例。
例如,如果文件包含用于检测和绕过仿真器的代码,那么在具有仿真器操作的计算设备101上,该文件可以执行安全动作,而在没有仿真器正在操作的另一计算设备101上,该文件将执行恶意动作。
在又一示例中,文件可以检查计算设备101的位置(例如,检查来自操作系统的本地化的位置)并根据该位置执行不同的动作。在另一示例中,在文件的执行期间,可以针对特定应用执行恶意动作并且可以产生相应的判定,以及如果这些应用未安装在计算设备101上,则将不会执行恶意动作并不会产生判定。
在又一示例中,根据操作系统(OS)架构(32或64位),文件可以通过网络下载附加的恶意模块。在又一示例中,文件可以使用访问命令中心的不同的访问通道-例如,通过HTTP、DNS、Twitter,Yandex.Disk或其它访问通道。在这种情况下,文件可以通过HTTP获得访问一个计算设备101的权限,而通过Twitter获得访问另一计算设备的权限,因为通过HTTP不能获得访问该另一计算设备的权限。
在又一示例中,在具有管理员权限的计算设备101上启动的文件可以立即开始执行恶意活动。但是当在没有管理员权限的计算设备101上启动这个相同的文件时,该文件可以尝试增加其权限。
在本发明的特定方面中,计算机保护模块102和针对性攻击防护模块103用于另外注册以下信息中的至少一些信息:
●用于将控件从API函数转移到返回地址的程序;
●Windows NT Native API函数的直接调用;
●从Windows NT Native API函数的返回;
●计算机系统断开或过载的事件;
●操作系统的系统事件;
●妥协指标;
●系统调用(诸如fopen()函数、create()函数);
●保护模块的判定(诸如病毒、蠕虫、特洛伊木马或附条件的有害软件);
●文件或其一部分的校验和;
●将文件下载到计算设备101上的源(例如,源的IP地址、闪存驱动器(将文件从该闪存驱动器中加载到计算机上)等);
●文件的执行的仿真结果(仿真器的判定);
●文件在计算设备上出现的时间;
●通过文件在网络上被传输的数据(例如,访问哪些IP地址、传输哪些数据包等);
●通过文件在网络上被获得的数据(例如,访问哪些IP地址、传输哪些数据包等)。
在另一特定示例方面中,计算机保护模块102和针对性攻击防护模块103用于另外注册以下信息中的至少一些信息:
●替换计算机上的DNS服务器;
●禁用自动操作系统更新;
●禁用网络防火墙;
●禁用保护模块;
●禁用用户账户控制部件;
●禁用操作系统的系统恢复部件。
在又一特定示例方面中,计算机保护模块102和针对性攻击防护模块103用于另外注册以下信息中的至少一些信息:
●断开文件管理器中的“显示隐藏文件、文件夹和磁盘”选项;
●更改网络防火墙的规则;
●更改主机文件;
●自行删除文件(例如,执行来自恶意文件的进程,然后将恶意代码嵌入系统进程svchost.exe的上下文中,之后删除原始恶意文件);
●计算机系统断开或过载的事件;
●进程中发生的异常情况;
●获取系统库描述符的地址(诸如kernel32.dll、ntdll.dll等);
●内存分配;
●读取系统结构(进程环境块-PEB(process environment block));
●连续获取文件描述符。
在本发明的又一特定方面中,上述与子进程和在执行被分析的文件的进程中所创建的新文件相关的信息被另外注册。
在一个特定方面中,针对性攻击防护模块103被配置为使用本地调用日志109来注册与在所述计算设备101上执行的并通过计算机网络传输的文件相关联的信息。在该方面中,针对性攻击防护模块可以位于单独的远程服务器上并且通过计算机网络105与至少一个计算设备101连接。在一些方面中,该信息可以包括以下项中的一项或多项:
●妥协指标;
●安全判定(例如,沙箱、IDS的判定);
●来自执行文件的校验和或来自文件的一部分的校验和;
●上传到计算设备101上的文件的源(例如,源IP地址、闪存驱动器(将文件从该闪存驱动器下载到计算机上)等);
●通过文件在网络上传输的数据(例如,访问哪些IP地址、传输哪些数据包等);
●由文件在网络上接收到的数据(例如,从哪些IP地址寻址、传输哪些数据包等);
●替换计算机上的DNS服务器。
在该方面中,针对性攻击防护模块103还将本地调用日志109发送到检测模块110,该检测模块在步骤404中将本地调用日志109的记录添加到组合调用日志116。在一个特定方面中,针对性攻击防护模块103还可以与本地威胁数据库112相关联。在这种情况下,针对性攻击防护模块103可以在本地调用日志109中搜索与来自本地威胁数据库112的行为规则的相符。如果查找到至少一个行为规则的匹配项,则可以将该文件确定为恶意的并将给出适当的判定。将向位于执行文件的计算设备101上的保护模块102发送通知。之后,保护模块102将执行动作以修复由恶意软件识别的文件。如果针对性攻击防护模块103未检测到与任何行为规则的相符,则在步骤403中将本地调用日志109发送到检测模块110。在一个特定方面中,本地调用日志109和本地威胁数据库112与针对性攻击防护模块103位于同一远程服务器上。
图5是示出了根据本发明的示例性方面的在其上可以实现用于检测恶意文件的系统和方法的各个方面的通用计算机系统的示意图。
如图所示,该计算机系统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的计算机指令、数据结构、程序模块和其它数据的电源独立的模块。
计算机系统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))实现的部件的布置、或者硬件和软件的组合,诸如通过微处理器系统和实现模块功能的指令组(该指令组在被执行时将微处理器系统转换成专用设备)来实现这样的组合。一个模块还可以被实施为两个模块的组合,其中单独地通过硬件促进某些功能,并且通过硬件和软件的组合促进其它功能。在某些实现方式中,模块的至少一部分(以及在一些情况下,模块的全部)可以在通用计算机(诸如上文在图4中更详细描述的通用计算机)的处理器上执行。因此,每个模块可以以各种合适的配置来实现,而不应受限于本文中所列举的任何特定的实现方式。
为了清楚起见,没有公开各个方面的所有例行特征。应当领会的是,在本发明的任何实际的实现方式的开发中,必须做出许多特定实现方式的决定,以便实现开发者的特定目标,并且这些特定目标对于不同的实现方式和不同的开发者将变化。应当理解的是,这种开发努力可能是复杂的且费时的,但对于了解本发明的优点的本领域的普通技术人员来说仍然是工程的例行任务。
此外,应当理解的是,本文中所使用的措辞或术语出于描述而非限制的目的,从而本说明书的术语或措辞应当由本领域技术人员根据本文中所提出的教导和指导结合相关领域技术人员的知识来解释。此外,不旨在将本说明书或权利要求中的任何术语归于不常见的或特定的含义,除非明确如此阐述。
本文中所公开的各个方面包括本文中以说明性方式所引用的已知模块的现在和未来已知的等同物。此外,尽管已经示出并描述了各个方面和应用,但是对于了解本发明的优点的本领域技术人员将显而易见的是,在不脱离本文中所公开的发明构思的前提下,相比于上文所提及的内容而言的更多修改是可行的。

Claims (24)

1.一种用于检测恶意文件的方法,包括:
在远程服务器处从多个用户计算机接收多个调用日志,各个调用日志包括由在各个用户计算机中的每一个用户计算机上执行的相同文件进行的函数调用、以及从所述相同文件启动的过程的控制流程图;
将所述多个调用日志合并成存储在所述远程服务器上的组合调用日志;
其中,只有在对于从所述多个用户计算机接收的所述多个调用日志中的每一个调用日志,所述组合调用日志包括与所述组合调用日志相比的调用日志中不存在的至少一项记录时,才执行所述合并,以及
其中,所述组合调用日志还包括通过合并针对所述文件接收的所有控制流程图而获得的组合控制流程图;
在存储在所述远程服务器上的所述组合调用日志中搜索以查找与存储在与所述远程服务器相关联的威胁数据库中的一个或多个行为规则匹配的规则;
当在存储在所述远程服务器上的所述组合调用日志中查找到与所述一个或多个行为规则匹配的规则时,确定关于执行的所述文件的判定,其中,所述判定表明所述文件是否是恶意的;以及
将关于所述判定的信息发送至所述多个用户计算机。
2.根据权利要求1所述的方法,还包括:
从所述多个用户计算机接收已经被搜索到所述一个或多个行为规则的所述多个调用日志,其中,所述一个或多个行为规则表明执行的所述文件为以下项中的一者或多者:恶意软件和附条件的有害软件。
3.根据权利要求1所述的方法,还包括:
当未执行所述多个调用日志的合并时,在所述多个用户计算机中的包含所述多个用户计算机的调用日志的所有记录的并集的一个用户计算机的调用日志中搜索规则的匹配。
4.根据权利要求1所述的方法,其中,所述恶意文件是通过网络下载附加恶意软件模块的文件。
5.根据权利要求1所述的方法,其中,当所述文件包括以下项中的一者或多者时,所述判定表明所述文件是恶意的:病毒、蠕虫、特洛伊木马和/或附条件的有害软件。
6.根据权利要求1所述的方法,其中,所述一个或多个行为规则包括以下项中的一者或多者:调用来自可疑函数列表的应用程序接口函数、调用特定函数指定次数、函数调用的顺序、替换所述计算机上的域名服务器信息、禁用操作系统更新以及禁用网络防火墙。
7.根据权利要求1所述的方法,还包括:
为所述文件创建病毒签名并将所述病毒签名发送至所述多个用户计算机。
8.根据权利要求1所述的方法,还包括:
在所述多个调用日志中注册与执行的所述文件有关的信息。
9.根据权利要求8所述的方法,其中,所述信息包括以下项中的一项或多项:妥协指标、安全判定、所述执行的文件的校验和或所述执行的文件的一部分的校验和、上传到相应的用户计算机的所述执行的文件的源、由所述执行的文件发送和/或接收的数据、以及是否在所述相应的用户计算机上替换域名服务器。
10.一种用于检测恶意文件的系统,包括:
信息系统,所述信息系统包括多个用户计算机,所述多个用户计算机中的每一个用户计算机包括计算机保护模块,所述计算机保护模块被配置为:
在用户计算机上执行文件期间在本地调用日志中注册由所述文件进行的应用程序接口调用,所述本地调用日志还包括从所述文件启动的过程的控制流程图;
在所述本地调用日志中搜索与存储在本地威胁数据库中的一个或多个行为规则匹配的规则;
当在所述本地调用日志中查找到所述一个或多个行为规则时,确定所述文件为恶意的,并停止在所述用户计算机上执行所述文件;
当在所述本地调用日志中未查找到所述一个或多个行为规则时,将所述本地调用日志发送至远程服务器上的检测模块;以及
耦合到所述信息系统的、所述远程服务器上的所述检测模块,所述检测模块被配置为:
将从所述多个用户计算机中的各个用户计算机的所述计算机保护模块接收的本地调用日志合并以形成存储在所述远程服务器上的组合调用日志;
其中,只有在对于从所述多个用户计算机接收的多个调用日志中的每一个调用日志,所述组合调用日志包括与所述组合调用日志相比的调用日志中不存在的至少一项记录时,才执行所述合并,以及
其中,所述组合调用日志包括通过合并针对所述文件接收的所有控制流程图而获得的组合控制流程图;
在存储在所述远程服务器上的所述组合调用日志中搜索与存储在与所述远程服务器相关联的第二威胁数据库中的所述一个或多个行为规则匹配的规则;
当在存储在所述远程服务器上的所述组合调用日志中查找到与所述一个或多个行为规则匹配的规则时,确定表明所述文件为恶意的判定;以及
为所述文件创建病毒签名并将所述病毒签名发送至所述多个用户计算机的所述计算机保护模块。
11.根据权利要求10所述的系统,其中,所述检测模块还被配置为:
从所述多个用户计算机接收已经被搜索到所述一个或多个行为规则的所述多个调用日志,其中,所述一个或多个行为规则表明执行的所述文件为以下项中的一者或多者:恶意软件和附条件的有害软件。
12.根据权利要求10所述的系统,其中,当未执行所述多个调用日志的合并时,在所述多个用户计算机中的包含所述多个用户计算机的调用日志的所有记录的并集的一个用户计算机的调用日志中搜索规则的匹配。
13.根据权利要求10所述的系统,其中,所述恶意文件是通过网络下载附加恶意软件模块的文件。
14.根据权利要求10所述的系统,其中,当所述文件包括以下项中的一者或多者时,所述判定表明所述文件是恶意的:病毒、蠕虫、特洛伊木马和/或附条件的有害软件。
15.根据权利要求10所述的系统,其中,所述一个或多个行为规则包括以下项中的一者或多者:调用来自可疑函数列表的应用程序接口函数、调用特定函数指定次数、函数调用的顺序、替换所述计算机上的域名服务器信息、禁用操作系统更新以及断开网络防火墙。
16.根据权利要求10所述的系统,还包括:
针对性攻击防护模块,所述针对性攻击防护模块被配置为在所述多个调用日志中注册与执行的所述文件有关的信息。
17.根据权利要求16所述的系统,其中,所述信息包括以下项中的一项或多项:妥协指标、安全判定、所述执行的文件的校验和或所述执行的文件的一部分的校验和、上传到相应的用户计算机的所述执行的文件的源、由所述执行的文件发送和/或接收的数据、以及是否在所述相应的用户计算机上替换域名服务器。
18.一种非暂时性计算机可读介质,其上存储有指令,当由处理器执行所述指令时,执行用于检测恶意文件的方法,所述方法包括:
在远程服务器处从多个用户计算机接收多个调用日志,各个调用日志包括由在各个用户计算机中的每一个用户计算机上执行的相同文件进行的函数调用、以及从所述相同文件启动的过程的控制流程图;
将所述多个调用日志合并成存储在所述远程服务器上的组合调用日志;
其中,只有在对于从所述多个用户计算机接收的所述多个调用日志中的每一个调用日志,所述组合调用日志包括与所述组合调用日志相比的调用日志中不存在的至少一项记录时,才执行所述合并,以及
其中,所述组合调用日志还包括通过合并针对所述文件接收的所有控制流程图而获得的组合控制流程图;
在存储在所述远程服务器上的所述组合调用日志中搜索以查找与存储在与所述远程服务器相关联的威胁数据库中的一个或多个行为规则匹配的规则;
当在存储在所述远程服务器上的所述组合调用日志中查找到与所述一个或多个行为规则匹配的规则时,确定关于执行的所述文件的判定,其中,所述判定表明所述文件是否是恶意的;以及
将关于所述判定的信息发送至所述多个用户计算机。
19.根据权利要求18所述的非暂时性计算机可读介质,还包括:
从所述多个用户计算机接收已经被搜索到所述一个或多个行为规则的所述多个调用日志,其中,所述一个或多个行为规则表明执行的所述文件为以下项中的一者或多者:恶意软件和附条件的有害软件。
20.根据权利要求18所述的非暂时性计算机可读介质,还包括:
当未执行所述多个调用日志的合并时,在所述多个用户计算机中的包含所述多个用户计算机的调用日志的所有记录的并集的一个用户计算机的调用日志中搜索规则的匹配。
21.根据权利要求18所述的非暂时性计算机可读介质,其中,所述恶意文件是通过网络下载附加恶意软件模块的文件。
22.根据权利要求18所述的非暂时性计算机可读介质,其中,当所述文件包括以下项中的一者或多者时,所述判定表明所述文件是恶意的:病毒、蠕虫、特洛伊木马和/或附条件的有害软件。
23.根据权利要求18所述的非暂时性计算机可读介质,其中,所述一个或多个行为规则包括以下项中的一者或多者:调用来自可疑函数列表的应用程序接口函数、调用特定函数指定次数、函数调用的顺序、替换所述计算机上的域名服务器信息、禁用操作系统更新以及断开网络防火墙。
24.根据权利要求18所述的非暂时性计算机可读介质,还包括:
为所述文件创建病毒签名并将所述病毒签名发送至所述多个用户计算机。
CN201811056891.7A 2017-10-19 2018-09-11 检测恶意文件的系统和方法 Active CN109684832B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201762574248P 2017-10-19 2017-10-19
US62/574,248 2017-10-19
US16/011,822 US10867039B2 (en) 2017-10-19 2018-06-19 System and method of detecting a malicious file
US16/011,822 2018-06-19

Publications (2)

Publication Number Publication Date
CN109684832A CN109684832A (zh) 2019-04-26
CN109684832B true CN109684832B (zh) 2023-06-30

Family

ID=63449327

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811056891.7A Active CN109684832B (zh) 2017-10-19 2018-09-11 检测恶意文件的系统和方法

Country Status (4)

Country Link
US (2) US10867039B2 (zh)
EP (1) EP3474176B1 (zh)
JP (1) JP6639588B2 (zh)
CN (1) CN109684832B (zh)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10911472B2 (en) * 2016-02-25 2021-02-02 Imperva, Inc. Techniques for targeted botnet protection
US10855711B2 (en) 2018-06-06 2020-12-01 Reliaquest Holdings, Llc Threat mitigation system and method
US11709946B2 (en) 2018-06-06 2023-07-25 Reliaquest Holdings, Llc Threat mitigation system and method
RU2708355C1 (ru) * 2018-06-29 2019-12-05 Акционерное общество "Лаборатория Касперского" Способ обнаружения вредоносных файлов, противодействующих анализу в изолированной среде
US11200317B2 (en) * 2018-07-22 2021-12-14 Minerva Labs Ltd. Systems and methods for protecting a computing device against malicious code
US10812507B2 (en) 2018-12-15 2020-10-20 KnowBe4, Inc. System and methods for efficient combining of malware detection rules
FI3823322T3 (fi) * 2018-12-20 2023-04-27 Merck Patent Gmbh Menetelmiä ja järjestelmiä esineen todennuksen valmisteluun ja suorittamiseen
CN110135160B (zh) * 2019-04-29 2021-11-30 北京邮电大学 软件检测的方法、装置及系统
US11516228B2 (en) * 2019-05-29 2022-11-29 Kyndryl, Inc. System and method for SIEM rule sorting and conditional execution
USD926810S1 (en) 2019-06-05 2021-08-03 Reliaquest Holdings, Llc Display screen or portion thereof with a graphical user interface
USD926809S1 (en) 2019-06-05 2021-08-03 Reliaquest Holdings, Llc Display screen or portion thereof with a graphical user interface
USD926200S1 (en) 2019-06-06 2021-07-27 Reliaquest Holdings, Llc Display screen or portion thereof with a graphical user interface
USD926782S1 (en) 2019-06-06 2021-08-03 Reliaquest Holdings, Llc Display screen or portion thereof with a graphical user interface
USD926811S1 (en) 2019-06-06 2021-08-03 Reliaquest Holdings, Llc Display screen or portion thereof with a graphical user interface
CN112149126A (zh) * 2019-06-28 2020-12-29 卡巴斯基实验室股份制公司 确定文件的信任级别的系统和方法
US11238154B2 (en) * 2019-07-05 2022-02-01 Mcafee, Llc Multi-lateral process trees for malware remediation
KR102317833B1 (ko) * 2019-10-31 2021-10-25 삼성에스디에스 주식회사 악성 코드 탐지 모델 학습 방법 및 이를 이용한 탐지 방법
CN111241546B (zh) * 2020-01-12 2022-06-21 苏州浪潮智能科技有限公司 一种恶意软件行为检测方法和装置
CN113626296A (zh) * 2020-05-09 2021-11-09 深圳云天励飞技术有限公司 一种系统稳定性的检测方法、装置和终端
GB2597096B (en) * 2020-07-15 2022-10-05 British Telecomm Computer-implemented automatic security methods and systems
CN112182561B (zh) * 2020-09-24 2024-04-30 百度在线网络技术(北京)有限公司 一种后门的检测方法、装置、电子设备和介质
CN113032779B (zh) * 2021-02-04 2024-01-02 中国科学院软件研究所 一种基于行为参数布尔表达式规则的多行为联合匹配方法和装置
US20230076376A1 (en) * 2021-09-09 2023-03-09 Texas Instruments Incorporated Resource access in a microcontroller
US20230350782A1 (en) * 2022-04-28 2023-11-02 Twilio Inc. Data logging for api usage analytics

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8555385B1 (en) * 2011-03-14 2013-10-08 Symantec Corporation Techniques for behavior based malware analysis

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060161816A1 (en) * 2004-12-22 2006-07-20 Gula Ronald J System and method for managing events
US8181248B2 (en) * 2006-11-23 2012-05-15 Electronics And Telecommunications Research Institute System and method of detecting anomaly malicious code by using process behavior prediction technique
US8984628B2 (en) 2008-10-21 2015-03-17 Lookout, Inc. System and method for adverse mobile application identification
US8635694B2 (en) * 2009-01-10 2014-01-21 Kaspersky Lab Zao Systems and methods for malware classification
KR20120096983A (ko) * 2011-02-24 2012-09-03 삼성전자주식회사 악성 프로그램 검출 방법 및 이를 구현하는 휴대 단말기
US8955114B2 (en) * 2011-12-14 2015-02-10 Microsoft Corporation Application monitoring through collective record and replay
IL219499B (en) * 2012-04-30 2019-02-28 Verint Systems Ltd A system and method for detecting malicious software
IL219597A0 (en) 2012-05-03 2012-10-31 Syndrome X Ltd Malicious threat detection, malicious threat prevention, and a learning systems and methods for malicious threat detection and prevention
CA2874489A1 (en) * 2012-05-09 2013-11-14 SunStone Information Defense Inc. Methods and apparatus for identifying and removing malicious applications
US9146767B2 (en) * 2012-06-19 2015-09-29 Raytheon Company Secure cloud hypervisor monitor
US9754105B1 (en) * 2012-09-25 2017-09-05 Malwarebytes Corporation Preventing the successful exploitation of software application vulnerability for malicious purposes
JP2014071796A (ja) 2012-10-01 2014-04-21 Nec Corp マルウェア検知装置、マルウェア検知システム、マルウェア検知方法、及びプログラム
JP6326502B2 (ja) * 2013-12-27 2018-05-16 マカフィー, エルエルシー 頻度に基づくレピュテーション
CN104133691B (zh) 2014-05-05 2016-08-31 腾讯科技(深圳)有限公司 加速启动的方法及装置
US9329974B2 (en) * 2014-06-26 2016-05-03 Intel Corporation Technologies for determining binary loop trip count using dynamic binary instrumentation
CN104573515A (zh) * 2014-12-19 2015-04-29 百度在线网络技术(北京)有限公司 一种病毒处理方法、装置和系统
US9332029B1 (en) 2014-12-24 2016-05-03 AO Kaspersky Lab System and method for malware detection in a distributed network of computer nodes
JP2016143320A (ja) 2015-02-04 2016-08-08 富士通株式会社 ログ監視方法、ログ監視装置、ログ監視システム、及びログ監視プログラム
US9483643B1 (en) 2015-03-13 2016-11-01 Symantec Corporation Systems and methods for creating behavioral signatures used to detect malware
US20170134405A1 (en) * 2015-11-09 2017-05-11 Qualcomm Incorporated Dynamic Honeypot System
RU2628921C1 (ru) * 2016-03-18 2017-08-22 Акционерное общество "Лаборатория Касперского" Система и способ выполнения антивирусной проверки файла на виртуальной машине

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8555385B1 (en) * 2011-03-14 2013-10-08 Symantec Corporation Techniques for behavior based malware analysis

Also Published As

Publication number Publication date
EP3474176B1 (en) 2021-03-24
US20190121977A1 (en) 2019-04-25
EP3474176A1 (en) 2019-04-24
JP6639588B2 (ja) 2020-02-05
CN109684832A (zh) 2019-04-26
JP2019079500A (ja) 2019-05-23
US20210064748A1 (en) 2021-03-04
US11829473B2 (en) 2023-11-28
US10867039B2 (en) 2020-12-15

Similar Documents

Publication Publication Date Title
CN109684832B (zh) 检测恶意文件的系统和方法
US11489855B2 (en) System and method of adding tags for use in detecting computer attacks
EP3430557B1 (en) System and method for reverse command shell detection
RU2646352C2 (ru) Система и способ для применения индикатора репутации для облегчения сканирования на наличие вредоносных программ
CN110119619B (zh) 创建防病毒记录的系统和方法
EP2486507B1 (en) Malware detection by application monitoring
US7934261B1 (en) On-demand cleanup system
US20190141075A1 (en) Method and system for a protection mechanism to improve server security
US20080016339A1 (en) Application Sandbox to Detect, Remove, and Prevent Malware
CN108369541B (zh) 用于安全威胁的威胁风险评分的系统和方法
US10372907B2 (en) System and method of detecting malicious computer systems
CN108345795B (zh) 用于检测和分类恶意软件的系统和方法
US10601867B2 (en) Attack content analysis program, attack content analysis method, and attack content analysis apparatus
CN113824678B (zh) 处理信息安全事件的系统、方法和非暂时性计算机可读介质
RU2750628C2 (ru) Система и способ определения уровня доверия файла
Hassan et al. Endpoint Defense Strategies: How to Protect Endpoints from Ransomware Attacks
RU2673407C1 (ru) Система и способ определения вредоносного файла
EP3522058B1 (en) System and method of creating antivirus records
Major A Taxonomic Evaluation of Rootkit Deployment, Behavior and Detection
Pektaş Classification des logiciels malveillants basée sur le comportement à l'aide de l'apprentissage automatique en ligne

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