CN101894225A - 聚集反病毒软件应用程序的知识库的系统和方法 - Google Patents

聚集反病毒软件应用程序的知识库的系统和方法 Download PDF

Info

Publication number
CN101894225A
CN101894225A CN2010101292668A CN201010129266A CN101894225A CN 101894225 A CN101894225 A CN 101894225A CN 2010101292668 A CN2010101292668 A CN 2010101292668A CN 201010129266 A CN201010129266 A CN 201010129266A CN 101894225 A CN101894225 A CN 101894225A
Authority
CN
China
Prior art keywords
file
software applications
antivirus software
data
malware
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
CN2010101292668A
Other languages
English (en)
Other versions
CN101894225B (zh
Inventor
A·M·马瑞尼斯库
A·F·托马斯
D·A·戈贝尔
M·科斯蒂亚
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
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
Priority claimed from US10/984,611 external-priority patent/US7765410B2/en
Priority claimed from US10/984,615 external-priority patent/US7765400B2/en
Priority claimed from US10/984,207 external-priority patent/US7478237B2/en
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN101894225A publication Critical patent/CN101894225A/zh
Application granted granted Critical
Publication of CN101894225B publication Critical patent/CN101894225B/zh
Expired - Fee Related 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • 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
    • G06F9/00Arrangements for program control, e.g. control units

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Stored Programmes (AREA)

Abstract

依照本发明,提供了聚集多个反病毒软件应用程序的知识库的系统、方法和计算机可读介质。诸如反病毒软件应用程序等用户模式应用程序通过通用信息模型获取对文件系统操作的访问,这免除了反病毒软件供应商创建内核模式过滤器的需求。当文件系统操作对反病毒软件应用程序可用时,本发明会使得每个安装在计算设备上的反病毒软件应用程序执行扫描以便确定数据是否是恶意软件。

Description

聚集反病毒软件应用程序的知识库的系统和方法
本申请是优先权日为2004年11月8日、优先权号为US10/984,207、US10/984,615、US10/984,611、中国国家申请号为200510108474.9、题为“聚集反病毒软件应用程序的知识库的系统和方法”的申请的分案申请。
技术领域
本发明涉及计算机设备,尤其涉及保护计算机设备以免受到恶意软件的危害。
发明背景
随着越来越多的计算机和其他计算设备通过诸如因特网等各种网络互相连接,计算机的安全性变得愈加重要,尤其是来自在网络和信息流上传递的入侵和攻击。本领域的技术人员会认识到这些攻击以许多不同的形式出现,包括但当然不限于计算机病毒、计算机蠕虫、计算机组件更换、拒绝服务攻击、甚至是误用/滥用合法的计算机系统特征,所有这些都为了非法目的利用一个或多个计算机系统的弱点。虽然本领域的技术人员会认识到各种计算机攻击在技术上互不相同,但为了本发明和描述简单起见,在诸如因特网等计算机网络上传播的恶意计算机程序在下文中一般会被称为计算机恶意软件或简称为恶意软件。
当计算机系统被计算机恶意软件攻击或“感染”时,有害的结果各不相同,包括禁用系统设备;擦除或破坏固件、应用程序或数据文件;将潜在的敏感数据发送到网络上的另一位置;关闭计算机系统;或造成计算机系统瘫痪。然而许多(虽然不是全部)计算机恶意软件的另一个有害的方面是被感染的计算机系统被用于感染其他系统。
对计算机恶意软件,尤其是对计算机病毒和蠕虫的传统防护是市场上可购买的反病毒软件应用程序。一般而言,反病毒软件应用程序扫描数据、查找与计算机恶意软件相关联的可标识模式。在检测与计算机恶意软件相关联的模式时,反病毒软件应用程序会通过隔离恶意软件或删除恶意软件来响应。遗憾的是,反病毒软件应用程序一般对已知的、可标识的计算机恶意软件有效。这通常是通过将数据中的模式与所谓的恶意软件的“签名”匹配来完成的。
通常,由现有反病毒软件应用程序执行的大部分操作是在操作系统处于“用户模式”时发生的。如本领域和其他领域的技术人员所公知的,诸如反病毒软件应用程序等计算机应用程序可以在“内核模式”或“用户模式”中执行。“内核模式”是指在操作系统的最高特权和保护级别处出现的处理。内核模式程序一直驻留在被保护的存储器中,并提供基本的操作系统服务。“用户模式”是指在应用程序层出现的处理,在所述的应用程序层中不能访问内核模式数据。先前,需要访问可从内核模式获得的信息和特征的反病毒软件应用程序的供应商需要建立与操作系统交互的内核模式过滤器。遗憾的是,要求每个反病毒软件供应商开发唯一的过滤器来访问从内核模式可用的特征,诸如被调度发生在计算机设备上的输入/输出(下文中被成为“I/O”)。此外,如果每个反病毒软件应用程序具有相应的内核模式过滤器来执行本质上相同的任务,计算设备承受具有在几个全异过滤器中执行的重复代码的性能负担,所述几个全异的过滤器都是在内核中载入的。现有技术的另一个缺点是用户模式界面是不一致的、不统一的并易于出错。因此,需要一种机制,其中被调度为在计算设备上发生的I/O对反病毒软件应用程序可用,而无需反病毒软件供应商执行内核模式过滤器。
许多软件供应商供应反病毒软件应用程序并维护日益增长的恶意软件签名数据库。实际上,反病毒软件供应商最重要的资产之一是从已知恶意软件收集的签名的知识库。然而,商业上可用的反病毒软件应用程序不总是互相兼容的。例如,在某些情况下,当有两种不同的反病毒软件安装在计算设备上,大家知道会发生数据冲突。结果是用户不能在计算设备上安装多个反病毒软件应用程序并从每个应用程序的知识库得益。因此,需要一种机制,用于聚集安装在相同计算设备上的多个反病毒软件应用程序的知识库。
发明内容
本发明针对上述示出的需求,提供了聚集多个反病毒软件应用程序的知识库以确定与一计算设备相关联的数据是否是恶意软件的机制。本发明的一方面是通过通用信息模型允许反病毒软件应用程序访问与I/O请求相关联的数据的方法。通用信息模型免除了反病毒软件供应商通过提供一般可以从内核模式过滤器获取的特征来创建内核模式过滤器的需求。接着通用信息模式可以使反病毒软件应用程序扫描与计算设备相关联的数据以便确定该数据是否是恶意软件。当检测到恶意软件,就防止任何读取、存储或执行恶意软件的尝试。
本发明的另一方面是确定与计算设备相关联的文件先前是否被标识为恶意软件或先前是否被确定为安全的方法。本发明的这个方面包括当一个或多个反病毒软件应用程序扫描文件时将一变量与该文件相关联。该变量指示该文件是否是恶意软件并可以在随后的时间被调用。例如,当用户试图执行该文件时可以调用该变量。如果该变量指示该文件为恶意软件,则用户执行该文件的任何尝试会失败。相反,如果该变量指示该文件不是恶意软件,则执行文件的尝试会成功而无需反病毒软件应用程序对文件执行重复的扫描。
本发明的另一方面是允许反病毒软件应用程序访问文件数据的高效方法。本发明的这个方面包括创建文件映射部分对象,它用于由一个或多个反病毒软件应用程序执行扫描。接着提供与反病毒应用程序交互的用户模式应用程序以及用于访问文件映射部分对象的数据。最后,生成反病毒软件应用程序可访问的文件视图。本发明的这个方面向反病毒软件应用程序提供了一组基本的文件系统操作,用于提高执行扫描的速度。
本发明的又一个方面提供了聚集多个反病毒软件应用程序的知识库的计算设备。该计算设备包括安全服务应用程序、一个或多个反病毒软件应用程序以及包含扫描高速缓存和数据映射模块的通用安全过滤器。通用安全过滤器和安全服务应用程序共同工作以便向反病毒软件应用程序提供通用信息模型。通用信息模型允许反病毒软件应用程序访问被调度发生在计算设备上的I/O请求。当截取I/O请求时,反病毒软件应用程序会与通用信息模型交互以便调度扫描。当扫描发生时,安全服务应用程序知道有不同的反病毒软件应用程序被安装在计算设备上,并且能够防止数据冲突。
在另一个实施例中,提供了计算机可读介质,其内容例如使得计算设备依照这里所述的方法运作的程序。
附图说明
结合附图参考以下详细描述,本发明的上述方面和许多附带有点将变得显而易见并变得容易理解,附图中:
图1是示出依照现有技术的计算设备的层次结构的框图;
图2是依照现有技术包括适于扫描恶意软件的反病毒软件应用程序的计算设备的组件的框图;
图3是依照本发明包括适于标识恶意软件的反病毒软件应用程序的计算设备的组件的框图;
图4是示出依照本发明的聚集多个反病毒软件应用程序的知识库的方法的一个示例性实施例;
图5是结合图4中所描述的方法适于存储和调用数据的扫描高速缓存的图示;以及
图6是示出依照本发明会与图4中所描述的方法结合使用以向反病毒软件应用程序提供对文件数据的访问的访问方法的一个示例性实施例的流程图。
具体实施方式
依照本发明,提供了聚集多个反病毒软件应用程序的知识库的系统、方法和计算机可读介质。向诸如反病毒软件应用程序等用户模式应用程序提供了通过通用信息模型对诸如I/O请求等文件系统操作的访问,这免除了反病毒软件应用程序创建内核模式过滤器的需求。当截取I/O请求时,本发明使安装在计算设备上的每个反病毒软件应用程序执行扫描以便确定与请求相关联的数据是否是恶意软件。虽然会在反病毒软件应用程序的环境中描述本发明,但相关领域和其他领域的技术人员会理解,本发明也可用于软件开发的其他领域。因此,所述的本发明的实施例应该在实质上被构建成说明性的而非限制性的。
图1是依照现有技术配置的计算设备100的框图。计算设备100可以是多种设备中的任意一种,这多种设备包括但不限于个人计算设备、基于服务器的计算设备、个人数字助理、蜂窝电话、具有某些类型的存储器的其他电子设备等等。为了易于说明且因为他们对理解本发明并不重要,图1没有示出许多计算设备的典型组件,诸如键盘、鼠标、打印机和其他I/O设备、显示器等等。
图1所示的计算设备100包括硬件平台102、操作系统104和应用程序平台106。为了易于说明且因为他们对理解本发明并不重要,图1没有示出典型地包含在硬件平台102中的组件,诸如中央处理单元、存储器、硬盘驱动器等等。同样地,因为相似的理由,图1没有示出操作系统104或应用程序平台106的任何组件。
如图1所示,计算设备100的组件由位于底层的硬件平台102和位于顶层的应用程序平台106分层。图1的分层说明本发明更适宜在分级环境中实现。包含在计算设备100中的每个层次依赖于较低层中的系统。更具体地,应用程序平台105在操作系统104之上运行且不能直接访问硬件平台102的组件。相反,应用程序平台106对硬件平台102的任何访问由操作系统104管理。如本领域和其他领域的技术人员所公知的,操作系统104向应用程序平台106提供了应用程序编程接口(“API”),用于定义应用程序106可用的服务。
图2是适于说明向反病毒软件应用程序提供对与I/O请求相关联的数据的访问的现有技术过程的框图。如本领域和其他领域的技术人员公知的,计算机用户具有将数据读出和写入存储设备的持续需求,这些存储设备诸如硬盘、软盘、随机存取存储器、光盘(“CD”)等。例如,多数软件应用程序提供的通用操作是打开存储在存储设备上的文件并在计算机显示器上显示文件内容。然而,由于打开文件会造成执行与文件相关联的恶意软件,因此反病毒软件应用程序一般会在满足打开操作前执行文件的扫描或其他分析。如果检测到恶意软件,则执行扫描的反病毒软件应用程序会例如通过使打开操作失败来防止执行恶意软件。同样,反病毒软件应用程序会向计算机用户示出选项:删除恶意软件或将恶意软件置于“隔离区”。
如本领域和其他领域的技术人员所公知的,在计算设备中作出的I/O请求是由称为I/O系统的操作系统104(图1)的组件处理的。为了保护计算设备以免受到恶意软件的危害,当接收到I/O请求时会通知反病毒软件应用程序。现在参见图2,将描述向反病毒软件应用程序提供对与I/O请求相关联的数据的访问的公知过程。图2所示的计算设备100包括I/O系统200、本地或远程I/O设备202、用户应用程序204、反病毒过滤器206-210和驻留在用户或内核模式中的反病毒软件应用程序/驱动程序212-216。当从诸如用户应用程序204等用户应用程序生成执行I/O的请求时,I/O系统200接收到请求。如图2所示,用户应用程序在用户模式中运作并在内核模式中生成由I/O系统200满足的I/O请求。在满足请求之前,会通知反病毒过滤器206、208和210要调度满足一I/O请求。作为响应,反病毒过滤器206、208和210中的每一个会通知其各自的反病毒软件应用程序/驱动程序212、214和216,应该扫描与I/O请求相关联的数据。如果与I/O请求相关联的数据是恶意软件,则反病毒软件应用程序/驱动程序会被配置成防止I/O请求被满足。相反,如果I/O请求不涉及恶意软件,则I/O系统200会使得I/O请求被满足。例如,I/O系统200会使数据被写入到I/O设备202,在一些系统中,这些I/O设备202是诸如硬盘、软盘、闪存、磁盘、光盘(“CD”)等本地硬件设备。或者,I/O设备202可以是通过网络连接连接到计算设备100的远程硬件设备。
遗憾的是,图2所示的向反病毒软件应用程序提供对与I/O请求相关联的数据的访问的现有技术过程具有要求反病毒软软件供应商各自开发内核模式过滤器的缺陷。如图2所示,反病毒过滤器206、208和210只与特定的反病毒软件应用程序结合使用。此外,由于每种反病毒软件应用程序维护一内核模式过滤器以便执行必要的相同任务,计算机系统遭受到重复的代码同时载入到存储器中的性能负担。
遗憾的是,图2所示的向反病毒软件应用程序提供对与I/O请求相关联的数据的访问的现有技术过程具有潜在地阻碍从计算设备删除恶意软件的缺陷。当在相同的计算设备上安装两个或多个反病毒软件应用程序时,大家知道会发生数据冲突。例如,两个反病毒软件应用程序会确定存储在计算设备上的文件感染了恶意软件。第一反病毒软件应用程序会试图通过删除文件数据来为文件“去除感染”。然而,当第一反病毒软件应用程序试图删除文件数据时,一般会通知第二病毒软件应用程序。在这种情况下,第二反病毒软件应用程序会被配置成防止对受感染文件的任何访问。同样地,第一反病毒软件应用程序会被配置成防止诸如第二反病毒软件应用程序等其他应用程序访问受感染的文件。显然,在这种情况下,第一反病毒软件应用程序或第二反病毒软件应用程序都不能删除恶意软件。
图3是适于说明依照本发明向反病毒软件应用程序提供对与I/O请求相关联的数据的访问的过程的框图。以下旨在提供可以实现本发明的一个合适的计算设备300的示例性概述。图3所示的计算设备300包括可以用与以上参考图2描述的相同名称的组件相似方式操作的几个组件。计算设备300包括I/O系统302、I/O设备304、用户应用程序306、反病毒软件应用程序308、310和312、安全服务应用程序314和包括扫描高速缓存318和数据映射模块320的通用安全过滤器316。本发明所实现的软件实现例程包含在安全服务应用程序314和包括扫描高速缓存318和数据映射模块320的通用安全过滤器316中。一般而言,本发明实现的例程向诸如反病毒软件应用程序308、310和312等用户模式应用程序提供了对与I/O请求相关联的数据的访问,该I/O请求被调度为由I/O系统302来满足。如图3所示,反病毒软件应用程序308、310和312可以不使用内核模式过滤器运行。同样,计算设备300可以用于聚集多个反病毒软件应用程序的知识库来扫描数据并确定数据是否被恶意软件感染。虽然图3和所附文字使用反病毒软件应用程序来描述本发明的实施例,但本发明的软件实现例程可以与其他类型的应用程序结合使用。类似地,本发明的软件实现例程可与执行特定功能的服务而非应用程序通信。因此,图3所示的计算设备300的组件应该被构建为示例性的而非限制性的。
如上所述,本发明的一些软件实现例程位于通用安全过滤器316内。概括地描述本发明的一个实施例,通用安全过滤器316截取由诸如用户应用程序306等应用程序作出的I/O请求。作为响应,通用安全过滤器316执行被设计成防止恶意软件在计算设备30中传播或执行的例程。更具体地,通用安全过滤器316与安全服务应用程序314(下述)通信,使得反病毒软件应用程序分析与请求相关联的文件并确定文件是否包含恶意软件。如果检测到恶意软件,通用安全过滤器315会与I/O系统302通信并防止满足请求。
如图3所示,通用安全过滤器316包括扫描高速缓存318,用于提高本发明分析从I/O系统302截取的I/O请求的速度。例如,如本领域和其他领域的技术人员所公知的,用户应用程序会经常对相同的文件作出相继的I/O请求。在这种情况下,本发明会截取第一I/O请求并使得反病毒软件应用程序308、310和312扫描文件并验证该文件没有被感染恶意软件。在文件没有被感染的情况下,相继的I/O请求不会触发对文件的扫描。相反,扫描高速缓存318对于文件是否被感染恶意软件而跟踪文件的状态,这样使得不执行不必要的扫描。文件被分类为(1)已知恶意软件,(2)已知安全或(3)未知。由于扫描文件是资源密集型过程,因此防止不必要的扫描提高了本发明的速度。如下面将要详细描述的,扫描高速缓存318可以与除了被设计成防止恶意软件的传播和执行的系统之外的其他跟踪文件状态的系统结合使用。例如,一些软件应用程序允许用户“备份”或将数据保存到第二硬件设备。在这种情况下,软件应用程序对于第二硬件设备是否具有文件的最新版本而跟踪计算设备上每个文件的状态。扫描高速缓存318可与这种类型的系统结合使用以便跟踪计算设备上的文件的状态。
通用安全过滤器316包括数据映射模块320,它用于提高反病毒软件应用程序308、310和312能够扫描文件的可靠性和速度。一般而言,当新型的反病毒软件应用程序截取文件打开操作,会打开第二文件句柄以读出文件数据。然而,如本领域和其他领域的技术人员所公知的,会“锁定”文件以防止多个应用程序同时访问文件。反病毒软件应用程序在另一个应用程序“锁定”文件的情况下不能读出数据。此外,在现有技术中,打开新的句柄会防止另一应用程序打开文件,这会造成应用程序故障。然而,数据映射模块320向诸如反病毒软件应用程序308、310和312等应用程序提供了对文件数据的访问而无需创建第二文件句柄。然而,数据映射模块320向应用程序提供了对低层对象的访问,文件数据可以从该低层对象读出。无论是否有另一个应用程序“锁定”了文件,都可以访问低层对象。同样,创建第二文件句柄需要相当多的计算资源。因此,允许反病毒软件应用程序使用低层对象来读出文件数据提高了反病毒软件应用程序能够执行扫描以发现恶意软件的速度。如下文将详细描述的,数据映射模块320可与读出文件数据的其他系统结合使用。例如,一些软件应用程序在文件被存储在硬件设备上之前加密文件,并且在从硬件设备恢复时解密文件。在这种情况下,数据映射模块320可用于提供加密应用程序以访问文件中的数据的有效方法。
如图3所示,计算设备300包括安全服务应用程序314,其中该安全服务应用程序314用作到安装在计算设备300上的反病毒软件应用程序的接口。安全服务应用程序314允许反病毒软件应用程序注册和创建扫描概况。扫描概况标识出反病毒应用程序发现“感兴趣的”I/O请求。例如,扫描概况会指示当I/O请求是针对关于被恶意软件感染处于“未知”状态的文件时,反病毒软件应用程序会执行扫描。或者,会将扫描概况这样定义,使得当生成某些类型的I/O请求时,反病毒软件应用程序执行扫描。在任一情况下,反病毒软件应用程序向安全服务应用程序314注册并创建定义执行扫描的环境的概况。安全服务应用程序314负责在不同的经注册的反病毒软件应用程序之间的调度扫描。
本发明的实现不限于图3所示的示例性计算设备。例如,图3和所附文本描述了在用户模式中执行的反病毒软件应用程序308、310和312。然而,本发明的软件实现例程可以被配置成与在内核模式中执行的反病毒软件过滤器通信。同样,示出了计算设备300从用户应用程序306接收I/O请求。然而,如本领域和其他领域的技术人员所公知的,可从其他源接收I/O请求,诸如用于远程计算设备之间通信的协议。此外,I/O设备304被示为作为计算设备300的组件的硬件设备。然而I/O设备304可以是通过网络连接连接到计算设备300的远程硬件设备。或者,I/O请求可以不是针对硬件设备的。而是,I/O请求可针对能够使用创建文件命令访问的对象,所述创建文件命令包含但不限于管道、通信资源、磁盘设备、控制台、邮件插槽(mail slot)等等。因此,图3所示的计算设备300的组件应该被构建为示例性的而非限制性的。
图4是被设计成聚集多个反病毒软件应用程序的知识库的一个示例性方法400的流程图。概括而言,方法400通过通用信息模型使得反病毒软件应用程序接触I/O请求。当生成I/O请求时,方法400确定是否需要由安装在计算设备上的一个或多个反病毒软件应用程序扫描。当需要扫描时,方法400标识出对所生成类型的I/O请求感兴趣的反病毒软件应用程序。一个或多个反病毒软件应用程序会通过通用信息模型执行扫描以便确定恶意软件是否与I/O请求相关联。继续参考图1-3和所附的描述,现在将描述图4中所示的聚集多个反病毒软件应用程序的知识库的示例性方法400。
在判决框402处,方法400保持空闲并等待一般由诸如I/O系统302(图3)等操作系统的内核模式组件接收到的I/O请求。如本领域的技术人员所理解的,会通过多种不同的机制生成I/O请求。例如,文字处理程序的用户会从下拉菜单或其他基于图形的输入系统发出“打开文件”命令。为了满足“打开文件”命令,文字处理程序会发出要求从存储设备获取文件数据的API调用。作为另一例子,Web浏览器程序的用户会发出从远程计算机下载文件的命令。为了满足该命令,Web浏览器程序会发出将数据流存储在诸如I/O设备304(图3)等硬件设备的API调用。当生成I/O请求时,I/O系统302与硬件设备交互以满足请求。然而,方法400在I/O系统302满足I/O请求之前截取I/O请求,以防止对恶意软件的执行和/或传播。
在判决框404处,方法400确定在框402处接收到的I/O请求是否是创建新文件的命令。可在框402处截取的一种类型的I/O请求会创建新文件。这种类型的请求不能使计算设备受到恶意软件的影响。如以下在框422处所述,对创建新文件命令的请求的处理不同于方法400接收到的其他I/O请求。创建新文件的请求会使用多个可以从新型操作系统获取的不同命令中的一个生成。例如,在
Figure GSA00000039414100091
操作系统的环境下,会使用被特别设计成创建新文件的API来创建新文件,诸如“CreateFile”API。或者,在某些情况下会使用诸如打开、覆盖和代替API等其他API来创建新文件。如果在框404处接收到的请求是创建新文件的命令,那么方法400前进到下述的框422。或者,如果请求不是创建新文件的命令,那么方法400前进到框406。
在判决框406,方法400确定在框402处截取的I/O请求是否可能使得计算设备受到恶意软件的影响。如本领域和其他领域的技术人员所公知的,某些I/O请求不具有使得计算设备受到恶意软件的影响的可能性。例如,如果I/O请求是“打开文件”命令且特定文件不包含任何数据,那么满足该命令不会使得计算设备受到恶意软件的影响。类似地,在框402处接收到的I/O请求可以是打开或关闭目录的命令。在这种情况下,I/O请求不会将计算设备受到恶意软件的影响。本领域和其他领域的技术人员会理解,其他类型的I/O请求不具有使得计算设备受到恶意软件的影响的可能性。因此,上述例子应该被构建为示例性的而非限制性的。如果在框402处接收到的请求不具有使得计算设备受到恶意软件的影响的可能性,那么方法400前进到下述的框426。或者,如果在框402处接收到的请求不具有使得计算设备受到恶意软件的影响的可能性,那么方法400前进到框408。
在框408处,方法400查询数据库,诸如扫描高速缓存318,并且标识出作为框402处接收到的I/O请求的对象的文件状态。如下面将详细描述的,当一个或多个反病毒软件应用程序扫描文件以查找恶意软件时,一变量与文件相关联。该变量表示三个可能的状态之一:包括(1)已知恶意软件,(2)已知好的或(3)未知。
为了说明起见且仅举例而言,图5示出了示例性扫描高速缓存318的内容。如所示的,扫描高速缓存318由三个列组成,每个包括多个条目。这些列被标识为文件索引502、第一比特504和第二比特506。文件索引502字段包含用于唯一地标识文件的值。如本领域和其他领域的技术人员所公知的,存储设备一般被分为成为卷的逻辑单元。每个卷具有一中央位置,有关卷上文件的信息被存储在所述的中央位置中。例如,
Figure GSA00000039414100101
NT文件系统(“NTFS”)维护主文件表(“MFT”),该MFT对卷上的每个文件包含一记录。当创建文件时,文件的记录存储在MFT中,并且分配预定量的空间以存储文件属性。例如,向每个文件分配唯一的文件索引以表示MFT中的文件位置。如下文将详细描述的,当一个或多个反病毒软件应用程序依照本发明扫描文件时,MFT中与文件相关联的索引值被输入到索引高速缓存318的文件索引502字段中。第一比特504和第二比特506字段各自存储一值,共同地标识文件的状态。例如,第一比特504和第二比特506字段都含有为“0”或“1”的值。在本发明的一个实施例中,如果第一比特504字段包含“1”而第二比特506字段包含“0”,那么文件的状态是“已知恶意软件”。或者,如果第一比特504字段包含“0”而第二比特506字段包含“1”,那么文件的状态是“已知好的”。同样,如果第一比特504字段包含“0”而第二比特506字段包含“0”,那么文件的状态是“未知”。虽然图5示出了具有特定属性的扫描高速缓存318,但本领域的技术人员会理解,扫描高速缓存318可以带有多于或少于所有所列属性操作。
跟踪文件状态的常规技术与扫描高速缓存318相比是易于出错且资源密集型的。例如,跟踪文件是否感染恶意软件的一种公知技术使用散列表。当截取I/O请求时,会使用基于字符串的文件名作为散列关键字来搜索散列表。然而,文件名称不总是唯一地标识文件。例如,当用户创建“链接”以引用文件时,文件会与一个或多个文件名相关联。在这种情况下,散列表对同一文件会包含多个条目。结果是,当文件被两个或多个文件名引用时,反病毒软件应用程序会执行不必要的扫描。如上所述,扫描高速缓存318使用从MFT获取的唯一文件索引来标识文件以防止发生重复的扫描。同样,与从位图查询比特相比计算散列关键字或搜索基于字符串的文件名是资源密集型的。例如,散列表一般消耗足够的存储空间,使得散列表中的条目最终被删除以容纳新的文件。然而,扫描高速缓存318中的条目需要十分少量的存储空间,使得无需删除条目来容纳新的条目。
如上所述,扫描高速缓存318会与其他系统结合使用以跟踪一个或多个文件的状态。仅举例而言,扫描高速缓存318可以与以下应用程序结合来实现:(1)“备份”应用程序,用于对于文件在第二硬件设备上的存储而跟踪文件的状态,(2)加密/解密应用程序,用于跟踪文件是否被加密,(3)以及内容过滤应用程序,用于跟踪文件是否包含不适当的内容。如本领域和其他领域的技术人员所公知的,用于存储附加数据的比特会被加到扫描高速缓存318中,以便容纳这些类型的系统的需求。
返回到图4,在判决框410处,方法400确定与文件相关联的状态是否是“已知好的”或没有感染恶意软件。在本发明的示例性实施例中,对于文件是否为“已知好的”的确定是通过分析包含在数据库中的数据作出的,该数据诸如包含在扫描高速缓存318中的比特信息。由于可使用本领域一般公知的技术来查询数据库和分析与文件索引相关联的信息,这里不提供本领域所使用的技术的描述。如果文件被标识为“已知好的”,方法400前进到下述的框426。或者,如果文件与不同于“已知好的”的状态相关联,那么方法400前进到框412。
在判决框412处,方法400确定与文件相关联的状态是否为“已知恶意软件”。类似于文件被标识为“已知好的”的情况,文件是否为“已知恶意软件”的确定是通过分析包含数据库中的数据,诸如包含在扫描高速缓存318中的比特信息来作出的。如果文件状态被标识为“已知恶意软件”,方法400前进到下述的框428。或者,如果文件与未知状态相关联,方法400前进到框414。
在框414处,方法400向在用户模式中执行的反病毒软件应用程序提供对文件数据的访问。如果到达了框414,那么与文件相关联的状态是“未知”,且方法400会使得一个或多个反病毒软件应用程序扫描作为在框402处截取的I/O请求的对象的文件。本发明向反病毒软件应用程序提供了访问文件数据的有效方法,使得可以快速地执行对恶意软件的扫描。以下参考图6描述向反病毒软件应用程序提供对文件数据的访问的方法的一个实施例。
在框416处,方法400选择将对文件执行扫描的反病毒软件应用程序,该文件是在框402处截取的I/O请求的对象。如先前参考图3所述,本发明的各方面允许反病毒软件应用程序注册和创建扫描概况。扫描概况定义反病毒软件应用程序“感兴趣”的I/O请求。方法400检查安装在计算设备上的反病毒软件应用程序的扫描概况,从而选择对所截取的I/O请求“感兴趣”的反病毒软件应用程序。
在框418处,方法400使得所选的反病毒软件应用程序扫描数据并确定作为在框402处接收到的I/O请求的对象的文件否是被感染了恶意软件。如上所述,当确定是否存在感染时,反病毒软件应用程序一般将数据模式与恶意软件“签名”进行匹配。然而,反病毒软件应用程序越来越多地使用主动的恶意软件检测技术。例如,一些反病毒应用程序通过使得数据在虚拟操作环境内“执行”来模拟程序动作。如果检测到在虚拟操作环境中误用/滥用资源,那么反病毒软件应用程序确定文件感染了恶意软件。在任何情况下,在框418处,所选反病毒软件应用程序获取文件数据并执行动作以确定文件数据是否感染了恶意软件。如以下将参考图6详细描述的,会使用对经注册的反病毒软件应用程序可用的通用信息模型来获取文件数据。
除了确定是否存在恶意软件感染外,反病毒软件应用程序会在框418处执行纠正动作。如本领域和其他领域的技术人员所公知的,新型的反病毒软件应用程序会能够删除被标识为恶意软件的数据或纠正恶意软件感染。在框418处删除恶意软件的情况下,接着会允许所选的反病毒软件应用程序采取纠正措施。因为每次时间只能选择一种反病毒软件应用程序,所以在框418处所采取的任何纠正动作是在存在数据冲突的可能性的情况下执行的。换而言之,方法400调度由反病毒软件应用程序采取的纠正措施相继发生,这意味着数据视图对于其他反病毒软件应用程序是一致的。
在判决框420处,方法400确定是否会选择任何其他的反病毒软件应用程序。如先前所述,方法400可用于聚集多个反病毒软件应用程序的知识库以便检测恶意软件的存在。如果将不选择其他反病毒软件应用程序,那么方法400前进到下述的框422。相反,如果将选择其他反病毒软件应用程序,那么方法400返回到框416并在框416到420之间反复直至所有对在框402处截取的I/O请求“感兴趣”的反病毒软件应用程序能够执行扫描。
在框422处,文件的状态存储在诸如扫描高速缓存318等数据库中。如上所述,在某些情况下,方法400会使得反病毒软件应用程序扫描文件并确定文件是否受到感染。在本发明的一个示例性实施例中,如果一个或多个反病毒软件应用程序检测到恶意软件的存在并不能纠正感染,那么文件在扫描高速缓存318中被标记为“已知恶意软件”。在这个实施例中,如果反病毒软件应用程序毒没有检测到恶意软件的存在,那么文件在扫描高速缓存318中被标记为“已知好的”。本领域和其他领域的技术人员会理解,存在用于确定文件是否感染恶意软件的其他可能的实施例。例如,在文件在扫描高速缓存318中被标识为“已知恶意软件”时,方法400会要求安装在计算设备上的大部分反病毒软件应用程序检测恶意软件。更一般地,方法400会被实现成为由反病毒软件应用程序生成的结果组计算加权值的系统。在这种情况下,加权值超过了阈值,那么文件在扫描高速缓存318中被标记为“已知恶意软件”。因为基于从应用程序接收到的输入计算加权值的系统一般在本领域是公知的,这里不提供对这些系统的进一步描述。
如上所述在框404处,在框402处截取的I/O请求可以是创建新文件的命令。在这种情况下,可以满足命令而不会使计算设备受到恶意软件的影响。在框422处,作为命令主题的文件状态在扫描高速缓存318中被标识为“已知好的”。如上所述在框408处,在本发明的一个实施例中,从MFT获取唯一的文件索引值,并用于在扫描高速缓存318中标识文件。然而,当从计算设备删除文件时,MFT会将与所删除的文件相关联的文件索引值重新分配给新的文件。当文件被删除时,本发明不会改变记录在扫描高速缓存318中的文件状态。而是,当接收到创建新文件的命令时,本方法简单地用作为命令对象的文件的状态覆盖已删除文件的状态。
如上所述,方法400使得文件的状态存储在诸如扫描高速缓存318等数据库中。在某些情况下,会在框422处执行其他管理程序以使得扫描高速缓存318能够适应文件系统中的增长。例如,在本发明的一个实施例中,当I/O请求针对没有在扫描高速缓存318中维护条目的先前未标识的文件,就创建较大的扫描高速缓存。较小的扫描高速缓存318的内容与先前未标识的文件的状态一起被复制到较大扫描高速缓存。这个实施例的优化使得分配给扫描高速缓存318的存储器为仍然是I/O请求的对象的其他文件按照高于容纳先前未标识的文件所需的最小值预定百分比增长。
在判决框424处,方法400确定与文件相关联的状态是否是“已知恶意软件”。当截取创建新文件的命令或一个或多个反病毒软件应用程序扫描具有“未知”状态的文件时,方法400到达框424处。在任一情况下,与文件相关联的状态存储在诸如扫描高速缓存318等数据库中。因此,在框424处确定文件是否感染恶意软件是通过调用先前存储的数据作出的。如果文件状态被标识为恶意软件,那么方法400前进到下述的框428。或者,如果文件没有被标识为恶意软件,那么方法400前进到框426。
在框426处,方法400将程序执行返回到诸如I/O系统302(图3)等操作系统组件。如上所述,方法400在满足I/O请求之前截取I/O请求,以防止执行和/或传播恶意软件。如果到达框426,那么在框402处截取的I/O请求或者不能用恶意软件感染计算设备,或者涉及由在安装在计算设备上的反病毒软件应用程序扫描和标识为非恶意软件。在任一情况下,满足I/O请求不会导致执行和/或传播恶意软件。因此,在程序执行返回到I/O系统302后,依照现有技术满足I/O请求。接着,方法400前进到框430,并在该处结束。
在框428,方法400将程序执行返回到诸如I/O系统302等操作系统组件。然而,如果到达框428,在框402处截取的I/O请求会导致执行和/或传播恶意软件。因此在程序执行返回到I/O系统302之后,I/O请求失败并将恶意软件感染通知计算机用户。接着方法400前进到框430,并在该处结束。
本发明的实现不限于图4中所示的示例性方法400。例如,方法400被图解为具有分立的开始和结束。然而,在本发明的实际实施例中,I/O请求在连续过程中被截取。当存在足够的信息以认为I/O请求会导致执行和/或传播恶意软件时,方法400会接着使得I/O请求失败。同样,本发明不限于以上提供的例子。例如,方法400主要在扫描文件数据的环境中描述。然而,本领域的技术人员会理解,方法400可用于扫描其他数据单元而不背离本发明的范围。
图6是可以与以上参考图4所描述的方法400结合使用以便以高度优化的方式向反病毒软件应用程序提供对文件数据的访问的一个示例性访问方法600的流程图。概括而言,方法600包括创建一个或多个反病毒软件应用程序用以执行扫描的部分对象。接着向与反病毒软件应用程序交互的用户模式应用程序提供访问部分对象所需的信息。最后,创建部分对象的视图,以允许一个或多个反病毒软件应用程序执行基本的文件系统操作。继续参考图1-5和所附描述,现在将描述图6中所示的示例性访问方法600。
在判决框602处,访问方法600保持空闲直至接收到扫描请求。如上所述,安全服务应用程序314(图3)用作到安装在计算设备300上的反病毒软件应用程序的接口。反病毒软件应用程序会创建定义反病毒软件应用程序执行扫描的环境的扫描概况。在框602处,安全服务应用程序314(图3)从反病毒软件应用程序接收扫描请求。因为可以使用本领域中一般公知的技术来实现两种用户模式应用程序之间请求的通信,因此这里将不提供这些技术的进一步描述。
在框604处,创建一个或多个反病毒软件应用程序将扫描的文件的部分对象。如本领域和其他领域的技术人员所公知的,部分对象允许内核和用户模式应用程序共享数据。在本发明的一个示例性实施例中,安全服务应用程序314向通用安全过滤器316作出请求,以创建将被扫描的文件的部分对象。如图2所示,在创建文件映射部分对象之前,操作系统104从用户模式转移到内核模式。更具体地,在用户模式中执行的安全服务应用程序314向在内核模式中执行的通用安全过滤器316作出请求之后,操作系统104从用户模式转移到内核模式。当完成到内核模式的转移时,通用安全过滤器316通过标识要扫描的文件和调用创建文件映射部分对象的函数来响应请求。
在框606处,访问要扫描的文件所需的信息对用户模式应用程序可用。更具体地,在框604处创建的文件映射部分对象由通用安全过滤器316插入到安全服务应用程序314的对象表中。如本领域和其他领域的技术人员所公知的,新型的操作系统一般在预定域内执行程序。例如,在一些操作系统中,程序只能访问对称为对象表的程序唯一的数据结构中引用的对象。通过将在框604处创建的部分对象插入到域安全服务应用程序314相关联的对象表中,在框604处创建的部分对象对安全服务应用程序314可用。如图2所示,在将文件映射部分对象插入到安全服务应用程序314的对象表中后,操作系统105从内核模式转移到用户模式。
在判决框608处,访问方法600保持空闲并等待反病毒软件应用程序请求文件数据。如上所述,当I/O操作被截取时,一个或多个反病毒软件应用程序会与通用信息模型交互以调度扫描。为了完成扫描,反病毒软件应用程序会需要执行基本文件系统操作。例如,一般地,反病毒软件应用程序会“读出”文件数据并将数据与已知恶意软件签名进行比较。依照本发明,反病毒软件应用程序能够使用对向安全服务应用程序314注册的应用程序可用的通用信息模型来执行基本文件系统操作。在本发明的一个实施例中,通用信息模型对以API组形式注册的应用程序可用。在任一情况下,在判决框608处,访问方法600保持空闲并等待反病毒软件请求文件数据。
在判决框610处,访问方法600确定要扫描的文件的视图是否需要映射到安全服务应用程序314的存储空间中。为了完成对安全服务应用程序314的虚拟地址空间的有效使用,尤其对于唯一文件可能同时发生的多次扫描,文件的“视图”会被映射到应用程序的存储空间中,以便允许应用程序访问部分的文件数据。因为所有的文件数据不能同时被载入到应用程序的存储器空间中,所以当请求当前视图没有的数据时映射新的视图。如果不能从安全服务应用程序314的存储空间中映射的视图获取在框608处请求的数据,那么访问方法600方法确定需要映射新的视图并前进到框612。相反,如果可以从映射到安全服务应用程序314的存储空间中的视图获取在框608处请求的数据,那么访问方法600前进到下述的框614处。
在框612处,映射在框604处创建的部分对象的视图,允许诸如安全服务应用程序314等用户模式应用程序满足对文件数据的请求。安全服务应用程序314获取由通用安全过滤器316提供的数据,该通用安全过滤器316标识将扫描的文件。如果在安全服务应用程序314的存储空间中已经映射了视图,那么访问方法600向操作系统104作出API调用以删除当前的视图。接着,安全服务应用程序314向操作系统104作出另一API调用以映射新的视图。在响应中,操作系统104为可以从中访问所请求数据的文件映射视图。在
Figure GSA00000039414100161
操作系统的环境中,会使用“MapViewOfFile()”和“UPMapViewOfFile()”API将文件映射入和出应用程序的存储空间。然而,这里所提供的例子应该被构建为示例性的而非限制性的。
在框614处,当发生请求时,在框608处请求的数据被传送到反病毒软件应用程序。当所需的视图被映射(在框612处)到安全服务应用程序314的存储空间中时,系统能够使用本领域中一般公知的方法将数据发送到做出请求的反病毒软件应用程序。
在判决框616处,访问方法600确定生成在框602处接收到的扫描请求的反病毒软件应用程序是否完成了访问文件数据。如上所述,安全服务应用程序314通过将一组基本的文件系统操作提供给安装在计算设备上的反病毒软件应用程序用作接口。当反病毒软件应用程序完成扫描文件时,应用程序通知安全服务应用程序314扫描已完成,且访问方法600前进到框618,并在此处结束。相反,如果反病毒软件应用程序没有完成扫描文件并继续访问文件数据,那么访问方法600返回到框608到616,直至反病毒软件应用程序完成扫描文件。
访问方法600会与其他系统结合使用,以为执行基本文件系统操作提供非常快速的方式。仅通过示例,访问方法600可以与以下应用程序结合实现:(1)加密/解密应用程序,用于读出文件和写入文件,以及(2)内容过滤应用程序,用于读出文件数据并确定文件数据是否含有不适当的资料。然而,由于访问方法600可以由任何类型的应用程序使用以执行基本文件系统操作,因此这里所提供的例子应该被构建为说明性的而非限制性的。
虽然示出和描述了本发明的优选实施例,应该理解,可以对它们作出各种修改非不背离本发明的精神和范围。

Claims (11)

1.一种在包括用户模式应用程序、内核模式应用程序和文件的计算设备中的计算机实现方法,用于向所述用户模式应用程序提供对所述文件中的数据的访问,所述方法包括:
(a)为所述用户模式应用程序创建接口;
(b)使所述内核模式应用程序创建文件映射部分对象;
(c)向所述接口提供访问所述文件映射部分对象所需的信息;以及
(d)创建所述文件的视图。
2.如权利要求1所述的方法,其特征在于,还包括响应于请求,发送文件数据给所述用户模式应用程序,其中,所述请求是作为应用程序接口调用作出的。
3.如权利要求2所述的方法,其特征在于,所述用户模式应用程序获取对文件数据的访问而没有数据冲突。
4.如权利要求1所述的方法,其特征在于,所述用户模式应用程序是反病毒软件应用程序。
5.如权利要求4所述的方法,其特征在于,所述接口允许所述反病毒软件应用程序创建扫描概况。
6.如权利要求5所述的方法,其特征在于,所述扫描概况定义当所述反病毒软件应用程序将读出所述文件中的数据时的情况。
7.如权利要求5所述的方法,其特征在于,所述扫描概况定义当所述反病毒软件应用程序为所述计算设备去除恶意软件感染时的情况。
8.如权利要求4所述的方法,其特征在于,所述反病毒软件应用程序将所述文件中的数据与恶意软件的签名特征进行比较。
9.如权利要求1所述的方法,其特征在于,使所述内核模式应用程序创建文件映射部分对象包括向操作系统作出应用程序接口调用。
10.如权利要求9所述的方法,其特征在于,向所述接口提供访问所述文件映射部分对象所需的信息包括将所述部分对象插入到与所述接口相关联的对象表中。
11.如权利要求1所述的方法,其特征在于,创建所述文件的视图包括删除对所述接口可用的存储空间中的当前视图。
CN2010101292668A 2004-11-08 2005-09-30 聚集反病毒软件应用程序的知识库的系统和方法 Expired - Fee Related CN101894225B (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US10/984,611 2004-11-08
US10/984,615 2004-11-08
US10/984,207 2004-11-08
US10/984,611 US7765410B2 (en) 2004-11-08 2004-11-08 System and method of aggregating the knowledge base of antivirus software applications
US10/984,615 US7765400B2 (en) 2004-11-08 2004-11-08 Aggregation of the knowledge base of antivirus software
US10/984,207 US7478237B2 (en) 2004-11-08 2004-11-08 System and method of allowing user mode applications with access to file data

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN200510108474.9A Division CN1773417B (zh) 2004-11-08 2005-09-30 聚集反病毒软件应用程序的知识库的系统和方法

Publications (2)

Publication Number Publication Date
CN101894225A true CN101894225A (zh) 2010-11-24
CN101894225B CN101894225B (zh) 2013-02-13

Family

ID=35636878

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010101292668A Expired - Fee Related CN101894225B (zh) 2004-11-08 2005-09-30 聚集反病毒软件应用程序的知识库的系统和方法

Country Status (4)

Country Link
EP (1) EP1655682B8 (zh)
JP (1) JP4828199B2 (zh)
KR (1) KR101201118B1 (zh)
CN (1) CN101894225B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102819709A (zh) * 2012-08-15 2012-12-12 北京小米科技有限责任公司 一种实现系统安全的方法及装置
WO2013041016A1 (zh) * 2011-09-19 2013-03-28 北京奇虎科技有限公司 处理计算机病毒的方法和装置
CN110383238A (zh) * 2016-05-15 2019-10-25 新思科技有限公司 用于基于模型的软件分析的系统和方法

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7660797B2 (en) * 2005-05-27 2010-02-09 Microsoft Corporation Scanning data in an access restricted file for malware
EP1933248A1 (de) * 2006-12-12 2008-06-18 secunet Security Networks Aktiengesellschaft Verfahren zur sicheren Datenverarbeitung auf einem Computersystem
US7853999B2 (en) * 2007-05-11 2010-12-14 Microsoft Corporation Trusted operating environment for malware detection
US8104088B2 (en) * 2007-05-11 2012-01-24 Microsoft Corporation Trusted operating environment for malware detection
US9251350B2 (en) 2007-05-11 2016-02-02 Microsoft Technology Licensing, Llc Trusted operating environment for malware detection
US8065728B2 (en) * 2007-09-10 2011-11-22 Wisconsin Alumni Research Foundation Malware prevention system monitoring kernel events
JP2009139722A (ja) * 2007-12-07 2009-06-25 Tani Electronics Corp カラーを利用した暗号化方法および暗号化装置
US8353041B2 (en) * 2008-05-16 2013-01-08 Symantec Corporation Secure application streaming
US8161556B2 (en) * 2008-12-17 2012-04-17 Symantec Corporation Context-aware real-time computer-protection systems and methods
WO2011135567A1 (en) 2010-04-29 2011-11-03 Safend Ltd. System and method for efficient inspection of content
US8424093B2 (en) 2010-11-01 2013-04-16 Kaspersky Lab Zao System and method for updating antivirus cache
US7962959B1 (en) 2010-12-01 2011-06-14 Kaspersky Lab Zao Computer resource optimization during malware detection using antivirus cache
EP2447859B1 (en) 2010-11-01 2015-04-08 Kaspersky Lab, ZAO System and method for acceleration of malware detection using antivirus cache
CN103034805B (zh) * 2011-09-30 2015-12-16 腾讯科技(深圳)有限公司 多引擎病毒查杀方法和装置
US9043903B2 (en) 2012-06-08 2015-05-26 Crowdstrike, Inc. Kernel-level security agent
US9292881B2 (en) 2012-06-29 2016-03-22 Crowdstrike, Inc. Social sharing of security information in a group
WO2014057542A1 (ja) * 2012-10-10 2014-04-17 株式会社日立製作所 セキュリティシステム、および、セキュリティ監視方法
CN103699838B (zh) * 2013-12-02 2018-05-04 百度国际科技(深圳)有限公司 病毒的识别方法及设备
US10289405B2 (en) 2014-03-20 2019-05-14 Crowdstrike, Inc. Integrity assurance and rebootless updating during runtime
US9628279B2 (en) * 2014-09-30 2017-04-18 Microsoft Technology Licensing, Llc Protecting application secrets from operating system attacks
RU2589862C1 (ru) * 2015-06-30 2016-07-10 Закрытое акционерное общество "Лаборатория Касперского" Способ обнаружения вредоносного кода в оперативной памяти
US10339316B2 (en) 2015-07-28 2019-07-02 Crowdstrike, Inc. Integrity assurance through early loading in the boot phase
US10387228B2 (en) 2017-02-21 2019-08-20 Crowdstrike, Inc. Symmetric bridge component for communications between kernel mode and user mode
US10740459B2 (en) 2017-12-28 2020-08-11 Crowdstrike, Inc. Kernel- and user-level cooperative security processing
CA3042934A1 (en) 2018-05-12 2019-11-12 Netgovern Inc. Method and system for managing electronic documents based on sensitivity of information
CN110826065B (zh) * 2019-10-30 2022-03-15 亚信科技(成都)有限公司 一种扫描方法、装置及系统

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5854916A (en) 1995-09-28 1998-12-29 Symantec Corporation State-based cache for antivirus software
JPH1166669A (ja) * 1997-08-08 1999-03-09 Rinku Concept:Kk コンピュータウイルス自動検出装置
US6094731A (en) 1997-11-24 2000-07-25 Symantec Corporation Antivirus accelerator for computer networks
US6021510A (en) * 1997-11-24 2000-02-01 Symantec Corporation Antivirus accelerator
US6728964B1 (en) 1998-06-13 2004-04-27 Intel Corporation Monitoring function
JP4567275B2 (ja) * 2002-02-28 2010-10-20 株式会社エヌ・ティ・ティ・ドコモ 移動通信端末、情報処理装置、中継サーバ装置、情報処理システム及び情報処理方法
US7024672B2 (en) * 2002-06-26 2006-04-04 Microsoft Corporation Process-mode independent driver model
JP3979285B2 (ja) * 2002-12-17 2007-09-19 株式会社日立製作所 情報処理システム
JP2005100093A (ja) * 2003-09-25 2005-04-14 Forval Creative Inc ウイルスメール保護監視装置および方法ならびにそのプログラム、ウイルスメール保護中継装置ならびにそのプログラム

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013041016A1 (zh) * 2011-09-19 2013-03-28 北京奇虎科技有限公司 处理计算机病毒的方法和装置
US10165001B2 (en) 2011-09-19 2018-12-25 Beijing Qihoo Technology Company Limited Method and device for processing computer viruses
CN102819709A (zh) * 2012-08-15 2012-12-12 北京小米科技有限责任公司 一种实现系统安全的方法及装置
CN102819709B (zh) * 2012-08-15 2016-03-30 小米科技有限责任公司 一种实现系统安全的方法及装置
CN110383238A (zh) * 2016-05-15 2019-10-25 新思科技有限公司 用于基于模型的软件分析的系统和方法
CN110383238B (zh) * 2016-05-15 2024-01-05 新思科技有限公司 用于基于模型的软件分析的系统和方法

Also Published As

Publication number Publication date
EP1655682A2 (en) 2006-05-10
EP1655682B1 (en) 2016-08-17
JP4828199B2 (ja) 2011-11-30
CN101894225B (zh) 2013-02-13
EP1655682A3 (en) 2006-05-31
JP2006134307A (ja) 2006-05-25
EP1655682B8 (en) 2016-10-12
KR20060051383A (ko) 2006-05-19
KR101201118B1 (ko) 2012-11-13

Similar Documents

Publication Publication Date Title
CN1773417B (zh) 聚集反病毒软件应用程序的知识库的系统和方法
CN101894225B (zh) 聚集反病毒软件应用程序的知识库的系统和方法
US7765400B2 (en) Aggregation of the knowledge base of antivirus software
US7765410B2 (en) System and method of aggregating the knowledge base of antivirus software applications
US10154066B1 (en) Context-aware compromise assessment
EP3107024B1 (en) System and method of restoring modified data
EP3028489B1 (en) Centralized selective application approval for mobile devices
JP5809084B2 (ja) ネットワーク・セキュリティ・システムおよび方法
US6973577B1 (en) System and method for dynamically detecting computer viruses through associative behavioral analysis of runtime state
US7673324B2 (en) Method and system for tracking an operating performed on an information asset with metadata associated therewith
AU2004218703B2 (en) Security-related programming interface
JP5967107B2 (ja) マルウェアに対処するための方法及び装置
US7660797B2 (en) Scanning data in an access restricted file for malware
JP4350150B2 (ja) 電子計算機のファイルシステムドライバの制御方法
US10986117B1 (en) Systems and methods for providing an integrated cyber threat defense exchange platform
KR20070065306A (ko) 엔드 유저 위험 관리
JP2010026662A (ja) 情報漏洩防止システム
US11636219B2 (en) System, method, and apparatus for enhanced whitelisting
Fu et al. Data correlation‐based analysis methods for automatic memory forensic
RU2747514C2 (ru) Система и способ категоризации приложения на вычислительном устройстве
US20230038774A1 (en) System, Method, and Apparatus for Smart Whitelisting/Blacklisting
KR20030086722A (ko) 커널 백도어 탐지 시스템, 이를 이용한 커널 백도어 탐지방법 및 커널 데이터 복구 방법
KR102309695B1 (ko) 호스트 침입 탐지를 위한 파일 기반 제어방법 및 장치
Nebbione Valutazione della Sicurezza di Reti Informatiche tramite Intelligenza Artificiale: Un Approccio basato su Grafi
CN110837639A (zh) 未知威胁主动防御方法和系统

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
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150428

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150428

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

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: 20130213

Termination date: 20190930