一种KVM平台下杀毒软件客户端轻代理实现方法及系统与流程

文档序号:20442169发布日期:2020-04-17 22:29阅读:526来源:国知局
一种KVM平台下杀毒软件客户端轻代理实现方法及系统与流程

本发明涉及信息安全技术领域,尤其涉及一种kvm平台下杀毒软件客户端轻代理实现方法及系统。



背景技术:

目前虚拟化平台下,杀毒软件的存在形式一般有两种:普通杀软客户端、虚拟化厂商提供接口实现无代理客户端,普通杀软客户端:存在安装包体积过大,扫描风暴,部署繁锁等问题。无代理:需要与虚拟化厂商高度合作,通过接口获取客户机操作权限,一般与虚拟化厂商合作需要高额费用,且流程繁琐,针对性强,例如vmware。由于kvm开源,基于kvm开发的虚拟化厂商较多较杂,因此无代理合作更为困难。



技术实现要素:

有鉴于此,本发明实施例提供了一种kvm平台下杀毒软件客户端轻代理实现方法及系统,通过轻代理解决方案,解决了目前虚拟化平台下,普通杀软存在形式存在的体积过大、扫描风暴、占用宿主机物理网卡等问题,并且开发门槛较低,无需向虚拟化厂商购买接口、兼容性强。

第一方面,本发明实施例提供一种kvm平台下杀毒软件客户端轻代理实现方法,包括:

选取网络环境中一台主机为控制端并在所述控制端中部署杀毒管控模块,其余主机为代理端并部署轻代理服务程序;

代理端获取自身系统信息并将其上报到控制端完成注册;

控制端与代理端通信并统计已经注册成功的代理端信息;

控制端对已经注册成功的代理端下发扫描任务,代理端接收控制端下发的扫描任务并执行;

代理端执行扫描任务获得查杀数据,通过共享内存匹配完成安全检测或将查杀数据上传到控制端完成安全检测;

控制端接收代理端发送的查杀数据并进行安全检测,输出检测结果并反馈给代理端;

代理端根据控制端反馈的检测结果进行安全处置。

进一步地,所述部署轻代理服务,具体为:手动部署、远程部署或自动部署;手动部署:以安装包的形式将服务程序部署至代理端主机;远程部署:获取代理端主机口令信息,通过web管理中心将服务程序部署到代理端主机;自动部署:与虚拟化厂商进行合作,在创建代理端主机时自动将服务程序部署到代理端主机。

进一步地,所述控制端与代理端通信,具体为:

控制端利用ivshmem实现与代理端通信,控制端和代理端主机均配置开启ivshmem并加载ivshmempci设备驱动,通过共享内存实现数据共享及通信。

进一步地,所述共享内存,具体包括:

共享内存分为头区、缓存区、代理端区;头区用于记录共享内存的数据参数;缓存区用于存储匹配扫描数据;代理端区被划分为不同的代理端,可以实现不同代理端的专用数据通信信道;使用全局线程互斥锁实现共享内存的互斥访问。

进一步地,所述代理端执行扫描任务获得查杀数据,通过共享内存匹配完成安全检测或将查杀数据上传到控制端完成安全检测,具体为:代理端接收到查杀任务,获取待查杀的文件特征、hash、路径md5、文件大小和文件修改时间信息,在共享内存的缓存区中进行匹配,若命中则直接取出文件黑、白状态,若未命中,则通过ivshmem将该信息发送至控制端完成安全检测;针对加壳的二进制文件,直接将文件实体通过ivshmem发送至控制端完成安全检测;针对运行中内存注入行为,对运行中内存进行dump,并将dump文件通过ivshmem发送至控制端完成安全检测。

进一步地,所述发送至控制端完成安全检测还包括:采用国密sm2非对称加密算法对传输到控制端的文件进行加密脱敏。

进一步地,还包括:对全部代理端进行管控,针对不同代理端设置不同优先级,采用优先级调度方法在同时下发大量扫描任务时,对优先级高的代理端优先进行扫描,剩余代理端的扫描任务轮询下次执行。

第二方面,本发明实施例提供一种kvm平台下杀毒软件客户端轻代理实现系统,包括:

控制端:为网络环境中部署有杀毒管控模块的一台主机,用于与代理端通信并统计已经注册成功的代理端信息,对已经注册成功的代理端下发扫描任务,接收代理端发送的查杀数据并进行安全检测,输出检测结果并反馈给代理端;

代理端:为同一网络环境中部署有轻代理服务程序的其余主机,用于获取自身系统信息并将其上报到控制端完成注册,接收控制端下发的扫描任务并执行,执行扫描任务获得查杀数据,通过共享内存匹配安全检测或将查杀数据上传到控制端完成安全检测,根据控制端反馈的检测结果进行安全处置。

进一步地,所述部署轻代理服务程序,具体为:手动部署、远程部署或自动部署;手动部署:以安装包的形式将服务程序部署至代理端主机;远程部署:获取代理端主机口令信息,通过web管理中心将服务程序部署到代理端主机;自动部署:与虚拟化厂商进行合作,在创建代理端主机时自动将服务程序部署到代理端主机。

进一步地,所述控制端与代理端通信,具体为:

控制端利用ivshmem实现与代理端通信,控制端和代理端主机均配置开启ivshmem并加载ivshmempci设备驱动,通过共享内存实现数据共享及通信。

进一步地,所述代理端执行扫描任务获得查杀数据,通过共享内存匹配完成检测或将查杀数据上传到控制端完成检测,具体为:代理端接收到查杀任务,获取待查杀的文件特征、hash、路径md5、文件大小和文件修改时间信息,在共享内存的缓存区中进行匹配,若命中则直接取出文件黑、白状态,若未命中,则通过ivshmem将该信息发送至控制端完成安全检测;针对加壳的二进制文件,直接将文件实体通过ivshmem发送至控制端完成安全检测;针对运行中内存注入行为,对运行中内存进行dump,并将dump文件通过ivshmem发送至控制端完成安全检测。

进一步地,所述发送至控制端完成安全检测,还包括:采用国密sm2非对称加密算法对传输到控制端的文件进行加密脱敏。

进一步地,所述控制端,还用于:对全部代理端进行管控,针对不同代理端设置不同优先级,采用优先级调度方法在同时下发大量扫描任务时,对优先级高的代理端优先进行扫描,剩余代理端的扫描任务轮询下次执行。

本发明实施例提供的一种kvm平台下杀毒软件客户端轻代理实现方法及系统,具有如下有益效果:采用本发明技术方案,代理端体积可以控制在几m以内,部署时可以通过虚拟化厂商软件分发功能进行部署,解决了杀毒软件安装包体积大、部署难等问题,采用轻代理模式不需要虚拟化厂商提供接口,实现成本低,并且解决了虚拟环境下客户机与宿主机通信必须通过虚拟或物理网卡方式的问题。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1为本发明的一种kvm平台下杀毒软件客户端轻代理实现方法的一实施例流程图;

图2为本发明的一种kvm平台下杀毒软件客户端轻代理实现方法的又一实施例流程图;

图3为本发明的一种kvm平台下杀毒软件客户端轻代理实现系统的结构示意图。

具体实施方式

下面结合附图对本发明实施例进行详细描述。

应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。针对本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

为了更清楚地陈述本发明的具体实施例,对如下名词进行解释:

ivshmem:虚拟机内部共享内存的pci设备,虚拟机之间实现内存共享是通过把内存映射成guest内的pci设备来实现的;

国密sm2:sm2是国家密码管理局于2010年12月17日发布的椭圆曲线公钥、非对称加密算法;

dump:linuxdump功能是备份文件系统,在特定时刻,将整个储存装置或储存装置之某部分的内容记录在另一储存装置中。存储的目的通常是为了防止发生错误;将具备可读格式的数据从主要或辅助储存体复制至外部媒体,如磁带、磁盘或打印机等媒体;为收集错误信息而复制整个虚拟储存体或虚拟储存体之某部分的内容。

第一方面,本发明实施例提供一种kvm平台下杀毒软件客户端轻代理实现方法,能够通过轻代理解决方案,解决了目前虚拟化平台普通杀软体积过大、部署繁锁问题。

图1为本发明一种kvm平台下杀毒软件客户端轻代理实现方法的一实施例流程图,包括:

s101:选取网络环境中一台主机为控制端并在所述控制端中部署杀毒管控模块,其余主机为代理端并部署轻代理服务程序;

s102:代理端获取自身系统信息并将其上报到控制端完成注册;

s103:控制端与代理端通信并统计已经注册成功的代理端信息;

s104:控制端对已经注册成功的代理端下发扫描任务,代理端接收控制端下发的扫描任务并执行;

