CN101304409B - 恶意代码检测方法及系统 - Google Patents

恶意代码检测方法及系统 Download PDF

Info

Publication number
CN101304409B
CN101304409B CN2008100291745A CN200810029174A CN101304409B CN 101304409 B CN101304409 B CN 101304409B CN 2008100291745 A CN2008100291745 A CN 2008100291745A CN 200810029174 A CN200810029174 A CN 200810029174A CN 101304409 B CN101304409 B CN 101304409B
Authority
CN
China
Prior art keywords
information
system information
malicious code
instruction
registry
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
Application number
CN2008100291745A
Other languages
English (en)
Other versions
CN101304409A (zh
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.)
Huawei Digital Technologies Chengdu Co Ltd
Original Assignee
Huawei Symantec Technologies Co Ltd
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 Huawei Symantec Technologies Co Ltd filed Critical Huawei Symantec Technologies Co Ltd
Priority to CN2008100291745A priority Critical patent/CN101304409B/zh
Publication of CN101304409A publication Critical patent/CN101304409A/zh
Priority to PCT/CN2009/071451 priority patent/WO2009155805A1/zh
Priority to US12/483,681 priority patent/US20090327688A1/en
Application granted granted Critical
Publication of CN101304409B publication Critical patent/CN101304409B/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/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/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
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2105Dual mode as a secondary aspect

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)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Storage Device Security (AREA)

Abstract

本发明实施例公开了一种恶意代码检测方法和系统,所述方法包括获得难以被恶意代码修改的第一系统信息,以及容易被所述恶意代码修改的第二系统信息,通过识别所述第一系统信息与第二系统信息的差异,检测出所述恶意代码。采用本发明实施例,可对未知的恶意代码进行检测,提高系统安全性,且简单易行。

Description

恶意代码检测方法及系统
技术领域
本发明涉及计算机领域,尤其涉及一种恶意代码检测方法及系统。
背景技术
随着互联网的普及,威胁信息安全的事件的发生越来越频繁,其中,恶意代码造成的危害最为严重,不仅使企业和用户蒙受巨大经济损失,更使国家信息安全面临严重威胁。
现有技术提供了一种基于特征码扫描的恶意代码检测技术,它是目前商用恶意代码检测所使用的主要方法,其原理是打开被检测文件/内存,扫描其中是否包含有特征数据库中的恶意代码特征串,如果含有,则判断文件/内存含有恶意代码。随着越来越多的恶意代码使用了变形技术,即使对已知的恶意代码,仅通过扫描文件/内存,现有技术的基于特征码扫描的恶意代码检测技术对于不存在于特征数据库中的未知的恶意代码无法检测。
发明内容
本发明实施例提供了一种恶意代码检测方法,能根据难以被恶意代码修改的第一系统信息与容易被所述恶意代码修改的第二系统信息之间的差异,检测出恶意代码,对未知的恶意代码进行检测。
本发明实施例提出的一种恶意代码检测方法,包括:
获得系统信息类别下难以被恶意代码修改的第一系统信息,以及所述系统信息类别下容易被所述恶意代码修改的第二系统信息;
所述系统信息包括进程信息、端口信息、文件信息、注册表信息、系统服务信息、服务提供商接口信息中一种或多种的组合;
所述获得难以被恶意代码修改的第一系统信息,以及容易被恶意代码修改的第二系统信息包括:
当所述系统信息类别为进程信息时,读取驱动程序中系统内核态的全局句柄表,并判断该全局句柄表中的进程句柄是否为有效句柄,若是,则将该进程句柄对应的第一进程信息作为所述第一系统信息;调用系统用户态应用程序接口的进程跟踪指令,将该指令响应的第二进程信息作为所述第二系统信息;
当所述系统信息类别为端口信息时,创建并调用驱动程序中系统内核态的传输控制协议设备端口情况查询指令,将该指令响应的第一传输控制协议设备端口情况信息作为所述第一系统信息;调用系统用户态应用程序接口的传输控制协议设备端口情况枚举指令,将该指令响应的第二传输控制协议设备端口情况信息作为所述第二系统信息;
当所述系统信息类别为文件信息时,创建并调用驱动程序中系统内核态的指定路径文件信息的查询指令,将该指令响应的第一文件信息作为所述第一系统信息;调用系统用户态应用程序接口的指定路径文件信息的查询指令,将该指令响应的第二文件信息作为所述第二系统信息;
当所述系统信息类别为注册表信息时,调用系统内核态的注册表信息权限赋予指令,将根据所赋予权限获取的指定路径下的第一注册表键值信息作为所述第一系统信息;调用系统用户态应用程序接口的注册表操作指令,将该指令响应的第二注册表键值信息作为所述第二系统信息;
当所述系统信息类别为系统服务信息时,
调用系统内核态的注册表信息权限赋予指令,将根据所赋予权限获取的第一系统服务信息作为所述第一系统信息;调用系统用户态应用程序接口的对系统服务信息进行获取的注册表操作指令,将该指令响应的第二系统服务信息作为所述第二系统信息;或者,
当所述系统信息类别为服务提供商接口信息时,调用系统内核态的注册表信息权限赋予指令,将根据所赋予权限获取的第二服务提供商接口信息作为所述第一系统信息;调用系统用户态应用程序接口的对服务提供商接口信息进行获取的注册表操作指令,将该指令响应的第二服务提供商接口信息作为所述第二系统信息;
通过识别所述第一系统信息与第二系统信息的差异,检测出所述恶意代码。
相应地,本发明实施例还提供了一种恶意代码检测系统,包括:
系统信息收集模块,获得系统信息类别下难以被恶意代码修改的第一系统信息,以及所述系统信息类别下容易被所述恶意代码修改的第二系统信息;
所述系统信息包括进程信息、端口信息、文件信息、注册表信息、系统服务信息、服务提供商接口信息中一种或多种的组合;
所述系统信息收集模块包括如下子模块中的一种或多种的组合:
进程信息收集子模块,当所述系统信息类别为进程信息时,读取驱动程序中系统内核态的全局句柄表,并判断该全局句柄表中的进程句柄是否为有效句柄,若是,则将该进程句柄对应的第一进程信息作为所述第一系统信息;调用系统用户态应用程序接口的进程跟踪指令,将该指令响应的第二进程信息作为所述第二系统信息;
端口信息收集子模块,当所述系统信息类别为端口信息时,创建并调用驱动程序中系统内核态的传输控制协议设备端口情况查询指令,将该指令响应的第一传输控制协议设备端口情况信息作为所述第一系统信息;调用系统用户态应用程序接口的传输控制协议设备端口情况枚举指令,将该指令响应的第二传输控制协议设备端口情况信息作为所述第二系统信息;
文件信息收集子模块,当所述系统信息类别为文件信息时,创建并调用驱动程序中系统内核态的指定路径文件信息的查询指令,将该指令响应的第一文件信息作为所述第一系统信息;调用系统用户态应用程序接口的指定路径文件信息的查询指令,将该指令响应的第二文件信息作为所述第二系统信息;
注册表信息收集子模块,当所述系统信息类别为注册表信息时,调用系统内核态的注册表信息权限赋予指令,将根据所赋予权限获取的指定路径下的第一注册表键值信息作为所述第一系统信息;调用系统用户态应用程序接口的注册表操作指令,将该指令响应的第二注册表键值信息作为所述第二系统信息;
系统服务信息收集子模块,当所述系统信息类别为系统服务信息时,调用系统内核态的注册表信息权限赋予指令,将根据所赋予权限获取的第一系统服务信息作为所述第一系统信息;调用系统用户态应用程序接口的对系统服务信息进行获取的注册表操作指令,将该指令响应的第二系统服务信息作为所述第二系统信息;
服务提供商接口信息收集子模块,当所述系统信息类别为服务提供商接口信息时,调用系统内核态的注册表信息权限赋予指令,将根据所赋予权限获取的第二服务提供商接口信息作为所述第一系统信息;调用系统用户态应用程序接口的对服务提供商接口信息进行获取的注册表操作指令,将该指令响应的第二服务提供商接口信息作为所述第二系统信息;
恶意行为识别模块,通过识别所述第一系统信息与第二系统信息的差异,检测出所述恶意代码。
本发明实施例通过获得难以被恶意代码修改的第一系统信息,以及容易被恶意代码修改的第二系统信息,通过识别所述第一系统信息与第二系统信息的差异,检测出恶意代码,从而对未知的恶意代码进行检测,提高系统安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例的恶意代码检测方法的主要流程图;
图2是本发明实施例的恶意代码检测方法的具体流程图;
图3是本发明实施例的恶意代码检测系统的主要结构图;
图4是本发明实施例的恶意代码检测系统的具体结构图。
具体实施方式
本发明实施例提供了一种恶意代码检测方法及系统,能根据难以被恶意代码修改的第一系统信息与容易被恶意代码修改的第二系统信息之间的差异,检测出恶意代码,从而对未知的恶意代码进行检测,提高系统安全性。
恶意代码侵入系统时,通常需要修改一些可能指明自己身份的系统信息,该系统信息一般包括进程信息、端口信息、文件信息、注册表信息、系统服务信息、服务提供商接口(Service Provider Interface,SPI)信息等。恶意代码修改系统信息的目的在于向检测软件提供不真实的数据,逃避检测。而各系统信息可分成两种系统信息:难以被恶意代码修改的第一系统信息以及容易被恶意代码修改的第二系统信息。
下面结合附图,对本发明实施例进行详细说明。
图1是本发明实施例的恶意代码检测方法的主要流程图,参照该图,该方法主要包括:
101,获得难以被恶意代码修改的第一系统信息,以及容易被恶意代码修改的第二系统信息。具体地,参照上述系统信息类型的描述,可从系统内核态获得难以被恶意代码修改的第一系统信息,可从系统用户态获得与所述第一系统信息对应的容易被恶意代码修改的第二系统信息;需要说明的是,系统的内核态和系统用户态的区分主要基于多用户系统。在多用户系统上每个用户不能相互干扰,也不能互相窥探秘密的信息,即需要一种保护机制。由于多用户操作系统内核代码是大家共享的运行资源,多用户操作系统(包括windows)核心代码必须运行在高优先级和处于最大保护环境中。这样,运行在一台机器上的代码被分成了两个级别:高保护状态的优先级(内核)和一般级别(用户程序)。当CPU正在运行内核代码时就称系统处于内核态,而当CPU正运行用户代码时则称系统处于系统用户态。
102,通过识别所述第一系统信息与第二系统信息的差异,检测出恶意代码。
图2是本发明实施例的恶意代码检测方法的具体流程图,该方法可用于微软Windows操作系统中,参照该图,该方法主要包括以下步骤
201、程序初始化,安装所有用于收集系统信息(包括第一系统信息及第二系统信息)的驱动模块。
202、接收用户的操作信号,即用户可选择进行基于如下一种或多种系统信息类别的恶意代码检测:进程信息、端口信息、文件信息、注册表信息、系统服务信息、服务提供商接口信息、系统服务描述符表信息、全局描述符表信息、中断描述符表信息。
203、获得难以被恶意代码修改的第一系统信息,以及容易被恶意代码修改的第二系统信息,具体地,包含以下几种情况。
A、当系统信息为进程信息时
获得进程信息中难以被恶意代码修改的第一系统信息的主要过程如下:读取驱动程序中系统内核态的全局句柄表,并判断该全局句柄表中的进程句柄是否为有效句柄,若是,则将该进程句柄对应的进程信息作为第一系统信息。具体地,通过DeviceIoControl指令与驱动程序通信,在驱动程序中,直接读取系统内核态中的全局句柄表PspCidTable,采用穷举法,判断全局句柄表中每个可能存在的进程句柄是否存在有效的进程对象。例如,对于从0到0x43dc中每个为4的倍数的包识别码(Packet Identifier,PID),调用ExMapHandleToPointer指令将句柄映射为对象,判断ExMapHandleToPoint指令的响应结果是否为空,若不为空则判断该进程句柄为有效句柄,将该进程句柄对应的进程信息作为第一系统信息(可作为第一系统信息列表的某一表项);
获得进程信息中容易被恶意代码修改的第二系统信息的主要过程是:调用系统用户态应用程序接口(Application Programming Interface,API)的进程跟踪指令,如EnumProcess枚举指令,将该指令的响应作为第二系统信息(可作为第二系统信息列表的某一表项)。
B、当所述系统信息类别为端口信息时
获得端口信息中难以被恶意代码修改的第一系统信息的主要过程是:创建并调用驱动程序中系统内核态的传输控制协议(Transmission Control Protocol,TCP)设备端口情况查询指令,将该指令响应的第一TCP设备端口情况信息作为第一系统信息。具体地,通过DeviceIoControl指令与驱动程序通信,在驱动程序中,调用ZwCreateFile指令打开TCP设备对象,调用ObReferenceObjectByHandle指令获取TCP设备对象指针,调用IoBuildDeviceIoControlRequest指令创建TCP设备端口查询请求,即输入输出请求包(Input/Output Request Packet,IRP),调用IoSetCompletionRoutine指令设定完例程,最后调用IoCallDriver指令发送所述IRP,将对该IRP响应的第一TCP设备端口情况信息作为所述第一系统信息(可作为第一系统信息列表的某一表项)。
获得端口信息容易被恶意代码修改的第二系统信息的主要过程是:调用系统用户态API的TCP设备端口情况枚举指令,如GetTcpTable指令,将该指令响应的第二TCP设备端口情况信息作为第二系统信息(可作为第二系统信息列表的某一表项)。
C、当所述系统信息类别为文件信息时
获得文件信息中难以被恶意代码修改的第一系统信息的主要过程是:创建并调用驱动程序中系统内核态的指定路径文件信息的查询指令,将该指令响应的第一文件信息作为第一系统信息。具体地,对指定的文件信息的路径进行下述操作,通过DeviceIoControl指令与驱动程序通信,在驱动程序中,首先调用ZwOpenFile指令获取该文件目录句柄,调用ObReferenceObjectByHandle指令获取对应的文件对象,再使用IoAllocateIrp指令分配IRP(即查询指令),并填写IRP各个域以准备查询该文件目录,最后调用IoCallDriver指令发送IRP,将该IRP响应的第一文件信息作为第一系统信息,该第一文件信息包括子目录,以及子文件名称、大小、创建日期、修改日期等信息。另外,对子目录也进行其下所有文件信息的获取,直至查询完指定路径下所有的文件(可作为第一系统信息列表的某一表项)。
获得文件信息中容易被恶意代码修改的第二系统信息的主要过程是:调用系统用户态API的指定路径文件信息的查询指令,如FindFirstFile指令和FindNextFile指令,将该指令响应的第二文件信息作为第二系统信息(可作为第二系统信息列表的某一表项)。
D、当所述系统信息类别为注册表信息时
由于注册表信息要求系统重启后仍然有效,所有注册表信息应是以Hive文件的形式保存在磁盘中的,注册表中的HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\hivelist记录着系统Hive文件的保存路径,而系统许多功能的实现是依赖于其中记录的这些文件提供的信息,因此系统Hive文件是安全的,内容也是最完整的,通常操作系统是不允许其他程序在系统范围内访问这些Hive文件,因此要获得第一系统信息,需要绕过这些Hive文件的保护来读取其中的信息,因此:
获得注册表信息中难以被恶意代码修改的第一系统信息的主要过程是,调用系统内核态的注册表信息权限赋予指令,将根据所赋予权限获取的指定路径下的第一注册表键值信息作为第一系统信息。具体地,可调用如下6指令来完成本步骤:调用RktRegInitialize指令完成注册表检测模块的初始化,包括获取Hive文件读取权限,将注册表信息保存为Hive文件,并可确定HKEY_CURRENT_USER和HKEY_CURRENT_ROOT在Hive文件中的位置;调用RktRegUninitialize指令来释放资源,关闭Hive文件;调用RktRegOpenKey指令在Hive文件中打开指定的键;调用RktRegCloseKey指令在Hive文件中关闭指定的键;调用RktRegEnumKey指令在Hive文件中获取某个打开键的所有子键;调用RktRegEnumValue指令在Hive文件中获取某个打开键的所有值,则在调用RktRegInitialize指令完成注册表检测模块的初始化,获取Hive文件读取权限后,可调用上述6指令中的其他指令来获取的指定路径下的第一注册表键值信息作为第一系统信息(可作为第一系统信息列表的某一表项)。
获得注册表信息中容易被恶意代码修改的第二系统信息的主要过程是,调用系统用户态API的注册表操作指令,将该指令响应的第二注册表键值信息作为第二系统信息(可作为第二系统信息列表的某一表项)。。
E、当所述系统信息类别为系统服务信息时
获得系统服务信息中难以被恶意代码修改的第一系统信息的主要过程是,调用系统内核态的注册表信息权限赋予指令,将根据所赋予权限获取的第一系统服务信息作为第一系统信息。具体地,系统服务信息保存在注册表的HKEY_LOCAL_MACHINE\system\CurrentControlSet\Services中,包括:
e1,进行初始化,判断是否调用过RktRegInitialize指令,若是,则直接转入e2;若否,则调用RktRegInitialize指令进行初始化,包括获取Hive文件读取权限,将注册表信息保存为Hive文件;
e2,打开当前服务所在Hive文件,定位到服务键;
e3,若RktRegEnumKey指令所有子键都已经枚举,则调用RktRegEnumKey指令枚举所有子键,若存在未枚举的子键,转执行e4;
e4,调用RktRegOpenKey打开子键,调用RktRegEnumValue指令读取服务相关值的数据,判断该子键是否是第一系统服务信息,若是,则以该第一系统服务信息作为第一系统信息(可作为第一系统信息列表的某一表项)并转执行e3,否则直接转执行e3;
获得系统服务信息中容易被恶意代码修改的第二系统信息的主要过程是,调用系统用户态API的对系统服务信息进行获取的注册表操作指令,将该指令响应的第二系统服务信息作为第二系统信息(可作为第二系统信息列表的某一表项)。
F、当所述系统信息类别为SPI信息时
获得SPI信息中难以被恶意代码修改的第一系统信息的主要过程是,调用系统内核态的注册表信息权限赋予指令,将根据所赋予权限获取的第二SPI信息作为第一系统信息(可作为第一系统信息列表的某一表项)。
具体地,SPI的所有动态链接库(Dynamic Link Library,DLL)路径保存在注册表HKEY_LOCAL_MACHINE\system\CurrentControlSet\Services\WinSock2\Parameters\Protocol_Catalog9\Catalog_Entries中,包括:
f1,进行初始化,判断是否调用过RktRegInitialize指令,若是,则直接转入f2;若否,则调用RktRegInitialize指令进行初始化,包括获取Hive文件读取权限,将注册表信息保存为Hive文件;
f2,打开当前服务所在Hive文件,定位到服务键,打开SPI所在键;
f3,若RktRegEnumKey指令所有子键都已经枚举,则调用RktRegEnumKey指令枚举所有子键,若存在未枚举的子键,转执行f4;
f4,调用RktRegOpenKey打开子键,调用RktRegEnumValue指令读取SPI数据,并转执行f3;
获得SPI信息中容易被恶意代码修改的第二系统信息的主要过程是,调用系统用户态API的对SPI信息进行获取的注册表操作指令,将该指令响应的第二SPI信息作为第二系统信息(可作为第二系统信息列表的某一表项)。
另外,203步骤还可以包括:
获得系统服务描述符表(System Descriptor Table,SDT)信息、全局描述符表(Global Descriptor Table,GDT)信息或中断描述符表(Interrupt Descriptor Table,IDT)信息,该SDT信息/GDT信息/IDT信息在进行恶意代码检测时,作为提供给用户(如高级用户)的参考信息,获得SDT信息/GDT信息/IDT信息的方式具体为:
调用系统内核态的SDT获取指令,如KeServiceDescriptorTable指令,来获得SDT信息;
调用系统内核态的GDT获取指令,如sgdt指令,并复制相关项,来获得GDT信息;
调用系统内核态的IDT获取指令,如sidt指令,并复制相关项,来获得IDT信息。
204、通过识别所述第一系统信息与第二系统信息的差异,检测出恶意代码。具体地,若系统信息类别为进程信息,则比较作为第一系统信息的第一进程信息(或列表,下同)以及作为第二系统信息的第二进程信息(或列表,下同)是否一致;若系统信息类别为端口信息,则比较作为第一系统信息的第一端口信息以及作为第二系统信息的第二端口信息是否一致;若系统信息类别为文件信息,则比较作为第一系统信息的第一文件信息(文件目录名、文件名等)以及作为第二系统信息的第二文件信息是否一致;若系统信息类别为注册表信息时,则比较作为第一系统信息的第一注册表键值信息以及作为第二系统信息的第二注册表键值信息是否一致;若系统信息类别为系统服务信息时,则比较作为第一系统信息的第一系统服务信息以及作为第二系统信息的第二系统服务信息是否一致;若系统信息类别为SPI信息时,则比较作为第一系统信息的第一SPI信息以及作为第二系统信息的第二SPI信息是否一致,若上述比较得到第一系统信息与第二系统信息具有差异,则检测出了恶意代码,则将所述第一系统信息和第二系统信息之间的差异作为恶意代码可疑行为;
另外,当所述第一系统信息与第二系统信息没有差异时,可释放所述第一系统信息及第二系统信息,以节省存储空间。
205、将恶意代码可疑行为的相关信息提示给用户,询问用户是否忽略或阻断恶意代码的执行。
206、当用户选择忽略或阻断恶意代码的执行时,阻断该恶意代码的执行,还可以记录本次检测过程、检测结果、检测时间等相关信息到日志中。
图3是本发明实施例的恶意代码检测系统的主要结构图,参照该图,该系统主要包括:
系统信息收集模块31,获得难以被恶意代码修改的第一系统信息,以及容易被恶意代码修改的第二系统信息。具体地,可从系统内核态获得难以被恶意代码修改的第一系统信息,可从系统用户态获得与所述第一系统信息对应的容易被所述恶意代码修改的第二系统信息,所述系统信息可以为进程信息、端口信息、文件信息、注册表信息、系统服务信息、服务提供商接口信息中一种或多种的组合;
恶意行为检测模块32,通过识别所述第一系统信息与第二系统信息的差异,检测出恶意代码。
图4是本发明实施例的恶意代码检测系统具体的结构图,该系统可用于微软Windows操作系统中,参照该图,该系统包括以下组成。
系统信息收集模块41,获得难以被恶意代码修改的第一系统信息,以及容易被恶意代码修改的第二系统信息。具体地,该系统信息收集模块41可包括如下各子模块中的一种或多种的组合:
进程信息收集子模块411,用于获得进程信息中,难以被恶意代码修改的第一系统信息和容易被恶意代码修改的第二系统信息;
为了获得进程信息中难以被恶意代码修改的第一系统信息,进程信息收集子模块411读取驱动程序中系统内核态的全局句柄表,并判断该全局句柄表中的进程句柄是否为有效句柄,若是,则将该进程句柄对应的进程信息作为第一系统信息。具体地,通过DeviceIoControl指令与驱动程序通信,在驱动程序中,直接读取系统内核态中的全局句柄表PspCidTable,采用穷举法,判断全局句柄表中每个可能存在的进程句柄是否存在有效的进程对象。例如,对于从0到0x43dc中每个为4的倍数的PID,调用ExMapHandleToPointer指令将句柄映射为对象,判断ExMapHandleToPoint指令的响应结果是否为空,若不为空则判断该进程句柄为有效句柄,将该进程句柄对应的进程信息作为第一系统信息(可作为第一系统信息列表的某一表项);
为了获得进程信息中容易被恶意代码修改的第二系统信息,进程信息收集子模块411调用系统用户态API的进程跟踪指令,如EnumProcess枚举指令,将该指令的响应作为第二系统信息(可作为第二系统信息列表的某一表项);
端口信息收集子模块412,用于获得端口信息中,难以被恶意代码修改的第一系统信息和容易被恶意代码修改的第二系统信息;
为了获得端口信息中难以被恶意代码修改的第一系统信息,所述端口信息收集子模块412创建并调用驱动程序中系统内核态的TCP设备端口情况查询指令,将该指令响应的第一TCP设备端口情况信息作为第一系统信息,具体地,通过DeviceIoControl指令与驱动程序通信,在驱动程序中,调用ZwCreateFile指令打开TCP设备对象,调用ObReferenceObjectByHandle指令获取TCP设备对象指针,调用IoBuildDeviceIoControlRequest指令创建TCP设备端口查询请求,即IRP,调用IoSetCompletionRoutine指令设定完例程,最后调用IoCallDriver指令发送所述IRP,根据对该IRP响应的第一TCP设备端口情况信息作为所述第一系统信息(可作为第一系统信息列表的某一表项);
为了获得端口信息中容易被恶意代码修改的第二系统,所述端口信息收集子模块412信息调用系统用户态API的TCP设备端口情况枚举指令,如GetTcpTable指令,将该指令响应的第二TCP设备端口情况信息作为第二系统信息(可作为第二系统信息列表的某一表项);
文件信息收集子模块413,用于获得文件信息中,难以被恶意代码修改的第一系统信息和容易被恶意代码修改的第二系统信息;
为了获得文件信息中难以被恶意代码修改的第一系统信息,所述文件信息收集子模块413创建并调用驱动程序中系统内核态的指定路径文件信息的查询指令,将该指令响应的第一文件信息作为第一系统信息,具体地,对指定的文件信息的路径进行下述操作,通过DeviceIoControl指令与驱动程序通信,在驱动程序中,首先调用ZwOpenFile指令获取该文件目录句柄,调用ObReferenceObjectByHandle指令获取对应的文件对象,再使用IoAllocateIrp指令分配IRP(即查询指令),并填写IRP各个域以准备查询该文件目录,最后调用IoCallDriver指令发送IRP,将该IRP响应的第一文件信息作为第一系统信息(可作为第一系统信息列表的某一表项),该第一文件信息包括子目录,以及子文件名称、大小、创建日期、修改日期等信息,另外,对子目录也进行其下所有文件信息的获取,直至查询完指定路径下所有的文件;
为了获得文件信息中容易被恶意代码修改的第二系统,所述文件信息收集子模块413调用系统用户态API的指定路径文件信息的查询指令,如FindFirstFile指令和FindNextFile指令,将该指令响应的第二文件信息作为第二系统信息(可作为第二系统信息列表的某一表项);
注册表信息收集子模块414,用于获得注册表信息中,难以被恶意代码修改的第一系统信息和容易被恶意代码修改的第二系统信息;
由于注册表信息要求系统重启后仍然有效,所有注册表信息应是以Hive文件的形式保存在磁盘中的,注册表中的HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\hivelist记录着系统Hive文件的保存路径,而系统许多功能的实现是依赖于其中记录的这些文件提供的信息,因此系统Hive文件是安全的,内容也是最完整的,通常操作系统是不允许其他程序在系统范围内访问这些Hive文件,因此要获得第一系统信息,需要绕过这些Hive文件的保护来读取其中的信息。
为了获得注册表信息中难以被恶意代码修改的第一系统信息,注册表信息收集子模块414调用系统内核态的注册表信息权限赋予指令,将根据所赋予权限获取的指定路径下的第一注册表键值信息作为第一系统信息,具体地,可调用如下6指令来完成本子模块功能:调用RktRegInitialize指令完成注册表检测模块的初始化,包括获取Hive文件读取权限,将注册表信息保存为Hive文件,并可确定HKEY_CURRENT_USER和HKEY_CURRENT_ROOT在Hive文件中的位置;调用RktRegUninitialize指令来释放资源,关闭Hive文件;调用RktRegOpenKey指令在Hive文件中打开指定的键;调用RktRegCloseKey指令在Hive文件中关闭指定的键;调用RktRegEnumKey指令在Hive文件中获取某个打开键的所有子键;调用RktRegEnumValue指令在Hive文件中获取某个打开键的所有值,则在调用RktRegInitialize指令完成注册表检测模块的初始化,获取Hive文件读取权限后,可调用上述6指令中的其他指令来获取的指定路径下的第一注册表键值信息作为第一系统信息(可作为第一系统信息列表的某一表项);
为了获得注册表信息中容易被恶意代码修改的第二系统信息,注册表信息收集子模块414调用系统用户态API的注册表操作指令,将该指令响应的第二注册表键值信息作为第二系统信息(可作为第二系统信息列表的某一表项);
系统服务信息收集子模块415,用于获得系统服务信息中,难以被恶意代码修改的第一系统信息和容易被恶意代码修改的第二系统信息;
为了获得系统服务信息中,难以被恶意代码修改的第一系统信息,系统服务信息收集子模块415调用系统内核态的注册表信息权限赋予指令,将根据所赋予权限获取的第一系统服务信息作为第一系统信息,具体地,系统服务信息保存在注册表的HKEY_LOCAL_MACHINE\system\CurrentControlSet\Services中,首先,进行初始化,判断是否调用过RktRegInitialize指令,若是,则直接打开当前服务所在的Hive文件读取权限,定位到服务键;若否,则调用RktRegInitialize指令进行初始化,包括获取Hive文件读取权限,将注册表信息保存为Hive文件后打开当前服务所在Hive文件,定位到服务键,若RktRegEnumKey指令所有子键都已经枚举,则调用RktRegEnumKey指令枚举所有子键,若存在未枚举的子键,调用RktRegOpenKey打开子键,调用RktRegEnumValue指令读取服务相关值的数据,判断该子键是否是第一系统服务信息,若是,则以该第一系统服务信息作为第一系统信息(可作为第一系统信息列表的某一表项);
为了获得系统服务信息中容易被恶意代码修改的第二系统信息,系统服务信息收集子模块415调用系统用户态API的对系统服务信息进行获取的注册表操作指令,将该指令响应的第二系统服务信息作为第二系统信息(可作为第二系统信息列表的某一表项);
服务提供商接口信息收集子模块416,用于获得服务提供商接口信息中,难以被恶意代码修改的第一系统信息和容易被恶意代码修改的第二系统信息;
为了获得服务提供商接口信息中,难以被恶意代码修改的第一系统信息,服务提供商接口信息收集子模块416调用系统内核态的注册表信息权限赋予指令,将根据所赋予权限获取的第一SPI信息作为第一系统信息(可作为第一系统信息列表的某一表项),具体地,SPI的所有DLL路径保存在注册表HKEY_LOCAL_MACHINE\system\CurrentControlSet\Services\WinSock2\Parameters\Protocol_Catalog9\Catalog_Entries中,首先,进行初始化,判断是否调用过RktRegInitialize指令,若是,则打开当前服务所在Hive文件,定位到服务键,打开SPI所在键;若否,则调用RktRegInitialize指令进行初始化,包括获取Hive文件读取权限,将注册表信息保存为Hive文件后再打开当前服务所在Hive文件,定位到服务键,打开SPI所在键,若RktRegEnumKey指令所有子键都已经枚举,则调用RktRegEnumKey指令枚举所有子键,若存在未枚举的子键,调用RktRegOpenKey打开子键,调用RktRegEnumValue指令读取SPI数据;
为了获得服务提供商接口信息中,容易被恶意代码修改的第二系统信息,服务提供商接口信息收集子模块416调用系统用户态API的对SPI信息进行获取的注册表操作指令,将该指令响应的第二SPI信息作为第二系统信息(可作为第二系统信息列表的某一表项)。
另外,该系统信息收集模块41还可以包括:
参考信息收集子模块417,获得SDT信息、GDT信息或IDT信息,所述SDT信息、GDT信息或IDT信息在进行恶意代码检测时,作为提供给用户(如高级用户)的参考信息。具体地,可调用系统内核态的SDT获取指令,如KeServiceDescriptorTable指令,来获得SDT信息;调用系统内核态的GDT获取指令,如sgdt指令,并复制相关项,来获得GDT信息;或者调用系统内核态的IDT获取指令,如sidt指令,并复制相关项,来获得IDT信息;
恶意行为检测模块42,通过识别所述第一系统信息与第二系统信息的差异,检测出所述恶意代码。具体地,若系统信息类别为进程信息,则比较作为第一系统信息的第一进程信息(或列表,下同)以及作为第二系统信息的第二进程信息(或列表,下同)是否一致;若系统信息类别为端口信息,则比较作为第一系统信息的第一端口信息以及作为第二系统信息的第二端口信息是否一致;若系统信息类别为文件信息,则比较作为第一系统信息的第一文件信息(文件目录名、文件名等)以及作为第二系统信息的第二文件信息是否一致;若系统信息类别为注册表信息时,则比较作为第一系统信息的第一注册表键值信息以及作为第二系统信息的第二注册表键值信息是否一致;若系统信息类别为系统服务信息时,则比较作为第一系统信息的第一系统服务信息以及作为第二系统信息的第二系统服务信息是否一致;若系统信息类别为SPI信息时,则比较作为第一系统信息的第一SPI信息以及作为第二系统信息的第二SPI信息是否一致,若上述比较得到第一系统信息与第二系统信息具有差异,则将所述第一系统信息和第二系统信息之间的差异作为恶意代码可疑行为;
恶意行为阻断单元43,将恶意代码可疑行为的相关信息提示给用户,询问用户是否忽略或阻断恶意代码的执行,当用户选择阻断恶意代码的执行时,阻断该恶意代码的执行,还可以记录本次检测过程、检测结果、检测时间等相关信息到日志中。
通过实施上述本发明实施例,根据难以被恶意代码修改的第一系统信息及容易被恶意代码修改的第二系统信息,通过两者差异的识别,并且将所述第一系统信息和第二系统信息之间的差异作为恶意代码可疑行为,可以有效地检测出各种隐藏的恶意代码,由于检测针对的是恶意代码可疑行为,而不是恶意代码本身,因此恶意代码无论如何变形都可从系统信息中检测出来,从而提高系统安全性。
另外,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所述是本发明的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

