CN102651061B - 用于检测复杂恶意软件的系统和方法 - Google Patents
用于检测复杂恶意软件的系统和方法 Download PDFInfo
- Publication number
- CN102651061B CN102651061B CN201210100140.7A CN201210100140A CN102651061B CN 102651061 B CN102651061 B CN 102651061B CN 201210100140 A CN201210100140 A CN 201210100140A CN 102651061 B CN102651061 B CN 102651061B
- Authority
- CN
- China
- Prior art keywords
- situation
- thread
- trust
- event
- independent
- 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
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/552—Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
-
- 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/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
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)
- Virology (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Debugging And Monitoring (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了用于检测具有复杂感染模式的恶意软件的系统、方法和计算机程序产品。该系统通过识别潜在的有害软件对象、监视潜在有害对象的各进程和线程的执行、编译被监视进程和线程的执行的事件的情境、以及将相关的进程和线程的情境进行合并而提供对抗恶意软件的增强的保护。基于使用恶意软件行为规则而对单独的和合并的对象情境的分析,该系统能检测到具有简单的和复杂的行为模式的恶意对象。
Description
技术领域
本发明涉及计算机安全领域,尤其涉及用于计算机保护以抵御具有复杂感染模式的恶意软件的系统和方法。
背景技术
诸如病毒、蠕虫和木马的计算机恶意软件,对于计算机系统和网络有显著的安全威胁。为了对抗计算机恶意软件的不断增加的传播,开发了大量的反病毒检测技术。然而,在保护计算机抵抗恶意软件方面,并不是所有恶意软件检测方法都是有效的;尤其当恶意软件是为避开这些检测方法而专门设计时。
在最简单的情形下,恶意软件可以为单个的组件或对象,例如如果启动就会执行可导致计算机损坏的操作的可执行文件。诸如签名或启发式(heuristic)分析的常见的恶意软件检测技术,通常会检测出单一组件的恶意软件。然而,更复杂的恶意软件由多个组件组成,每个组件执行特定的操作;例如,一个组件可以随文件执行操作,第二个组件可以修改系统注册表,而第三个组件可以执行网络功能。此外,每个组件本身可能都并不会执行恶意操作,但是如果将它们的操作相结合,其可以导致对计算机的损坏。常见的恶意软件检测方法在检测这种具有复杂感染模式的多组件恶意软件方面可能不是有效的。
因此,需要用于检测具有复杂感染模式的恶意软件的新技术。
发明内容
本发明公开了用于检测计算机恶意软件的系统、方法和计算机程序产品。在一个示例性实施例中,该方法包括由恶意软件检测系统监视计算机上的一个或多个软件对象的进程或线程的执行。然后,该系统通过计算该对象的数字签名和检查该数字签名是否与被信任对象相关联而确定该一个或多个对象是否为被信任对象。如果该对象是被信任的,则系统停止对该被信任对象的一个或多个进程或线程的监视。如果该一个或多个对象是不被信任的,则系统在多个单独的对象情境(context)中存储被监视的每个不被信任对象的进程或线程的执行的事件。然后,该系统使用恶意软件行为规则来分别分析存储在每个对象情境中的该被监视的进程或线程的执行的事件,以识别恶意对象。如果在单独的对象情境中的被监视的进程或线程的执行的事件不是恶意的,则系统确定是否该被监视的进程或线程是彼此相关的,并将相关的进程或线程的情境合并至公共情境。然后,该系统使用恶意软件行为规则来分析存储在公共情境中的事件,以识别具有复杂行为的恶意对象。
以上对于本发明的示例性实施例的简要概括用于提供对这种实施例的基本理解。此概括并非对本发明的所有涉及方面的广泛概述,并且既非意图确定所有实施例的重要或关键元素,也非意图划定任何或所有实施例的范围。其唯一的目的是以简化的形式提供一个或多个方面的一些概念,作为以下的更详细描述的前序。为了前述和相关目标的实现,该一个或多个实施例包括在下文中所充分描述并在权利要求书特别指出的特征。下面的描述和附图详细地阐述了一个或多个实施例的特定示范性特征。然而,这些特征仅表示其中可以采用该发明的各个方面的原理的各种方式中的一些,并且此说明意图包括该发明的所有这样的方面及其等同物。
附图说明
并入说明书中并构成说明书的一部分的附图示出了本发明的一个或多个示范性实施例,并与详细描述一起用于解释本申请实施例的原理和实施方式。
附图中:
图1图示了根据一个示例性实施例的恶意软件检测系统的示意图。
图2图示了根据一个示例性实施例的由恶意软件检测系统实施的对相关进程的情境合并的示例。
图3A-B图示了根据一个示例性实施例的恶意软件检测系统的操作的算法。
图4图示了根据一个示例性实施例的计算机系统的示意图。
具体实施方式
在此围绕用于计算机恶意软件的检测的系统、方法和计算机程序产品来描述本发明的示例性实施例。本领域普通技术人员应当了解,以下的描述仅仅是示例性的而并非意图以任何方式进行限定。受益于本发明的本领域技术人员会很容易地想到其他实施例。现将详细参考在附图中图示的本发明的示例性实施例的实施方式。贯穿附图和以下的描述会尽可能使用相同的附图标记来指代相同或相似的项。
图1图示了恶意软件检测系统的一个示例性实施例。该系统可以在需要保护以抵御计算机恶意软件的个人计算机、服务器、网络路由器、移动电话或其他电子设备(本文中常见以计算机来指代)上实施。一般而言,系统100监视由诸如程序、文件、脚本、动态链接数据库等的各种软件对象101在计算机上所启动的进程和线程的执行,以检测恶意对象。在一个示例性实施例中,被监视的对象101可以包括位于计算机存储空间中的含有命令代码的可执行文件,所述计算机存储空间诸如计算机的硬盘驱动器或随机存取存储器。当对象101启动时,其在系统存储器中创建进程。进程是容器(container),在该容器中执行对象101(例如可执行文件)的命令代码。该进程具有虚拟地址空间,在该虚拟地址空间中存储该进程的运行时间数据并映射相关的动态数据库DLL(动态链接数据库)。进程可以具有多个执行线程。对象的代码在进程线程中执行。每个进程可以与一个或多个对象101关联。这意味着如果进程或线程在计算机上执行恶意的操作,则该启动进程的对象101也是恶意的。
在一个示例性实施例中,恶意软件检测系统100包括分析工具102,当新的进程在计算机上启动时,该分析工具102通过使用可用的操作系统工具和/或该启动进程的对象101的数字签名来检查启动该给定进程的对象101的参数。可以采用例如该启动进程的对象101的校验和或虚拟存储器中的可执行文件的代码校验和作为对象101的参数。在第一阶段,分析工具102将被检查的对象101的参数与位于被信任对象的本地存储器109中的被信任对象的参数进行比较。此外,该分析工具102可以检查对象101的数字签名。数字签名是由认证机构提供并加入至文件的电子安全标记。由此,当进程启动时,分析工具102通过使用包括存储在本地存储器109中经数字签名的对象的参数在内的被信任对象参数而建立启动进程的对象101的可信度。
在一个示例性实施例中,本地存储器109可以仅含有最常见的对象的参数。在此情形下,如果分析工具102不能在存储器109中找到对象参数,其可以经由诸如因特网的网络110发送询问至远程反病毒服务器(未示出)。该反病毒服务器可以维持全套的已知的恶意的和被信任的对象的参数,并且可以将其信息提供至分析工具102。
在一个示例性实施例中,被信任对象是已知对计算机无害的对象,因此,不必要在被信任对象上,以及从该对象启动的进程和线程上执行任何附加的恶意软件检测操作。然而,如果对象是不被信任的,也就是分析工具102在被信任对象的列表中没有找到被检查的对象101,则可能该对象和其启动的进程均为有害的或恶意的。因此,不被信任的对象101(本文中还以可疑或潜在恶意对象指代)继续由系统100监视,以防止从这些对象启动的进程的恶意行为。
特别地,如果被检查的对象101不被信任,则分析工具102将被检查的对象数据101发送至情境编译工具103,该情境编译工具103为该对象编译情境。在一个示例性实施例中,该情境是由被检查的对象101所启动的进程(或线程)所初始化的事件的日志(log)。特别地,该情境编译工具103可以为每个被监视的不被信任的对象101生成单独的情境。该情境编译工具103可以将生成的情境存储在情境存储器104中,该情境存储器104可以在计算机的随机存取存储器或永久性存储器中实施。
由情境编译工具103加入至对象情境的事件可以包括但并不限定于新的对象创建事件、对已存在对象的修改事件、进程启动事件、系统注册表参数更改事件、网络连接建立事件以及其他类型的事件。
在一个示例性实施例中,在检测到潜在有害事件的情形下,分析工具102可以向情境编译工具103发送通知,所述潜在有害事件诸如对系统注册表的修改和尝试创建或修改诸如exe文件、脚本、批处理文件等的可执行文件。此通知至少含有该启动进程的对象的标识,如对象的校验和。其还含有事件类型以及事件所涉及的对象的标识,所述事件类型诸如对象修改,所述对象的标识诸如被修改的对象的校验和。当接收到进程事件的通知时,该情境编译工具103可以将此信息保存在情境存储器104中被分析的对象101的情境中。所收集的信息进一步用于检测计算机上的恶意对象。
在一个示例性实施例中,该情境编译工具103在其操作中使用图2中所图示的情境合并机制。在几个对象或其进程之间的关系在其执行的进程中被识别的情形下使用该情境合并机制,也就是为个体行为未显示出恶意的多个不被信任的对象创建公共情境的机制。为了分析在此情形下对于计算机的一般安全威胁,可能需要分析从不同但相关的不被信任的对象所启动的进程的累积操作。例如,在一个进程初始化自另一个(也就是父子关系)的情形下,会在多个从不同对象所启动的多个进程之间产生关系,该关系创建新的对象,从该新的对象初始化新的进程,或者该关系将线程嵌入至初始化的进程中。在这种状况下,进程是相关的,并且不仅分析在特定进程的执行时发生的操作,还分析从不同对象所启动的相关进程的累积操作。类似的状况发生在例如多组件恶意软件或具有复杂感染模式的其他恶意软件感染计算机时。
作为示例,启动进程的对象101可以创建和启动另一个对象。在此情形下,当与被信任对象不相关的第一进程201在系统中出现时,情境编译工具103在情境存储器104中生成情境203。此情境203含有与在进程201的执行中所初始化的事件(事件1.1-事件1.3)有关的数据。在进程201的执行中的某一时刻,可能生成创建和启动新的对象的事件,并且此事件初始化新的进程202。
当新的进程202启动时,情境编译工具103为记录由进程202所生成的事件而生成单独的情境204。在一个示例性实施例中,情境编译工具103可以确定是否新的进程202与诸如进程201的任何其它被监视的进程相关。在进程201和202彼此相关的情形下,情境编译工具103可以生成新的单独的公共情境205,该公共情境205会含有发生在第一进程201和第二进程202的执行过程中的所有事件。因此,当潜在有害事件出现时,它们会涉及公共情境205以及涉及启动进程的对象101的单独的情境203或204,所述启动进程的对象101在其执行过程中已导致潜在有害事件。
如上文所指出,对象/进程之间可以有很多不同的关系,并且当检测到新的相关对象时,情境编译工具103以在从新的对象所启动的进程的执行过程中所生成的事件来更新该新的对象的情境和公共情境205。特别地,当检测到新的事件时,将其记录在情境存储器104中的一个(在单一对象的情形下)或几个(在相关对象的情形下)情境中。在此方式下,情境编译工具103可以为各种相关对象创建大量不同的情境并将这些情境存储在情境存储器104中。
在一个示例性实施例中,配置情境分析工具105以独立地分析情境存储器104中的每个情境是否存在恶意软件。特别地,情境分析工具105基于对象在其进程的执行过程中的行为来分析对象是否是有害的,这些进程作为事件被记录在存储器104中的对象情境中。更具体地,基于存储在规则存储器107中的行为规则来执行该分析。这些行为规则识别诸如病毒、蠕虫、木马、垃圾邮件、BOTs、诱骗联络(spoofer)等的各种已知类型的恶意软件的行为。对象行为意味着在从被检查的对象101所启动的进程的执行过程中所采用的操作的集合。作为其操作的结果,情境分析工具105基于被检查对象的情境得到关于其有害度的结论。
在一个示例性实施例中,每当情境中出现新的事件或在当新的事件出现后情境分析工具105检测该对象的有害度时的情形下,重复对对象情境的分析;然后情境分析工具发送关于此对象的信息至反病毒工具106。该反病毒工具106可以采取合适的补救操作,诸如终止从恶意对象初始化的进程,以及隔离或删除已启动恶意进程的对象。
因为每个情境的事件本身可能表现为无害的或非恶意的,所以对情境203和情境204的独立分析有可能无法识别恶意对象;然而,对合并的情境205的分析则会揭露这些进程的恶意行为,所述合并的情境205包括由相关进程201和202所生成的事件的组合集。这意味着恶意软件使用复杂感染模式,也就是其通过使用几个进程而进行操作,并且每个进程本身是不具威胁性的或非恶意的,但是它们累积的活动可能是对计算机有害的。在此情形下,反病毒工具106可以使被检测的进程不能执行,并删除与被检测的进程相关的所有对象。
在另一个示例中,一个进程203可以执行一系列操作,所述一系列操作通过例如向已存在的进程202中嵌入线程而初始化新的进程或激活已存在的进程;之后,进程201可以终止,但进程202会继续执行。虽然进程201终止并且其单独的情境203可能已从存储器104删除,但是含有被终止进程201的事件和正运行进程202的事件的组合情境205保持在存储器104中,并且受到情境分析工具105的分析。这意味着可在对相关进程202的分析中使用所保存的被终止进程201的一系列操作,从而即使在所有有害对象的进程终止后也能确定相关进程202的有害性并且识别所有恶意对象。
由于系统进程通常被认为是可信的,其不会被反病毒应用程序所检查,因此恶意软件通常在系统进程中初始化线程以隐藏其活动。系统进程可以是在系统操作过程中从系统文件所启动的进程。系统进程的示例有Svchost.exe(负责动态链接库的使用)、Winlogon.exe(控制用户登入和登出系统)、Services.exe(负责开始和停止系统服务以及负责其交互)等。然而,如果线程是在系统进程中初始化的,则情境编译工具103可以注册此事件;此外,由情境编译工具103生成含有系统进程操作数据的单独的情境和用于相关进程的公共情境。自此,情境分析工具105可以监视系统进程的活动。在恶意活动的情形下,情境分析工具105可以容易地检测在系统进程中的恶意线程初始化的方式并将执行该活动的恶意对象删除。
在一个示例性实施例中,情境分析工具105经由网络110连接至远程反病毒服务器(未示出)。该工具105向反病毒服务器发送所识别的恶意软件的情境和在分析对象101的过程中所发现的相关的情境。此外,该反病毒服务器本身可以向情境分析工具105发送询问,所述询问含有用于请求该情境的对象的校验和。在此情形下,该情境分析工具寻找具有所接收的校验和的对象并将此情境与所有相关的情境一起转发至反病毒服务器。与反病毒服务器进行交互的能力是有用的,因为这允许反病毒服务器对从不同的系统100获得的不同对象的情境执行综合分析,以分析新种类的恶意软件的行为,并生成由分析工具105使用的新的恶意软件行为规则。
在一个示例性实施例中,系统100包括对存储器107中的规则和存储器109中的被信任对象列表进行更新的更新工具108。该更新工具108使用计算机网络110以从反病毒服务器(未示出)获得更新。
在各种不同的实施例中,系统100实施改善其恶意软件检测效果的附加机制。例如,在一些情况下,系统100不能基于存储在存储器107中的现有版本的恶意软件行为规则最终确定不被信任的对象101是否是恶意的,在此情形下,对象101可能被反病毒工具106隔离一段时间,诸如一周或一个月,或直到反病毒服务器提供了将能够最终确定所隔离的对象是否恶意的新的规则。此外,系统100可以将被隔离的对象的情境存储在情境存储器104中。有可能在一段时间后,反病毒服务器可以创建会得出被隔离的对象是否是恶意的最终识别的新的规则。由此,在规则存储器107由更新工具108更新后,该工具108可以发送更新后的规则信息至情境分析工具105。该情境分析工具105转而可以分析之前在情境存储器104中保存的情境。这种通过使用新的行为规则的重复检查有可能检测到之前使用旧的行为规则无法检测到的新的恶意对象。如果基于新的行为规则将被隔离的对象101的情境识别为恶意的,则情境分析根据105可以通知反病毒工具106隔离的对象是恶意的,从而可以对那个对象采用合适的补救操作。
图3A和B图示了恶意软件检测的示例性算法。在步骤301,系统100可以更新存储器109中的被信任对象的签名的列表。在步骤302,更新工具108检查是否有任何可用的规则更新,并在步骤303以新的恶意软件行为规则更新存储器107。一旦规则更新,该更新工具108通知情境分析工具105关于新规则的可用性。在步骤304,情境分析工具105使用更新后的规则分析之前编译并存储在存储器104中的情境。如果该情境存储器104不具有任何之前保存的要检查的情境,则不执行分析。如果在步骤305情境分析工具105检测到所存储情境的恶意行为模式,则工具105发送关于此恶意情境的信息至反病毒工具106,该反病毒工具106将可疑对象保持隔离。在步骤306该反病毒工具106会执行合适的补救操作。此外,在步骤307,情境分析工具105可以向反病毒服务器发送所识别的恶意对象的参数,诸如对象的校验和。
一旦在步骤301-307已经更新了被信任对象列表和规则数据库,在步骤308分析工具102可开始监视计算机上的各种进程的执行。新的进程一开始,在步骤309分析工具102就通过例如将对象的签名与存储器109中含有的被信任对象的签名的列表进行比较来检查启动进程的对象101的可信度。如果在步骤310确定对象是可信的,则系统100不收集关于该对象的进一步信息,并允许由该给定对象所初始化的进程在计算机上运行而无需进一步的检查。在此情形下,系统停止关于此对象和其进程的操作。
然而,如果在被信任对象的列表109中没有找到对象101,这意味着被检查的对象101可能是恶意的。然后,在步骤311分析工具102收集对象参数并将其发送至情境编译工具103,在步骤313该情境编译工具103为此对象编译情境。所编译的情境保存在情境存储器104中。这之后,情境编译工具103监视从被检查的对象101所启动的进程中的可疑事件的出现;例如,这种事件可与对象的创建和删除或系统注册表的修改等相关,并且如果其被最终确定为恶意的,可以终止进程。然而,如果在步骤314不能将进程识别为恶意的,则该系统通过例如识别显示出被监视的进程和另一个被执行的进程或线程之间的关系的事件,来确定是否被监视的进程具有任何相关的进程的线程。然后,在步骤315,情境编译工具103将相关的对象的情境合并。新的公共情境含有几个相关进程的事件,其存储在情境存储器104中。
当将新的事件加入至情境中时,在步骤316情境分析工具105使用来自存储器107的恶意软件行为规则分析该情境。如果在步骤317该情境分析工具105没有检测到进程的恶意活动,则允许此进程继续在计算机上运行,并且对此进程的事件的收集和分析也在步骤314中继续。如果在步骤317检测到恶意活动,则在步骤318反病毒系统106终止该进程和与其相关的所有进程。然后,在步骤319,删除、修复或隔离相关恶意软件。此外,在步骤320,情境分析工具105发送恶意对象参数至反病毒服务器。
图4描绘了在其上可以实施恶意软件检测系统100的计算机5的示例性实施例。计算机5可以包括通过系统总线10连接的一个或多个处理器15、存储器20、一个或多个硬盘驱动器30、光驱35、串行端口40、图形卡45、声卡50和网卡55。系统总线10可以为几种类型的总线结构中的任何一个,包括使用各种已知总线架构中的任何一种的存储器总线或存储器控制器、外围总线和局部总线。处理器15可以包括一个或多个Core2Quad 2.33GHz处理器或其他类型的微处理器。
系统存储器20可以包括只读存储器(ROM)21和随机存取存储器(RAM)23。存储器20可以实施为DRAM(动态RAM)、EPROM、EEPROM、闪存或其他类型的存储器架构。ROM 21存储基本输入/输出系统22(BIOS),该基本输入/输出系统22含有帮助诸如在启动过程中在计算机系统5的组件之间传输信息的基本例程。RAM 23存储诸如XPProfessional或其他类型的操作系统的操作系统24(OS),该操作系统24负责在计算机系统5中管理和协调进程,以及分配和共享硬件资源。系统存储器20还存储诸如服务306的应用程序和程序25。系统存储器20还存储由程序25使用的各种运行时间数据26。
计算机系统5可以进一步包括诸如SATA磁性硬盘驱动器(HDD)的硬盘驱动器30以及用于读或写诸如CD-ROM、DVD-ROM或其他光学介质的可移动光盘的光盘驱动器35。驱动器30和35及其相关联的计算机可读介质提供了对实施本文所公开的算法和方法的计算机可读指令、数据结构、应用程序以及程序模块/子例程的非易失性存储。尽管示例性的计算机系统5采用磁盘和光盘,本领域技术人员应当理解,在计算机系统的替代实施例中,还可以使用可存储计算机系统5可访问数据的其他类型的计算机可读介质,诸如磁带盒、闪存卡、数字视频盘、RAM、ROM、EPROM以及其他类型的存储器。
计算机系统5进一步包括诸如通用串行总线(USB)的多个串行端口40,用于连接诸如键盘、鼠标、触控板及其它类型的数据输入设备75。串行端口40还可以用来连接诸如打印机、扫描仪及其它类型的数据输出没备80以及诸如外部数据存储设备等的其它外围设备85。系统5还可以包括诸如GT 240M或其他视频卡的图形卡45,用于与监视器60或其他视频再现设备接合。系统5还可以包括声卡50,用于经由内部或外部扬声器65再现声音。此外,系统5可以包括网卡55,诸如以太网、WiFi、GSM、蓝牙或其他有线、无线或蜂窝网络接口,用于将计算机系统5连接至诸如因特网的网络70。
在各种实施例中,本文描述的算法和方法可以实现于硬件、软件、固件或者其任意组合中。如果在软件中实现,这些功能可以作为一个或者多个指令或者代码在非暂时性计算机可读介质上存储。计算机可读介质既包括计算机存储介质也包括通信介质,所述通信介质有利于从一个地方向另一个地方传送计算机程序。存储介质可以是能够被计算机访问的任何可用的介质。作为示例而非限制,这种计算机可读介质可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储器、磁盘存储器或其它磁性存储设备、或者任何能够用于以指令或者数据结构的形式承载或者存储所需的程序代码并且可被计算机访问的其它介质。而且,任何连接都可以被称为计算机可读介质。例如,如果使用同轴电缆、光缆、双绞线、数字用户线(DSL)或者诸如红外、射频和微波这类无线技术从网站、服务器或者其它远程信源发送软件,那么介质的定义包括该同轴电缆、光缆、双绞线、数字用户线(DSL)、或者诸如红外、射频和微波这类无线技术。
为了清楚起见,本文没有示出并描述实施例的所有常规特征。应该理解的是,在任何这种实际的实施方式的开发中,为了达到开发者的特定目标,必须做出大量特定于实施方式的决定,而且,这些特定目标会因实施方式的不同和开发者的不同而变化。应该理解的是,这种开发工作可能是复杂且费时的,但不论如何,对于受益于本申请的普通技术人员而言,都将是常规的工程任务。
而且,可以理解的是,本文使用的措辞和术语用于描述而非限制的目的,以使本说明书的术语或者措辞可由本领域技术人员在本文提出的教导和指导下结合相关领域技术人员的知识做出解释。而且,除非像这样明确地予以阐述,否则说明书中或者权利要求中的任何术语都并非意图表示不常见的或者特殊的意思。
本文公开的各种实施例包括本文通过图示方式提到的已知组件的现在和将来已知的等同物。而且,尽管已经示出和说明了实施例和应用程序,但对受益于本文公开的内容的本领域技术人员来说显而易见的是,在不脱离本文公开的发明构思的情况下,比上述提及到的更多的修改例都是可能的。
Claims (14)
1.一种用于检测计算机恶意软件的方法,所述方法包括:
监视一个或多个软件对象的进程或线程的执行;
确定所述一个或多个对象是否为被信任对象或不被信任对象;
为每个不被信任对象创建单独的对象情境;
在多个单独的对象情境中存储所述被监视的每个不被信任对象的进程或线程的执行的事件;
确定存储在单独的对象情境中的所述被监视的进程或线程是否彼此相关,其中在一个进程初始化另一个进程的情形下,进程是相关的,具体为,在进程执行中的某一时刻,生成创建和启动新的对象的事件,并且此事件初始化新的进程,或者,一个进程执行一系列的操作,所述一系列操作通过向已存在的另一进程中嵌入线程而初始化新的进程;
为相关进程或线程创建新的单独的公共情境;
将存储在所述相关进程或线程的所述单独的对象情境中的事件合并至所述单独的公共情境中;
使用恶意软件行为规则来分析存储在所述公共情境中以及存储在单独的对象情境中的所述被监视的进程或线程的事件,以识别具有恶意行为模式的恶意软件对象;
当所述被监视的进程或线程终止时,删除与所终止的进程或线程相关联的单独的对象情境;
即使当所述相关进程或线程中的一个已经终止并且所终止的进程或线程的单独的对象情境被删除时,使用恶意软件行为规则来独立地分析存储在所述单独的公共情境中的所述相关进程或线程的经合并的事件,以识别具有复杂恶意行为模式的恶意软件对象。
2.如权利要求1所述的方法,进一步包括:
终止与恶意对象相关联的所有进程和线程的执行;以及
删除、隔离或修复所述恶意对象。
3.如权利要求1所述的方法,进一步包括:
通过计算所述对象的数字签名和检查所述数字签名是否与被信任对象相关联而确定所述一个或多个对象是否为被信任对象;以及
停止对被信任对象的一个或多个进程或线程的监视。
4.如权利要求1所述的方法,其中确定对象是否为被信任的包括:
将所述对象的数字签名与本地被信任对象存储器进行比较;以及
如果在所述本地被信任对象存储器中没有找到所述对象的数字签名,则向含有已知恶意和被信任对象的签名的综合数据库的远程反病毒服务器发送询问。
5.如权利要求1所述的方法,其中确定所述对象是否为被信任的包括:
计算所述对象的校验和;以及
询问远程反病毒服务器以确定所述校验和是否与恶意或被信任对象相关联。
6.如权利要求1所述的方法,进一步包括:
将对象的情境传送给远程反病毒服务器;以及
基于所述被传送的情境从所述服务器接收新的恶意软件行为规则。
7.如权利要求1所述的方法,进一步包括:
如果被信任对象的进程在系统进程中嵌入线程,则继续监视所述被信任对象;以及
在单独的对象情境中存储所述系统进程的执行的事件。
8.一种用于检测计算机恶意软件的系统,包括:
存储器,经配置以存储被信任软件对象的列表和恶意软件行为规则;
处理器,耦合至所述存储器,所述处理器经配置以:
监视一个或多个软件对象的进程或线程的执行;
确定所述一个或多个对象是否为被信任对象或不被信任对象;
为每个不被信任对象创建单独的对象情境;
在多个单独的对象情境中存储所述被监视的每个不被信任对象的进程或线程的执行的事件;
确定存储在单独的对象情境中的所述被监视的进程或线程是否彼此相关,其中在一个进程初始化另一个进程的情形下,进程是相关的,具体为,在进程执行中的某一时刻,生成创建和启动新的对象的事件,并且此事件初始化新的进程,或者,一个进程执行一系列的操作,所述一系列操作通过向已存在的另一进程中嵌入线程而初始化新的进程;
为相关进程或线程创建新的单独的公共情境;
将存储在所述相关进程或线程的所述单独的对象情境中的事件合并至所述单独的公共情境中;
使用恶意软件行为规则来分析存储在所述公共情境中以及存储在单独的对象情境中的所述被监视的进程或线程的事件,以识别具有恶意行为模式的恶意软件对象;
当所述被监视的进程或线程终止时,删除与所终止的进程或线程相关联的单独的对象情境;
即使当所述相关进程或线程中的一个已经终止并且所终止的进程或线程的单独的对象情境被删除时,使用恶意软件行为规则来独立地分析存储在所述单独的公共情境中的所述相关进程或线程的经合并的事件,以识别具有复杂恶意行为模式的恶意软件对象。
9.如权利要求8所述的系统,其中所述处理器经进一步配置以:
终止与恶意对象相关联的所有进程和线程的执行;以及
删除、隔离或修复所述恶意对象。
10.如权利要求8所述的系统,其中所述处理器经进一步配置以:
通过计算所述对象的数字签名和将所述数字签名与存储在所述存储器中的所述被信任软件对象的列表进行比较而确定所述一个或多个对象是否为被信任对象;以及
停止对被信任对象的一个或多个进程或线程的监视。
11.如权利要求8所述的系统,其中如果在所述被信任软件对象的列表中没有找到所述对象的数字签名,则所述处理器经进一步配置以:
向含有已知恶意和被信任对象的签名的综合数据库的远程反病毒服务器发送询问。
12.如权利要求8所述的系统,其中为确定所述对象是否为被信任的,所述计算机经进一步配置以:
计算所述对象的校验和;以及
询问远程反病毒服务器以确定所述校验和是否与恶意或被信任对象相关联。
13.如权利要求8所述的系统,其中所述处理器经进一步配置以:
将对象的情境传送给远程反病毒服务器;以及
基于所述被传送的情境从所述服务器接收新的恶意软件行为规则。
14.如权利要求8所述的系统,其中所述处理器经进一步配置以:
如果被信任对象的进程在系统进程中嵌入线程,则继续监视所述被信任对象;以及
在单独的对象情境中存储所述系统进程的执行的事件。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2011115362 | 2011-04-19 | ||
RU2011115362/08A RU2454705C1 (ru) | 2011-04-19 | 2011-04-19 | Система и способ защиты компьютерного устройства от вредоносных объектов, использующих сложные схемы заражения |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102651061A CN102651061A (zh) | 2012-08-29 |
CN102651061B true CN102651061B (zh) | 2014-12-03 |
Family
ID=45421912
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210100140.7A Active CN102651061B (zh) | 2011-04-19 | 2012-04-06 | 用于检测复杂恶意软件的系统和方法 |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP2515250A1 (zh) |
CN (1) | CN102651061B (zh) |
DE (1) | DE202011111121U1 (zh) |
RU (1) | RU2454705C1 (zh) |
Families Citing this family (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9202047B2 (en) | 2012-05-14 | 2015-12-01 | Qualcomm Incorporated | System, apparatus, and method for adaptive observation of mobile device behavior |
US9319897B2 (en) | 2012-08-15 | 2016-04-19 | Qualcomm Incorporated | Secure behavior analysis over trusted execution environment |
US9747440B2 (en) | 2012-08-15 | 2017-08-29 | Qualcomm Incorporated | On-line behavioral analysis engine in mobile device with multiple analyzer model providers |
US10089582B2 (en) | 2013-01-02 | 2018-10-02 | Qualcomm Incorporated | Using normalized confidence values for classifying mobile device behaviors |
US9742559B2 (en) | 2013-01-22 | 2017-08-22 | Qualcomm Incorporated | Inter-module authentication for securing application execution integrity within a computing device |
KR20150119895A (ko) * | 2013-02-15 | 2015-10-26 | 퀄컴 인코포레이티드 | 다수의 분석기 모델 제공자들을 갖는 이동 디바이스에서의 온-라인 거동 분석 엔진 |
US9330259B2 (en) * | 2013-03-19 | 2016-05-03 | Trusteer, Ltd. | Malware discovery method and system |
RU2531861C1 (ru) * | 2013-04-26 | 2014-10-27 | Закрытое акционерное общество "Лаборатория Касперского" | Система и способ оценки вредоносности кода, исполняемого в адресном пространстве доверенного процесса |
JP6101408B2 (ja) | 2013-09-10 | 2017-03-22 | シマンテック コーポレーションSymantec Corporation | イベント相関グラフを使用してコンピューティングシステムに対する攻撃を検出するためのシステム及び方法 |
US9166997B1 (en) | 2013-09-19 | 2015-10-20 | Symantec Corporation | Systems and methods for reducing false positives when using event-correlation graphs to detect attacks on computing systems |
US9148441B1 (en) | 2013-12-23 | 2015-09-29 | Symantec Corporation | Systems and methods for adjusting suspiciousness scores in event-correlation graphs |
US9256739B1 (en) | 2014-03-21 | 2016-02-09 | Symantec Corporation | Systems and methods for using event-correlation graphs to generate remediation procedures |
US10432720B1 (en) | 2014-06-25 | 2019-10-01 | Symantec Corporation | Systems and methods for strong information about transmission control protocol connections |
CN104156298B (zh) * | 2014-08-19 | 2017-02-15 | 腾讯科技(深圳)有限公司 | 一种应用监控方法及装置 |
US9843594B1 (en) | 2014-10-28 | 2017-12-12 | Symantec Corporation | Systems and methods for detecting anomalous messages in automobile networks |
RU2584507C1 (ru) | 2014-12-19 | 2016-05-20 | Закрытое акционерное общество "Лаборатория Касперского" | Способ обеспечения безопасного выполнения файла сценария |
US10146893B1 (en) | 2015-03-27 | 2018-12-04 | Symantec Corporation | Systems and methods for evaluating electronic control units within vehicle emulations |
US9825986B1 (en) | 2015-06-29 | 2017-11-21 | Symantec Corporation | Systems and methods for generating contextually meaningful animated visualizations of computer security events |
US9852295B2 (en) * | 2015-07-14 | 2017-12-26 | Bitdefender IPR Management Ltd. | Computer security systems and methods using asynchronous introspection exceptions |
JP5933797B1 (ja) * | 2015-10-07 | 2016-06-15 | 株式会社ソリトンシステムズ | ログ情報生成装置及びプログラム並びにログ情報抽出装置及びプログラム |
US9967274B2 (en) | 2015-11-25 | 2018-05-08 | Symantec Corporation | Systems and methods for identifying compromised devices within industrial control systems |
CN105389521B (zh) * | 2015-12-18 | 2019-08-23 | 北京金山安全管理系统技术有限公司 | 一种对计算机系统中文件进行安全保护的方法 |
CN106560832A (zh) * | 2015-12-31 | 2017-04-12 | 哈尔滨安天科技股份有限公司 | 一种拦截Linux内核恶意进程提权的方法及系统 |
US10104100B1 (en) | 2016-03-03 | 2018-10-16 | Symantec Corporation | Systems and methods for detecting anomalies that are potentially indicative of malicious attacks |
US10193903B1 (en) | 2016-04-29 | 2019-01-29 | Symantec Corporation | Systems and methods for detecting suspicious microcontroller messages |
US10091077B1 (en) | 2016-06-27 | 2018-10-02 | Symantec Corporation | Systems and methods for detecting transactional message sequences that are obscured in multicast communications |
CN106407807B (zh) * | 2016-08-31 | 2019-01-22 | 福建省天奕网络科技有限公司 | 一种恶意线程检测方法及系统 |
US10200259B1 (en) | 2016-09-21 | 2019-02-05 | Symantec Corporation | Systems and methods for detecting obscure cyclic application-layer message sequences in transport-layer message sequences |
US9906545B1 (en) | 2016-11-22 | 2018-02-27 | Symantec Corporation | Systems and methods for identifying message payload bit fields in electronic communications |
US10326788B1 (en) | 2017-05-05 | 2019-06-18 | Symantec Corporation | Systems and methods for identifying suspicious controller area network messages |
RU2700185C1 (ru) * | 2018-07-27 | 2019-09-13 | Закрытое акционерное общество "Перспективный мониторинг" | Способ обнаружения скрытого программного обеспечения в вычислительной системе, работающей под управлением POSIX-совместимой операционной системы |
RU2702053C1 (ru) * | 2018-12-28 | 2019-10-03 | Акционерное общество "Лаборатория Касперского" | Способ снижения нагрузки на сканирующую подсистему путем дедупликации сканирования файлов |
CN111241546B (zh) * | 2020-01-12 | 2022-06-21 | 苏州浪潮智能科技有限公司 | 一种恶意软件行为检测方法和装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1761939A (zh) * | 2003-03-17 | 2006-04-19 | 精工爱普生株式会社 | 阻止病毒感染的方法及系统 |
GB2469323A (en) * | 2009-04-09 | 2010-10-13 | F Secure Oyj | Providing information to a client device regarding an object stored at it |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6775780B1 (en) * | 2000-03-16 | 2004-08-10 | Networks Associates Technology, Inc. | Detecting malicious software by analyzing patterns of system calls generated during emulation |
US20060265746A1 (en) * | 2001-04-27 | 2006-11-23 | Internet Security Systems, Inc. | Method and system for managing computer security information |
WO2006101549A2 (en) * | 2004-12-03 | 2006-09-28 | Whitecell Software, Inc. | Secure system for allowing the execution of authorized computer program code |
TWI252976B (en) * | 2004-12-27 | 2006-04-11 | Ind Tech Res Inst | Detecting method and architecture thereof for malicious codes |
US7870612B2 (en) * | 2006-09-11 | 2011-01-11 | Fujian Eastern Micropoint Info-Tech Co., Ltd | Antivirus protection system and method for computers |
CN101350052B (zh) * | 2007-10-15 | 2010-11-03 | 北京瑞星信息技术有限公司 | 发现计算机程序的恶意行为的方法和装置 |
US7472420B1 (en) * | 2008-04-23 | 2008-12-30 | Kaspersky Lab, Zao | Method and system for detection of previously unknown malware components |
RU91202U1 (ru) * | 2009-10-01 | 2010-01-27 | ЗАО "Лаборатория Касперского" | Система обнаружения неизвестных вредоносных программ |
-
2011
- 2011-04-19 RU RU2011115362/08A patent/RU2454705C1/ru active
- 2011-12-15 DE DE202011111121.4U patent/DE202011111121U1/de not_active Expired - Lifetime
- 2011-12-15 EP EP11193638A patent/EP2515250A1/en not_active Ceased
-
2012
- 2012-04-06 CN CN201210100140.7A patent/CN102651061B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1761939A (zh) * | 2003-03-17 | 2006-04-19 | 精工爱普生株式会社 | 阻止病毒感染的方法及系统 |
GB2469323A (en) * | 2009-04-09 | 2010-10-13 | F Secure Oyj | Providing information to a client device regarding an object stored at it |
Also Published As
Publication number | Publication date |
---|---|
CN102651061A (zh) | 2012-08-29 |
RU2454705C1 (ru) | 2012-06-27 |
DE202011111121U1 (de) | 2020-02-24 |
EP2515250A1 (en) | 2012-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102651061B (zh) | 用于检测复杂恶意软件的系统和方法 | |
US8042186B1 (en) | System and method for detection of complex malware | |
US8099596B1 (en) | System and method for malware protection using virtualization | |
RU2514140C1 (ru) | Система и способ увеличения качества обнаружений вредоносных объектов с использованием правил и приоритетов | |
US9710648B2 (en) | Method of malware detection and system thereof | |
US9081967B2 (en) | System and method for protecting computers from software vulnerabilities | |
RU2571723C2 (ru) | Система и способ для снижения нагрузки на операционную систему при работе антивирусного приложения | |
US9614867B2 (en) | System and method for detection of malware on a user device using corrected antivirus records | |
US8418250B2 (en) | Methods and apparatus for dealing with malware | |
CN101373502B (zh) | 基于Win32平台下病毒行为的自动化分析系统 | |
US8181247B1 (en) | System and method for protecting a computer system from the activity of malicious objects | |
CN103065088B (zh) | 基于计算机用户的裁决检测计算机安全威胁的系统和方法 | |
CN102882875B (zh) | 主动防御方法及装置 | |
CN102629310A (zh) | 用于保护计算机系统免遭恶意对象活动侵害的系统和方法 | |
CN105760787A (zh) | 用于检测随机存取存储器中的恶意代码的系统及方法 | |
US9202053B1 (en) | MBR infection detection using emulation | |
RU2583714C2 (ru) | Агент безопасности, функционирующий на уровне встроенного программного обеспечения, с поддержкой безопасности уровня операционной системы | |
CN102857519B (zh) | 主动防御系统 | |
US9536090B2 (en) | Method of defending a computer from malware | |
EP2584484A1 (en) | System and method for protecting a computer system from the activity of malicious objects | |
JP6253333B2 (ja) | 情報処理装置、情報処理システムおよび情報処理方法 | |
KR20220080347A (ko) | 서버 모니터링 방법 및 장치 | |
EP2835757B1 (en) | System and method protecting computers from software vulnerabilities | |
RU85249U1 (ru) | Аппаратный антивирус | |
Hovmark et al. | Towards Extending Probabilistic Attack Graphs with Forensic Evidence: An investigation of property list files in macOS |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |