CN101620659A - 一种Windows操作系统下钩子的检测方法 - Google Patents

一种Windows操作系统下钩子的检测方法 Download PDF

Info

Publication number
CN101620659A
CN101620659A CN 200910088252 CN200910088252A CN101620659A CN 101620659 A CN101620659 A CN 101620659A CN 200910088252 CN200910088252 CN 200910088252 CN 200910088252 A CN200910088252 A CN 200910088252A CN 101620659 A CN101620659 A CN 101620659A
Authority
CN
China
Prior art keywords
hook
file
address
detection method
kernel
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.)
Pending
Application number
CN 200910088252
Other languages
English (en)
Inventor
陈向群
白光冬
赵霞
郭耀
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.)
Peking University
Original Assignee
Peking University
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 Peking University filed Critical Peking University
Priority to CN 200910088252 priority Critical patent/CN101620659A/zh
Publication of CN101620659A publication Critical patent/CN101620659A/zh
Pending legal-status Critical Current

Links

Images

Abstract

本发明公开了一种Windows操作系统下钩子的检测方法,属于信息安全技术领域。本发明方法包括:a)计算标准操作系统的一个或多个设定的系统文件的hash值并储存,若某个系统文件存在多个版本,则分别计算各个版本文件的hash值并储存;b)计算待检测操作系统的所述系统文件的hash值,若某个系统文件的hash值和对应的步骤a所述一个或多个版本的hash值都不相同,则所述系统文件被设置了钩子,则所述待检测操作系统被设置了钩子。本发明方法还可包括c)用标准操作系统的相应版本的系统文件替换步骤b所述被设置了钩子的系统文件。本发明方法可用于在Windows操作系统下检测基于钩子技术的恶意软件。

Description