Claims (6)

1.一种恶意代码检测方法,其特征在于,包括:
获得难以被恶意代码修改的第一系统信息,以及容易被恶意代码修改的第二系统信息;
所述系统信息包括进程信息、端口信息、文件信息、注册表信息、系统服务信息、服务提供商接口信息中一种或多种的组合;
所述获得难以被恶意代码修改的第一系统信息,以及容易被恶意代码修改的第二系统信息包括:
当所述系统信息类别为进程信息时,读取驱动程序中系统内核态的全局句柄表,并判断该全局句柄表中的进程句柄是否为有效句柄,若是,则将该进程句柄对应的第一进程信息作为所述第一系统信息;调用系统用户态应用程序接口的进程跟踪指令,将该指令响应的第二进程信息作为所述第二系统信息;
当所述系统信息类别为端口信息时,创建并调用驱动程序中系统内核态的传输控制协议设备端口情况查询指令,将该指令响应的第一传输控制协议设备端口情况信息作为所述第一系统信息;调用系统用户态应用程序接口的传输控制协议设备端口情况枚举指令,将该指令响应的第二传输控制协议设备端口情况信息作为所述第二系统信息;
当所述系统信息类别为文件信息时,创建并调用驱动程序中系统内核态的指定路径文件信息的查询指令,将该指令响应的第一文件信息作为所述第一系统信息;调用系统用户态应用程序接口的指定路径文件信息的查询指令,将该指令响应的第二文件信息作为所述第二系统信息;
当所述系统信息类别为注册表信息时,调用系统内核态的注册表信息权限赋予指令,将根据所赋予权限获取的指定路径下的第一注册表键值信息作为所述第一系统信息;调用系统用户态应用程序接口的注册表操作指令,将该指令响应的第二注册表键值信息作为所述第二系统信息;
当所述系统信息类别为系统服务信息时,
调用系统内核态的注册表信息权限赋予指令,将根据所赋予权限获取的第一系统服务信息作为所述第一系统信息;调用系统用户态应用程序接口的对系统服务信息进行获取的注册表操作指令,将该指令响应的第二系统服务信息作为所述第二系统信息;或者,
当所述系统信息类别为服务提供商接口信息时,调用系统内核态的注册表信息权限赋予指令,将根据所赋予权限获取的第二服务提供商接口信息作为所述第一系统信息;调用系统用户态应用程序接口的对服务提供商接口信息进行获取的注册表操作指令,将该指令响应的第二服务提供商接口信息作为所述第二系统信息;
通过识别所述第一系统信息与第二系统信息的差异,检测出所述恶意代码。
2.如权利要求1所述的恶意代码检测方法,其特征在于,该方法还包括:
获得系统服务描述符表信息、全局描述符表信息或中断描述符表信息,作为恶意代码检测时提供给用户的参考信息。
3.如权利要求1所述的恶意代码检测方法,其特征在于,该方法还包括:
阻断所述恶意代码的执行和/或记录相关信息。
4.一种恶意代码检测系统,其特征在于,包括:
系统信息收集模块,获得难以被恶意代码修改的第一系统信息,以及容易被所述恶意代码修改的第二系统信息;
所述系统信息包括进程信息、端口信息、文件信息、注册表信息、系统服务信息、服务提供商接口信息中一种或多种的组合;
所述系统信息收集模块包括如下子模块中的一种或多种的组合:
进程信息收集子模块,当所述系统信息类别为进程信息时,读取驱动程序中系统内核态的全局句柄表,并判断该全局句柄表中的进程句柄是否为有效句柄,若是,则将该进程句柄对应的第一进程信息作为所述第一系统信息;调用系统用户态应用程序接口的进程跟踪指令,将该指令响应的第二进程信息作为所述第二系统信息;
端口信息收集子模块,当所述系统信息类别为端口信息时,创建并调用驱动程序中系统内核态的传输控制协议设备端口情况查询指令,将该指令响应的第一传输控制协议设备端口情况信息作为所述第一系统信息;调用系统用户态应用程序接口的传输控制协议设备端口情况枚举指令,将该指令响应的第二传输控制协议设备端口情况信息作为所述第二系统信息;
文件信息收集子模块,当所述系统信息类别为文件信息时,创建并调用驱动程序中系统内核态的指定路径文件信息的查询指令,将该指令响应的第一文件信息作为所述第一系统信息;调用系统用户态应用程序接口的指定路径文件信息的查询指令,将该指令响应的第二文件信息作为所述第二系统信息;
注册表信息收集子模块,当所述系统信息类别为注册表信息时,调用系统内核态的注册表信息权限赋予指令,将根据所赋予权限获取的指定路径下的第一注册表键值信息作为所述第一系统信息;调用系统用户态应用程序接口的注册表操作指令,将该指令响应的第二注册表键值信息作为所述第二系统信息;
系统服务信息收集子模块,当所述系统信息类别为系统服务信息时,调用系统内核态的注册表信息权限赋予指令,将根据所赋予权限获取的第一系统服务信息作为所述第一系统信息;调用系统用户态应用程序接口的对系统服务信息进行获取的注册表操作指令,将该指令响应的第二系统服务信息作为所述第二系统信息;
服务提供商接口信息收集子模块,当所述系统信息类别为服务提供商接口信息时,调用系统内核态的注册表信息权限赋予指令,将根据所赋予权限获取的第二服务提供商接口信息作为所述第一系统信息;调用系统用户态应用程序接口的对服务提供商接口信息进行获取的注册表操作指令,将该指令响应的第二服务提供商接口信息作为所述第二系统信息;
恶意行为检测模块,通过识别所述第一系统信息与第二系统信息的差异,检测出所述恶意代码。
5.如权利要求4所述的恶意代码检测系统,其特征在于,所述系统信息收集模块还包括:
参考信息收集子模块,获得系统服务描述符表信息、全局描述符表信息或中断描述符表信息,作为恶意代码检测时提供给用户的参考信息。
6.如权利要求4所述的恶意代码检测系统,其特征在于,该系统还包括:
恶意行为阻断模块,阻断所述恶意代码的执行和/或记录相关信息。
CN2008100291745A 2008-06-28 2008-06-28 恶意代码检测方法及系统 Expired - Fee Related CN101304409B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN2008100291745A CN101304409B (zh) 2008-06-28 2008-06-28 恶意代码检测方法及系统
PCT/CN2009/071451 WO2009155805A1 (zh) 2008-06-28 2009-04-24 恶意代码检测方法及系统
US12/483,681 US20090327688A1 (en) 2008-06-28 2009-06-12 Method and system for detecting a malicious code

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008100291745A CN101304409B (zh) 2008-06-28 2008-06-28 恶意代码检测方法及系统

