客户端网络通讯检测方法、装置及存储介质与流程

文档序号:19248186发布日期:2019-11-27 19:52阅读:152来源:国知局
本发明涉及通信
技术领域
:,具体涉及一种客户端网络通讯检测方法、装置及存储介质。
背景技术
::计算机上的安全软件客户端内核层为了快速的识别病毒和查杀木马,以及为了减轻安全软件客户端内核层的资源消耗,会将可疑文件发送到云服务器,由云服务器进行检测做出判定,再将检测结果返回给安全软件。因此,病毒和木马为了躲避安全软件的检测,会阻断安全软件与安全服务器的通讯。一般的安全软件会对host文件或dns进行检测修复,以恢复安全软件与安全服务器之间的网络通讯,但是这种方式很容易被病毒通过软件阻断技术绕过,并且该机制的自身隐蔽性不足,难以防止病毒对安全软件的破坏,导致安全软件对计算机的防护效果差。技术实现要素:本发明实施例提供一种客户端网络通讯检测方法、装置及存储介质,旨在提升安全软件对计算机的防护效果。本发明实施例提供一种客户端网络通讯检测方法,包括:获取客户端在电子设备中的进程信息,并建立虚拟化层与所述客户端之间的通讯连接;基于所述进程信息和所述通讯连接,在所述虚拟化层对所述客户端发送的网络数据包进行检测;当检测到所述网络数据包发生异常时,判定所述客户端与服务器之间的通讯异常;获取所述电子设备的系统信息,并通过所述虚拟化层将所述系统信息发送至所述服务器。本发明实施例还提供一种客户端网络通讯检测装置,包括:信息获取单元,用于获取客户端在电子设备中的进程信息,并建立虚拟化层与所述客户端之间的通讯连接;数据拦截单元,用于基于所述进程信息和所述通讯连接,在所述虚拟化层对所述客户端发送的网络数据包进行检测;通讯检测单元,用于当检测到所述网络数据包发生异常时,判定所述客户端与服务器之间的通讯异常;信息发送单元,用于获取所述电子设备的系统信息,并通过所述虚拟化层将所述系统信息发送至所述服务器。本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行本发明实施例所提供的任一客户端网络通讯检测方法。本发明实施例提供的客户端网络通讯检测方案,获取客户端在电子设备中的进程信息,并建立虚拟化层与客户端之间的通讯连接;基于进程信息和通讯连接,在虚拟化层对客户端发送的网络数据包进行检测;当检测到网络数据包发生异常时,判定客户端与服务器之间的通讯异常;获取电子设备的系统信息,并通过虚拟化层将系统信息发送至服务器,该方案基于硬件虚拟化技术,实现从虚拟化层对客户端与服务器的通讯进行有效监控,当客户端与服务器之间的通讯发生异常时,可以通过虚拟化层绕过操作系统,直接与服务器进行通信,提升安全软件对计算机的防护效果。附图说明为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1a是本发明实施例提供的客户端网络通讯检测方法的第一流程示意图;图1b是本申请实施例提供的客户端网络通讯检测方法的架构示意图;图1c是本申请实施例提供的客户端网络通讯检测方法中安全软件的启动流程示意图;图2是本发明实施例提供的客户端网络通讯检测方法的第二流程示意图;图3a是本发明实施例提供的客户端网络通讯检测装置的第一种结构示意图;图3b是本发明实施例提供的客户端网络通讯检测装置的第二种结构示意图;图3c是本发明实施例提供的客户端网络通讯检测装置的第三种结构示意图;图4是本发明实施例提供的电子设备的结构示意图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。本发明实施例提供一种客户端网络通讯检测方法,该客户端网络通讯检测方法的执行主体可以是本发明实施例提供的客户端网络通讯检测装置,或者集成了该客户端网络通讯检测装置的电子设备,其中该客户端网络通讯检测装置可以采用硬件或者软件的方式实现。其中,电子设备可以是智能手机、平板电脑、掌上电脑、笔记本电脑、或者台式电脑等设备。请参阅图1a,图1a是本发明实施例提供的客户端网络通讯检测方法的第一流程示意图。该客户端网络通讯检测方法的具体流程可以如下:101、获取客户端在电子设备中的进程信息,并建立虚拟化层与客户端之间的通讯连接。本发明实施例提供的客户端网络通讯检测方法,可以对安全软件的客户端与服务器之间的网络通讯情况进行检测。其中,安全软件为可以为计算机提供安全防护的应用程序,本方案中的安全软件包括安全软件虚拟化层、安全软件内核层和安全软件应用层。其中,安全软件虚拟化层是一个基于uefi(unifiedextensiblefirmwareinterface,统一的可扩展固件接口)的虚拟化层,该虚拟化层可以先于计算机操作系统引导程序执行,并具有直接操作计算机硬件的权限,可以越过操作系统,直接通过硬件i/o(input/output、输入/输出)操作与服务器之间进行通信。安全软件内核层可以通过如网络过滤驱动,注册表回调等方式对网络进行监控。安全软件应用层,即安全软件的客户端,可以向用户展示安全软件的可视化界面以及交互界面,同时能够从应用层监控网络,例如,可以通过dns(domainnamesystem,域名系统)的设置,host文件的设置等方式对网络进行监控。请参阅图1b,图1b是本申请实施例提供的客户端网络通讯检测方法的架构示意图。本方案的架构主要包括物理层、虚拟化层、操作系统内核层、客户端。其中,物理层主要包括计算机硬件,例如cpu(centralprocessingunit,中央处理器)、内存、主板、网卡、硬盘等。本实施例中的虚拟化层主要利用硬件虚拟化技术,比如intel-vt(intel公司的virtualizationtechnology虚拟化技术)或amd-v(amd公司的虚拟化技术),实现安全软件的虚拟化层。因此,本发明实施例提供的客户端网络通讯检测方法,在具体实现手段上,是基于硬件虚拟化技术在虚拟化层构建了一套网络监控组件,该组件可以监控操作系统内核以及安全软件客户端的网络状态,随时对客户端与服务器之间的网络通讯进行捕捉,同时具有直接操作计算机硬件的权限,即虚拟化层可以直接通过计算机硬件与服务器之间进行通讯。而对于操作系统内核层来说,从用户的角度来看,该内核与传统的操作系统内核并无差别,但是其本质上是运行在虚拟化层之上,也就是说,操作系统的行为受到虚拟化层的监控,因此,该操作系统内核不具备直接操作硬件的权利,即使有病毒、木马或者恶意程序进入到操作系统内核中,也无法破坏硬件与服务器之间的网络通讯。对于客户端,客户端是安全软件的用户界面,与传统的客户端一样,可以提供不同的网络监控配置。对于服务器,服务器可以是远程服务器,比如云服务器。云服务器可以接收客户端发送的样本数据,并对样本数据进行特征分析,以判断计算机是否受到病毒或者恶意程序等的攻击。接下来,基于上述架构对本方案中安全软件的启动流程进行说明。请参阅图1c,图1c是本申请实施例提供的客户端网络通讯检测方法中安全软件的启动流程示意图。在电子设备的电源开启后,安全软件虚拟化层会先于原始操作系统的引导程序执行,构建操作系统的运行环境,然后执行操作系统的引导程序以启动操作系统。在操作系统启动后,安全软件内核层启动,其中,安全软件内核层的启动过程加载了安全软件的保护驱动程序,在操作系统内核层里进行网络监控,例如,可以在操作系统内核层通过网络过滤驱动,注册表回调等方式进行网络监控。接下来,安全软件应用层启动,该过程启动了安全软件的客户端,向用户展示客户端的交互界面,同时从应用层监控网络。本申请实施例中,由于安全软件的启动流程是由虚拟化层到内核层,再到应用层的过程,因此,需要一个从底层(应用层)至上层(虚拟化层)的客户端定位过程,以使在客户端启动之后,虚拟化层的网络监控组件能够获取到客户端的进程信息。在一些实施例中,可以采用被动定位的方式获取客户端的进程信息。例如,获取客户端在电子设备中的进程信息的步骤可以包括:对电子设备中各进程触发的约定事件进行检测,其中,约定事件包括中断、i/o操作或虚拟机退出事件;当检测到预设的自定义约定事件时,基于自定义约定事件确定客户端在电子设备中的进程信息。该实施例中,在安全软件虚拟化层的与客户端之间预先定义一个特殊的约定事件,例如,该预先定义的约定事件可以是一个自定义中断、自定义i/o或者自定义vmcall指令等自定义约定事件,该自定义约定事件区别于其他应用程序的进程发起的约定事件,其中,vmcall指令会触发虚拟机退出事件。以自定义中断为例,在安全软件客户端启动后,客户端需要主动发起一个自定义中断,当虚拟化层检测到该自定义中断事件时,可以确定该自定义中断事件的源头为客户端的进程,从而可以获取到客户端的进程信息,其中,进程信息可以包括但不限于进程名称、进程id、进程对象地址、进程在内存中的位置等信息。或者,在其他实施例中,还可以采用主动定位的方式获取客户端的进程信息。例如,获取客户端在电子设备中的进程信息的步骤可以包括:从内存中查找包含有预设字符串的目标内存特征值;当查找到目标内存特征值时,基于目标内存特征值确定客户端在电子设备中的进程信息。该实施例中,由安全软件虚拟化层主动对客户端进行定位,其中,安全软件虚拟化层与客户端之间预先约定一个目标内存特征值,该目标内存特征值中需要携带有预设字符串。安全软件客户端在启动后,将客户端在内存中的地址写入到该内存特征值中,安全软件虚拟化层在内存中进行扫描,如果获取到包含有预设字符串的内存特征值,即可将获取到的该内存特征值作为目标内存特征值,从该目标内存特征值中获取客户端进程在内存中的地址,进而根据该地址获取到客户端的其他进程信息。或者,在另外一些实施例中,在安全软件应用层启动后,安全软件虚拟化层先采用被动定位的方式去获取客户端的进程信息,当在预设时长内未成功获取到客户端的进程信息时,再采用主动定位的方式获取客户端的进程信息。需要说明的是,如果安全软件虚拟化层对客户端的定位失败,即没有成功获取到客户端的进程信息,则说明上层的安全软件被破坏,即安全软件的应用层可能已经受到了攻击,此时,由于安全软件的虚拟化层具有直接操作计算机硬件的权限,即可直接通过对硬件的i/o操作向服务器发送警报和计算机当前的系统信息。在一些实施例中,从内存中查找包含有预设字符串的目标内存特征值的步骤之后,该方法还包括:当查找不到目标内存特征值时,判定客户端与服务器之间的通讯异常,并执行获取电子设备的系统信息,并通过虚拟化层将系统信息发送至服务器的步骤。此外,在获取到客户端的进程信息后,可以建立安全软件虚拟化层与客户端之间的通讯连接,例如,通过共享内存的方式建立通讯连接。比如,安全软件虚拟化层在内存中确定一个区域作为共享区域,当安全软件在虚拟化层的进程需要向客户端发送数据时,或者当客户端需要向虚拟化层的进程发送数据时,需要发送数据的进程可以将该数据写入至该共享内存区域中,当写入完毕后,向另一进程发送通知,以告知另一进程可以读取共享内存区域,或者,修改内存特征值,当另一进程监测到内存特征值被修改后,可以读取共享内存区域。在本申请实施例中,客户端可以通过这样的方式将网络数据包地址发送给安全软件虚拟化层。102、基于进程信息和通讯连接,在虚拟化层对客户端发送的网络数据包进行检测。其中,安全软件客户端在对计算机的安全防护过程中,当检测到可疑文件时,会将可疑文件的特征发送到云服务器,由云服务器对该可疑文件的安全作出判断并将判断结果返回给客户端,由客户端根据云服务器返回的判断结果对可疑文件进行处理。一些木马或者病毒为了躲避安全软件的检测,会破坏安全软件客户端与服务器之间的网络通讯,阻止安全软件客户端访问服务器,导致客户端无法识别和清楚新的木马或者病毒,削弱了安全软件对计算机的防护性能。例如,一些木马、病毒或者恶意文件会通过篡改、阻拦客户端发送的网络数据包的方式,阻止安全软件客户端将正确的网络数据包发送到服务器,使得客户端对网络数据包的发送发生异常。本申请实施例在安全软件的运行过程中,通过运行在硬件与操作系统之间的安全软件虚拟化层对客户端的网络通讯进行检测,并通过对网络数据包的发送是否发生异常来判断客户端与服务器之间的通讯是否发生异常。例如,虚拟化层的检测可以通过i/o拦截、syscall(systemcall,系统调用)拦截、内存访问拦截等方式实现。以下对这几种检测方式进行详细说明。方式一,在虚拟化层对客户端发送的网络数据包进行检测的步骤可以包括:在虚拟化层,基于虚拟机退出事件对客户端对网卡的i/o操作进行拦截以获取网络数据包;当检测到网络数据包被篡改,或者在预设时间时长内未获取到网络数据包时,判定网络数据包发生异常。如果客户端发起对网卡的i/o、mmio(memory-mappedi/o,内存映射i/o)等操作,会触发虚拟机退出事件(vm-exit),因此,对于安全软件虚拟化层来说,可以通过对虚拟机退出事件的检测,实现对客户端对网卡的i/o操作的拦截,以获取客户端提高对网卡的i/o操作发送的网络数据包。例如,当安全软件虚拟化层检测到虚拟机退出事件时,可以获取该虚拟机退出事件的原因及相关信息等,其中,根据虚拟机退出事件的原因可以确定是什么操作触发了该虚拟机退出事件,并且根据虚拟机退出事件的相关信息可以获取该虚拟机退出事件的触发原因对应的端口号、进程信息等,因此,对于安全软件虚拟化层来说,在检测到虚拟机退出事件时,可以根据该虚拟机退出事件的原因及相关信息确定是否是客户端对网卡的i/o操作所触发的,如果是,则获取该i/o操作对应的网络数据包,进而判断该网络数据包是否被篡改。病毒或者木马为了阻止客户端将其特征信息发送到服务器,会在网络数据包中对特征数据进行篡改,当安全软件虚拟化层拦截到该网络数据包之后,可以采用预先于客户端之间预定的数据校验方式对网络数据包进行校验,以判断网络数据包是否被篡改,例如,采用md5(message-digestalgorithm,消息摘要算法)校验判断网络数据包中的特征信息是否被篡改,如果检测到网络数据包被篡改,则判定网络数据包发生异常,也就是说,此时客户端已经无法将该病毒或者木马的特征信息发送到服务器了。或者,在一些可能的情况中,病毒或木马阻拦了网络数据包或修改了网络数据包的发送方信息,导致从安全软件虚拟化层拦截不到客户端对网卡的i/o操作对应的网络数据包,因此,当在预设时间时长内未获取到网络数据包时,也可以判定网络数据包发生异常。方式二,在虚拟化层对客户端发送的网络数据包进行检测的步骤可以包括:在虚拟化层,客户端的系统调用进行拦截以获取网络数据包;当检测到网络数据包被篡改,或者在预设时间时长内未获取到网络数据包时,判定网络数据包发生异常。客户端在向服务器发送数据时,客户端的进程会执行对网络相关的syscall,而syscall也会触发虚拟机退出事件,因此,安全软件虚拟化层还可以基于虚拟机退出事件对客户端的进程对网络相关的syscall进行拦截以获取网络数据包,其中,对syscall进行拦截以获取网络数据包的实现手段与上述方式一中的实现手段相似,具体参见上述描述,在此不再赘述。方式三,基于进程信息和通讯连接,在虚拟化层对客户端发送的网络数据包进行检测的步骤,包括:根据进程信息和通讯连接获取客户端的网络数据包地址;在虚拟化层,基于扩展页表异常事件对客户端对网络数据包地址的访问操作进行拦截,以获取网络数据包;当检测到网络数据包中包含有异常数据时,判定网络数据包发生异常。该实施方式中,安全软件虚拟化层先通过与安全软件客户端之间建立的通讯连接和客户端的进程信息,获取客户端的网络数据包在内存中的地址信息,然后将客户端网络数据包所在的内存设置为不可写,当客户端在该地址信息对应的内存写入网络数据包时,会触发扩展页表(extendedpagetables,ept)异常事件。因此,对于安全软件虚拟化层来说,可以利用对扩展页表异常事件的检测,对网络数据包进行访问拦截,判断拦截到的网络数据包中是否有异常数据,如果没有异常数据,则允许数据写入,如果有异常数据,则判定该网络数据包被篡改,即网络数据包的发送发生了异常。此外,除了上述三种拦截检测方式可以检测客户端受到了攻击之外,在一些实施例中,还可以采用组件签名校验的方式检测客户端是否受到攻击。例如,在获取客户端在电子设备中的进程信息的同时,获取客户端在硬盘中的路径信息。然后,根据该路径信息对客户端的代码进行签名校验,以判断客户端代码是否被修改,如果检测到客户端代码被修改,则判定客户端受到了攻击。可以理解的是,在具体实施时,可以采用上述多种检测方式中的任意一种对客户端发送的网络数据包进行检测,也可以同时采用上述多种检测方式中的任意多种方式进行检测。103、当检测到网络数据包发生异常时,判定客户端与服务器之间的通讯异常。当通过上述检测方式中的任意一种或者多种方式检测到客户端的网络数据包的发送发生异常时,可以判定客户端与服务器之间的通讯异常,即客户端受到了新的病毒或者木马的攻击,此时,即使客户端即使能够向服务器发送网络数据包,该网络数据包中也不会包含该新的病毒或者木马的特征信息。104、获取电子设备的系统信息,并通过虚拟化层将系统信息发送至服务器。当检测到安全软件客户端受到了攻击之后,客户端已经无法将该新的病毒或者木马的特征信息发送给服务器了,而对于安全软件虚拟化层来说,由于自身的隐蔽性,无法被病毒或木马进行探测和破坏,此时并没有受到操作系统的限制,再加上安全软件虚拟化层具有直接操作硬件的权限,因此,安全软件虚拟化层可以获取电子设备此时的系统信息,并直接操作硬件,绕过操作系统内核层进行网络发包,向服务器报警并将系统信息发送至服务器,由服务器对系统信息进行分析,以确定客户端的哪些项目发生异常,并将判断结果返回给电子设备。其中,发送的系统信息包括但不限于以下信息:电子设备当前运行的进程信息、客户端代码的执行位置信息、可疑文件等病毒或者木马可能影响到的信息。在一些实施例中,获取电子设备的系统信息,并通过虚拟化层将系统信息发送至服务器的步骤之后,该方法还包括:接收服务器根据系统信息返回的异常信息;根据异常信息确定客户端的异常项,并对异常项进行修复。服务器对接收到的系统信息进行检测,并将生成的异常信息返回给电子设备,电子设备根据收到的异常信息确定客户端的异常项,例如,注册表被篡改,或者客户端的配置项被修改,有异常文件等,则对这些异常项进行修复,例如,修正被篡改的注册表,修正客户端的配置文件,删除异常文件等。本发明提出基于虚拟化的客户端网络通讯检测方法。通过基于uefi的虚拟化层启动方式,可以提高自身隐蔽性,无法被病毒进行探测和破坏,更有效的检测网络。并且其拥有直接操作物理硬件的权限,可以绕过软件阻断技术(即使是操作系统内核层)进行网络发包,以实现安全软件与服务器之间的正常通信,使得安全软件能够将检测到的异常及时地发送到服务器。具体实施时,本申请不受所描述的各个步骤的执行顺序的限制,在不产生冲突的情况下,某些步骤还可以采用其它顺序进行或者同时进行。此外,需要说明的是,在采用本申请实施例提出的客户端网络通讯检测方法的同时,还可以采用传统方案对客户端的网络通讯进行检测,传比如检测网络安全协议的设置,ip(internetprotocol、互联网协议)、dns、防火墙等是否正常。由上,本发明实施例提出的客户端网络通讯检测方法,获取客户端在电子设备中的进程信息,并建立虚拟化层与客户端之间的通讯连接;基于进程信息和通讯连接,在虚拟化层对客户端发送的网络数据包进行检测;当检测到网络数据包发生异常时,判定客户端与服务器之间的通讯异常;获取电子设备的系统信息,并通过虚拟化层将系统信息发送至服务器,该方案基于硬件虚拟化技术,实现从虚拟化层对客户端与服务器的通讯进行有效监控,当客户端与服务器之间的通讯发生异常时,可以通过虚拟化层绕过操作系统,直接与服务器进行通信,提升安全软件对计算机的防护效果。根据前面实施例所描述的方法,以下将举例作进一步详细说明。请参阅图2,图2是本发明实施例提供的客户端网络通讯检测方法的第二流程示意图。方法包括:201、在安全软件的客户端启动后,对电子设备中各进程触发的约定事件进行检测。本申请实施例中的安全软件包括安全软件虚拟化层、安全软件内核层和安全软件应用层。在电子设备的电源开启后,安全软件虚拟化层会先于原始操作系统的引导程序执行,构建操作系统的运行环境,然后执行操作系统的引导程序以启动操作系统。在操作系统启动后,安全软件内核层启动,其中,安全软件内核层的启动过程加载了安全软件的保护驱动程序,在操作系统内核层里进行网络监控,接下来,安全软件应用层启动,该过程启动了安全软件的客户端,从应用层监控网络。202、当检测到预设的自定义约定事件时,基于自定义约定事件确定客户端在电子设备中的进程信息。在安全软件虚拟化层的与客户端之间预先定义一个自定义中断、自定义i/o或者自定义vmcall指令等自定义约定事件,当虚拟化层检测到该自定义中断事件时,可以根据自定义约定事件的信息获取到客户端的进程信息。若获取到进程信息,则执行203;若获取不到进程信息,则执行206。203、建立虚拟化层与客户端之间的通讯连接。如果安全软件的虚拟层能够成功获取到客户端的进程信息,则通过共享内存的方式建立虚拟化层与客户端之间的通讯连接,在内存中确定一个区域作为共享内存区域,通过该共享内存在虚拟化层和客户端之间实现数据的传递。204、基于进程信息和通讯连接,在虚拟化层,通过虚拟机中断事件或者扩展页表异常事件,对客户端的网络数据包进行检测。木马、病毒或者恶意文件会通过篡改、阻拦客户端发送的网络数据包的方式,阻止安全软件客户端将正确的网络数据包发送到服务器,使得客户端对网络数据包的发送发生异常。安全软件虚拟化层对虚拟机退出事件和/或扩展页表异常事件进行实时检测,当检测到虚拟机退出事件时,根据事件信息判断是否是客户端对网卡的i/o操作所触发的,如果是,则获取该i/o操作对应的网络数据包,进而判断该网络数据包是否被篡改;当检测到扩展页表异常事件时,对网络数据包进行访问拦截,判断拦截到的网络数据包中是否有异常数据,如果没有异常数据,则允许数据写入,如果有异常数据,则判定该网络数据包被篡改,即网络数据包的发送发生了异常。205、当检测到网络数据包被篡改,或者在预设时间时长内未获取到网络数据包时,判定网络数据包发生异常。当检测到网络数据包发生异常时,执行206。206、判定客户端与服务器之间的通讯异常。当检测到客户端的网络数据包的发送发生异常时,可以判定客户端与服务器之间的通讯异常,即客户端受到了新的病毒或者木马的攻击。207、获取电子设备的系统信息,并通过虚拟化层将系统信息发送至服务器。安全软件虚拟化层获取电子设备当前运行的进程信息、客户端代码的执行位置信息、可疑文件等系统信息发送至服务器,服务器对接收到的系统信息进行检测,并将生成的异常信息返回给电子设备。208、接收服务器根据系统信息返回的异常信息,并根据异常信息确定客户端的异常项,并对异常项进行修复。电子设备根据收到的异常信息确定客户端的异常项,例如,注册表被篡改,或者客户端的配置项被修改,有异常文件等,则对这些异常项进行修复,例如,修正被篡改的注册表,修正客户端的配置文件,删除异常文件等。由上可知,本发明实施例提出的客户端网络通讯检测方法,在安全软件的客户端启动后,通过自定义约定事件对客户端在内存中的位置进行定位,获取到客户端的进程信息,然后基于该进程信息建立虚拟化层与客户端之间的通讯连接,基于进程信息和通讯连接,在虚拟化层对客户端的网络数据包进行检测,通过网络数据包的异常判定客户端与服务器之间的通讯异常时,通过虚拟化层绕过操作系统,直接与服务器进行通信,提升安全软件对计算机的防护效果。为了实施以上方法,本发明实施例还提供一种客户端网络通讯检测装置,该客户端网络通讯检测装置具体可以集成在终端设备如手机、平板电脑等设备中。例如,请参阅图3a,图3a是本发明实施例提供的客户端网络通讯检测装置的第一种结构示意图。该客户端网络通讯检测装置可以包括信息获取单元301、数据拦截单元302、通讯检测单元303和信息发送单元304,如下:信息获取单元301,用于获取客户端在电子设备中的进程信息,并建立虚拟化层与所述客户端之间的通讯连接;数据拦截单元302,用于基于所述进程信息和所述通讯连接,在所述虚拟化层对所述客户端发送的网络数据包进行检测;通讯检测单元303,用于当检测到所述网络数据包发生异常时,判定所述客户端与服务器之间的通讯异常;信息发送单元304,用于获取所述电子设备的系统信息,并通过所述虚拟化层将所述系统信息发送至所述服务器。在一些实施例中,信息获取单元301还用于:对电子设备中各进程触发的约定事件进行检测,其中,所述约定事件包括中断、输入/输出操作或虚拟机退出事件;当检测到预设的自定义约定事件时,基于所述自定义约定事件确定所述客户端在电子设备中的进程信息。请参阅图3b,图3b是本发明实施例提供的客户端网络通讯检测装置的第二种结构示意图。在一些实施例中,信息获取单元301包括:特征值查找子单元3011,用于从内存中查找包含有预设字符串的目标内存特征值;信息获取子单元3012,用于当查找到所述目标内存特征值时,基于所述目标内存特征值确定所述客户端在电子设备中的进程信息。在一些实施例中,通讯检测单元303还用于:当查找不到所述目标内存特征值时,判定所述客户端与服务器之间的通讯异常。在一些实施例中,数据拦截单元302还用于:在所述虚拟化层,基于虚拟机退出事件对所述客户端对网卡的输入/输出操作进行拦截以获取网络数据包;当检测到所述网络数据包被篡改,或者在预设时间时长内未获取到网络数据包时,判定网络数据包发生异常。在一些实施例中,数据拦截单元302还用于:在所述虚拟化层,基于虚拟机退出事件对所述客户端的系统调用进行拦截以获取网络数据包;当检测到所述网络数据包被篡改,或者在预设时间时长内未获取到网络数据包时,判定网络数据包发生异常。在一些实施例中,数据拦截单元302还用于:根据所述进程信息和所述通讯连接获取所述客户端的网络数据包地址;在所述虚拟化层,基于扩展页表异常事件对所述客户端对所述网络数据包地址的访问操作进行拦截,以获取网络数据包;当检测到所述网络数据包中包含有异常数据时,判定网络数据包发生异常。请参阅图3c,图3c是本发明实施例提供的客户端网络通讯检测装置的第三种结构示意图。在一些实施例中,该客户端网络通讯检测装置还可以包括数据修复单元305,该数据修复单元305用于:接收所述服务器根据所述系统信息返回的异常信息;根据所述异常信息确定所述客户端的异常项,并对所述异常项进行修复。具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。应当说明的是,本发明实施例提供的客户端网络通讯检测装置与上文实施例中的客户端网络通讯检测方法属于同一构思,在客户端网络通讯检测装置上可以运行客户端网络通讯检测方法实施例中提供的任一方法,其具体实现过程详见客户端网络通讯检测方法实施例,此处不再赘述。本发明实施例提出的客户端网络通讯检测装置,通过信息获取单元301获取客户端在电子设备中的进程信息,并建立虚拟化层与客户端之间的通讯连接;数据拦截单元302基于进程信息和通讯连接,在虚拟化层对客户端发送的网络数据包进行检测;当通讯检测单元303检测到网络数据包发生异常时,判定客户端与服务器之间的通讯异常;信息发送单元304获取电子设备的系统信息,并通过虚拟化层将系统信息发送至服务器,该方案基于硬件虚拟化技术,实现从虚拟化层对客户端与服务器的通讯进行有效监控,当客户端与服务器之间的通讯发生异常时,可以通过虚拟化层绕过操作系统,直接与服务器进行通信,提升安全软件对计算机的防护效果。本发明实施例还提供一种电子设备,请参阅图4,图4是本发明实施例提供的电子设备的结构示意图。具体来讲:该电子设备可以包括一个或者一个以上处理核心的处理器401、一个或一个以上计算机可读存储介质的存储器402、电源403和输入单元404等部件。本领域技术人员可以理解,图4中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:处理器401是该电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体检测。可选的,处理器401可包括一个或多个处理核心;优选的,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器401对存储器402的访问。电子设备还包括给各个部件供电的电源403,优选的,电源403可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源403还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。该电子设备还可包括输入单元404,该输入单元404可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。尽管未示出,电子设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,电子设备中的处理器401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现各种功能,如下:获取客户端在电子设备中的进程信息,并建立虚拟化层与所述客户端之间的通讯连接;基于所述进程信息和所述通讯连接,在所述虚拟化层对所述客户端发送的网络数据包进行检测;当检测到所述网络数据包发生异常时,判定所述客户端与服务器之间的通讯异常;获取所述电子设备的系统信息,并通过所述虚拟化层将所述系统信息发送至所述服务器。在一些实施例中,处理器401运行存储在存储器402中的应用程序,还可以实现如下功能:对电子设备中各进程触发的约定事件进行检测,其中,所述约定事件包括中断、输入/输出操作或虚拟机退出事件;当检测到预设的自定义约定事件时,基于所述自定义约定事件确定所述客户端在电子设备中的进程信息。在一些实施例中,处理器401运行存储在存储器402中的应用程序,还可以实现如下功能:从内存中查找包含有预设字符串的目标内存特征值;当查找到所述目标内存特征值时,基于所述目标内存特征值确定所述客户端在电子设备中的进程信息。在一些实施例中,处理器401运行存储在存储器402中的应用程序,还可以实现如下功能:从内存中查找包含有预设字符串的目标内存特征值的步骤之后,当查找不到所述目标内存特征值时,判定所述客户端与服务器之间的通讯异常,并执行获取所述电子设备的系统信息,并通过所述虚拟化层将所述系统信息发送至所述服务器的步骤。在一些实施例中,处理器401运行存储在存储器402中的应用程序,还可以实现如下功能:在所述虚拟化层,基于虚拟机退出事件对所述客户端对网卡的输入/输出操作进行拦截以获取网络数据包;当检测到所述网络数据包被篡改,或者在预设时间时长内未获取到网络数据包时,判定网络数据包发生异常。在一些实施例中,处理器401运行存储在存储器402中的应用程序,还可以实现如下功能:在所述虚拟化层,基于虚拟机退出事件对所述客户端的系统调用进行拦截以获取网络数据包;当检测到所述网络数据包被篡改,或者在预设时间时长内未获取到网络数据包时,判定网络数据包发生异常。在一些实施例中,处理器401运行存储在存储器402中的应用程序,还可以实现如下功能:根据所述进程信息和所述通讯连接获取所述客户端的网络数据包地址;在所述虚拟化层,基于扩展页表异常事件对所述客户端对所述网络数据包地址的访问操作进行拦截,以获取网络数据包;当检测到所述网络数据包中包含有异常数据时,判定网络数据包发生异常。在一些实施例中,处理器401运行存储在存储器402中的应用程序,还可以实现如下功能:通过所述虚拟化层将所述系统信息发送至所述服务器的步骤之后,接收所述服务器根据所述系统信息返回的异常信息;根据所述异常信息确定所述客户端的异常项,并对所述异常项进行修复。本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。由上所述,本发明实施例提出的电子设备,获取客户端在电子设备中的进程信息,并建立虚拟化层与客户端之间的通讯连接;基于进程信息和通讯连接,在虚拟化层对客户端发送的网络数据包进行检测;当检测到网络数据包发生异常时,判定客户端与服务器之间的通讯异常;获取电子设备的系统信息,并通过虚拟化层将系统信息发送至服务器,该方案基于硬件虚拟化技术,实现从虚拟化层对客户端与服务器的通讯进行有效监控,当客户端与服务器之间的通讯发生异常时,可以通过虚拟化层绕过操作系统,直接与服务器进行通信,提升安全软件对计算机的防护效果。为此,本发明实施例提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本发明实施例所提供的任一种客户端网络通讯检测方法。例如,该指令可以执行:获取客户端在电子设备中的进程信息,并建立虚拟化层与所述客户端之间的通讯连接;基于所述进程信息和所述通讯连接,在所述虚拟化层对所述客户端发送的网络数据包进行检测;当检测到所述网络数据包发生异常时,判定所述客户端与服务器之间的通讯异常;获取所述电子设备的系统信息,并通过所述虚拟化层将所述系统信息发送至所述服务器。以上操作的具体实施可参见前面的实施例,在此不再赘述。其中,该计算机可读存储介质可以包括:只读存储器(rom,readonlymemory)、随机存取记忆体(ram,randomaccessmemory)、磁盘或光盘等。由于该计算机可读存储介质中所存储的指令,可以执行本发明实施例所提供的任一种客户端网络通讯检测方法,因此,可以实现本发明实施例所提供的任一种客户端网络通讯检测方法所能实现的有益效果,详见前面的实施例,在此不再赘述。以上对本发明实施例所提供的一种客户端网络通讯检测方法、装置及计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1