一种Windows操作系统下钩子的检测方法
技术领域
本发明涉及恶意软件,具体涉及一种Windows操作系统下钩子的检测方法,属于信息安全技术领域。
背景技术
Windows操作系统是目前使用最为广泛的计算机操作系统,根据调查,世界上有超过90%的个人计算机以及大约66%的服务器使用的是Windows操作系统,由于Windows的广泛使用,使得它成为了遭受黑客和病毒攻击最严重的操作系统,也使得它的安全问题成为用户及计算机安全研究人员关注的焦点。最新的Windows操作系统为Windows Vista,该操作系统由微软公司于2006年11月发布,在之后的一年多时间里,微软公司致力于Vista系统的推广,Vista系统的使用人数正在并将持续增长。但是,尽管微软公司对包括Vista在内的众多操作系统的安全进行改进,但这些操作系统仍然存在着较大的安全隐患。目前我国计算机用户基本上使用的是Windows操作系统,以XP系统最为普遍,Vista系统在我国的使用量也将会大幅度增加,所以更应对其安全问题足够重视。
目前对计算机上的病毒、木马等恶意软件的检测方法大致分为三种:基于恶意软件特征的检测、基于恶意软件行为的检测以及基于恶意软件实现技术的检测。前两种方法是目前杀毒软件广泛采取的方法,但是由于计算机恶意软件的种类繁多,行为各异,这两种方法难以检测出所有的恶意软件;而且这两种方法都只能对已经出现并掌握其特征的恶意软件进行检测,难以在未知恶意软件进入系统的初期进行检测。所以针对恶意软件实现技术的检测逐渐发展起来。
恶意软件最常见的实现技术是钩子技术,通过使用钩子技术,恶意软件可以改变操作系统正常的执行路径,从而破坏系统或者窃取用户信息。在不久前出现的恶意软件rootkit(一种恶意软件使用的具有“隐形”能力的工具包、库或者程序代码,用来隐藏或伪装恶意软件使用的文件、目录和进程)中,更是大量地使用了钩子技术,达到隐藏恶意软件和攻击者踪迹的效果。
根据运行环境的不同,钩子可以分为用户级钩子和内核级钩子,在Windows操作系统中,主要包含以下种类的钩子。
1.用户级钩子
在Windows系统中,大多数进程都依赖于三个子系统:Win32、POSIX和OS\2子系统,这些子系统由一些文件组成,它们以地址表的形式提供了一组应用程序编程接口(API),用户进程可以通过地址表中的函数入口地址调用API请求操作系统的服务,所以这些地址表所在的文件是恶意软件攻击的极佳目标。根据地址表的不同,恶意软件使用的钩子可以分为导入地址表钩子、导出地址表钩子、内联函数钩子、系统可执行文件及DLL钩子等,恶意软件一般在用户态下替换或修改包含这些地址表的文件来设置这些钩子。
2.内核级钩子
当用户进程调用API进入Windows内核后,通过系统服务描述符表(System ServiceDescriptor Table,SSDT),中断描述符表(Interrupt Descriptor Table,IDT)等跳转表进一步调用不同的内核系统服务函数,所以恶意程序通过修改内核中的这些跳转表来设置不同种类的内核钩子。在Windows内核中,恶意软件使用的钩子主要有:
●IDT钩子
IDT中包含了异常和中断处理函数的入口地址,恶意软件修改IDT,把系统的处理程序替换为其提供的非法程序。
●SSDT钩子
SSDT记录着所有内核系统服务函数的入口地址,恶意软件通过修改SSDT表项而改变内核系统服务函数的处理过程。
●IRP函数表钩子
IRP函数是驱动程序用来处理用户各种请求的,例如读、写、查询等。IRP函数表里记录这IRP函数的入口地址,攻击者也可以替换IRP函数表的一些表项达到恶意目的。
目前针对用户级和内核级钩子的检测方法,使用执行指令数分析的技术,这种方法认为如果在跳转表上设置了钩子,那么在执行某些常规的系统函数和库函数时,将会执行额外的指令。于是这种方法通过比较待检测系统和正常系统在运行某个系统调用的指令数差别来分析是否被设置了钩子。这种基于统计的方法,存在一定的误差,并且即使正常系统多次执行某个系统调用的指令数也会有差别,造成了这种方法的误差较大。目前也存在对内核钩子的检测方法,但是基本上只针对某一种跳转表进行检测,由于钩子种类繁多,这种方法难以将所有钩子的检测覆盖全面。单就Windows Vista而言,由于其操作系统发行时间较短,目前尤其缺乏对其进行钩子检测的技术和工具。
发明内容
本发明的目的在于克服现有技术中存在的问题,提供一种Windows操作系统下针对用户级钩子的检测方法和恢复方法,从而有效地防护基于钩子的计算机恶意软件。同时,本发明还提供针对内核级钩子的检测和恢复方法。
具体来说,本发明针对用户级钩子的检测与恢复方法包括下列步骤(检测方法包括步骤a和b,恢复方法包括步骤a,b和c):
a)计算标准操作系统的一个或多个设定的系统文件的hash值并储存,若某个系统文件存在多个版本,则分别计算各个版本文件的hash值并储存。
所述“设定的系统文件”可以是,比如,Windows系统目录下System32和System目录中的全部文件或者一部分重要系统文件。
所述hash值优选通过下列hash算法中的任意一种获得:MD5、SHA-1、RIPEMD-160、或HMAC。
所述hash值优选以XML的格式储存于本地,或通过http或ftp协议储存于远程服务器。
b)计算待检测操作系统的所述系统文件的hash值,若某个系统文件的hash值和对应的步骤a所述一个或多个版本的hash值都不相同,则所述系统文件被设置了钩子,从而可以断定所述待检测操作系统被设置了钩子。
也就是说,在本步骤的比较过程中,只要某个系统文件的hash值和步骤a中的多版本hash值中的其中一个匹配即可;采用这种方式可以有效地避免因系统文件的版本不同带来的问题。
为了提高hash值比较过程的效率,可考虑将hash值储存于同一目录作顺序排列,在比较时使用宽度优先方式进行系统目录的遍历。
优选将本步骤的检测(比较)结果保存于日志,以供系统管理员进行分析。
c)用标准操作系统的相应版本的系统文件替换步骤b所述被设置了钩子的系统文件。同样优选将本步骤的替换结果保存于日志,以供系统管理员进行分析。
本发明所述Windows操作系统可以是各个版本的Windows XP操作系统或WindowsVista操作系统等。其中对于Windows XP操作系统,其版本包括Windows XP HomeEdition(家庭版),Windows XP Professional Edition(专业版),Windows XP 64-Bit Edition(64位版);对于Windows Vista操作系统,其版本包括Windows Vista Starter 2007(初级版本),Windows Vista Home Basic(初级家庭版),Windows Vista Home Premium(增强家庭版),Windows Vista Ultimate(终极版),Windows Vista Small Business(小型商务版),Windows Vista Business(商务版),Windows Vista Enterprise(企业版)。
进一步,本发明针对内核级钩子的检测与恢复方法包括下列步骤(检测方法包括步骤i-iv,恢复方法包括步骤i-v):
i.对于待检测操作系统,获得系统内核中已加载的所有模块的信息,所述信息包括所述模块加载到内存中的起始地址和终止地址;
优选地,通过使用系统调用NtQuerySystemInformation获得系统内核中已加载的所有模块的信息。
ii.获得系统内核中的跳转表的基地址,从而获得所述跳转表;
优选地,通过系统内核未导出的数据结构或汇编指令获得所述内核跳转表的基地址。
iii.遍历所述跳转表中的各个表项,对于每个表项,获得所述表项指向的地址,并根据步骤i所述起始地址和终止地址判断所述地址所属的内核模块;
iv.若所述内核模块不是合法的系统模块,则所述地址不合法,则所述待检测操作系统被设置了钩子,其原因在于:系统内核中跳转表的每个表项均指向一些固定的模块,如SSDT的表项全部位于ntoskrnal.exe内核模块中,irp表的表项指向改irp所属的驱动程序等,当这样的指向关系和常规不符时,被认为是不合法的。
优选将本步骤的检测结果保存于日志,以供系统管理员进行分析。
v.通过系统调用号或中断向量号,在提供系统调用或中断处理函数的系统模块中获得正确的系统调用或中断处理函数的入口地址,并用所述入口地址替换所述表项的不合法的地址。
同样优选将本步骤的替换结果保存于日志,以供系统管理员进行分析。
在上述步骤ii中,所述跳转表优选为系统服务描述符表(SSDT),中断描述符表(IDT)和/或I/O请求包表。当所述跳转表为系统服务描述符表时,步骤ii通过KeServiceDescriptorTable或KeServieDescriptorTableShadow得到所述系统服务描述符表的基地址;当所述跳转表为中断描述符表时,步骤ii通过sidt指令得到所述中断描述符表的基地址;当所述跳转表为I/O请求包表,步骤ii通过IoGetDeviceObjectPointer函数获得设备的对象指针,然后通过访问该对象的MajorFuction数组获得I/O请求处理函数的地址得到所述I/O请求包表的基地址。
本发明根据不同种类钩子的特点,分别在用户态和内核态进行钩子检测及恢复,具有两个优点,一是对钩子进行全面检测;二是考虑到用户和内核交互的整个过程,对这个过程中可能出现的所有类型钩子进行检测,防止恶意软件通过在某个环节设置钩子来破坏系统。
附图说明
图1表示本发明实施例的钩子检测和恢复设备结构示意图;
图2表示用户级钩子检测和恢复方法流程图;
图3表示内核跳转表结构图;
图4表示内核级钩子检测和恢复方法流程图。
具体实施方式
下面结合附图,通过实施例对本发明作进一步描述。
图1表示本发明实施例的钩子检测和恢复设备结构示意图。如图1所示,用户级钩子检测恢复模块、管理模块和日志模块运行于Windows Vista操作系统用户态(ring 3),内核级钩子检测恢复模块运行于操作系统内核态(ring 0)。用户级钩子检测恢复模块和内核级钩子检测恢复模块分别对用户级钩子和内核级钩子进行检测和恢复;日志模块负责对检测和恢复日志进行记录和管理;管理模块负责加载内核钩子检测恢复模块到操作系统内核,并接收内核钩子检测恢复模块的检测结果,将该结果传送到日志模块;管理模块和内核钩子检测恢复模块通过通信模块进行通信,通信模块使用DeviceIoControl实现。
1、用户级钩子检测和恢复方法
用户级钩子检测和恢复模块采用了hash(在此以MD5算法为例)来获取和校验系统文件的数字指纹,使用xml文件来保存在不同的版本和补丁影响下每个Windows Vista系统文件的标准MD5值,并针对Windows补丁发布的特点设计了Windows补丁追踪系统来即时更新最新发布补丁的MD5值;在发现系统文件被设置了钩子之后,从服务器下载对应版本的系统文件对本地文件进行替换。从而实现用户级钩子的检测和恢复,具体步骤如下:
1)在标准Windows Vista操作系统上选取若干重要的系统文件,使用MD5hash算法生成各个版本系统文件的hash值。此处所述的系统文件,包括C:\Windows\System32和C:\Windows\System下的所有文件;所述版本包括Windows Vista的各个版本,如WindowsVista Ultimate,Windows Vista Business等。
在得到所有版本的系统文件MD5值之后,需要将其组织起来以方便查找,可以使用XML(全称为eXtension Markup Language)文件来存放每一个系统文件可能的MD5值。
在保存MD5值的xml文件中,应该为每个系统文件建立一个节点,这个节点应该包括如下信息:
系统文件的全路径名,如:C:\WINNT\system\SHELL32.dll。
系统文件可缺失标识:yes为可缺失,no为不可缺失。
系统文件MD5值列表:即为一个变长的列表,把该文件在正常系统中可能出现的所有MD5列出来。
根据以上的描述,设计出来的xml的DTD描述如下:
<!ELEMENT file(path,optional,MD5*)>
<!ELEMENT path(#PCDATA)><!--full path name of a system file-->
<!ELEMENT optional(#PCDATA)><!--if this system file is necessary-->
<!ELEMENT MD5(#PCDATA)><!--MD5 value of this file-->
根据该DTD,所生成的xml文件示例如下:
<file>
<path>WINDOWS\system32\oobe\msobcomm.dll</path>
<optional>yes</optional>
<MD5>727178fd589e15ffc8beceeb037d6128</MD5>
<MD5>f1d4bbae611ff716b4af73b8affe95d8</MD5>
</file>
2)用户级钩子检测恢复模块遍历上述步骤1所选取的重要系统文件。为了提高MD5值查找效率,将相同目录下的文件的MD5值顺序排列,并使用宽度优先策略进行搜索。在遍历的过程中,计算遍历到的文件的MD5值,然后和从服务器下载到的标准值进行比较,从而检测到被修改的系统文件。结合图2,具体检测和恢复的步骤描述如下:
(1)开始检测前,从服务器上下载系统文件的标准MD5值文件。
(2)创建一个队列(TC_Queue)来保存待处理的目录,并将要遍历的根目录(rootDir)添加到队列中。
(3)如果队列为空,则遍历结束进入(6),否则进入(4)处理下一个目录。
(4)取出当前队列头的目录节点(tempDir),依次取出该目录所有下一级元素(tempElem)(子目录或文件),取到tempElem就进入(5);否则说明tempDir已经处理完毕,进入(3)继续进行。
(5)处理tempElem,如果tempElem是子目录就进入a);否则进入a)。
a)将tempElem加入到TC_Stack中,便于将来处理;
b)对tempElem文件进行MD5校验,并记录日志;
c)如果校验值不符合,删除此系统文件;
d)从服务器下载对应系统文件进行替换,恢复原有系统。
(6)结束遍历,进入下一步统计处理工作。
(7)以上步骤的检测结果和替换结果保存于日志,以供系统管理员进行分析。
2、内核级钩子的检测和恢复方法
内核跳转表(如图3所示)的每个表项包含一个地址,这个地址指向了处理该表项所在编号的系统服务、中断处理程序等程序的位置。每个跳转表中的所有地址一般在内核的某个或若干个内核模块中,本发明利用这个特点,通过分析这些地址的可信性来分析是否被设置了钩子。
如图4所示,内核级钩子的检测和恢复的具体步骤描述如下:
1)管理模块将内核钩子检测恢复模块加载到内核。将内核钩子检测恢复模块实现为Windows驱动程序形式,使用Windows提供的API将其导入到内核执行。
2)初始化内核和用户通信模块。通信模块使用DeviceIoControl接口将内核获得的信息传送至用户态。
3)获取已加载到内核中的模块的信息。定义一个结构来存放系统模块信息:
typedef struct_SYSTEM_MODULE_INFORMATION
{
       ……
     PVOID Base;
     ULONG Size;
       ……
     CHAR ImageName[256];//模块名
}SYSTEM_MODULE_INFORMATION,*PSYSTEM_MODULE_INFORMATION;
其中Base为模块导入到内存中的基地址,Size为模块大小,该内核模块位于[Base,Base+Size]之间。
调用NtQuerySystemInformation函数获得已加载内核模块的信息。
4)获得内核跳转表的地址。通过一些Windows内核未导出的数据结构或某些汇编指令获得内核跳转表的基地址。如使用Windows内核未导出的数据结构KeServiceDescriptionTable可以获得SSDT的基地址;使用sidt指令可以获得IDT的基地址;使用IoGetDeviceObjectPointer函数获得设备的对象指针,然后通过访问该对象的MajorFuction数组获得I/O请求处理函数的地址。
5)遍历跳转表的表项,分析表项中的地址是否合法,从而可以检测出该跳转表是否被设置了钩子。
6)如果设置了钩子,进行恢复的步骤如下:
a)通过系统调用号或中断向量号,在提供系统调用或中断处理函数的系统模块中得出原系统调用或中断处理函数的地址;
b)用该入口地址替换所述表项中不合法的地址。
7)将检测和替换结果写入日志。

