CN101727348B - 一种可疑代码分析方法及装置 - Google Patents

一种可疑代码分析方法及装置 Download PDF

Info

Publication number
CN101727348B
CN101727348B CN2008102164744A CN200810216474A CN101727348B CN 101727348 B CN101727348 B CN 101727348B CN 2008102164744 A CN2008102164744 A CN 2008102164744A CN 200810216474 A CN200810216474 A CN 200810216474A CN 101727348 B CN101727348 B CN 101727348B
Authority
CN
China
Prior art keywords
code
execution environment
virtual execution
host computer
computer system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN2008102164744A
Other languages
English (en)
Other versions
CN101727348A (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.)
Chengdu Huawei Technology 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 CN2008102164744A priority Critical patent/CN101727348B/zh
Publication of CN101727348A publication Critical patent/CN101727348A/zh
Application granted granted Critical
Publication of CN101727348B publication Critical patent/CN101727348B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明实施例提供一种可疑代码分析方法,包括创建代码虚拟执行环境,所述代码虚拟执行环境创建主机系统的常用进程;将可疑代码对主机系统的常用进程的操作重定向到所述代码虚拟执行环境创建的进程;将可疑代码对主机系统的文件系统或注册表的操作重定向到所述代码虚拟执行环境创建的虚拟的文件系统或虚拟的注册表;记录可疑代码运行时的行为特征并保存为日志文件;将所述日志文件通过命名管道发送至所述主机系统进行分析,所述命名管道对于所述代码虚拟执行环境中的可疑代码是不可见的。本发明实施例还提供一种可疑代码分析装置,本发明实施例可避免可疑代码对主机系统的进程造成影响。

Description

