CN103180863B - 计算机系统分析方法和装置 - Google Patents
计算机系统分析方法和装置 Download PDFInfo
- Publication number
- CN103180863B CN103180863B CN201180050706.3A CN201180050706A CN103180863B CN 103180863 B CN103180863 B CN 103180863B CN 201180050706 A CN201180050706 A CN 201180050706A CN 103180863 B CN103180863 B CN 103180863B
- Authority
- CN
- China
- Prior art keywords
- application
- network
- dependence
- dependence network
- locally applied
- 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.)
- Expired - Fee Related
Links
- 238000004458 analytical method Methods 0.000 title claims description 13
- 238000000034 method Methods 0.000 claims abstract description 64
- 238000004364 calculation method Methods 0.000 claims abstract description 3
- 238000010606 normalization Methods 0.000 claims description 10
- 238000007689 inspection Methods 0.000 claims description 7
- 230000000052 comparative effect Effects 0.000 claims description 6
- 238000009434 installation Methods 0.000 claims description 6
- 230000000694 effects Effects 0.000 claims description 4
- 230000018199 S phase Effects 0.000 claims 1
- 230000002155 anti-virotic effect Effects 0.000 description 31
- 239000012634 fragment Substances 0.000 description 15
- 230000008569 process Effects 0.000 description 11
- 238000001514 detection method Methods 0.000 description 8
- 238000013459 approach Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 241000700605 Viruses Species 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000002708 enhancing effect Effects 0.000 description 2
- ZXQYGBMAQZUVMI-GCMPRSNUSA-N gamma-cyhalothrin Chemical compound CC1(C)[C@@H](\C=C(/Cl)C(F)(F)F)[C@H]1C(=O)O[C@H](C#N)C1=CC=CC(OC=2C=CC=CC=2)=C1 ZXQYGBMAQZUVMI-GCMPRSNUSA-N 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 231100000614 poison Toxicity 0.000 description 2
- 230000000507 anthelmentic effect Effects 0.000 description 1
- 230000000840 anti-viral effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 201000010099 disease Diseases 0.000 description 1
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000011900 installation process Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 239000002574 poison Substances 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012358 sourcing Methods 0.000 description 1
- 238000010408 sweeping Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Virology (AREA)
- Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computer And Data Communications (AREA)
- Stored Programmes (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
一种分析计算机的方法,所述计算机上安装有多个应用,每个应用包括相互关联的对象的集合。首先,所述方法包括:针对一个或多个应用中的每一个识别本地相依性网络,所述本地相依性网络至少包括对象路径和对象间关系的集合。然后,将每个本地应用相依性网络与已知应用相依性网络的数据库相比较,以确定与本地相依性网络相关联的应用是否是已知的。然后,使用比较结果来识别恶意软件和/或孤立对象。
Description
技术领域
本发明涉及分析计算机系统的方法和装置,具体涉及对安装在计算机系统上的应用进行分析的方法和装置。具体地而非必要地,本发明涉及在恶意软件的检测和移除中并且还在系统优化中使用所述分析的方法和装置。
背景技术
恶意软件(malware)是malicious software的简称,用作表示设计为未经用户同意而潜入或破坏计算机系统的任何软件的术语。恶意软件可以包括计算机病毒、蠕虫、木马、rootkits和间谍软件。为了防止与恶意软件感染相关联的问题,许多终端用户利用反病毒软件来检测并可能移除恶意软件。
在安装在用户的系统上之后,恶意软件通常通过模仿常见的和/或普通的现有合法软件的文件名来避免检测。这种情况的示例是Troj/Torpid-C downloader Trojan,其使用名称“winword.exe”和典型的进程名称Microsoft Word。因此在任务管理器中无法注意到Trojan进程。恶意软件用来避免检测的另一技术是针对其可执行的软件产生随机名称。随机名称是晦涩的,并且可以通过使用文件名中的模式来防止反病毒软件检测到恶意软件。类似的隐身方法应用于注册表路径和密钥。恶意软件选择随机并且常用的“run”密钥值。
尽管对于基于模式识别的反病毒引擎(即,寻找恶意软件“指纹”的引擎)始终可能存在空间,然而这些引擎仍然缓慢并且是反应式的而非主动式的,因为反病毒引擎必须已知或者可以预测代表恶意软件的模式。
发明内容
本发明的目的是提供已知检测计算机系统上的恶意软件的机制,该机制依赖于对系统上的对象的网络的检测,其中网络对象与程序、应用、文件等相关联或者可以与程序、应用、文件等相关联。这些程序、应用、文件等中,一些可以是已知且信任的,一些可以是已知且不信任的,一些可以是未知的。
根据本发明的第一方面,提供了一种分析计算机的方法,所述计算机上安装有多个应用,每个应用包括相互关联的对象的集合。首先,所述方法包括:针对应用中的一个或多个中的每一个识别本地相依性网络,所述本地相依性网络至少包括对象路径和对象间关系的集合。然后,将每个本地应用相依性网络与已知应用相依性网络的数据库相比较,以确定与本地应用相依性网络相关联的应用是否是已知的。然后,使用比较结果来识别恶意软件和/或孤立对象。
本发明的实施例可以提供一种扫描计算机以发现恶意软件的更快速的方法,该方法需要的处理功率可以显著低于传统的扫描方法。此外,本发明的实施例可以提供一种从计算机移除恶意软件的改进方法。识别恶意软件应用的整个相依性网络,然后可以确保在删除过程中恶意软件应用的所有组件都被删除。
相互关联的对象可以是以下中的一个或多个:可执行文件、数据文件、注册表项、注册表值、注册表数据和启动点。
该方法还可以包括:识别本地应用相依性网络的对象路径,并将对象路径归一化以使所述对象路径是系统无关的。
可以通过跟踪在启动应用的安装程序时的活动,或者通过在安装应用之前和之后进行系统快照并识别两个快照之间的差异,来识别本地应用相依性网络的对象路径。备选地,可以通过以下操作来识别本地应用相依性网络:
对于给定的输入对象,执行对依赖于所述输入对象的所有其他对象的搜索;将所述输入对象和通过搜索找到的任何其他对象的路径以及这些对象的对象间关系存储在结果文件中;针对每个其他对象递归地重复这些步骤,直到找不到其他相依的对象为止;以及将结果文件内的对象路径归一化。
可以通过观察已知应用的安装以捕获所述已知应用的相依性网络,或者备选地通过从分布式客户端基站的本地系统收集应用相依性网络,来填充已知应用相依性网络的数据库。
该方法可以包括:在客户端计算机处执行针对应用中的一个或多个中的每一个识别本地相依性网络的步骤,在中央服务器处执行将每个本地应用相依性网络与已知应用相依性网络的数据库相比较的步骤。
该方法还可以包括:对于未知应用相依性网络,对属于所述未知应用相依性网络的对象执行另一恶意软件扫描。所述另一恶意软件扫描可以包括以下之一或两者:
执行对应用二进制证书的检查;以及
对在未知本地应用相依性网络中识别的对象运行启发式分析。
如果发现应用是恶意的,则可以从客户端计算机移除在未知本地应用相依性网络中识别的对象或者使在未知本地应用相依性网络中识别的对象安全,与其他已知应用相依性网络共享的对象可以除外。
可以将所述另一恶意软件扫描之后发现合法的未知本地应用的应用相依性网络输入到已知应用相依性网络的数据库。
根据本发明的第二方面,提供了一种计算机程序,用于使计算机执行根据本发明第一方面的方法。
根据本发明的第三方面,提供了一种客户端计算机,包括:系统扫描器,用于针对安装在客户端计算机上的一个或多个应用中的每一个识别本地相依性网络,所述本地应用相依性网络至少包括对象路径和对象间关系的集合。客户端计算机还包括:结果处理器,用于获得每个本地应用相依性网络与已知应用相依性网络的比较结果,以确定于本地应用相依性网络相关联的应用是否是已知的。客户端计算机还包括:监督单元,用于使用所述比较结果来识别恶意软件和/或孤立对象。
根据本发明的第四方面,提供了一种服务器计算机系统,用于为多个客户端计算机服务。服务器计算机系统包括:已知应用相依性网络的数据库,每个应用相依性网络包括对象路径和对象间关系。服务器计算机系统还包括:接收机,用于从所述客户端计算机中的一个或多个接收本地应用相依性网络。相依性网络比较器用于将接收到的本地应用相依性网络与数据库中的已知应用相依性网络相比较,以确定关联的本地应用是否是已知的。服务器计算机系统还包括:发射机,用于将比较结果发送至相应的客户端计算机。
附图说明
图1是示出了根据本发明实施例的识别应用相依性网络的过程的流程图;
图2是示出了根据本发明实施例的执行恶意软件检测和移除的过程的流程图;
图3是示出了根据本发明实施例的执行恶意软件检测和移除的增强过程的流程图,其中该过程还检测并移除丢失碎片;以及
图4示意性地示出了根据本发明实施例的计算机系统。
具体实施方式
关于计算机系统给出了本文描述的恶意软件扫面方法,该计算机系统包括一个或多个中央服务器以及多个客户端计算机。客户端计算机经由互联网与中央服务器通信。本领域技术人员容易了解可以采用该方法的其他计算机系统架构。
客户端计算机上的应用通常包括:相关对象集,包括至少数据文件、目录和注册表信息(后者包括应用的配置和设置)-桌面快捷方式指向应用可执行文件;将应用可执行文件存储在目录中,其他应用和库在所述目录中;应用注册表指向数据文件和应用需要运行的其他可执行文件的位置。可以将相关对象集及其关系看作是应用的“相依性网络”。
应理解,与对象名称、绝对路径等无关,给定的应用在安装时将构造给定的应用相依性网络,无论安装了该应用了客户端计算机的配置如何(假定在不同的客户端计算机上使用相同的操作系统)。换言之,应用的应用相依性网络是与计算机无关的。因此,应用相依性网络有助于反病毒扫描引擎识别恶意软件。
有多种识别给定应用的相依性网络的方法。首先给出两种这样的方法,可以在应用的安装期间采用这两种方法。
第一种方法是跟踪客户端计算机上的安装器活动。为此,在管理的环境内启动安装程序,使得过滤驱动器可以观测任何活动并跟踪所有的对象,如,安装器或其子进程创建的文件、目录和注册表信息。过滤驱动器是低级组件,例如,文件系统驱动器,其可以捕获并记录文件操作(如,文件或目录的创建)并对文件进行修改或重命名。
第二种方法是使用系统快照“区分(diffing)”。利用这第二种方法,可以在安装应用之前和之后在客户端计算机上进行系统快照。快照将包括文件、目录和注册表信息。通过识别两个快照之间的差异,可以识别安装器在安装过程中创建的对象。一旦识别出新安装的对象,无论采用何种方法来做,都需要确定对象之间的关系(例如,对象A指向对象B,等等)。对象路径和对象间关系一起定义了应用相依性网络。
识别应用相依性网络的所有方法都会至少返回由安装器创建的对象路径列表。为了使路径是计算机不可知的,必须首先将这些路径归一化,因为其他计算机可能具有不同的配置。归一化过程将应用安装文件夹的目录、临时目录、用户简档目录、系统引导符等等替换成固定的关键字。例如:
%INSTALL_DIR%是安装应用的归一化路径。在具体计算机上,应当将其恢复成实际安装目录,例如“c:\Program Files\Mozilla Firefox”。
在归一化之后,应用相依性网络将包括对象路径,如:
%INSTALL_DIR%\firefox.exe
%INSTALL_DIR%\xul.dll
%INSTALL_DIR%\AccessibleMarshal.dll
%INSTALL_DIR%\application.ini
%USER_PROFILE%\Application Data\Mozilla\Firefox\
此外,应用相依性网络可以包括与注册表密钥、启动点和值相关的归一化对象路径,如:
HKEY_CLASSES_ROOT\.htm\OpenWithList\firefox.exe
HKEY_CLASSES_ROOT\.xht
HKEY_CLASSES_ROOT\Applications\firefox.exe\shell\open\command
(Default value),REG_SZ,″%INSTALL_DIR%\firefox.exe-requestPending-osint-url″%1″
如上所述,对象之间的关系也会对定义应用相依性网络做出贡献。为了识别这些关系,使用对象相依性信息。例如,使用上述对象示例,只要当用户点击具有扩展名.xht的文件时,就将启动firefox.exe。这是因为.xht文件依赖于firefox.exe。因此,可以识别对象“%INSTALL_DIR%\firefox.exe”和注册表项对象HKEY_CLASSES_ROOT\.xht之间的对象间关系。如果在包含%INSTALL_DIR%\firefox.exe的计算机上存在应用相依性网络,但是没有与HKEY_CLASSES_ROOT\.xht的对应关系,则这可能意味着应用正在尝试模仿合法的Firefox应用或者尚未正确安装或卸载合法的Firefox应用。
当然可以只在安装了反病毒扫描引擎并且在安装新应用时反病毒扫描引擎运行于客户端计算机上的情况下采用上述识别应用相依性网络的方法。为了扫描先前安装的(即,在安装扫描引擎之前安装的)应用或者识别被管理为在不触发反病毒扫描的情况下安装自身的恶意软件,需要一种备选方法,该备选方法能够确定先前创建的应用相依性网络。该备选方法还使反病毒扫描引擎能够对客户端计算机执行全系统扫描以确定计算机系统上当前所有对象和关系。这种全系统扫描将返回已安装在客户端计算机上的所有应用的应用相依性网络(本地应用相依性网络)以及并不作为整个应用相依性网络一部分的任何其他对象和对象间关系。
图1是示出了该备选方法的流程图。该方法的关键步骤如下:
A1.客户端计算机以(如对象的路径所限定的)输入对象为开始。该输入对象可能是系统上的任意对象或者智能地选择的对象,例如,.exe文件。
A2.客户端计算机执行对依赖于输入对象的所有其他对象的搜索。例如,使用以上给出的示例,在firefox应用路径上执行的搜索将发现.xht扩展注册表密钥依赖于firefox应用。
A3.客户端计算机确定是否有任何搜索结果。
A4.如果有结果,则客户端计算机将这些其他对象及其对象间关系的路径存储在结果文件中。然后针对每一个其他对象递归地重复步骤A1至A4,直到找不到其他相依的对象为止。因此,搜索扩大范围,直到找到相依性网络内的所有对象为止。相依对象的搜索通常将遵循以下规则集合,例如:
表1
A5.当在步骤A3没有返回其他结果时,客户端计算机将结果文件(如上所述)内的对象路径归一化。该结果文件的内容是应用相依性网络。内容可以是并不构成整个应用相依性网络一部分的归一化对象路径和对象间关系,但是在该阶段这些内容将被识别为本地应用相依性网络。
在全系统扫描期间,重复该方法的步骤(如图1的虚线箭头所示),直到将感兴趣的所有对象都添加到至少一个相依性网络。当然,一些应用相依性网络可以包括仅一个或少数个对象(路径),例如,这些对象是在不完全的卸载操作之后仍然遗留下来的碎片。
图2是示出了反病毒扫描方法中的第二阶段的流程图。如下执行步骤,其中图2左侧的步骤是在客户端计算机上执行的,图2右侧的步骤是在中央服务器上执行的:
B1.第二阶段首先选择阶段1中识别的本地应用相依性网络中的由客户端计算机发送至中央服务器的第一本地应用相依性网络。
B2.中央服务器在已知且信任的应用相依性网络的数据库中搜索与本地应用相依性网络匹配的条目,并相应地将与本地应用相依性网络是已知且信任的还是未知的有关的通知发送回客户端计算机。
B3.如果客户端计算机接收到“已知且信任的”通知,则反病毒扫描引擎可以针对阶段1中识别的另一所选的本地应用相依性网络在步骤B1再次开始该方法(如图2的虚线箭头所示)。
B4.如果客户端计算机接收到“未知的”通知,则反病毒扫描引擎进行至步骤B5。
B5.然后反病毒扫描引擎对与本地应用相依性网络相对应的应用发起传统的反病毒扫描(例如,采用应用二进制检查和/或启发式分析)。
B6.反病毒扫描引擎从步骤B5中的传统反病毒扫描确定应用是否是合法的。
B7.如果确定应用是合法的,则客户端计算机向中央服务器发送消息,中央服务器进而将会添加未知的应用相依性网络作为已知且信任的应用相依性网络的数据库中的条目(或者基于中央服务器处的进一步分析和/或基于来自所有用户的合计响应来考虑是否包含该未知的应用相依性网络)。
B8.如果在步骤B5确定应用不是合法的,则反病毒扫描引擎确定本地应用相依性网络是否由任何对象路径与任何其他本地应用相依性网络共享。
B9.如果没有共享的对象路径,则反病毒扫描引擎从客户端计算机移除应用相依性网络中的路径所识别的所有对象或者使这些对象安全。
B10.如果存在共享的对象路径,则反病毒扫描引擎从客户端计算机移除应用相依性网络中未共享的路径所识别的所有对象或者使这些对象安全,并留下共享的对象。
上述在第二阶段中由反病毒扫描引擎采用的方法显著地减少了在运行更传统的应用二进制检查以及运行启发式分析技术时花费的时间。本文中,反病毒扫描引擎可以首先快速确定是否需要对应用执行全面的传统反病毒扫描,如果由于应用是已知且信任的所以不需要对应用执行全面的传统反病毒扫描,则可以立即转移到另一应用。该方法还在从系统中移除由恶意应用的相依性网络识别的整个恶意应用时提供了高质量的移除过程,从而确保恶意应用的所有组件都被删除。
该方法的第二阶段(图2)可以包括如下步骤:中央服务器在已知且不信任的应用相依性网络中发起搜索以发现与客户端计算机发送的本地应用相依性网络相匹配的条目。如果找到匹配的条目,则服务器向客户端计算机发送将本地应用相依性网络识别为已知且不信任的通知。然后反病毒扫描引擎可以如上所述根据步骤B8至B10来移除应用。如果在已知且不信任的应用相依性网络的数据库中没有找到匹配的条目,则服务器向客户端发送将本地应用相依性网络识别为未知的通知。然后反病毒扫描引擎对与本地应用相依性网络相对应的应用发起传统的反病毒扫描(例如,采用应用二进制检查和/或启发式分析)。如果反病毒扫描引擎从该传统的反病毒扫描中确定应用是不合法的,则客户端向中央服务器发送消息,中央服务器进而将会考虑添加未知的应用相依性网络作为已知且信任的应用相依性网络的数据库中的条目。然后反病毒引擎可以如上所述根据步骤B8至B10来移除应用。
该另一实施例可以用作步骤B8至B10中描述的第二阶段方法的备选或者与该第二阶段方法相结合。优选的是将该另一实施例与所述第二阶段方法相结合,因为这会进一步减少在运行更传统的检查应用二进制证书的方法或者运行启发式分析技术时花费的时间。
与恶意软件一样,影响计算机系统的另一问题是“丢失碎片”。丢失碎片有时也称作孤立文件,是在从计算机系统卸载应用之后或者在没有正确安装应用的情况下留下的应用的数据文件、下载更新或者其他碎片。这些丢失碎片可以随时间而积累,并且可以占用大量的磁盘空间,从而减少了用户可用的有用存储容量。丢失碎片并不总是易于检测的,因为常常并不知道丢失碎片属于哪个应用。此外,一个卸载的应用中首先可能成为丢失碎片的可能是与仍然安装在计算机系统上的一个或多个其他应用共享的对象。这使得删除丢失碎片很困难,因为用户可能并不想删除丢失碎片以免移除会使另一应用停止工作的内容。
客户端计算机上的丢失碎片将与不作为反病毒扫描引擎在上述第一阶段拾取的整个应用相依性网络的一部分的其余对象路径和对象间关系相对应。在第一阶段结束时,将这些丢失碎片识别为常规的本地应用相依性网络。
图3是示出了执行恶意软件删除和移除的增强过程的流程图,该增强过程还检测并移除丢失碎片。执行的步骤与上述步骤B1至B10相同,但是将步骤B3替换成C2,并在步骤B2之后引入了额外的步骤C1和C3。如下执行这些额外的步骤:
C1.在(在步骤B2中)服务器找到了匹配的条目之后,服务器执行验证检查以确定数据库中如在已知的应用相依性网络中识别的所有期望的应用可执行文件和模块是否存在于本地应用相依性网络中。然后服务器将与本地应用相依性网络是“已知且信任的并且完整”还是“已知且信任的但不完整”有关的通知发送回客户端计算机。
C2.如果客户端计算机接收到“已知且信任的并且完整”的通知,则反病毒扫描引擎可以针对在阶段1中识别的另一所选的本地应用相依性网络在步骤B1再次开始该方法(如图3中的虚线箭头所示)。
C3.如果客户端计算机接收到“已知且信任的但不完整”的通知,则反病毒扫描引擎可以如上所述根据步骤B8至B10来移除丢失碎片。
备选地,在步骤C3之后,可以在进行至步骤B8至B10之前让用户做出是否删除丢失碎片的最终决定。
图4示意性地示出了根据本发明实施例的计算机系统。计算机系统包括通过网络3(如,互联网或LAN)与中央服务器2相连的至少一个客户端计算机1。可以将客户端计算机1实现为计算机硬件和软件的组合。客户端计算机1包括存储器4、处理器5和收发机6。存储器4存储由处理器5实现的各种程序/可执行文件,并且还为存储单元7提供任何所需的数据。存储器4中存储的并且由处理器5实现的程序/可执行文件包括系统扫描器8、结果处理器9和监督单元10,系统扫描器8、结果处理器9和监督单元10都是反病毒扫描引擎11的子单元。收发机6用于通过网络3与中央反病毒服务器2通信。典型地,客户端计算机1可以是以下中的任何一个:台式个人计算机(PC)、膝上型计算机、个人数字助理(PDA)或移动电话或者任何其他合适的设备。
中央服务器2典型地由运行在客户端计算机1上的反病毒扫描引擎11的提供商来操作。备选地,中央服务器2可以是网络管理员或监管员的中央服务器,客户端计算机1是监管员负责的网络的一部分。可以将中央服务器2实现为计算机硬件和软件的组合。中央服务器2包括存储器19、处理器12、收发机13和数据库14。存储器19存储由处理器12实现的各种程序/可执行文件,并且还为存储单元18提供任何所需的数据。存储在存储器19中并且由处理器12实现的程序/可执行文件包括系统扫描器16和相依性网络比较器17,系统扫描器16和相依性网络比较器17都可以是反病毒单元15的一部分。这些程序/单元可以与客户端计算机1处实现的程序相同,或者可以是能够与客户端计算机1处实现的软件接口和协作的不同程序。收发机13用于通过网络3与客户端计算机1通信。
数据库14存储已知的应用相依性网络,并且还可以存储恶意软件定义数据、启发式分析结果、白名单、黑名单等等。可以由服务器使用在客户端计算机上在第一阶段中的上述识别应用相依性网络的方法,用已知的应用相依性网络来填充数据库14。这些方法非常精确,但是需要大量的工作,不仅要找到将数据库构建到实际大小所需的安装器的数目,还要贯穿运行每一个安装器以捕获对应应用的相依性网络。备选地,可以通过对信息进行“众包(crowd sourcing)”,来用已知的应用相依性网络填充数据库14。可以在大量的分布式客户端从它们的客户端计算机提交本地应用相依性网络的情况下使用“众包”。服务器2经由收发机13接收本地应用相依性网络,将所述本地应用相依性网络存储在存储器11中,并将所述大量分布式客户端提交的多个相同网络分组。当针对任何一个给定应用的提交数目达到预定数目时,服务器2指示本地应用相依性网络有效并将其输入到已知应用相依性网络的数据库14中。期望使用这些方法的组合来填充数据库14。
本领域技术人员将理解,在不脱离本发明的范围的前提下,可以对上述实施例做出各种修改。
Claims (13)
1.一种分析计算机的方法,所述计算机上安装有多个应用,每个应用包括相互关联的对象的集合,所述方法包括:
针对一个或多个应用中的每一个识别本地相依性网络,所述本地相依性网络至少包括对象路径和对象间关系的集合,其中,通过以下操作来识别本地应用相依性网络:1)对于给定的输入对象,执行对依赖于所述输入对象的所有其他对象的搜索;2)将所述输入对象的路径和通过搜索找到的任何其他对象的路径以及这些对象的对象间关系存储在结果文件中;3)针对每个其他对象递归地重复步骤1)和步骤2),直到找不到其他相依的对象为止;以及4)将结果文件内的对象路径归一化;
将每个本地应用相依性网络与已知应用相依性网络的数据库相比较,以确定与本地相依性网络相关联的应用是否是已知的;以及
使用比较结果来识别所述应用是否是恶意软件。
2.根据权利要求1所述的方法,其中,所述相互关联的对象是以下中的一个或多个:可执行文件、数据文件、注册表项、注册表值、注册表数据和启动点。
3.根据权利要求1所述的方法,其中,通过跟踪在启动应用的安装程序时的活动,来识别本地应用相依性网络的对象路径。
4.根据权利要求1所述的方法,其中,通过在安装应用之前和之后进行系统快照并识别两个快照之间的差异,来识别本地应用相依性网络的对象路径。
5.根据权利要求1所述的方法,其中,通过观察已知应用的安装以捕获所述已知应用的相依性网络,来填充已知应用相依性网络的数据库。
6.根据权利要求1所述的方法,其中,通过从分布式客户端基站的本地系统收集应用相依性网络,来填充已知应用相依性网络的数据库。
7.根据权利要求1所述的方法,包括:在客户端计算机处执行针对一个或多个应用中的每一个识别本地相依性网络的步骤,在中央服务器处执行将每个本地应用相依性网络与已知应用相依性网络的数据库相比较的步骤。
8.根据权利要求1所述的方法,包括:对于未知应用相依性网络,对属于所述未知应用相依性网络的对象执行另一恶意软件扫描。
9.根据权利要求8所述的方法,其中,所述另一恶意软件扫描包括以下之一或两者:
执行对应用二进制证书的检查;以及
对在未知本地应用相依性网络中识别的对象运行启发式分析;
并且所述另一恶意软件扫描还包括:如果发现应用是恶意的,则从客户端计算机移除在未知本地应用相依性网络中识别的对象或者使在未知本地应用相依性网络中识别的对象安全。
10.根据权利要求8所述的方法,其中,将所述另一恶意软件扫描之后发现合法的未知本地应用的应用相依性网络输入到已知应用相依性网络的数据库。
11.根据权利要求8所述的方法,其中,所述另一恶意软件扫描包括以下之一或两者:
执行对应用二进制证书的检查;以及
对在未知本地应用相依性网络中识别的对象运行启发式分析;
并且所述另一恶意软件扫描还包括:如果发现应用是恶意的,则从客户端计算机移除在未知本地应用相依性网络中识别的对象或者使在未知本地应用相依性网络中识别的对象安全,与其他已知应用相依性网络共享的对象除外。
12.一种客户端计算机,包括:
系统扫描器,用于针对安装在客户端计算机上的一个或多个应用中的每一个识别本地相依性网络,所述本地应用相依性网络至少包括对象路径和对象间关系的集合,其中,系统扫描器通过以下操作来识别本地应用相依性网络:1)对于给定的输入对象,执行对依赖于所述输入对象的所有其他对象的搜索;2)将所述输入对象的路径和通过搜索找到的任何其他对象的路径以及这些对象的对象间关系存储在结果文件中;3)针对每个其他对象递归地重复步骤1)和步骤2),直到找不到其他相依的对象为止;以及4)将结果文件内的对象路径归一化;
结果处理器,用于获得每个本地应用相依性网络与已知应用相依性网络的数据库的比较结果,以确定与本地应用相依性网络相关联的应用是否是已知的;以及
监督单元,用于使用所述比较结果来识别所述应用是否是恶意软件。
13.一种服务器计算机系统,用于为多个客户端计算机服务,所述服务器计算机系统包括:
已知应用相依性网络的数据库,每个应用相依性网络包括对象路径和对象间关系,其中,对象路径是归一化的对象路径;
接收机,用于从所述客户端计算机中的一个或多个接收本地应用相依性网络;
相依性网络比较器,用于将接收到的本地应用相依性网络与数据库中的已知应用相依性网络相比较,以确定关联的本地应用是否是已知的;以及
发射机,用于将比较结果发送至相应的客户端计算机。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/925,482 US20120102569A1 (en) | 2010-10-21 | 2010-10-21 | Computer system analysis method and apparatus |
US12/925,482 | 2010-10-21 | ||
PCT/EP2011/065479 WO2012052221A1 (en) | 2010-10-21 | 2011-09-07 | Computer system analysis method and apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103180863A CN103180863A (zh) | 2013-06-26 |
CN103180863B true CN103180863B (zh) | 2016-10-12 |
Family
ID=44583060
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180050706.3A Expired - Fee Related CN103180863B (zh) | 2010-10-21 | 2011-09-07 | 计算机系统分析方法和装置 |
Country Status (7)
Country | Link |
---|---|
US (1) | US20120102569A1 (zh) |
EP (1) | EP2630604A1 (zh) |
JP (1) | JP5963008B2 (zh) |
CN (1) | CN103180863B (zh) |
AU (1) | AU2011317734B2 (zh) |
BR (1) | BR112013009440A2 (zh) |
WO (1) | WO2012052221A1 (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8776235B2 (en) * | 2012-01-10 | 2014-07-08 | International Business Machines Corporation | Storage device with internalized anti-virus protection |
US9043914B2 (en) | 2012-08-22 | 2015-05-26 | International Business Machines Corporation | File scanning |
US9135140B2 (en) * | 2012-11-30 | 2015-09-15 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Identifying software responsible for a change in system stability |
US9143519B2 (en) | 2013-03-15 | 2015-09-22 | Mcafee, Inc. | Remote malware remediation |
US9311480B2 (en) | 2013-03-15 | 2016-04-12 | Mcafee, Inc. | Server-assisted anti-malware client |
WO2014142986A1 (en) * | 2013-03-15 | 2014-09-18 | Mcafee, Inc. | Server-assisted anti-malware client |
US20150222508A1 (en) * | 2013-09-23 | 2015-08-06 | Empire Technology Development, Llc | Ubiquitous computing (ubicomp) service detection by network tomography |
CN103902902A (zh) * | 2013-10-24 | 2014-07-02 | 哈尔滨安天科技股份有限公司 | 一种基于嵌入式系统的Rootkit检测方法及系统 |
US9256738B2 (en) * | 2014-03-11 | 2016-02-09 | Symantec Corporation | Systems and methods for pre-installation detection of malware on mobile devices |
US20170249229A1 (en) * | 2014-11-20 | 2017-08-31 | Hewlett Packard Enterprise Development Lp | Query a hardware component for an analysis rule |
RU2606883C2 (ru) * | 2015-03-31 | 2017-01-10 | Закрытое акционерное общество "Лаборатория Касперского" | Система и способ открытия файлов, созданных уязвимыми приложениями |
US9767291B2 (en) * | 2015-10-06 | 2017-09-19 | Netflix, Inc. | Systems and methods for security and risk assessment and testing of applications |
US10769113B2 (en) * | 2016-03-25 | 2020-09-08 | Microsoft Technology Licensing, Llc | Attribute-based dependency identification for operation ordering |
JP6866645B2 (ja) | 2017-01-05 | 2021-04-28 | 富士通株式会社 | 類似度判定プログラム、類似度判定方法および情報処理装置 |
JP2018109910A (ja) | 2017-01-05 | 2018-07-12 | 富士通株式会社 | 類似度判定プログラム、類似度判定方法および情報処理装置 |
KR101804139B1 (ko) * | 2017-02-15 | 2017-12-05 | 김진원 | 키워드 기반 데이터 관리 시스템 및 방법 |
US10365910B2 (en) * | 2017-07-06 | 2019-07-30 | Citrix Systems, Inc. | Systems and methods for uninstalling or upgrading software if package cache is removed or corrupted |
US11449605B2 (en) * | 2020-04-13 | 2022-09-20 | Capital One Services, Llc | Systems and methods for detecting a prior compromise of a security status of a computer system |
CN112527543A (zh) * | 2020-10-27 | 2021-03-19 | 百果园技术(新加坡)有限公司 | 客户端启动异常处理方法、装置、电子设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101213555A (zh) * | 2005-06-30 | 2008-07-02 | 普瑞维克斯有限公司 | 用于处理恶意软件的方法和装置 |
EP2169583A1 (en) * | 2008-09-26 | 2010-03-31 | Symantec Corporation | Method and apparatus for reducing false positive detection of malware |
CN102067148A (zh) * | 2008-06-23 | 2011-05-18 | 赛门铁克公司 | 用于确定文件分类的方法及系统 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8458805B2 (en) * | 2003-06-23 | 2013-06-04 | Architecture Technology Corporation | Digital forensic analysis using empirical privilege profiling (EPP) for filtering collected data |
US7478237B2 (en) * | 2004-11-08 | 2009-01-13 | Microsoft Corporation | System and method of allowing user mode applications with access to file data |
US8307355B2 (en) * | 2005-07-22 | 2012-11-06 | International Business Machines Corporation | Method and apparatus for populating a software catalogue with software knowledge gathering |
US20080201705A1 (en) * | 2007-02-15 | 2008-08-21 | Sun Microsystems, Inc. | Apparatus and method for generating a software dependency map |
US8347386B2 (en) * | 2008-10-21 | 2013-01-01 | Lookout, Inc. | System and method for server-coupled malware prevention |
US8572740B2 (en) * | 2009-10-01 | 2013-10-29 | Kaspersky Lab, Zao | Method and system for detection of previously unknown malware |
-
2010
- 2010-10-21 US US12/925,482 patent/US20120102569A1/en not_active Abandoned
-
2011
- 2011-09-07 BR BR112013009440A patent/BR112013009440A2/pt not_active Application Discontinuation
- 2011-09-07 CN CN201180050706.3A patent/CN103180863B/zh not_active Expired - Fee Related
- 2011-09-07 WO PCT/EP2011/065479 patent/WO2012052221A1/en active Application Filing
- 2011-09-07 AU AU2011317734A patent/AU2011317734B2/en not_active Ceased
- 2011-09-07 JP JP2013534222A patent/JP5963008B2/ja active Active
- 2011-09-07 EP EP11752552.7A patent/EP2630604A1/en not_active Ceased
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101213555A (zh) * | 2005-06-30 | 2008-07-02 | 普瑞维克斯有限公司 | 用于处理恶意软件的方法和装置 |
CN102067148A (zh) * | 2008-06-23 | 2011-05-18 | 赛门铁克公司 | 用于确定文件分类的方法及系统 |
EP2169583A1 (en) * | 2008-09-26 | 2010-03-31 | Symantec Corporation | Method and apparatus for reducing false positive detection of malware |
Also Published As
Publication number | Publication date |
---|---|
JP5963008B2 (ja) | 2016-08-03 |
JP2013543624A (ja) | 2013-12-05 |
BR112013009440A2 (pt) | 2017-03-07 |
EP2630604A1 (en) | 2013-08-28 |
US20120102569A1 (en) | 2012-04-26 |
WO2012052221A1 (en) | 2012-04-26 |
AU2011317734A1 (en) | 2013-04-04 |
CN103180863A (zh) | 2013-06-26 |
AU2011317734B2 (en) | 2014-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103180863B (zh) | 计算机系统分析方法和装置 | |
EP3814961B1 (en) | Analysis of malware | |
CN109583193B (zh) | 目标攻击的云检测、调查以及消除的系统和方法 | |
CN109684832B (zh) | 检测恶意文件的系统和方法 | |
US10437997B2 (en) | Method and apparatus for retroactively detecting malicious or otherwise undesirable software as well as clean software through intelligent rescanning | |
US6785820B1 (en) | System, method and computer program product for conditionally updating a security program | |
US20180211043A1 (en) | Blockchain Based Security for End Points | |
EP2920737B1 (en) | Dynamic selection and loading of anti-malware signatures | |
US20060218642A1 (en) | Application identity and rating service | |
US20120002839A1 (en) | Malware image recognition | |
WO2012107255A1 (en) | Detecting a trojan horse | |
US8656494B2 (en) | System and method for optimization of antivirus processing of disk files | |
US8453242B2 (en) | System and method for scanning handles | |
US11275836B2 (en) | System and method of determining a trust level of a file | |
EP3758330B1 (en) | System and method of determining a trust level of a file | |
US20130247182A1 (en) | System, method, and computer program product for identifying hidden or modified data objects | |
AU2007203543A1 (en) | Threat identification |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20161012 |