s105:代理端执行扫描任务获得查杀数据,通过共享内存匹配完成安全检测或将查杀数据上传到控制端完成安全检测;

s106:控制端接收代理端发送的查杀数据并进行安全检测,输出检测结果并反馈给代理端;

s107:代理端根据控制端反馈的检测结果进行安全处置。

优选地,所述部署轻代理服务程序,具体为:手动部署、远程部署或自动部署;手动部署:以安装包的形式将服务程序部署至代理端主机;远程部署:获取代理端主机口令信息,通过web管理中心将服务程序部署到代理端主机;自动部署:与虚拟化厂商进行合作,在创建代理端主机时自动将服务程序部署到代理端主机。

优选地,所述控制端与代理端通信,具体为:

控制端利用ivshmem实现与代理端通信,控制端和代理端主机均配置开启ivshmem并加载ivshmempci设备驱动,通过共享内存实现数据共享及通信。

优选地,所述共享内存,具体包括:

共享内存分为头区、缓存区、代理端区;头区用于记录共享内存的数据参数;缓存区用于存储匹配扫描数据;代理端区被划分为不同的代理端,可以实现不同代理端的专用数据通信信道;使用全局线程互斥锁实现共享内存的互斥访问。

优选地,所述代理端执行扫描任务获得查杀数据,通过共享内存匹配完成安全检测或将查杀数据上传到控制端完成安全检测,具体为:代理端接收到查杀任务,获取待查杀的文件特征、hash、路径md5、文件大小和文件修改时间信息,在共享内存的缓存区中进行匹配,若命中则直接取出文件黑、白状态,若未命中,则通过ivshmem将该信息发送至控制端完成安全检测;针对加壳的二进制文件,直接将文件实体通过ivshmem发送至控制端完成安全检测;针对运行中内存注入行为,对运行中内存进行dump,并将dump文件通过ivshmem发送至控制端完成安全检测。

优选地,所述发送至控制端完成安全检测还包括:采用国密sm2非对称加密算法对传输到控制端的文件进行加密脱敏。

优选地,还包括:对全部代理端进行管控,针对不同代理端设置不同优先级,采用优先级调度方法在同时下发大量扫描任务时,对优先级高的代理端优先进行扫描,剩余代理端的扫描任务轮询下次执行。

上述实施例所述的方法可将代理端体积控制在几m以内,部署时可以通过虚拟化厂商软件分发功能进行部署,解决了杀毒软件安装包体积大、部署难等问题,采用轻代理模式不需要虚拟化厂商提供接口,实现成本低,并且解决了虚拟环境下客户机与宿主机通信必须通过虚拟或物理网卡方式的问题。

同时,图2为本发明一种kvm平台下杀毒软件客户端轻代理实现方法又一实施例流程图,包括:

s201:选取网络环境中一台主机为控制端并在所述控制端中部署杀毒管控模块,其余主机为代理端并部署轻代理服务程序;

s202:代理端获取自身系统信息并将其上报到控制端完成注册;

s203:控制端与代理端通信并统计已经注册成功的代理端信息;

s204:对全部代理端进行管控,针对不同代理端设置不同优先级,采用优先级调度方法在同时下发大量扫描任务时,对优先级高的代理端优先进行扫描,剩余代理端的扫描任务轮询下次执行;

s205控制端对已经注册成功的代理端下发扫描任务,代理端接收控制端下发的扫描任务并执行;

s206:代理端执行扫描任务获得查杀数据,通过共享内存匹配完成安全检测或将查杀数据上传到控制端安全检测;

s207:控制端接收代理端发送的查杀数据并进行安全检测,输出检测结果并反馈给代理端;

s208:代理端根据控制端反馈的检测结果进行安全处置。

优选地,所述部署轻代理服务程序,具体为:手动部署、远程部署或自动部署;手动部署:以安装包的形式将服务程序部署至代理端主机;远程部署:获取代理端主机口令信息,通过web管理中心将服务程序部署到代理端主机;自动部署:与虚拟化厂商进行合作,在创建代理端主机时自动将服务程序部署到代理端主机。

优选地,所述控制端与代理端通信,具体为:

控制端利用ivshmem实现与代理端通信,控制端和代理端主机均配置开启ivshmem并加载ivshmempci设备驱动,通过共享内存实现数据共享及通信。

优选地,所述共享内存,具体包括:

共享内存分为头区、缓存区、代理端区;头区用于记录共享内存的数据参数;缓存区用于存储匹配扫描数据;代理端区被划分为不同的代理端,可以实现不同代理端的专用数据通信信道;使用全局线程互斥锁实现共享内存的互斥访问。

优选地,所述代理端执行扫描任务获得查杀数据,通过共享内存匹配完成安全检测或将查杀数据上传到控制端完成安全检测,具体为:代理端接收到查杀任务,获取待查杀的文件特征、hash、路径md5、文件大小和文件修改时间信息,在共享内存的缓存区中进行匹配,若命中则直接取出文件黑、白状态,若未命中,则通过ivshmem将该信息发送至控制端完成安全检测;针对加壳的二进制文件,直接将文件实体通过ivshmem发送至控制端完成安全检测;针对运行中内存注入行为,对运行中内存进行dump,并将dump文件通过ivshmem发送至控制端完成安全检测。

优选地,所述发送至控制端完成安全检测还包括:采用国密sm2非对称加密算法对传输到控制端的文件进行加密脱敏。

上述实施例所述的方法可将代理端体积控制在几m以内,部署时可以通过虚拟化厂商软件分发功能进行部署,解决了杀毒软件安装包体积大、部署难等问题,采用轻代理模式不需要虚拟化厂商提供接口,实现成本低,并且解决了虚拟环境下客户机与宿主机通信必须通过虚拟或物理网卡方式的问题,基于缓存和任务调度解决了扫描风暴占用过多资源问题。

第二方面,本发明实施例提供一种kvm平台下杀毒软件客户端轻代理实现系统。

图3为本发明的一种kvm平台下杀毒软件客户端轻代理实现系统的结构示意图,包括:

控制端31:为网络环境中部署有杀毒管控模块的一台主机,用于与代理端通信并统计已经注册成功的代理端信息,对已经注册成功的代理端下发扫描任务,接收代理端发送的查杀数据并进行安全检测,输出检测结果并反馈给代理端;

代理端32:为同一网络环境中部署有轻代理服务的其余主机,用于获取自身系统信息并将其上报到控制端完成注册,接收控制端下发的扫描任务并执行,执行扫描任务获得查杀数据,通过共享内存匹配安全检测或将查杀数据上传到控制端完成安全检测,根据控制端反馈的检测结果进行安全处置。

优选地,所述部署轻代理服务程序,具体为:手动部署、远程部署或自动部署;手动部署:以安装包的形式将服务程序部署至代理端主机;远程部署:获取代理端主机口令信息,通过web管理中心将服务程序部署到代理端主机;自动部署:与虚拟化厂商进行合作,在创建代理端主机时自动将服务程序部署到代理端主机。

优选地,所述控制端与代理端通信,具体为:

控制端利用ivshmem实现与代理端通信,控制端和代理端主机均配置开启ivshmem并加载ivshmempci设备驱动,通过共享内存实现数据共享及通信。

优选地,所述代理端执行扫描任务获得查杀数据,通过共享内存匹配完成检测或将查杀数据上传到控制端完成安全检测,具体为:代理端接收到查杀任务,获取待查杀的文件特征、hash、路径md5、文件大小和文件修改时间信息,在共享内存的缓存区中进行匹配,若命中则直接取出文件黑、白状态,若未命中,则通过ivshmem将该信息发送至控制端完成安全检测;针对加壳的二进制文件,直接将文件实体通过ivshmem发送至控制端完成安全检测;针对运行中内存注入行为,对运行中内存进行dump,并将dump文件通过ivshmem发送至控制端完成安全检测。

优选地,所述发送至控制端完成检测还包括:采用国密sm2非对称加密算法对传输到控制端的文件进行加密脱敏。

优选地,所述控制端,还用于:对全部代理端进行管控,针对不同代理端设置不同优先级,采用优先级调度方法在同时下发大量扫描任务时,对优先级高的代理端优先进行扫描,剩余代理端的扫描任务轮询下次执行。

上述实施例所述的系统可以将代理端体积控制在几m以内,部署时可以通过虚拟化厂商软件分发功能进行部署,解决了杀毒软件安装包体积大、部署难等问题,采用轻代理模式不需要虚拟化厂商提供接口,实现成本低,并且解决了虚拟环境下客户机与宿主机通信必须通过虚拟或物理网卡方式的问题。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。

尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

为了描述的方便,描述以上系统是以功能分为各种单元/模块分别描述。当然,在实施本发明时可以把各单元/模块的功能在同一个或多个软件和/或硬件中实现。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1