一种可疑代码分析方法及装置
技术领域
本发明涉及计算机安全技术领域,尤其涉及一种可疑代码分析方法及装置。 
背景技术
可疑代码行为分析环境在理论上是一种虚拟执行环境,而这一个虚拟执行环境的建立的理论依据就是虚拟机(virtual machine,VM)技术。 
传统的虚拟机技术,就是所谓的硬件级虚拟机,它的理论原理是对硬件进行虚拟化,向运行在其上的VM提供接口,每个VM上运行一个独立的GuestOS,每个GuestOS都认为自己独立运行在硬件之上。硬件级虚拟机的设计与实现都非常复杂,并且每一种虚拟机的具体实现方案都有所不同,比如:VmWare,Microsoft Virtual PC,但是它们的大体思路是一样的,就是对硬件进行虚拟化,其中最重要的部分是CPU虚拟化,内存虚拟化和设备虚拟化。 
但是硬件级虚拟机的设计与实现是非常困难的,涉及到的技术领域也非常广,因此到现在为止,能够实现硬件级虚拟机的只有少数几个大公司和几个研究机构;硬件级虚拟机对资源占用很大,原因之一是指令的执行依靠VMM的转化,第二是缺页中断需要VMM处理,第三是I/O操作也要VMM参与,此外CPU调度算法的优劣,I/O调度算法的优劣也是决定因素之一。 
为了解决硬件级虚拟机上述两个问题,另外一种被称作操作系统级虚拟机产生了。这种虚拟机对系统调用进行虚拟化,对运行其上的应用程序提供一个虚拟执行环境,并且提供相当程度的隔离。所有的操作系统VM都共享主机OS的内核组件,包括硬件抽象层,设备驱动,OS kernel(操作系统内核)和OS Executive,和系统启动所需的组件。每个新VM启动的操作系统环境和主机OS当时的环境是一致的。这样,VM启动的时延,初始化所需 要的资源都是很少的,VM在运行的时候对主机OS造成的负担也是很小的,因为它采用的是命名空间虚拟化技术。 
操作系统级的虚拟机的优势就是,设计与实现比较简单,运行时负担比较小,并且能够提供进程间的隔离,因此在许多方面都有应用。 
在实现本发明的过程中,发明人发现现有技术中至少存在如下问题:由于操作系统级虚拟机是依赖操作系统的,所以有大部分操作系统内核是不能够被修改的,而系统某些程序或是组件是紧密依赖与这些内核结构的,所以操作系统级的虚拟机不能完全的提供虚拟化;由于不能完全提供虚拟化,直接利用现有的操作系统级虚拟机来分析可疑代码的行为是不合适的;利用这种理论实现的系统大部分只提到了如何将VM APP(指虚拟机中运行的进程)限制在VM中,而没有详细说明如何防止VM APP对主机系统的干扰。 
发明内容
本发明实施例提供一种可疑代码分析方法及装置,实现对可疑代码的行为采集与分析在虚拟执行环境中进行,并且提供良好的隔离效果,避免可疑代码对主机进程造成破坏。 
本发明实施例提供一种可疑代码分析方法,包括: 
创建代码虚拟执行环境,所述代码虚拟执行环境创建主机系统的常用进程;启动可疑代码,所述可疑代码对主机系统进行操作;将可疑代码对主机系统的常用进程的操作重定向到所述代码虚拟执行环境创建的进程; 
将可疑代码对主机系统的文件系统或注册表的操作重定向到所述代码虚拟执行环境创建的虚拟的文件系统或虚拟的注册表; 
记录可疑代码运行时的行为特征并保存为日志文件; 
将所述日志文件通过命名管道发送至所述主机系统进行分析,所述命名管道对于所述代码虚拟执行环境中的可疑代码是不可见的。 
本发明实施例提供一种可疑代码分析装置,包括: 
虚拟执行环境创建模块,用于创建代码虚拟执行环境,所述代码虚拟执行环境创建主机系统的常用进程;可疑代码启动模块,用于启动可疑代码,所述可疑代码对主机系统进行操作; 
重定向模块,用于将可疑代码对主机系统的常用进程的操作重定向到所述代码虚拟执行环境创建的进程,将可疑代码对主机系统的文件系统或注册表的操作重定向到所述代码虚拟执行环境创建的虚拟的文件系统或虚拟的注册表; 
行为记录模块,用于记录可疑代码运行时的行为特征并保存为日志文件; 
管道通信模块,用于将所述日志文件通过命名管道发送至所述主机系统进行分析,所述命名管道对于所述代码虚拟执行环境中的可疑代码是不可见的。 
本发明实施例通过创建所述代码虚拟执行环境,在可疑代码对主机系统进行操作后,将记录的可疑代码的日志文件通过命名管道发送至所述主机系统进行分析,由于这个命名管道对于所述代码虚拟执行环境中的可疑代码是不可见的,可避免可疑代码不能通过这个命名管道对主机系统的进程造成影响。 
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。 
附图说明
图1是本发明实施例一可疑代码分析方法的流程示意图; 
图2是本发明实施例二可疑代码分析方法的流程示意图; 
图3是本发明实施例一可疑代码分析装置的结构示意图; 
图4是本发明实施例二可疑代码分析装置的结构示意图。 
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施方式,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不用于限定本发明。 
请参考图1,为本发明实施例一可疑代码分析方法的流程示意图,其步骤包括: 
步骤S10:创建代码虚拟执行环境,所述代码虚拟执行环境创建主机系统的常用进程。 
首先,启动可疑代码行为采集分析环境程序(MCVEE.EXE),并初始化可疑代码行为采集分析环境。所述初始化过程包括:加载各功能模块,所述功能模块可包括文件模块、注册表模块、内核对象模块和管道通信模块。 
所述文件模块用于对代码虚拟执行环境中运行的进程虚拟出一个文件系统,使得代码虚拟执行环境中的进程都运行于这个虚拟的文件系统上,从而保护主机文件系统不被可疑代码破坏。 
所述注册表模块用于对代码虚拟执行环境中运行的进程虚拟出一个注册表系统,使得代码虚拟执行环境中的进程都运行于这个虚拟的注册表系统上,从而保护主机注册表系统不被可疑代码破坏。 
所述内核对象模块用于对代码虚拟执行环境中运行的进程虚拟出一个内核对象的命名空间,保护代码虚拟执行环境中的内核对象不被主机系统进程所干扰,提高代码虚拟执行环境与主机系统的隔离度。 
所述管道通信模块用于限制主机进程和代码虚拟执行环境中的进程之间进行通信,只允许主机进程和代码虚拟执行环境中的进程利用一个特定的命名管道进行通信。这个命名管道对于代码虚拟执行环境中的可疑代码是不可见的,并只被代码虚拟执行环境进程本身所使用,这个命名管道可以用于 把代码虚拟执行环境中的日志文件安全的传送到主机系统中。 
所述文件模块、注册表模块和内核对象模块构造出一个代码虚拟执行环境,所述代码虚拟执行环境创建主机系统的常用进程,比如Explorer.exe进程等,鉴于可疑代码通常通过进程名来确定一个进程,因此所述代码虚拟执行环境启动的常用进程不必是真正在主机上的进程,而是一个同名的假进程。 
所述功能模块还可包括网络模块或清理模块,所述网络模块用于实现代码虚拟执行环境中的进程的网络传输功能,并把属于主机系统和代码虚拟执行环境的网络数据高效的分流;所述清理模块用于在采集分析完可疑代码后,关闭代码虚拟执行环境,清理代码虚拟执行环境所创建的虚拟文件系统、虚拟注册表系统、虚拟内核对象等。 
所述网络模块包括IP地址生成模块、行为记录接口模块和数据分流模块,所述IP地址生成模块用于在所述代码虚拟执行环境启动时获得一个可用的不同于主机IP地址的IP地址(虚假IP),所述代码虚拟执行环境中所有的进程进行网络通信时都使用这个IP地址,可使主机与所述代码虚拟执行环境的网络行为相互独立。 
当所述代码虚拟执行环境中的进程需要发送数据时,将所述代码虚拟执行环境中的进程的网络数据用IP地址生成模块获得的IP地址进行封装,进程操作之后被所述行为记录接口模块处理,若这个操作是要被记录在日志文件的操作,那么行为记录接口按照用户的设置把这个行为记录下来,然后交给下一步,否则,直接发送所述封装的数据包。 
当网络上的数据包发送给所述代码虚拟执行环境中的进程时,数据包首先交给所述数据分流模块进行处理,若数据包属于主机系统,则直接把数据包转给主机系统,进程操作之后被所述行为记录接口模块处理,若这个操作是要被记录在日志文件的操作,那么行为记录接口按照用户的设置把这个行为记录下来,然后交给下一步,否则,直接把数据包交给所述代码虚拟执行 环境中的进程,由此实现数据的分流。 
步骤S12:将可疑代码对主机系统的常用进程的操作重定向到所述代码虚拟执行环境创建的进程。 
可疑代码启动后可能对主机系统中的常用进程(如Explorer.exe)进行操作,为避免可疑代码经常对这些进程进行操作和破坏,所以需要将这些操作重定向到所述代码虚拟执行环境创建的常用进程上,同时方便所述代码虚拟执行环境对所述可疑代码的行为进行检测和分析。 
步骤14:将可疑代码对主机系统的文件系统或注册表的操作重定向到所述代码虚拟执行环境创建的虚拟的文件系统或虚拟的注册表。 
这里的重定向只是将可疑代码对主机系统的文件系统或注册表的操作进行重定向,对于可疑代码对主机系统的内核对象的操作则不做重定向,直接允许其操作,因为操作系统级虚拟机不是运行于最底层,因此需要用到大量的主机操作系统的内核结构与内核对象。 
步骤16:所述代码虚拟执行环境记录可疑代码运行时的行为特征并保存为日志文件。 
可疑代码对主机系统的常用进程、主机系统的文件系统或注册表的操作重定向到所述代码虚拟执行环境创建的进程、虚拟的文件系统或虚拟的注册表后,可疑代码对重定向的对应进程、虚拟的文件系统或虚拟的注册表进行操作,所述代码虚拟执行环境记录可疑代码运行时的行为特征并保存为日志文件;具体实现时可提供一个行为记录的接口,用户可以根据自己的行为分析程序的需要,通过这个行为记录接口,设置需要记录的特征以及日志文件的相关配置,将可疑代码运行时的行为特征并保存为日志文件便于后续分析。 
步骤18:将所述日志文件通过命名管道发送至所述主机系统进行分析,所述命名管道对于所述代码虚拟执行环境中的可疑代码是不可见的,并只被所述代码虚拟执行环境中的进程本身所使用,所以可疑代码不能通过这个命 名管道对主机系统的进程造成影响。 
本发明实施例通过创建所述代码虚拟执行环境,在可疑代码对主机系统操作后,将记录的可疑代码的日志文件通过命名管道发送至所述主机系统进行分析,由于这个命名管道对于所述代码虚拟执行环境中的可疑代码是不可见的,可避免可疑代码不能通过这个命名管道对主机系统的进程造成影响。 
请参考图2,为本发明实施例二可疑代码分析方法的流程示意图,其步骤包括: 
步骤20:创建代码虚拟执行环境,所述代码虚拟执行环境创建主机系统的常用进程。 
首先,启动可疑代码行为采集分析环境程序(MCVEE.EXE),并初始化可疑代码行为采集分析环境。所述初始化过程包括:加载各功能模块,所述功能模块可包括文件模块、注册表模块、内核对象模块和管道通信模块。 
所述文件模块、注册表模块、内核对象模块构造出一个代码虚拟执行环境,所述代码虚拟执行环境创建主机系统的常用进程,比如Explorer.exe进程等,鉴于可疑代码通常通过进程名来确定一个进程,因此所述代码虚拟执行环境启动的常用进程不必是真正在主机上的进程,而是一个同名的假进程。 
所述管道通信模块用于限制主机进程和代码虚拟执行环境中的进程之间进行通信,只允许主机进程和代码虚拟执行环境中的进程利用一个特定的命名管道进行通信。这个命名管道对于代码虚拟执行环境中的可疑代码是不可见的,并只被代码虚拟执行环境进程本身所使用,这个命名管道可以用于把代码虚拟执行环境中的日志文件安全的传送到主机系统中。 
所述功能模块还可包括网络模块或清理模块,所述网络模块用于实现代码虚拟执行环境中的进程的网络传输功能,并把属于主机系统和代码虚拟执行环境的网络数据高效的分流;所述清理模块用于在采集分析完可疑代码后,关闭代码虚拟执行环境,清理代码虚拟执行环境所创建的虚拟文件系统、 虚拟注册表系统、虚拟内核对象等。 
步骤21:启动可疑代码,所述可疑代码对主机系统的进程进行操作。 
可疑代码启动后,对主机系统中的进程、文件系统、注册表或内核进行操作。 
步骤22:禁止非所述代码虚拟执行环境的进程对所述代码虚拟执行环境的操作。 
对于非所述代码虚拟执行环境的进程对所述代码虚拟执行环境的操作,比如主机系统运行的应用程序,禁止其对所述代码虚拟执行环境的进程进行的操作,从而可以做到主机系统进程的操作不影响到代码虚拟执行环境的运行。 
步骤S23:将可疑代码对主机系统的常用进程的操作重定向到所述代码虚拟执行环境创建的进程。 
可疑代码启动后可能对主机系统中的常用进程(如Explorer.exe)进行操作,为避免可疑代码经常对这些进程进行操作和破坏,所以需要将这些操作重定向到所述代码虚拟执行环境创建的常用进程上,同时方便所述代码虚拟执行环境对所述可疑代码的行为进行检测和分析。 
步骤24:将可疑代码对主机系统的文件系统或注册表的操作重定向到所述代码虚拟执行环境创建的虚拟的文件系统或虚拟的注册表。 
这里的重定向只是将可疑代码对主机系统的文件系统或注册表的操作进行重定向,对于可疑代码对主机系统的内核对象的操作则不做重定向,直接允许其操作,因为操作系统级虚拟机不是运行于最底层,因此需要用到大量的主机操作系统的内核结构与内核对象。 
步骤25:所述代码虚拟执行环境记录可疑代码运行时的行为特征并保存为日志文件。 
可疑代码对主机系统的常用进程、主机系统的文件系统或注册表的操作重定向到所述代码虚拟执行环境创建的进程、虚拟的文件系统或虚拟的注册 表后,可疑代码对重定向的对应进程、虚拟的文件系统或虚拟的注册表进行操作,所述代码虚拟执行环境记录可疑代码运行时的行为特征并保存为日志文件;具体实现时可提供一个行为记录的接口,用户可以根据自己的行为分析程序的需要,通过这个行为记录接口,设置需要记录的特征以及日志文件的相关配置,将可疑代码运行时的行为特征并保存为日志文件便于后续分析。 
步骤26:将所述日志文件通过命名管道发送至所述主机系统进行分析,所述命名管道对于所述代码虚拟执行环境中的可疑代码是不可见的,并只被所述代码虚拟执行环境中的进程本身所使用,所以可疑代码不能通过这个命名管道对主机系统的进程造成影响。 
步骤27:限制所述代码虚拟执行环境中的可疑代码进程获取主机系统中的进程信息,可保护主机系统的进程不被可疑代码进程破坏。 
本发明实施例可先允许所述代码虚拟执行环境中的可疑代码进程获取主机系统的进程信息的行为,再从返回结果中去掉那些不属于所述代码虚拟执行环境中进程的内容。 
步骤28:限制所述代码虚拟执行环境中的可疑代码进程发消息给主机系统中的进程,还可同时限制主机中的进程发消息给所述代码虚拟执行环境中的进程,从而使主机系统与所述代码虚拟执行环境更好的隔离开。 
本发明实施例通过创建所述代码虚拟执行环境,禁止非所述代码虚拟执行环境的进程对所述代码虚拟执行环境的操作,可避免主机系统进程的操作影响到代码虚拟执行环境的运行;同时在可疑代码对主机系统操作后,将记录的可疑代码的日志文件通过命名管道发送至所述主机系统进行分析,由于这个命名管道对于所述代码虚拟执行环境中的可疑代码是不可见的,可避免可疑代码不能通过这个命名管道对主机系统的进程造成影响,另外通过限制所述代码虚拟执行环境中的可疑代码进程获取主机系统中的进程信息及限制所述代码虚拟执行环境中的可疑代码进程发消息给主机系统中的进程可 使主机系统与所述代码虚拟执行环境更好的隔离开。 
请参考图3,为本发明实施例一可疑代码分析装置的结构示意图,所述可疑代码分析装置包括:虚拟执行环境创建模块40、重定向模块60、行为记录模块80及管道通信模块100。 
所述虚拟执行环境创建模块40,用于创建代码虚拟执行环境,所述代码虚拟执行环境创建主机系统的常用进程。所述虚拟执行环境创建模块40首先启动可疑代码行为采集分析环境程序(MCVEE.EXE),并初始化可疑代码行为采集分析环境。所述初始化过程包括:加载各功能模块,所述功能模块可包括文件模块、注册表模块、内核对象模块和管道通信模块。 
所述文件模块、注册表模块、内核对象模块构造出一个代码虚拟执行环境,所述代码虚拟执行环境创建主机系统的常用进程,比如Explorer.exe进程等,鉴于可疑代码通常通过进程名来确定一个进程,因此所述代码虚拟执行环境启动的常用进程不必是真正在主机上的进程,而是一个同名的假进程。 
所述管道通信模块用于限制主机进程和代码虚拟执行环境中的进程之间进行通信,只允许主机进程和代码虚拟执行环境中的进程利用一个特定的命名管道进行通信。这个命名管道对于代码虚拟执行环境中的可疑代码是不可见的,并只被代码虚拟执行环境进程本身所使用,这个命名管道可以用于把代码虚拟执行环境中的日志文件安全的传送到主机系统中。 
本发明实施例中初始化过程中加载的功能模块还包括网络模块,用于完成所述代码虚拟执行环境中进程的网络数据传输功能,并把属于主机系统和所述代码虚拟执行环境的网络数据高效的分流。所述网络模块包括IP地址生成模块、行为记录接口模块和数据分流模块,所述IP地址生成模块用于在所述代码虚拟执行环境启动时获得一个可用的不同于主机IP地址的IP地址(虚假IP),所述代码虚拟执行环境中所有的进程进行网络通信时都使用这个IP地址,可使主机与所述代码虚拟执行环境的网络行为相互独立。 当所述代码虚拟执行环境中的进程需要发送数据时,将所述代码虚拟执行环境中的进程的网络数据用IP地址生成模块获得的IP地址进行封装,进程操作之后被所述行为记录接口模块处理,若这个操作是要被记录在日志文件的操作,那么行为记录接口按照用户的设置把这个行为记录下来,然后交给下一步,否则,直接发送所述封装的数据包。 
当网络上的数据包发送给所述代码虚拟执行环境中的进程时,数据包首先交给所述数据分流模块进行处理,若数据包属于主机系统,则直接把数据包转给主机系统,进程操作之后被所述行为记录接口模块处理,若这个操作是要被记录在日志文件的操作,那么行为记录接口按照用户的设置把这个行为记录下来,然后交给下一步,否则,直接把数据包交给所述代码虚拟执行环境中的进程,由此实现数据的分流。 
所述重定向模块60,用于将可疑代码对主机系统的常用进程的操作重定向到所述代码虚拟执行环境创建的进程,将可疑代码对主机系统的文件系统或注册表的操作重定向到所述代码虚拟执行环境创建的虚拟的文件系统或虚拟的注册表。 
可疑代码启动后可能对主机系统中的常用进程(如Explorer.exe)进行操作,为避免可疑代码经常对这些进程进行操作和破坏,所述重定向模块60将这些操作重定向到所述代码虚拟执行环境创建的常用进程上。 
另外,所述重定向模块60只是将可疑代码对主机系统的文件系统或注册表的操作进行重定向,对于可疑代码对主机系统的内核对象的操作则不做重定向,直接允许其操作,因为操作系统级虚拟机不是运行于最底层,因此需要用到大量的主机操作系统的内核结构与内核对象。 
所述行为记录模块80,用于记录可疑代码运行时的行为特征并保存为日志文件。可疑代码对主机系统的常用进程、主机系统的文件系统或注册表的操作重定向到所述代码虚拟执行环境创建的进程、虚拟的文件系统或虚拟的注册表后,可疑代码对重定向的对应进程、虚拟的文件系统或虚拟的注册 表进行操作,所述行为记录模块80记录可疑代码运行时的行为特征并保存为日志文件;具体实现时可提供一个行为记录的接口,用户可以根据自己的行为分析程序的需要,通过这个行为记录接口,设置需要记录的特征以及日志文件的相关配置,将可疑代码运行时的行为特征并保存为日志文件便于后续分析。 
所述管道通信模块100,用于将所述行为记录模块80记录的日志文件通过命名管道发送至所述主机系统进行分析,所述命名管道对于所述代码虚拟执行环境中的可疑代码是不可见的,并只被所述代码虚拟执行环境中的进程本身所使用,所以可疑代码不能通过这个命名管道对主机系统的进程造成影响。 
本发明实施例通过所述虚拟执行环境创建模块40创建所述代码虚拟执行环境,在可疑代码对主机系统操作后,所述管道通信模块100将记录的可疑代码的日志文件通过命名管道发送至所述主机系统进行分析,由于这个命名管道对于所述代码虚拟执行环境中的可疑代码是不可见的,可避免可疑代码不能通过这个命名管道对主机系统的进程造成影响。 
请参考图4,为本发明实施例二可疑代码分析装置的结构示意图,其与图3中可疑代码分析装置相似,其包括虚拟执行环境创建模块40、重定向模块60、行为记录模块80及管道通信模块100,还可包括一个可疑代码启动模块50、访问控制模块70、分析模块90、进程信息限制模块120或消息限制模块140。 
所述虚拟执行环境创建模块40用于创建代码虚拟执行环境,所述代码虚拟执行环境创建主机系统的常用进程。 
所述可疑代码启动模块50,用于启动可疑代码,所述可疑代码对主机系统操作,所述操作包括可疑代码对主机系统的常用进程、文件系统、注册表或内核对象的操作。 
所述重定向模块60,用于将可疑代码对主机系统的常用进程的操作重 定向到所述代码虚拟执行环境创建的进程,将可疑代码对主机系统的文件系统或注册表的操作重定向到所述代码虚拟执行环境创建的虚拟的文件系统或虚拟的注册表。 
可疑代码启动后可能对主机系统中的常用进程(如Explorer.exe)进行操作,为避免可疑代码经常对这些进程进行操作和破坏,所述重定向模块60将这些操作重定向到所述代码虚拟执行环境创建的常用进程上。 
另外,所述重定向模块60只是将可疑代码对主机系统的文件系统或注册表的操作进行重定向,对于可疑代码对主机系统的内核对象的操作则不做重定向,直接允许其操作,因为操作系统级虚拟机不是运行于最底层,因此需要用到大量的主机操作系统的内核结构与内核对象。 
所述访问控制模块70,用于禁止非所述代码虚拟执行环境的进程对所述代码虚拟执行环境的操作。 
对于非所述代码虚拟执行环境的进程对所述代码虚拟执行环境的操作,比如主机系统运行的应用程序,所述访问控制模块70禁止其对非所述代码虚拟执行环境的进程进行的操作,从而可以做到主机系统进程的操作不影响到代码虚拟执行环境的运行。 
所述行为记录模块80,用于记录可疑代码运行时的行为特征并保存为日志文件。可疑代码对主机系统的常用进程、主机系统的文件系统或注册表的操作重定向到所述代码虚拟执行环境创建的进程、虚拟的文件系统或虚拟的注册表后,可疑代码对重定向的对应进程、虚拟的文件系统或虚拟的注册表进行操作,所述行为记录模块80记录可疑代码运行时的行为特征并保存为日志文件;具体实现时可提供一个行为记录的接口,用户可以根据自己的行为分析程序的需要,通过这个行为记录接口,设置需要记录的特征以及日志文件的相关配置,将可疑代码运行时的行为特征并保存为日志文件便于后续分析。 
所述管道通信模块100,用于将所述行为记录模块80记录的日志文件 通过命名管道发送至所述主机系统进行分析,所述命名管道对于所述代码虚拟执行环境中的可疑代码是不可见的,并只被所述代码虚拟执行环境中的进程本身所使用,所以可疑代码不能通过这个命名管道对主机系统的进程造成影响。 
所述分析模块90,用于接收所述管道通信模块100发送的日志文件进行可疑代码分析。 
所述进程信息限制模块120,用于限制所述代码虚拟执行环境中的可疑代码进程获取主机系统中的进程信息,可保护主机系统的进程不被可疑代码进程破坏。 
所述消息限制模块140,用于限制所述代码虚拟执行环境中的可疑代码进程发消息给主机系统中的进程,还可同时限制主机中的进程发消息给所述代码虚拟执行环境中的进程,从而使主机系统与所述代码虚拟执行环境更好的隔离开。 
本发明实施例通过创建所述代码虚拟执行环境,所述访问控制模块70禁止非所述代码虚拟执行环境的进程对所述代码虚拟执行环境的操作,可避免主机系统进程的操作影响到代码虚拟执行环境的运行;同时在可疑代码对主机系统操作后,所述管道通信模块100将记录的可疑代码的日志文件通过命名管道发送至所述主机系统进行分析,由于这个命名管道对于所述代码虚拟执行环境中的可疑代码是不可见的,可避免可疑代码不能通过这个命名管道对主机系统的进程造成影响;另外通过所述进程信息限制模块120限制所述代码虚拟执行环境中的可疑代码进程获取主机系统中的进程信息及所述消息限制模块140限制所述代码虚拟执行环境中的可疑代码进程发消息给主机系统中的进程可使主机系统与所述代码虚拟执行环境更好的隔离开。 
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述程序可以存储于一计算机可读取存储介质中,所述存储介质为ROM/RAM、磁碟、光盘等。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (10)