Publications (2)

Publication Number Publication Date
CN101304409A CN101304409A (zh) 2008-11-12
CN101304409B true CN101304409B (zh) 2011-04-13

Family

ID=40114123

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008100291745A Expired - Fee Related CN101304409B (zh) 2008-06-28 2008-06-28 恶意代码检测方法及系统

Country Status (3)

Country Link
US (1) US20090327688A1 (zh)
CN (1) CN101304409B (zh)
WO (1) WO2009155805A1 (zh)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101304409B (zh) * 2008-06-28 2011-04-13 成都市华为赛门铁克科技有限公司 恶意代码检测方法及系统
CN101763481B (zh) * 2010-01-15 2011-07-27 北京工业大学 基于lzw压缩算法的未知恶意代码检测方法
US8713679B2 (en) * 2011-02-18 2014-04-29 Microsoft Corporation Detection of code-based malware
CN102156834B (zh) * 2011-04-18 2013-04-24 北京思创银联科技股份有限公司 实现进程防杀的方法
US9436826B2 (en) 2011-05-16 2016-09-06 Microsoft Technology Licensing, Llc Discovering malicious input files and performing automatic and distributed remediation
CN102737197A (zh) * 2011-09-23 2012-10-17 新奥特(北京)视频技术有限公司 一种用于数据设备的屏蔽方法和装置
CN102737175A (zh) * 2011-09-23 2012-10-17 新奥特(北京)视频技术有限公司 一种数据安全防控中的设备接入方法、用户设备及装置
CN102737193A (zh) * 2011-09-23 2012-10-17 新奥特(北京)视频技术有限公司 一种数据安全防控中的设备屏蔽方法及装置
CN102411687B (zh) * 2011-11-22 2014-04-23 华北电力大学 未知恶意代码的深度学习检测方法
US8640242B2 (en) * 2011-12-01 2014-01-28 Mcafee, Inc. Preventing and detecting print-provider startup malware
US9038185B2 (en) 2011-12-28 2015-05-19 Microsoft Technology Licensing, Llc Execution of multiple execution paths
CN103679013B (zh) * 2012-09-03 2017-10-31 腾讯科技(深圳)有限公司 系统恶意程序检测方法及装置
GB2507036A (en) * 2012-10-10 2014-04-23 Lifecake Ltd Content prioritization
US9183062B2 (en) * 2013-02-25 2015-11-10 International Business Machines Corporation Automated application reconfiguration
US9794106B1 (en) * 2013-03-04 2017-10-17 Google Inc. Detecting application store ranking spam
US9213839B2 (en) 2013-03-14 2015-12-15 Huawei Technologies Co., Ltd. Malicious code detection technologies
US9832217B2 (en) * 2014-03-13 2017-11-28 International Business Machines Corporation Computer implemented techniques for detecting, investigating and remediating security violations to IT infrastructure
US9710648B2 (en) 2014-08-11 2017-07-18 Sentinel Labs Israel Ltd. Method of malware detection and system thereof
US11507663B2 (en) 2014-08-11 2022-11-22 Sentinel Labs Israel Ltd. Method of remediating operations performed by a program and system thereof
US10102374B1 (en) 2014-08-11 2018-10-16 Sentinel Labs Israel Ltd. Method of remediating a program and system thereof by undoing operations
US9514305B2 (en) * 2014-10-17 2016-12-06 Qualcomm Incorporated Code pointer authentication for hardware flow control
US9733969B2 (en) * 2015-06-30 2017-08-15 EMC IP Holding Company LLC Method and system for malware detection in virtual machines
CN105160247B (zh) * 2015-09-30 2019-05-31 北京奇虎科技有限公司 一种识别浏览器被劫持的方法
TWI611349B (zh) * 2015-12-11 2018-01-11 財團法人資訊工業策進會 檢測系統及其方法
CN106560831B (zh) * 2015-12-31 2019-07-02 哈尔滨安天科技股份有限公司 一种恶意代码绕过主动防御的发现方法及系统
CN108170437B (zh) * 2016-12-07 2021-03-12 腾讯科技(深圳)有限公司 一种应用管理方法及终端设备
US11616812B2 (en) 2016-12-19 2023-03-28 Attivo Networks Inc. Deceiving attackers accessing active directory data
US11695800B2 (en) 2016-12-19 2023-07-04 SentinelOne, Inc. Deceiving attackers accessing network data
US10489185B2 (en) * 2017-03-17 2019-11-26 Nicira, Inc. Hypervisor-assisted approach for locating operating system data structures based on attribute matching
US20180267818A1 (en) * 2017-03-17 2018-09-20 Nicira, Inc. Hypervisor-assisted approach for locating operating system data structures based on notification data
US11314862B2 (en) * 2017-04-17 2022-04-26 Tala Security, Inc. Method for detecting malicious scripts through modeling of script structure
JP2020530922A (ja) 2017-08-08 2020-10-29 センチネル ラボ, インコーポレイテッドSentinel Labs, Inc. エッジネットワーキングのエンドポイントを動的にモデリングおよびグループ化する方法、システム、およびデバイス
KR102022168B1 (ko) * 2017-12-15 2019-09-18 이방훈 하드웨어 태스크 스위칭을 이용한 은닉 태스크의 감지 방법 및 장치
US11470115B2 (en) 2018-02-09 2022-10-11 Attivo Networks, Inc. Implementing decoys in a network environment
CN110866253B (zh) * 2018-12-28 2022-05-27 北京安天网络安全技术有限公司 一种威胁分析方法、装置、电子设备及存储介质
US11086996B2 (en) * 2019-04-12 2021-08-10 International Business Machines Corporation Automatic idle-state scanning for malicious code
EP3973427A4 (en) 2019-05-20 2023-06-21 Sentinel Labs Israel Ltd. SYSTEMS AND METHODS FOR EXECUTABLE CODE DETECTION, AUTOMATIC FEATURE EXTRACTION, AND POSITION-INDEPENDENT CODE DETECTION
CN112241529B (zh) * 2019-07-16 2024-03-29 腾讯科技(深圳)有限公司 恶意代码检测方法、装置、存储介质和计算机设备
CN112084492A (zh) * 2020-09-18 2020-12-15 中科御信科技发展(许昌)有限公司 使用irp和局部序列比对算法检测分布式恶意软件的方法
US11579857B2 (en) 2020-12-16 2023-02-14 Sentinel Labs Israel Ltd. Systems, methods and devices for device fingerprinting and automatic deployment of software in a computing network using a peer-to-peer approach
US11899782B1 (en) 2021-07-13 2024-02-13 SentinelOne, Inc. Preserving DLL hooks
US20230171099A1 (en) * 2021-11-27 2023-06-01 Oracle International Corporation Methods, systems, and computer readable media for sharing key identification and public certificate data for access token verification
CN114661492B (zh) * 2022-03-03 2023-04-07 深圳融安网络科技有限公司 进程通信方法、系统、终端设备及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1449515A (zh) * 2000-07-01 2003-10-15 马科尼通讯有限公司 检测恶意代码的方法
CN1647007A (zh) * 2002-04-13 2005-07-27 计算机联合思想公司 检测怀有恶意代码的系统与方法
CN101183418A (zh) * 2007-12-25 2008-05-21 北京大学 一种Windows隐蔽性恶意软件检测方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7627898B2 (en) * 2004-07-23 2009-12-01 Microsoft Corporation Method and system for detecting infection of an operating system
US7725735B2 (en) * 2005-03-29 2010-05-25 International Business Machines Corporation Source code management method for malicious code detection
US7841006B2 (en) * 2005-10-05 2010-11-23 Computer Associates Think, Inc. Discovery of kernel rootkits by detecting hidden information
US7461036B2 (en) * 2006-01-18 2008-12-02 International Business Machines Corporation Method for controlling risk in a computer security artificial neural network expert system
AU2007200606A1 (en) * 2006-03-03 2007-09-20 Pc Tools Technology Pty Limited Scanning files using direct file system access
KR100799302B1 (ko) * 2006-06-21 2008-01-29 한국전자통신연구원 시스템 이벤트 정보를 이용한 은닉 프로세스 탐지 시스템및 방법
US7814549B2 (en) * 2006-08-03 2010-10-12 Symantec Corporation Direct process access
US8281393B2 (en) * 2006-11-08 2012-10-02 Mcafee, Inc. Method and system for detecting windows rootkit that modifies the kernel mode system service dispatch table
US7921461B1 (en) * 2007-01-16 2011-04-05 Kaspersky Lab, Zao System and method for rootkit detection and cure
US8458794B1 (en) * 2007-09-06 2013-06-04 Mcafee, Inc. System, method, and computer program product for determining whether a hook is associated with potentially unwanted activity
US8397295B1 (en) * 2007-12-20 2013-03-12 Symantec Corporation Method and apparatus for detecting a rootkit
CN101304409B (zh) * 2008-06-28 2011-04-13 成都市华为赛门铁克科技有限公司 恶意代码检测方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1449515A (zh) * 2000-07-01 2003-10-15 马科尼通讯有限公司 检测恶意代码的方法
CN1647007A (zh) * 2002-04-13 2005-07-27 计算机联合思想公司 检测怀有恶意代码的系统与方法
CN101183418A (zh) * 2007-12-25 2008-05-21 北京大学 一种Windows隐蔽性恶意软件检测方法

