一种恶意软件检测的方法、装置、服务器及可读存储介质与流程

文档序号:20188515发布日期:2020-03-27 19:24阅读:128来源:国知局
一种恶意软件检测的方法、装置、服务器及可读存储介质与流程

本申请涉及软件检测领域,特别涉及一种恶意软件检测的方法、装置、服务器及可读存储介质。



背景技术:

随着通信技术的发展,移动终端,如智能手机、平板电脑等设备的应用也越来越为普遍,可以说,它们已经逐渐成为人们生活中不可或缺的一部分。但是,这些高科技产品在丰富人们生活,以及给人们的生活提供便利的同时,也带来了一些信息安全的问题。为了达到某种目的,一些非法软件提供者经常会在网络中散布一些恶意软件,当用户在浏览一些恶意网站或下载某些信息之后,这些恶意软件就会运行在用户的终端中,轻则会对用户造成骚扰,重则可能会对用户信息如账户密码等进行泄露,严重威胁用户的人身财产安全。

在现有技术中,通常采用恶意软件检测模型对恶意软件进行检测,然而目前的恶意软件检测模型都采用集中获取各终端日志或流量数据来统一对初始模型进行训练,容易导致终端隐私的泄露。

因此,如何避免在恶意软件检测过程中泄露终端隐私是本领域技术人员目前需要解决的技术问题。



技术实现要素:

本申请的目的是提供一种恶意软件检测的方法、装置、服务器及可读存储介质,用于避免在恶意软件检测过程中泄露终端隐私。

为解决上述技术问题,本申请提供一种恶意软件检测的方法,该方法包括:

发送模型构建命令至每个终端,以使每个所述终端构建恶意检测模型,并获取本地数据对所述恶意检测模型进行训练;

获取每个所述终端的恶意检测模型的模型参数;

根据每个所述模型参数确定最优模型参数;

将所述最优模型参数发送至每个所述终端,以使每个所述终端根据所述最优模型参数确定最优恶意检测模型,并利用所述最优恶意检测模型进行恶意软件检测。

可选的,根据每个所述模型参数确定最优模型参数,包括:

通过预设算法对每个所述模型参数进行处理,得到综合模型参数;

判断所述综合模型参数是否为所述预设算法的最优解;

若否,则将所述综合模型参数发送至每个所述终端,以使每个所述终端根据所述综合模型参数以及所述本地数据对所述恶意检测模型进行训练;

获取每个所述终端的恶意检测模型的模型参数,并返回执行通过预设算法对每个所述模型参数进行处理,得到模型参数的步骤;

若是,则确定所述综合模型参数为所述最优模型参数。

可选的,所述模型构建命令中包括训练周期、数据源类型及初始模型中的至少一项。

可选的,每个所述终端构建恶意检测模型,并获取本地数据对所述恶意检测模型进行训练,包括:

每个所述终端根据所述初始模型建立恶意检测模型;

根据所述数据源类型获取所述本地数据,并对所述本地数据进行处理,得到特征向量样本集;

根据所述特征向量样本集对所述恶意检测模型进行时长为一个训练周期的训练。

可选的,每个所述终端根据所述最优模型参数确定最优恶意检测模型,包括:

每个所述终端将所述初始模型的模型参数更改为所述最优模型参数,得到所述最优恶意检测模型。

可选的,所述发送模型构建命令至每个终端,包括:

获取配置信息;其中,所述配置信息包括每个所述终端的ip地址及端口信息;

根据所述配置信息构建局域网,并发送所述模型构建命令至所述局域网的每个终端。

可选的,在每个所述终端根据所述最优模型参数确定最优恶意检测模型,并利用所述最优恶意检测模型进行恶意软件检测之后,还包括:

获取每个所述终端的恶意软件检测结果,并根据每个所述恶意软件检测结果生成检测报告。

本申请还提供一种恶意软件检测的装置,该装置包括:

第一发送模块,用于发送模型构建命令至每个终端,以使每个所述终端构建恶意检测模型,并获取本地数据对所述恶意检测模型进行训练;

第一获取模块,用于获取每个所述终端的恶意检测模型的模型参数;

确定模块,用于根据每个所述模型参数确定最优模型参数;

第二发送模块,用于将所述最优模型参数发送至每个所述终端,以使每个所述终端根据所述最优模型参数确定最优恶意检测模型,并利用所述最优恶意检测模型进行恶意软件检测。

本申请还提供一种服务器,该服务器包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上述任一项所述恶意软件检测的方法的步骤。

本申请还提供一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述恶意软件检测的方法的步骤。

本申请所提供恶意软件检测的方法,包括:发送模型构建命令至每个终端,以使每个终端构建恶意检测模型,并获取本地数据对恶意检测模型进行训练;获取每个终端的恶意检测模型的模型参数;根据每个模型参数确定最优模型参数;将最优模型参数发送至每个终端,以使每个终端根据最优模型参数确定最优恶意检测模型,并利用最优恶意检测模型进行恶意软件检测。