1.一种可疑代码分析方法,包括:
创建代码虚拟执行环境,所述代码虚拟执行环境创建主机系统的常用进程;启动可疑代码,所述可疑代码对主机系统进行操作;
将可疑代码对主机系统的常用进程的操作重定向到所述代码虚拟执行环境创建的进程;
将可疑代码对主机系统的文件系统或注册表的操作重定向到所述代码虚拟执行环境创建的虚拟的文件系统或虚拟的注册表;
记录可疑代码运行时的行为特征并保存为日志文件;
将所述日志文件通过命名管道发送至所述主机系统进行分析,所述命名管道对于所述代码虚拟执行环境中的可疑代码是不可见的。
2.如权利要求1所述的方法,其特征在于:所述方法还包括:
禁止非所述代码虚拟执行环境的进程对所述代码虚拟执行环境的操作。
3.如权利要求1所述的方法,其特征在于:所述命名管道只被所述代码虚拟执行环境中的进程本身所使用。
4.如权利要求1所述的方法,其特征在于:还包括限制所述代码虚拟执行环境中的可疑代码进程获取主机系统中的进程信息。
5.如权利要求1所述的方法,其特征在于:还包括限制所述代码虚拟执行环境中的可疑代码进程发消息给主机系统中的进程。
6.一种可疑代码分析装置,包括:
虚拟执行环境创建模块,用于创建代码虚拟执行环境,所述代码虚拟执行环境创建主机系统的常用进程;
可疑代码启动模块,用于启动可疑代码,所述可疑代码对主机系统进行操作;
重定向模块,用于将可疑代码对主机系统的常用进程的操作重定向到所述代码虚拟执行环境创建的进程,将可疑代码对主机系统的文件系统或注册表的操作重定向到所述代码虚拟执行环境创建的虚拟的文件系统或虚拟的注册表;
行为记录模块,用于记录可疑代码运行时的行为特征并保存为日志文件;
管道通信模块,用于将所述日志文件通过命名管道发送至所述主机系统进行分析,所述命名管道对于所述代码虚拟执行环境中的可疑代码是不可见的。
7.如权利要求6所述的装置,其特征在于:还包括访问控制模块,用于禁止非所述代码虚拟执行环境的进程对所述代码虚拟执行环境的操作。
8.如权利要求6所述的装置,其特征在于:所述命名管道只被所述代码虚拟执行环境中的进程本身所使用。
9.如权利要求6所述的装置,其特征在于:还包括进程信息限制模块,用于限制所述代码虚拟执行环境中的可疑代码进程获取主机系统中的进程信息。
10.如权利要求6所述的装置,其特征在于:还包括消息限制模块,用于限制所述代码虚拟执行环境中的可疑代码进程发消息给主机系统中的进程。
CN2008102164744A 2008-10-10 2008-10-10 一种可疑代码分析方法及装置 Active CN101727348B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008102164744A CN101727348B (zh) 2008-10-10 2008-10-10 一种可疑代码分析方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008102164744A CN101727348B (zh) 2008-10-10 2008-10-10 一种可疑代码分析方法及装置