Claims (10)

1.一种Windows操作系统下钩子的检测方法,包括下列用户级检测方法:
a)计算标准操作系统的一个或多个设定的系统文件的hash值并储存,若某个系统文件存在多个版本,则分别计算各个版本文件的hash值并储存;
b)计算待检测操作系统的所述系统文件的hash值,若某个系统文件的hash值和对应的步骤a所述一个或多个版本的hash值都不相同,则所述系统文件被设置了钩子,则所述待检测操作系统被设置了钩子。
2.如权利要求1所述的检测方法,其特征在于,所述用户级检测方法还包括:
c)用标准操作系统的相应版本的系统文件替换步骤b所述被设置了钩子的系统文件。
3.如权利要求1或2所述的检测方法,其特征在于,所述设定的系统文件是系统目录下System32和System目录中的所有文件。
4.如权利要求1或2所述的检测方法,其特征在于,所述hash值通过MD5、SHA-1、RIPEMD-160或HMAC法计算。
5.如权利要求1或2所述的检测方法,其特征在于,步骤a所述hash值以XML的格式储存。
6.如权利要求1或2所述的检测方法,其特征在于,步骤a所述hash值储存于本地,或通过http或ftp协议储存于远程服务器。
7.如权利要求2所述的检测方法,其特征在于,将步骤b的检测结果和步骤c的替换结果保存于日志。
8.如权利要求1或2所述的检测方法,其特征在于,所述Windows操作系统是WindowsXP操作系统或Windows Vista操作系统。
9.如权利要求1或2所述的检测方法,其特征在于,还包括下列内核级检测方法:
i.对于待检测操作系统,获得系统内核中已加载的所有模块的信息,所述信息包括所述模块加载到内存中的起始地址和终止地址;
ii.获得系统内核中的跳转表的基地址,从而获得所述跳转表;
iii.遍历所述跳转表中的各个表项,对于每个表项,获得所述表项中的地址,并根据步骤i所述的起始地址和终止地址判断所述地址所属的内核模块;
iv.若所述内核模块不是合法的系统模块,则所述地址不合法,则所述待检测操作系统被设置了钩子。
10.如权利要求9所述的检测方法,其特征在于,所述内核级检测方法还包括:
v.通过系统调用号或中断向量号,在提供系统调用或中断处理函数的系统模块中获得正确的系统调用或中断处理函数的入口地址,并用所述入口地址替换所述表项的不合法的地址。
CN 200910088252 2009-07-14 2009-07-14 一种Windows操作系统下钩子的检测方法 Pending CN101620659A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200910088252 CN101620659A (zh) 2009-07-14 2009-07-14 一种Windows操作系统下钩子的检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200910088252 CN101620659A (zh) 2009-07-14 2009-07-14 一种Windows操作系统下钩子的检测方法