本申请所提供的技术方案,通过每个终端获取本地数据对恶意检测模型进行训练,然后根据每个终端的模型参数确定最优模型参数,以使每个终端根据最优模型参数确定最优恶意检测模型来完成恶意软件检测,恶意检测模型的训练是在每个终端中进行的,服务器不需要获取终端中的本地数据,避免了终端隐私的泄露,同时提高了模型训练的效率。本申请同时还提供了一种恶意软件检测的装置、服务器及可读存储介质,具有上述有益效果,在此不再赘述。

附图说明

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

图1为本申请实施例所提供的一种恶意软件检测的方法的流程图;

图2为图1所提供的一种恶意软件检测的方法中s103的一种实际表现方式的流程图;

图3为本申请实施例所提供的一种恶意软件检测的装置的结构图;

图4为本申请实施例所提供的另一种恶意软件检测的装置的结构图;

图5为本申请实施例所提供的一种服务器的结构图。

具体实施方式

本申请的核心是提供一种恶意软件检测的方法、装置、服务器及可读存储介质,用于避免在恶意软件检测过程中泄露终端隐私。

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

请参考图1,图1为本申请实施例所提供的一种恶意软件检测的方法的流程图。

其具体包括如下步骤:

s101:发送模型构建命令至每个终端,以使每个终端构建恶意检测模型,并获取本地数据对恶意检测模型进行训练;

基于在现有技术中,通常采用恶意软件检测模型对恶意软件进行检测,然而目前的恶意软件检测模型都采用集中获取各终端日志或流量数据来统一对初始模型进行训练,容易导致终端隐私的泄露;故本申请提供了一种恶意软件检测的方法,用于解决上述问题;

本申请基于联邦学习(federatedlearning)实现,联邦学习是一种新兴的人工智能基础技术,用于解决安卓手机终端用户在本地更新模型的问题,其设计目标是在保障大数据交换时的信息安全、保护终端数据和个人数据隐私、保证合法合规的前提下,在多参与方或多计算结点之间开展高效率的机器学习。其中,联邦学习可使用的机器学习算法不局限于神经网络,还包括随机森林等重要算法。

优选的,这里提到的发送模型构建命令至每个终端,其具体可以为:

获取配置信息;其中,配置信息包括每个终端的ip地址及端口信息;

根据配置信息构建局域网,并发送模型构建命令至局域网的每个终端。

本申请实施例中,构建局域网的目的在于,便于技术人员根据需求自行选择终端进行组网,来构建恶意监测模型;

优选的,这里提到的模型构建命令中包括训练周期、数据源类型及初始模型中的至少一项;其中,该初始模型可以包括但不限于svm模型、高斯分布模型;该数据源类型可以包括但不限于系统日志、应用日志、流量日志;

在此基础上,每个终端构建恶意检测模型,并获取本地数据对恶意检测模型进行训练,其具体可以为:

每个终端根据初始模型建立恶意检测模型;

根据数据源类型获取本地数据,并对本地数据进行处理,得到特征向量样本集;

根据特征向量样本集对恶意检测模型进行时长为一个训练周期的训练。

这里提到的特征向量样本集中的特征向量样本,可以包括但不限于sip、sport、ip、port、访问时间、访问时长、标记中的至少一项;其中,标记是指此条样本的标签,用于区分此条样本是否为恶意软件,该标签的取值可以由终端防护系统关联得到。

s102:获取每个终端的恶意检测模型的模型参数;

当终端训练完恶意检测模型之后,服务器获取每个终端的恶意检测模型的模型参数,由于每个终端中的本地数据不同,因此训练得到的模型参数也各不相同,获取每个终端的恶意检测模型的模型参数的目的在于,根据每个模型参数确定最优模型参数,进而确定最优恶意检测模型。

s103:根据每个模型参数确定最优模型参数;

s104:将最优模型参数发送至每个终端,以使每个终端根据最优模型参数确定最优恶意检测模型,并利用最优恶意检测模型进行恶意软件检测。

优选的,当模型构建命令中包括训练周期、数据源类型及初始模型中的至少一项时,这里提到的每个终端根据最优模型参数确定最优恶意检测模型具体可以为:

每个终端将初始模型的模型参数更改为最优模型参数,得到最优恶意检测模型。

优选的,在每个终端根据最优模型参数确定最优恶意检测模型,并利用最优恶意检测模型进行恶意软件检测之后,还可以获取每个终端的恶意软件检测结果,并根据每个恶意软件检测结果生成检测报告,以使用户或技术人员能够根据检测报告及时确定恶意软件的类别及数量。

基于上述技术方案,本申请所提供的一种恶意软件检测的方法,通过每个终端获取本地数据对恶意检测模型进行训练,然后根据每个终端的模型参数确定最优模型参数,以使每个终端根据最优模型参数确定最优恶意检测模型来完成恶意软件检测,恶意检测模型的训练是在每个终端中进行的,服务器不需要获取终端中的本地数据,避免了终端隐私的泄露,同时提高了模型训练的效率。

针对于上一实施例的步骤s103,其中所描述的根据每个模型参数确定最优模型参数,其具体也可以为如图2所示的步骤,下面结合图2进行说明。

请参考图2,图2为图1所提供的一种恶意软件检测的方法中s103的一种实际表现方式的流程图。