Publications (2)

Publication Number Publication Date
CN101727348A CN101727348A (zh) 2010-06-09
CN101727348B true CN101727348B (zh) 2013-02-13

Family

ID=42448277

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008102164744A Active CN101727348B (zh) 2008-10-10 2008-10-10 一种可疑代码分析方法及装置

Country Status (1)

Country Link
CN (1) CN101727348B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102222189A (zh) * 2011-06-13 2011-10-19 上海置水软件技术有限公司 一种保护操作系统的方法
CN103716313B (zh) * 2013-12-24 2016-07-13 中国科学院信息工程研究所 一种用户隐私信息保护方法及系统
CN106228067A (zh) * 2016-07-15 2016-12-14 江苏博智软件科技有限公司 恶意代码动态检测方法及装置
CN108241801B (zh) * 2016-12-26 2021-03-30 华为技术有限公司 处理系统调用的方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1314638A (zh) * 2001-04-29 2001-09-26 北京瑞星科技股份有限公司 检测和清除已知及未知计算机病毒的方法、系统和介质
CN1805385A (zh) * 2006-01-11 2006-07-19 西安电子科技大学 网络安全模拟系统及其仿真方法
CN1952902A (zh) * 2005-10-21 2007-04-25 上海普宝网络科技有限公司 数字多媒体网络终端应用操作系统一种基于虚拟文件系统的操作系统保护方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1314638A (zh) * 2001-04-29 2001-09-26 北京瑞星科技股份有限公司 检测和清除已知及未知计算机病毒的方法、系统和介质
EP1253501A2 (en) * 2001-04-29 2002-10-30 Beijing Rising Technology Corporation Limited Method and system for scanning and cleaning known and unknown computer viruses, recording medium and transmission medium therefor
CN1952902A (zh) * 2005-10-21 2007-04-25 上海普宝网络科技有限公司 数字多媒体网络终端应用操作系统一种基于虚拟文件系统的操作系统保护方法
CN1805385A (zh) * 2006-01-11 2006-07-19 西安电子科技大学 网络安全模拟系统及其仿真方法