Publications (1)

Publication Number Publication Date
CN101620659A true CN101620659A (zh) 2010-01-06

Family

ID=41513890

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200910088252 Pending CN101620659A (zh) 2009-07-14 2009-07-14 一种Windows操作系统下钩子的检测方法

Country Status (1)

Country Link
CN (1) CN101620659A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102855432A (zh) * 2011-06-27 2013-01-02 奇智软件(北京)有限公司 一种文件、文件夹解锁和删除方法及系统
CN104331662A (zh) * 2013-07-22 2015-02-04 深圳市腾讯计算机系统有限公司 Android恶意应用检测方法及装置
CN104331666A (zh) * 2014-11-10 2015-02-04 成都卫士通信息产业股份有限公司 一种计算机系统可信度量方法
CN106055977A (zh) * 2016-05-23 2016-10-26 北京金山安全软件有限公司 一种窗口保护方法及装置、终端
CN106096402A (zh) * 2016-06-22 2016-11-09 北京金山安全软件有限公司 一种信息拦截方法及装置
CN106133741A (zh) * 2014-02-12 2016-11-16 赛门铁克公司 用于响应于检测可疑行为来扫描打包程序的系统和方法
CN106127046A (zh) * 2016-06-22 2016-11-16 北京金山安全软件有限公司 一种信息拦截方法及装置

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102855432A (zh) * 2011-06-27 2013-01-02 奇智软件(北京)有限公司 一种文件、文件夹解锁和删除方法及系统
CN102855432B (zh) * 2011-06-27 2015-11-25 北京奇虎科技有限公司 一种文件、文件夹解锁和删除方法及系统
CN104331662A (zh) * 2013-07-22 2015-02-04 深圳市腾讯计算机系统有限公司 Android恶意应用检测方法及装置
CN104331662B (zh) * 2013-07-22 2018-12-07 深圳市腾讯计算机系统有限公司 Android恶意应用检测方法及装置
CN106133741A (zh) * 2014-02-12 2016-11-16 赛门铁克公司 用于响应于检测可疑行为来扫描打包程序的系统和方法
CN106133741B (zh) * 2014-02-12 2019-06-07 赛门铁克公司 用于响应于检测可疑行为来扫描打包程序的系统和方法
CN104331666A (zh) * 2014-11-10 2015-02-04 成都卫士通信息产业股份有限公司 一种计算机系统可信度量方法
CN106055977A (zh) * 2016-05-23 2016-10-26 北京金山安全软件有限公司 一种窗口保护方法及装置、终端
CN106096402A (zh) * 2016-06-22 2016-11-09 北京金山安全软件有限公司 一种信息拦截方法及装置
CN106127046A (zh) * 2016-06-22 2016-11-16 北京金山安全软件有限公司 一种信息拦截方法及装置