Also Published As

Publication number Publication date
CN101304409A (zh) 2008-11-12
WO2009155805A1 (zh) 2009-12-30
US20090327688A1 (en) 2009-12-31

Similar Documents

Publication Publication Date Title
CN101304409B (zh) 恶意代码检测方法及系统
US7606946B2 (en) Removable device and program startup method
CN102662741B (zh) 虚拟桌面的实现方法、装置和系统
US9275229B2 (en) System to bypass a compromised mass storage device driver stack and method thereof
KR101928127B1 (ko) 애플리케이션용 선택적 파일 액세스 기법
US9104895B2 (en) Method for accessing a portable data storage medium with auxiliary module and portable data storage medium
US7788665B2 (en) Migrating a virtual machine that owns a resource such as a hardware device
CA2140165C (en) Method and system for providing protected mode device drivers
US9454387B2 (en) Method and system for installing portable executable applications
US7600133B2 (en) Backing up at least one encrypted computer file
EP2704004B1 (en) Computing device having a dll injection function, and dll injection method
US8417969B2 (en) Storage volume protection supporting legacy systems
CN116680037A (zh) 数据隔离方法及装置、电子设备
US20090019223A1 (en) Method and systems for providing remote strage via a removable memory device
CN102124436A (zh) 用于便携式存储器件的动态文件系统限制
WO2000063760A2 (en) A device driver for accessing computer files
US20040167996A1 (en) Computer system having a virtualized I/O device
US7793004B2 (en) Computer peripheral device implemented as optic storage device or/and removable disk by software emulation and implementing method thereof
CN101373457B (zh) Windows环境下一种基于USB设备的硬盘写保护锁的方法
JP4149434B2 (ja) ファイル・オープン時にファイル・ロックが実施されるオペレーティング・システムを有するコンピュータ・システム内の少なくとも1つのターゲット・ファイルにアクセスする方法およびシステム
KR101460451B1 (ko) 프로세스 주소 공간을 제어하는 장치 및 방법
JP4853671B2 (ja) アクセス権限判定システム、アクセス権限判定方法及びアクセス権限判定プログラム
CN101236533B (zh) Windows环境下一种基于PCI卡实现硬盘写保护锁的方法
JP5482781B2 (ja) 情報処理システム及び情報処理システムの動作方法
KR101079968B1 (ko) 이동 통신 단말의 사용자가 소속된 그룹에 따라 상기 이동통신 단말의 런처를 자동 변경시켜주는 방법 및 시스템

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: CHENGDU CITY HUAWEI SAIMENTEKE SCIENCE CO., LTD.

Free format text: FORMER OWNER: HUAWEI TECHNOLOGY CO., LTD.

Effective date: 20090508

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

Effective date of registration: 20090508

Address after: Qingshui River District, Chengdu high tech Zone, Sichuan Province, China: 611731

Applicant after: Chengdu Huawei Symantec Technologies Co., Ltd.

Address before: Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Province, China: 518129

Applicant before: Huawei Technologies Co., Ltd.

C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee

Owner name: HUAWEI DIGITAL TECHNOLOGY (CHENGDU) CO., LTD.

Free format text: FORMER NAME: CHENGDU HUAWEI SYMANTEC TECHNOLOGIES CO., LTD.

CP01 Change in the name or title of a patent holder

Address after: 611731 Chengdu high tech Zone, Sichuan, West Park, Qingshui River

Patentee after: Huawei Symantec Technologies Co., Ltd.

Address before: 611731 Chengdu high tech Zone, Sichuan, West Park, Qingshui River

Patentee before: Chengdu Huawei Symantec Technologies Co., Ltd.

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

Termination date: 20160628