Also Published As

Publication number Publication date
CN101727348A (zh) 2010-06-09

Similar Documents

Publication Publication Date Title
US10552208B2 (en) Migrating a virtual machine that owns a resource such as a hardware device
US7984438B2 (en) Virtual machine transitioning from emulating mode to enlightened mode
US7752436B2 (en) Exclusive access for secure audio program
CN102436507B (zh) 一种浏览网页的方法及装置
KR20180099682A (ko) 가상 머신 감사를 위한 시스템 및 방법들
CN102147763B (zh) 一种网络日志的记录方法、系统及计算机
JP2012212391A (ja) 不正アクセスに対する防御をするシステム、方法およびプログラム
JP2010272055A (ja) 情報処理装置および方法、並びにプログラム
KR20140147140A (ko) 컴퓨터 시스템과 관련된 하드웨어 자원의 가상 현실화를 위한 방법, 시스템 및 실행가능한 코드 조각
AU2004220769A1 (en) Systems and methods for bimodal device virtualization of actual and idealized hardware-based devices
US20100162243A1 (en) Context based virtualization
CN101727348B (zh) 一种可疑代码分析方法及装置
CN110083399A (zh) 小程序运行方法、计算机设备及存储介质
CN106778275A (zh) 基于虚拟化环境下的安全防护方法及系统和物理主机
CN101739289A (zh) 一种在Linux虚拟机中设置显示模式的方法及装置
US11734430B2 (en) Configuration of a memory controller for copy-on-write with a resource controller
CN107908957B (zh) 一种智能终端的安全运行管理方法及系统
CN103425563B (zh) 基于虚拟化技术的在线i/o电子取证系统及其取证方法
JP2006164266A (ja) オペレーティングシステムのパフォーマンスの改善
CN100403212C (zh) 一种实现操作系统隔离的系统及方法
CN101739284A (zh) 一种计算机以及信息处理方法
CN101777002A (zh) 一种基于虚拟化的软件运行方法
CN102063585A (zh) 一种基于Xen的安全的虚拟磁盘的访问控制方法
CN102779250B (zh) 文件可控执行的检测方法及虚拟机
CN104021168A (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
C53 Correction of patent of invention or patent application
CB02 Change of applicant information

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

Applicant after: HUAWEI DIGITAL TECHNOLOGIES (CHENG DU) Co.,Ltd.

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

Applicant before: CHENGDU HUAWEI SYMANTEC TECHNOLOGIES Co.,Ltd.

COR Change of bibliographic data

Free format text: CORRECT: APPLICANT; FROM: CHENGDU HUAWEI SYMANTEC TECHNOLOGIES CO., LTD. TO: HUAWEI DIGITAL TECHNOLOGY (CHENGDU) CO., LTD.

C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220922

Address after: No. 1899 Xiyuan Avenue, high tech Zone (West District), Chengdu, Sichuan 610041

Patentee after: Chengdu Huawei Technologies Co.,Ltd.

Address before: 611731 Qingshui River District, Chengdu hi tech Zone, Sichuan, China

Patentee before: HUAWEI DIGITAL TECHNOLOGIES (CHENG DU) Co.,Ltd.