其具体包括以下步骤:

s201:通过预设算法对每个模型参数进行处理,得到综合模型参数;

这里提到的预设算法可以包括但不限于线性回归算法、梯度算法等。

s202:判断综合模型参数是否为预设算法的最优解;

若否,则进入步骤s203;若是,则进入步骤s205。

s203:将综合模型参数发送至每个终端,以使每个终端根据综合模型参数以及本地数据对恶意检测模型进行训练;

s204:获取每个终端的恶意检测模型的模型参数,并返回执行步骤s201;

s205:确定综合模型参数为最优模型参数。

基于上述技术方案,本申请实施例通过预设算法对每个模型参数进行处理,得到综合模型参数,然后判断综合模型参数是否为预设算法的最优解;如果不是的话,就将综合模型参数发送至每个终端,以使每个终端在综合模型参数的基础上结合本地数据进行训练,之后在获取每个终端的恶意检测模型的模型参数,并返回执行步骤s201,直至得到预设算法的最优解,最后将该最优解作为最优模型参数,以使得到的最优模型参数更为准确,进而提高恶意软件检测的准确率。

请参考图3,图3为本申请实施例所提供的一种恶意软件检测的装置的结构图。

该装置可以包括:

第一发送模块100,用于发送模型构建命令至每个终端,以使每个终端构建恶意检测模型,并获取本地数据对恶意检测模型进行训练;

第一获取模块200,用于获取每个终端的恶意检测模型的模型参数;

确定模块300,用于根据每个模型参数确定最优模型参数;

第二发送模块400,用于将最优模型参数发送至每个终端,以使每个终端根据最优模型参数确定最优恶意检测模型,并利用最优恶意检测模型进行恶意软件检测。

请参考图4,图4为本申请实施例所提供的另一种恶意软件检测的装置的结构图。

该确定模块300可以包括:

处理子模块,用于通过预设算法对每个模型参数进行处理,得到综合模型参数;

判断子模块,用于判断综合模型参数是否为预设算法的最优解;

发送子模块,用于当综合模型参数不为预设算法的最优解时,将综合模型参数发送至每个终端,以使每个终端根据综合模型参数以及本地数据对恶意检测模型进行训练;

第一获取子模块,用于获取每个终端的恶意检测模型的模型参数,并返回处理子模块执行通过预设算法对每个模型参数进行处理,得到模型参数的步骤;

确定子模块,用于当综合模型参数为预设算法的最优解时,确定综合模型参数为最优模型参数。

该第一发送模块100可以包括:

第二获取子模块,用于获取配置信息;其中,配置信息包括每个终端的ip地址及端口信息;

构建子模块,用于根据配置信息构建局域网,并发送模型构建命令至局域网的每个终端。

该系统还可以包括:

第二获取模块,用于获取每个终端的恶意软件检测结果,并根据每个恶意软件检测结果生成检测报告。

以上装置中的各个组成部分可实际应用于以下的实施例中:

第一发送模块发送模型构建命令至每个终端,以使每个终端构建恶意检测模型,并获取本地数据对恶意检测模型进行训练;第一获取模块获取每个终端的恶意检测模型的模型参数;处理子模块通过预设算法对每个模型参数进行处理,得到综合模型参数;判断子模块判断综合模型参数是否为预设算法的最优解;当综合模型参数不为预设算法的最优解时,发送子模块将综合模型参数发送至每个终端,以使每个终端根据综合模型参数以及本地数据对恶意检测模型进行训练;第一获取子模块获取每个终端的恶意检测模型的模型参数,并返回处理子模块执行通过预设算法对每个模型参数进行处理,得到模型参数的步骤;当综合模型参数为预设算法的最优解时,确定子模块确定综合模型参数为最优模型参数。

第二发送模块将最优模型参数发送至每个终端,以使每个终端根据最优模型参数确定最优恶意检测模型,并利用最优恶意检测模型进行恶意软件检测。第二获取模块获取每个终端的恶意软件检测结果,并根据每个恶意软件检测结果生成检测报告。

请参考图5,图5为本申请实施例所提供的一种服务器的结构图。

该服务器500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessingunits,cpu)522(例如,一个或一个以上处理器)和存储器532,一个或一个以上存储应用程序542或数据544的存储介质530(例如一个或一个以上海量存储服务器)。其中,存储器532和存储介质530可以是短暂存储或持久存储。存储在存储介质530的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对装置中的一系列指令操作。更进一步地,处理器522可以设置为与存储介质530通信,在服务器500上执行存储介质530中的一系列指令操作。

服务器500还可以包括一个或一个以上电源525,一个或一个以上有线或无线网络接口550,一个或一个以上输入输出接口558,和/或,一个或一个以上操作装置541,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm等等。

上述图1至图2所描述的恶意软件检测的方法中的步骤由服务器基于该图5所示的结构实现。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置,装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置、服务器和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。

作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。

集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机服务器(可以是个人计算机,功能调用装置,或者网络服务器等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

以上对本申请所提供的一种恶意软件检测的方法、装置、服务器及可读存储介质进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者服务器不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者服务器所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者服务器中还存在另外的相同要素。

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