Similar Documents

Publication Publication Date Title
CN101620658A (zh) 一种Windows操作系统下钩子的检测方法
US10417424B2 (en) Method of remediating operations performed by a program and system thereof
Sun et al. SigPID: significant permission identification for android malware detection
CN101620659A (zh) 一种Windows操作系统下钩子的检测方法
US9400886B1 (en) System and method for using snapshots for rootkit detection
KR101693370B1 (ko) 퍼지 화이트리스팅 안티-멀웨어 시스템 및 방법
Bayer et al. Scalable, behavior-based malware clustering.
US8607342B1 (en) Evaluation of incremental backup copies for presence of malicious codes in computer systems
US8104090B1 (en) Method and system for detection of previously unknown malware components
JP5816198B2 (ja) 関連コンピューティングシステム間でコンピューティングオペレーションの結果を共有するためのシステムおよび方法
US8661541B2 (en) Detecting user-mode rootkits
US20050262567A1 (en) Systems and methods for computer security
US8635413B2 (en) Detection of duplicate memory pages across guest operating systems on a shared host
CN101620660B (zh) 一种Windows操作系统下钩子的防御方法
US7085934B1 (en) Method and system for limiting processor utilization by a virus scanner
EP2245572B1 (en) Detecting rootkits over a storage area network
US20120017276A1 (en) System and method of identifying and removing malware on a computer system
US20040168070A1 (en) Safe memory scanning
US20140006796A1 (en) System and method for identifying software changes
AU2017201667B2 (en) Secure document importation via portable media
CN102307189B (zh) 恶意代码检测方法及网络设备
US20040226009A1 (en) System and method for software application task abstraction
US9003533B1 (en) Systems and methods for detecting malware
US7620983B1 (en) Behavior profiling
US7281271B1 (en) Exception handling validation system and method

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20100106