一种识别逃逸安全监控行为的方法及装置
技术领域
本发明涉及一种信息安全技术领域,特别是涉及一种识别逃逸安全监控行为的方法及装置。
背景技术
为了保证终端电子产品的安全,通常在使用过程中检测异常行为。常见的异常行为常见的异常行为包括修改注册表启动项、感染系统文件、修改进程内存、非法外联网络等行为,在检测异常行为时以此作为检测范围。为了入侵终端电子产品,往往不断改变入侵方式以避免落入异常行为的检测范围,以实现隐藏自身、访问网络、控制主机系统、窃取私密文件、破坏数据等目的。为了避免落入异常行为检测范围的异常行为,被称为逃逸安全监控行为。现有技术中,只有在某种特定场景下,才识别是否存在逃逸安全监控行为,适用范围较小。一旦适用场景出现变化,则不再适用,可能漏检恶意代码。
发明内容
有鉴于此,本发明提供一种识别逃逸安全监控行为的方法及装置,主要目的在于解决现有技术中存在恶意代码逃避安全监控检测无法监控其行为的问题。
依据本发明一个方面,提供了一种识别逃逸安全监控行为的方法,包括:
将应用层的应用层行为监控程序通过数据传送通道传送至驱动层,并通过所述驱动层在所有运行进程中内核注入所述应用层行为监控程序,并启动驱动层行为监控程序,所述应用层行为监控程序用于监控所述运行进程的应用层进程信息,所述驱动层行为监控程序用于监控所述远程进程的驱动层进程信息;
根据所述应用层行为监控程序,捕捉行为事件;
如果所述应用层行为监控程序监控到所述行为事件是应用层可疑异常行为事件,则在应用层缓存中记录所述行为事件是所述应用层可疑异常行为事件;
如果所述驱动层行为监控程序监控到所述行为事件是驱动层可疑异常行为事件,则查找所述应用层缓存中是否记录所述行为事件是所述应用层可疑异常行为事件;
如果查找结果为不存在,则识别所述行为事件为恶意逃逸行为事件。
进一步的,所述将应用层的应用层行为监控程序通过数据传送通道传送至驱动层,并通过所述驱动层在所有运行进程中内核注入所述应用层行为监控程序,并启动驱动层行为监控程序之前,所述方法还包括:
建立连接所述应用层和所述驱动层的数据传送通道。
进一步的,所述如果所述应用层行为监控程序监控到所述行为事件是应用层可疑异常行为事件,则在应用层缓存中记录所述行为事件是所述应用层可疑异常行为事件,包括:
采用API HOOK方式拦截所述运行进程的系统API调用,并记录所述系统API调用时的应用层进程信息,所述应用层进程信息包括调用参数和运行环境;
根据所述应用层进程信息,判断所述行为事件是否为应用层可疑异常行为事件;
如果判断结果为是,则在应用层缓存中记录所述行为事件,并标识所述行为事件是所述可疑异常行为事件。
进一步的,所述根据所述应用层进程信息,判断所述行为事件是否为应用层可疑异常行为事件,包括:
根据所述应用层进程信息,建立所述行为事件的第一可执行PE文件;
根据预置行为链规则库,在检测进程中执行所述第一可执行PE文件,并记录所述第一执行结果;
如果所述第一执行结果中存在异常行为,则确定在所述应用层检测所述行为事件是应用层可疑异常行为事件,所述异常行为包括修改注册表启动项、感染系统文件、修改进程内存和非法外联网络。
进一步的,所述根据所述应用层进程信息,判断所述行为事件是否为应用层可疑异常行为事件,包括:
获取所述行为事件的当前应用层堆栈地址序列;
如果所述当前应用层堆栈地址序列与预置正常堆栈地址序列规则库中的地址不同,则确定在所述应用层检测所述行为事件是应用层可疑异常行为事件。
进一步的,所述如果所述驱动层行为监控程序监控到所述行为事件是驱动层可疑异常行为事件,则查找所述应用层缓存中是否记录所述行为事件是所述应用层可疑异常行为事件,包括:
监控所述应用层通过所述数据传送通道向下层传输的所述系统API调用,记录所述系统API调用时的驱动层进程信息,所述驱动层进程信息包括驱动加载、模块加载、进程创建、线程创建、文件操作、注册表操作和网络通信;
根据所述驱动层进程信息,判断所述行为事件是否为驱动层可疑异常行为事件;
如果判断结果为是,则查找所述应用层缓存中是否记录所述行为事件,且所述行为事件的标识是所述应用层可疑异常行为事件。
进一步的,所述根据所述驱动层进程信息,判断所述行为事件是否为驱动层可疑异常行为事件,包括:
根据所述驱动层进程信息,建立所述行为事件的第二可执行PE文件;
根据预置行为链规则库,在检测进程中执行所述第二可执行PE文件,并记录所述第二执行结果;
如果所述第二执行结果中存在异常行为,则确定在所述驱动层检测到所述行为事件是驱动层可疑异常行为事件。
进一步的,所述根据所述驱动层进程信息,判断所述行为事件是否为驱动层可疑异常行为事件,包括:
获取所述行为事件的当前驱动层堆栈地址序列;
如果所述当前驱动层堆栈地址序列与预置正常堆栈地址序列规则库中的地址不同,则确定在所述驱动层检测所述行为事件是驱动层可疑异常行为事件。
依据本发明另一个方面,提供了一种识别逃逸安全监控行为的装置,包括:
启动模块,用于将应用层的应用层行为监控程序通过数据传送通道传送至驱动层,并通过所述驱动层在所有运行进程中内核注入所述应用层行为监控程序,并启动驱动层行为监控程序,所述应用层行为监控程序用于监控所述运行进程的应用层进程信息,所述驱动层行为监控程序用于监控所述远程进程的驱动层进程信息;
捕捉模块,用于根据所述应用层行为监控程序,捕捉行为事件;
记录模块,用于如果所述应用层行为监控程序监控到所述行为事件是应用层可疑异常行为事件,则在应用层缓存中记录所述行为事件是所述应用层可疑异常行为事件;
查找模块,用于如果所述驱动层行为监控程序监控到所述行为事件是驱动层可疑异常行为事件,则查找所述应用层缓存中是否记录所述行为事件是所述应用层可疑异常行为事件;
识别模块,用于如果查找结果为不存在,则识别所述行为事件为恶意逃逸行为事件。
根据本发明的又一方面,提供了一种存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如上述识别逃逸安全监控行为的方法对应的操作。
根据本发明的再一方面,提供了一种计算机设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行上述识别逃逸安全监控行为的方法对应的操作。
借由上述技术方案,本发明实施例提供的技术方案至少具有下列优点:
本发明提供了一种识别逃逸安全监控行为的方法及装置,首先通过驱动层在所有运行进程中内核注入应用层行为监控程序,并启动驱动层行为监控程序,然后根据应用层行为监控程序,捕捉行为事件,如果应用层行为监控程序监控到行为事件是应用层可疑异常行为事件,则在应用层缓存中记录行为事件是应用层可疑异常行为事件,如果驱动层行为监控程序监控到行为事件是驱动层可疑异常行为事件,则查找应用层缓存中是否记录行为事件是应用层可疑异常行为事件,如果查找结果为不存在,则识别行为事件为恶意逃逸行为事件。与现有技术相比,本发明实施例通过以应用层和驱动层分别判断行为事件是否为应用层可疑异常行为事件或驱动层可疑异常行为事件,如果行为事件是驱动层可疑异常行为事件而不是应用层可疑异常行为事件,则识别行为事件为恶意逃逸行为事件,能够精确发现病毒木马的异常行为,尤其是那种想通过绕过安全监控来实现不法目的恶意行为,为病毒木马查杀添加新手段,提高了对未知恶意代码查杀的检出效率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的一种识别逃逸安全监控行为的方法流程图;
图2示出了本发明实施例提供的另一种识别逃逸安全监控行为的方法流程图;
图3示出了本发明实施例提供的一种识别逃逸安全监控行为的装置组成框图;
图4示出了本发明实施例提供的另一种识别逃逸安全监控行为的装置组成框图;
图5示出了本发明实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
在终端电子产品上,执行应用程序的某功能,往往需要经过应用层、API、驱动层,最后通过硬件实现该功能。在该应用程序某功能执行过程中,应用层用于实现对该功能总体流程的控制;API用于参数、传递函数或程序;驱动层用于驱动终端电子产品的底层硬件。由于可知,应用层和驱动层中的具体执行过程能够影响应用程序的该功能是否能够实现。终端电子产品可以通过应用程序进行保护,其实现保护的过程与实现应用程序某一功能的过程相似,都需要经过应用层、API、驱动层,最后由硬件实现。在本发明中通过监控终端电子产品的应用层和驱动层中的数据,以识别逃逸安全监控行为。
本发明实施例提供了一种识别逃逸安全监控行为的方法,如图1所示,该方法包括:
101、将应用层的应用层行为监控程序通过数据传送通道传送至驱动层,并通过驱动层在所有运行进程中内核注入应用层行为监控程序,并启动驱动层行为监控程序。
应用层行为监控程序用于监控运行进程的应用层进程信息,驱动层行为监控程序用于监控远程进程的驱动层进程信息。本步骤为对终端电子产品的初始化,在通过驱动层在所有运行进程中内核注入应用层行为监控程序之后,启动驱动层行为监控程序。内核注入,也就是进程空间地址入侵。在所有运行进程中内核注入应用层行为监控程序,是指将应用层行为监控程序通过进程空间地址入侵的方式,入侵至运行进程的虚拟地址,以监控运行进程的应用层进程信息。
102、根据应用层行为监控程序,捕捉行为事件。
行为事件包括录入、复制、粘贴、加载、重载、上传等等。逃逸安全监控行为是一种行为事件,所以需要应用层行为监控程序捕捉行为事件。
103、如果应用层行为监控程序监控到行为事件是应用层可疑异常行为事件,则在应用层缓存中记录行为事件是应用层可疑异常行为事件。
本步骤实际上还包括对行为事件的判断过程,也就是应用层行为监控程序,捕捉到行为事件后,还要判断行为事件是否为应用层可疑异常行为事件。应用层可疑异常行为事件,是指在应用层判断的可能是异常行为的行为事件。在判断过程中,可采用基于行为链的检测技术,或者采用基于堆栈的检测技术。如果行为事件不是应用层可疑异常行为事件,则在应用层缓存中不记录该行为事件的信息。如果行为事件是应用层可疑异常行为事件,则在应用层缓存中记录该行为事件,并将该事件记录为应用层可疑异常行为事件。
104、如果驱动层行为监控程序监控到行为事件是驱动层可疑异常行为事件,则查找应用层缓存中是否记录行为事件是应用层可疑异常行为事件。
行为事件在终端电子产品执行的过程中,先再应用层执行,然后向下进行运行,在驱动层执行,本步骤与步骤103只是时间上的顺序执行关系,不存在因果关系。本步骤实际上还包括对行为事件的判读过程,也就是驱动层行为监控程序监控到行为执行在驱动层执行时,还要判断行为事件是否为驱动层可疑异常行为事件。驱动层可疑异常行为事件,是指在驱动层判断的可能是异常行为的行为事件。在判断过程中,可采用基于行为链的检测技术,或者采用基于堆栈的检测技术。如果行为事件不是驱动层可疑异常行为事件,则判断该行为事件为正常行为。如果行为事件是驱动层可疑异常行为事件,则在应用层缓存中查找该行为事件是否为驱动层可疑异常行为事件。
105、如果查找结果为不存在,则识别行为事件为恶意逃逸行为事件。
如果行为事件是驱动层可疑异常行为事件而不是应用层可疑异常行为事件,则识别行为事件为恶意逃逸行为事件。对于恶意逃逸行为事件,可采用停止执行、告警、删除源程序、删除注册表信息等方式,以防止该行为事件继续入侵终端电子设备。
本发明提供了一种识别逃逸安全监控行为的方法,首先通过驱动层在所有运行进程中内核注入应用层行为监控程序,并启动驱动层行为监控程序,然后根据应用层行为监控程序,捕捉行为事件,如果应用层行为监控程序监控到行为事件是应用层可疑异常行为事件,则在应用层缓存中记录行为事件是应用层可疑异常行为事件,如果驱动层行为监控程序监控到行为事件是驱动层可疑异常行为事件,则查找应用层缓存中是否记录行为事件是应用层可疑异常行为事件,如果查找结果为不存在,则识别行为事件为恶意逃逸行为事件。与现有技术相比,本发明实施例通过以应用层和驱动层分别判断行为事件是否为应用层可疑异常行为事件或驱动层可疑异常行为事件,如果行为事件是驱动层可疑异常行为事件而不是应用层可疑异常行为事件,则识别行为事件为恶意逃逸行为事件,能够精确发现病毒木马的异常行为,尤其是那种想通过绕过安全监控来实现不法目的恶意行为,为病毒木马查杀添加新手段,提高了对未知恶意代码查杀的检出效率。
本发明实施例提供了另一种识别逃逸安全监控行为的方法,如图2所示,该方法包括:
201、建立连接应用层和驱动层的数据传送通道。
应用层和驱动层,不能直接传递数据,一般应用层通过ioctl函数向驱动层发送命令,而应用层通过read函数,write函数去读写,对应驱动层的read,write函数。ioctl函数、read函数,write函数,也就是连接应用层和驱动层的数据传送通道。数据传送通道的具体形式,随着应用层和驱动层需要传送的具体数据形式的改变而改变,在本步骤中为了适应多种数据形式数据传送通道可以包括所有传送形式的通道。
202、将应用层的应用层行为监控程序通过数据传送通道传送至驱动层,并通过驱动层在所有运行进程中内核注入应用层行为监控程序,并启动驱动层行为监控程序。
应用层行为监控程序用于监控运行进程的应用层进程信息,驱动层行为监控程序用于监控远程进程的驱动层进程信息。本步骤是构建识别逃逸安全监控行为的初始环境,在驱动层启动驱动层行为监控程序,在注入应用层监控程序之后,才能实现对行为事件的识别。在应用行为监控程序全部注入到所有运行进程之后,再启动驱动层行为监控程序,驱动行为监控程序监控的进程与应用层监控程序监控的进程相同。
203、根据应用层行为监控程序,捕捉行为事件。
204、采用API HOOK方式拦截运行进程的系统API调用,并记录系统API调用时的应用层进程信息。
API HOOK技术是一种用于改变API执行结果的技术。应用层进程信息包括调用参数和运行环境。
205、根据应用层进程信息,判断行为事件是否为应用层可疑异常行为事件。
采用基于行为的异常检测技术其判断过程,具体包括:根据应用层进程信息,判断行为事件是否为应用层可疑异常行为事件,包括:根据应用层进程信息,建立行为事件的第一可执行PE文件;根据预置行为链规则库,在检测进程中执行第一可执行PE文件,并记录第一执行结果;如果第一执行结果中存在异常行为,则确定在应用层检测行为事件是应用层可疑异常行为事件,异常行为包括修改注册表启动项、感染系统文件、修改进程内存和非法外联网络。
行为事件与第一可执行PE文件,是在不同进程中运行的相同的事件。在新建的检测进程中执行第一可执行PE文件,然后第一执行结果中是否存在异常行为。预置行为链规则库是提前建立的,建立预置行为链规则库的目的是更加准确的判定异常行为,以链代点,对恶意代码进行持续监控。预置行为链规则可的建立是以行为点为基础建立的,行为点包括新建进程、新建文件、打开文件等相关参数抽象组成的行为点库,再把行为点按一定的时间先后顺序组成预置行为链规则库,预置行为链规则库全部依赖行为点库,由按一定先后顺序的行为点编号组成。通过进程、线程、模块将所有才做行为案子时间先后关系记录组织行为树,每一条操作行为发生后都会对它进行预处理标识位特定的行为点才加入行为树,为行为链的匹配做准备。当关注的行为点发生以后,触发行为链匹配引擎、向上追溯,并对匹配结果进行记录,如发现异常行为,对整个相关联的进程、线程、模块链进行记录。
采用基于堆栈指令集白匹配检测技术其判断过程,具体包括:根据应用层进程信息,判断行为事件是否为应用层可疑异常行为事件,包括:获取行为事件的当前应用层堆栈地址序列;如果当前应用层堆栈地址序列与预置正常堆栈地址序列规则库中的地址不同,则确定在应用层检测行为事件是应用层可疑异常行为事件。
206、如果判断结果为是,则在应用层缓存中记录行为事件,并标识行为事件是应用层可疑异常行为事件。
207、监控应用层通过数据传送通道向下层传输的系统API调用,记录系统API调用时的驱动层进程信息。
驱动层进程信息包括驱动加载、模块加载、进程创建、线程创建、文件操作、注册表操作和网络通信。
208、根据驱动层进程信息,判断行为事件是否为驱动层可疑异常行为事件。
在本发明实施例中,在应用层中判断行为事件是否为应用层可疑异常行为事件的方法,与在驱动层中判断行为事件是否为驱动层可疑异常行为事件的方法类似。采用基于行为的异常检测技术其判断过程,具体包括:根据驱动层进程信息,判断行为事件是否为驱动层可疑异常行为事件,包括:根据驱动层进程信息,建立行为事件的第二可执行PE文件;根据预置行为链规则库,在检测进程中执行第二可执行PE文件,并记录第二执行结果;如果第二执行结果中存在异常行为,则确定在驱动层检测到行为事件是驱动层可疑异常行为事件。
采用基于堆栈指令集白匹配检测技术其判断过程,具体包括:根据驱动层进程信息,判断行为事件是否为驱动层可疑异常行为事件,包括:获取行为事件的当前驱动层堆栈地址序列;如果当前驱动层堆栈地址序列与预置正常堆栈地址序列规则库中的地址不同,则确定在驱动层检测行为事件是驱动层可疑异常行为事件。
209、如果判断结果为是,则查找应用层缓存中是否记录行为事件,且行为事件的标识是应用层可疑异常行为事件。
210、如果查找结果为不存在,则识别行为事件为恶意逃逸行为事件。
如果行为事件是驱动层可疑异常行为事件而不是应用层可疑异常行为事件,则识别行为事件为恶意逃逸行为事件。对于恶意逃逸行为事件,可采用停止执行、告警、删除源程序、删除注册表信息等方式,以防止该行为事件继续入侵终端电子设备。
本发明提供了一种识别逃逸安全监控行为的方法,首先通过驱动层在所有运行进程中内核注入应用层行为监控程序,并启动驱动层行为监控程序,然后根据应用层行为监控程序,捕捉行为事件,如果应用层行为监控程序监控到行为事件是应用层可疑异常行为事件,则在应用层缓存中记录行为事件是应用层可疑异常行为事件,如果驱动层行为监控程序监控到行为事件是驱动层可疑异常行为事件,则查找应用层缓存中是否记录行为事件是应用层可疑异常行为事件,如果查找结果为不存在,则识别行为事件为恶意逃逸行为事件。与现有技术相比,本发明实施例通过以应用层和驱动层分别判断行为事件是否为应用层可疑异常行为事件或驱动层可疑异常行为事件,如果行为事件是驱动层可疑异常行为事件而不是应用层可疑异常行为事件,则识别行为事件为恶意逃逸行为事件,能够精确发现病毒木马的异常行为,尤其是那种想通过绕过安全监控来实现不法目的恶意行为,为病毒木马查杀添加新手段,提高了对未知恶意代码查杀的检出效率。
进一步的,作为对上述图1所示方法的实现,本发明实施例提供了一种识别逃逸安全监控行为的装置,如图3所示,该装置包括:
启动模块31,用于将应用层的应用层行为监控程序通过数据传送通道传送至驱动层,并通过所述驱动层在所有运行进程中内核注入所述应用层行为监控程序,并启动驱动层行为监控程序,所述应用层行为监控程序用于监控所述运行进程的应用层进程信息,所述驱动层行为监控程序用于监控所述远程进程的驱动层进程信息;
捕捉模块32,用于根据所述应用层行为监控程序,捕捉行为事件;
记录模块33,用于如果所述应用层行为监控程序监控到所述行为事件是应用层可疑异常行为事件,则在应用层缓存中记录所述行为事件是所述应用层可疑异常行为事件;
查找模块34,用于如果所述驱动层行为监控程序监控到所述行为事件是驱动层可疑异常行为事件,则查找所述应用层缓存中是否记录所述行为事件是所述应用层可疑异常行为事件;
识别模块35,用于如果查找结果为不存在,则识别所述行为事件为恶意逃逸行为事件。
本发明提供了一种识别逃逸安全监控行为的装置,首先通过驱动层在所有运行进程中嵌入并启动应用层行为监控程序,并启动驱动层行为监控程序,然后根据应用层行为监控程序,捕捉行为事件,如果应用层行为监控程序监控到行为事件是应用层可疑异常行为事件,则在应用层缓存中记录行为事件是应用层可疑异常行为事件,如果驱动层行为监控程序监控到行为事件是驱动层可疑异常行为事件,则查找应用层缓存中是否记录行为事件是应用层可疑异常行为事件,如果查找结果为不存在,则识别行为事件为恶意逃逸行为事件。与现有技术相比,本发明实施例通过以应用层和驱动层分别判断行为事件是否为应用层可疑异常行为事件或驱动层可疑异常行为事件,如果行为事件是驱动层可疑异常行为事件而不是应用层可疑异常行为事件,则识别行为事件为恶意逃逸行为事件,能够精确发现病毒木马的异常行为,尤其是那种想通过绕过安全监控来实现不法目的恶意行为,为病毒木马查杀添加新手段,提高了对未知恶意代码查杀的检出效率。
进一步的,作为对上述图2所示方法的实现,本发明实施例提供了另一种识别逃逸安全监控行为的装置,如图4所示,该装置包括:
启动模块41,用于将应用层的应用层行为监控程序通过数据传送通道传送至驱动层,并通过所述驱动层在所有运行进程中内核注入所述应用层行为监控程序,并启动驱动层行为监控程序,所述应用层行为监控程序用于监控所述运行进程的应用层进程信息,所述驱动层行为监控程序用于监控所述远程进程的驱动层进程信息;
捕捉模块42,用于根据所述应用层行为监控程序,捕捉行为事件;
记录模块43,用于如果所述应用层行为监控程序监控到所述行为事件是应用层可疑异常行为事件,则在应用层缓存中记录所述行为事件是所述应用层可疑异常行为事件;
查找模块44,用于如果所述驱动层行为监控程序监控到所述行为事件是驱动层可疑异常行为事件,则查找所述应用层缓存中是否记录所述行为事件是所述应用层可疑异常行为事件;
识别模块45,用于如果查找结果为不存在,则识别所述行为事件为恶意逃逸行为事件。
进一步的,所述装置还包括:
建立模块46,用于所述将应用层的应用层行为监控程序通过数据传送通道传送至驱动层,并通过所述驱动层在所有运行进程中内核注入所述应用层行为监控程序,并启动驱动层行为监控程序之前,建立连接所述应用层和所述驱动层的数据传送通道。
进一步的,所述记录模块43,包括:
拦截单元431,用于采用API HOOK方式拦截所述运行进程的系统API调用,并记录所述系统API调用时的应用层进程信息,所述应用层进程信息包括调用参数和运行环境;
第一判断单元432,用于根据所述应用层进程信息,判断所述行为事件是否为应用层可疑异常行为事件;
记录单元433,用于如果判断结果为是,则在应用层缓存中记录所述行为事件,并标识所述行为事件是所述应用层可疑异常行为事件。
进一步的,所述第一判断单元432,包括:
第一建立子单元4321,用于根据所述应用层进程信息,建立所述行为事件的第一可执行PE文件;
第一执行子单元4322,用于根据预置行为链规则库,在检测进程中执行所述第一可执行PE文件,并记录所述第一执行结果;
第一确定子单元4323,用于如果所述第一执行结果中存在异常行为,则确定在所述应用层检测所述行为事件是应用层可疑异常行为事件,所述异常行为包括修改注册表启动项、感染系统文件、修改进程内存和非法外联网络等。
进一步的,所述第一判断单元432,包括:
第一获取子单元4324,用于获取所述行为事件的当前应用层堆栈地址序列;
第二确定子单元4325,用于如果所述当前应用层堆栈地址序列与预置正常堆栈地址序列规则库中的地址不同,则确定在所述应用层检测所述行为事件是应用层可疑异常行为事件。
进一步的,所述查找模块44,包括:
监控单元441,用于监控所述应用层通过所述数据传送通道向下层传输的所述系统API调用,记录所述系统API调用时的驱动层进程信息,所述驱动层进程信息包括驱动加载、模块加载、进程创建、线程创建、文件操作、注册表操作和网络通信等;
第二判断单元442,用于根据所述驱动层进程信息,判断所述行为事件是否为驱动层可疑异常行为事件;
查找单元443,用于如果判断结果为是,则查找所述应用层缓存中是否记录所述行为事件,且所述行为事件的标识是所述应用层可疑异常行为事件。
进一步的,所述第二判断单元442,包括:
第二建立子单元4421,用于根据所述驱动层进程信息,建立所述行为事件的第二可执行PE文件;
第二执行子单元4422,用于根据预置行为链规则库,在检测进程中执行所述第二可执行PE文件,并记录所述第二执行结果;
第三确定子单元4423,用于如果所述第二执行结果中存在异常行为,则确定在所述驱动层检测到所述行为事件是驱动层可疑异常行为事件。
进一步的,所述第二判断单元442,包括:
第二获取子单元4424,用于获取所述行为事件的当前驱动层堆栈地址序列;
第四确定子单元4425,用于如果所述当前驱动层堆栈地址序列与预置正常堆栈地址序列规则库中的地址不同,则确定在所述驱动层检测所述行为事件是驱动层可疑异常行为事件。
本发明提供了一种识别逃逸安全监控行为的装置,首先通过驱动层在所有运行进程中内核注入应用层行为监控程序,并启动驱动层行为监控程序,然后根据应用层行为监控程序,捕捉行为事件,如果应用层行为监控程序监控到行为事件是应用层可疑异常行为事件,则在应用层缓存中记录行为事件是应用层可疑异常行为事件,如果驱动层行为监控程序监控到行为事件是驱动层可疑异常行为事件,则查找应用层缓存中是否记录行为事件是应用层可疑异常行为事件,如果查找结果为不存在,则识别行为事件为恶意逃逸行为事件。与现有技术相比,本发明实施例通过以应用层和驱动层分别判断行为事件是否为应用层可疑异常行为事件或驱动层可疑异常行为事件,如果行为事件是驱动层可疑异常行为事件而不是应用层可疑异常行为事件,则识别行为事件为恶意逃逸行为事件,能够精确发现病毒木马的异常行为,尤其是那种想通过绕过安全监控来实现不法目的恶意行为,为病毒木马查杀添加新手段,提高了对未知恶意代码查杀的检出效率。
根据本发明一个实施例提供了一种存储介质,所述存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的识别逃逸安全监控行为的方法。
图5示出了根据本发明一个实施例提供的一种计算机设备的结构示意图,本发明具体实施例并不对计算机设备的具体实现做限定。
如图5所示,该计算机设备可以包括:处理器(processor)502、通信接口(Communications Interface)504、存储器(memory)506、以及通信总线508。
其中:处理器502、通信接口504、以及存储器506通过通信总线508完成相互间的通信。
通信接口504,用于与其它设备比如客户端或其它服务器等的网元通信。
处理器502,用于执行程序510,具体可以执行上述浏览器的安全防护方法实施例中的相关步骤。
具体地,程序510可以包括程序代码,该程序代码包括计算机操作指令。
处理器502可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。计算机设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器506,用于存放程序510。存储器506可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序510具体可以用于使得处理器502执行以下操作:
将应用层的应用层行为监控程序通过数据传送通道传送至驱动层,并通过所述驱动层在所有运行进程中内核注入所述应用层行为监控程序,并启动驱动层行为监控程序,所述应用层行为监控程序用于监控所述运行进程的应用层进程信息,所述驱动层行为监控程序用于监控所述远程进程的驱动层进程信息;
根据所述应用层行为监控程序,捕捉行为事件;
如果所述应用层行为监控程序监控到所述行为事件是应用层可疑异常行为事件,则在应用层缓存中记录所述行为事件是所述应用层可疑异常行为事件;
如果所述驱动层行为监控程序监控到所述行为事件是驱动层可疑异常行为事件,则查找所述应用层缓存中是否记录所述行为事件是所述应用层可疑异常行为事件;
如果查找结果为不存在,则识别所述行为事件为恶意逃逸行为事件。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
本发明实施例还提供以下技术方案:
A1、一种识别逃逸安全监控行为的方法,其特征在于,包括:
将应用层的应用层行为监控程序通过数据传送通道传送至驱动层,并通过所述驱动层在所有运行进程中内核注入所述应用层行为监控程序,并启动驱动层行为监控程序,所述应用层行为监控程序用于监控所述运行进程的应用层进程信息,所述驱动层行为监控程序用于监控所述远程进程的驱动层进程信息;
根据所述应用层行为监控程序,捕捉行为事件;
如果所述应用层行为监控程序监控到所述行为事件是应用层可疑异常行为事件,则在应用层缓存中记录所述行为事件是所述应用层可疑异常行为事件;
如果所述驱动层行为监控程序监控到所述行为事件是驱动层可疑异常行为事件,则查找所述应用层缓存中是否记录所述行为事件是所述应用层可疑异常行为事件;
如果查找结果为不存在,则识别所述行为事件为恶意逃逸行为事件。
A2、如A1所述的方法,其特征在于,所述将应用层的应用层行为监控程序通过数据传送通道传送至驱动层,并通过所述驱动层在所有运行进程中内核注入所述应用层行为监控程序,并启动驱动层行为监控程序之前,所述方法还包括:
建立连接所述应用层和所述驱动层的数据传送通道。
A3、如A1所述的方法、其特征在于,所述如果所述应用层行为监控程序监控到所述行为事件是应用层可疑异常行为事件,则在应用层缓存中记录所述行为事件是所述应用层可疑异常行为事件,包括:
采用API HOOK方式拦截所述运行进程的系统API调用,并记录所述系统API调用时的应用层进程信息,所述应用层进程信息包括调用参数和运行环境;
根据所述应用层进程信息,判断所述行为事件是否为应用层可疑异常行为事件;
如果判断结果为是,则在应用层缓存中记录所述行为事件,并标识所述行为事件是所述应用层可疑异常行为事件。
A4、如A3所述的方法,其特征在于,所述根据所述应用层进程信息,判断所述行为事件是否为应用层可疑异常行为事件,包括:
根据所述应用层进程信息,建立所述行为事件的第一可执行PE文件;
根据预置行为链规则库,在检测进程中执行所述第一可执行PE文件,并记录所述第一执行结果;
如果所述第一执行结果中存在异常行为,则确定在所述应用层检测所述行为事件是应用层可疑异常行为事件,所述异常行为包括修改注册表启动项、感染系统文件、修改进程内存和非法外联网络。
A5、如A3所述的方法,其特征在于,所述根据所述应用层进程信息,判断所述行为事件是否为应用层可疑异常行为事件,包括:
获取所述行为事件的当前应用层堆栈地址序列;
如果所述当前应用层堆栈地址序列与预置正常堆栈地址序列规则库中的地址不同,则确定在所述应用层检测所述行为事件是应用层可疑异常行为事件。
A6、如A1所述的方法,其特征在于,所述如果所述驱动层行为监控程序监控到所述行为事件是驱动层可疑异常行为事件,则查找所述应用层缓存中是否记录所述行为事件是所述应用层可疑异常行为事件,包括:
监控所述应用层通过所述数据传送通道向下层传输的所述系统API调用,记录所述系统API调用时的驱动层进程信息,所述驱动层进程信息包括驱动加载、模块加载、进程创建、线程创建、文件操作、注册表操作和网络通信;
根据所述驱动层进程信息,判断所述行为事件是否为驱动层可疑异常行为事件;
如果判断结果为是,则查找所述应用层缓存中是否记录所述行为事件,且所述行为事件的标识是所述应用层可疑异常行为事件。
A7、如A6所述的方法,其特征在于,所述根据所述驱动层进程信息,判断所述行为事件是否为驱动层可疑异常行为事件,包括:
根据所述驱动层进程信息,建立所述行为事件的第二可执行PE文件;
根据预置行为链规则库,在检测进程中执行所述第二可执行PE文件,并记录所述第二执行结果;
如果所述第二执行结果中存在异常行为,则确定在所述驱动层检测到所述行为事件是驱动层可疑异常行为事件。
A8、如A6所述的方法,其特征在于,所述根据所述驱动层进程信息,判断所述行为事件是否为驱动层可疑异常行为事件,包括:
获取所述行为事件的当前驱动层堆栈地址序列;
如果所述当前驱动层堆栈地址序列与预置正常堆栈地址序列规则库中的地址不同,则确定在所述驱动层检测所述行为事件是驱动层可疑异常行为事件。
B9、一种识别逃逸安全监控行为的装置,其特征在于,包括:
启动模块,用于将应用层的应用层行为监控程序通过数据传送通道传送至驱动层,并通过所述驱动层在所有运行进程中内核注入所述应用层行为监控程序,并启动驱动层行为监控程序,所述应用层行为监控程序用于监控所述运行进程的应用层进程信息,所述驱动层行为监控程序用于监控所述远程进程的驱动层进程信息;
捕捉模块,用于根据所述应用层行为监控程序,捕捉行为事件;
记录模块,用于如果所述应用层行为监控程序监控到所述行为事件是应用层可疑异常行为事件,则在应用层缓存中记录所述行为事件是所述应用层可疑异常行为事件;
查找模块,用于如果所述驱动层行为监控程序监控到所述行为事件是驱动层可疑异常行为事件,则查找所述应用层缓存中是否记录所述应用层行为事件是所述可疑异常行为事件;
识别模块,用于如果查找结果为不存在,则识别所述行为事件为恶意逃逸行为事件。
B10、如B9所述的装置,其特征在于,所述装置还包括:
建立模块,用于所述将应用层的应用层行为监控程序通过数据传送通道传送至驱动层,并通过所述驱动层在所有运行进程中内核注入所述应用层行为监控程序,并启动驱动层行为监控程序之前,建立连接所述应用层和所述驱动层的数据传送通道。
B11、如B9所述的装置、其特征在于,所述记录模块,包括:
拦截单元,用于采用API HOOK方式拦截所述运行进程的系统API调用,并记录所述系统API调用时的应用层进程信息,所述应用层进程信息包括调用参数和运行环境;
第一判断单元,用于根据所述应用层进程信息,判断所述行为事件是否为应用层可疑异常行为事件;
记录单元,用于如果判断结果为是,则在应用层缓存中记录所述行为事件,并标识所述行为事件是所述应用层可疑异常行为事件。
B12、如B11所述的装置,其特征在于,所述第一判断单元,包括:
第一建立子单元,用于根据所述应用层进程信息,建立所述行为事件的第一可执行PE文件;
第一执行子单元,用于根据预置行为链规则库,在检测进程中执行所述第一可执行PE文件,并记录所述第一执行结果;
第一确定子单元,用于如果所述第一执行结果中存在异常行为,则确定在所述应用层检测所述行为事件是应用层可疑异常行为事件,所述异常行为包括修改注册表启动项、感染系统文件、修改进程内存和非法外联网络。
B13、如B11所述的装置,其特征在于,所述第一判断单元,包括:
第一获取子单元,用于获取所述行为事件的当前应用层堆栈地址序列;
第二确定子单元,用于如果所述当前应用层堆栈地址序列与预置正常堆栈地址序列规则库中的地址不同,则确定在所述应用层检测所述行为事件是应用层可疑异常行为事件。
B14、如B9所述的装置,其特征在于,所述查找模块,包括:
监控单元,用于监控所述应用层通过所述数据传送通道向下层传输的所述系统API调用,记录所述系统API调用时的驱动层进程信息,所述驱动层进程信息包括驱动加载、模块加载、进程创建、线程创建、文件操作、注册表操作和网络通信;
第二判断单元,用于根据所述驱动层进程信息,判断所述行为事件是否为驱动层可疑异常行为事件;
查找单元,用于如果判断结果为是,则查找所述应用层缓存中是否记录所述行为事件,且所述行为事件的标识是所述应用层可疑异常行为事件。
B15、如B14所述的装置,其特征在于,所述第二判断单元,包括:
第二建立子单元,用于根据所述驱动层进程信息,建立所述行为事件的第二可执行PE文件;
第二执行子单元,用于根据预置行为链规则库,在检测进程中执行所述第二可执行PE文件,并记录所述第二执行结果;
第三确定子单元,用于如果所述第二执行结果中存在异常行为,则确定在所述驱动层检测到所述行为事件是驱动层可疑异常行为事件。
B16、如B14所述的装置,其特征在于,所述第二判断单元,包括:
第二获取子单元,用于获取所述行为事件的当前驱动层堆栈地址序列;
第四确定子单元,用于如果所述当前驱动层堆栈地址序列与预置正常堆栈地址序列规则库中的地址不同,则确定在所述驱动层检测所述行为事件是驱动层可疑异常行为事件。
C17、一种存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如A1-A8中任一项所述的识别逃逸安全监控行为的方法对应的操作。
D18、一种计算机设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如A1-A8中任一项所述的识别逃逸安全监控行为的方法对应的操作。