掌桥专利:专业的专利平台
掌桥专利
首页

一种隐私保护机器学习的虚拟化终端异常检测方法及系统

文献发布时间:2023-06-19 12:07:15


一种隐私保护机器学习的虚拟化终端异常检测方法及系统

技术领域

本发明涉及信息安全领域,更具体地,涉及一种隐私保护机器学习的虚拟化终端异常检测方法及系统。

背景技术

现有技术中,异常检测通过对系统、网络、进程或应用等行为建立轮廓模型,发现数据中超出阈值的不符合模式的异常行为。根据异常检测环境的不同,异常检测方法可以大致被分类为基于实体环境的异常检测和基于虚拟化环境的异常检测。一方面,传统的异常检测技术大多是在检测机内部获取行为信息,如在检测机内部部署入侵检测系统,或在客户机内部嵌入钩子、代理等方式获取内部信息。具体来说,传统物理机异常检测系统可以通过对主机和网络进行监测来实现对目标的入侵和恶意操作的保护,从而弥补外部防护的不足,具有一定的实时主动性。另一方面,基于虚拟化环境的异常检测对于目标虚拟机的信息获取具有透明性,在目标虚拟机外部通过特权域hypervisor(管理程序)层的虚拟机监视器对虚拟机进行自省,实时有效地监控虚拟机安全状态,感知隐藏威胁。

具体来说,终端虚拟化技术作为虚拟化技术的扩展与延续,其理论基础与传统虚拟化技术基本相同,都是实现多个虚拟机运行在同一虚拟环境的方法,并由虚拟监控程序控制和管理。虚拟化终端存在较强的多源异构性、不同场景下的虚拟化终端其安全行为受各项指标的影响也不尽相同,很难实现一套完善的面向虚拟化终端的安全验证机制。传统的安全验证技术较为单一,无法全面准确地对虚拟化终端进行安全验证,可能引发数据无法完整存储,异常行为难及时检测和计算无法验证等风险。

具体来说,在嵌入式系统虚拟化技术中,特别在访问敏感数据方面时,存在着难以确保可靠的身份验证的问题。其次,虚拟化终端在复杂环境中的感知能力、通信能力和计算能力相对有限且节点数量较多,易于受到恶意节点的攻击与威胁。例如,嵌入式系统所有的虚拟机共享I/O总线,这导致某一虚拟机受到攻击后,导致其他虚拟机得不到I/O请求从而使进程饿死。也就是说,应用传统的攻击机理及攻击路径验证方法,无法保证攻击验证过程的公平性与可追溯性,而且对于可疑攻击的应急处理机制较复杂,容易对虚拟终端的端到端通信实时性造成负面影响。

目前,随着安全领域中同态加密(Homomorphic Encryption)技术的不断发展以及具有隐私保护性质的机器学习等相关理论的出现,为如何在复杂环境中高效地检测虚拟化终端异常行为提供了新的思路。然而,现有技术中仍然步存在一种能够针对特定的终端复杂业务场景对虚拟化终端攻击所造成的异常事件进行高效感知,并实现对攻击的准确实时识别的虚拟化终端异常检测方法。

因此,亟需一种隐私保护机器学习的虚拟化终端异常检测方法及系统。

发明内容

为解决现有技术中存在的不足,本发明的目的在于,提供一种隐私保护机器学习的虚拟化终端异常检测方法及系统,通过采集虚拟化终端的行为数据并建立特征向量,基于异地生成的神经网络训练模型对虚拟化终端的异常行为实现检测。

本发明采用如下的技术方案。

本发明第一方面,涉及一种隐私保护机器学习的虚拟化终端异常检测方法,其中,方法包括以下步骤:步骤1,采集虚拟化终端的行为数据,并从行为数据中提取行为特征以生成行为特征向量;步骤2,基于历史生成的行为特征向量,实施可逆矩阵加密以获得密文数据,并基于密文数据更新神经网络训练模型;步骤3,基于神经网络训练模型,对行为特征向量数据进行训练以获得虚拟化终端的异常行为检测结果。

优选地,基于密文数据生成神经网络训练模型还包括:基于本地服务器和异地服务器共同更新神经网络训练模型;其中,步骤2.1,本地服务器基于密文数据生成请求令牌,并将请求令牌发送至异地服务器;步骤2.2,异地服务器对请求令牌进行解密以获得解密数据,并基于解密数据生成当前神经网络训练模型的梯度信息;步骤2.3,异地服务器将当前神经网络训练模型的梯度信息返回至本地服务器中;步骤2.4,本地服务器基于梯度信息和当前神经网络训练模型实现对当前神经网络训练模型的更新。

优选地,虚拟化终端的行为数据包括数值类数据和字符类数据;其中,数值类数据包括虚拟化终端设备的CPU占用率、虚拟化终端设备内存占用率、系统调用频率和设备的流量状态;字符类数据包括进程堆栈状态、系统调用时序和系统内核变量。

优选地,对数值类数据进行平均值、最大值、方差、极差、偏度和峰度的计算,并将计算结果增加至行为特征向量中;对字符类数据进行word2vec处理以生成向量数据,并将向量数据增加至行为特征向量中。

优选地,为历史生成的行为特征向量增加标签以生成数据集{{x

优选地,利用公钥pk对数据集{{x

优选地,步骤2.1中请求令牌中包括采样i∈[1,2,…,s]下的第一信息、第二信息和第三信息,其中s

优选地,步骤2.2中梯度信息的生成方式为:基于异地服务器中的私钥sk对请求令牌进行解密以获得解密数据,并从解密数据中提取解密后的当前神经网络训练模型和解密后的当前神经网络训练模型的输出,以及基于该数据计算当前神经网络模型的梯度信息。

优选地,步骤2.4中神经网络训练模型的生成或更新方式为:设置神经网络的分类精度门限,利用梯度信息更新神经网络训练模型,直到神经网络训练模型的分类精度满足门限,确认神经网络训练模型为θ

优选地,步骤3中还包括:为行为特征向量数据生成数据集,采用更新后的神经网络训练模型进行训练,并更新数据集中的标签取值;利用数据集中的标签取值对行为特征向量数据进行分类,并基于分类判断虚拟化终端的异常行为。

本发明第二方面,涉及一种隐私保护机器学习的虚拟化终端异常检测系统,用于实现如本发明第一方面中所述的一种隐私保护机器学习的虚拟化终端异常检测方法,并且系统包括多个虚拟化终端、中心服务器和计算服务器,其中多个虚拟化终端基于中心服务器实现终端功能;中心服务器,用于基于采集的虚拟化终端的行为数据提取行为特征以生成行为特征向量,并基于实施可逆矩阵加密获得的密文数据生成并更新神经网络训练模型,以及对行为特征向量数据进行训练以获得虚拟化终端的异常行为检测结果。

优选地,中心服务器,用于基于密文数据生成请求令牌并将请求令牌发送至计算服务器,以及基于梯度信息生成神经网络训练模型,或基于梯度信息和更新前的神经网络训练模型实现神经网络训练模型的更新;计算服务器,用于对请求令牌进行解密以获得解密数据,并基于更新后的神经网络训练模型和解密数据生成训练模型的梯度信息,以及将训练模型的梯度信息返回至本地服务器中。

本发明的有益效果在于,与现有技术相比,本发明中一种隐私保护机器学习的虚拟化终端异常检测方法及系统,能够基于采集虚拟化终端的行为数据并建立特征向量,基于异地生成的神经网络训练模型对虚拟化终端的异常行为实现检测。本发明中的异常检测方法主要步骤简单、运算速度快,异常行为检测结果更为精确。

本发明的有益效果还包括:

1、本发明方法能够将神经网络训练模型的生成和更新过程外包至异地的计算服务器中,该计算服务器专门用于处理训练模型的生成和迭代运算,从而大幅地减少了位于本地的中心服务器内部的计算过程,使得中心服务器在虚拟化终端的异常检测过程中,能够集中运算能力处理方法中的主要步骤,提高了运算速率,减少了中心服务器的计算开销,保障了中心服务器中虚拟化终端的其他功能实现,以及本发明中算法所采用的数据和模型的有效性。另外,由于中心服务器的处理过程高效,能够快速识别虚拟化终端的异常行为,及时发现威胁或网络攻击,及时采取安全防护措施,从而降低相关损失。

2、本发明方法在将神经网络训练模型的生成和更新过程外包至异地的计算服务器的过程中,增加了对于中心服务器数据的加密和认证的过程。中心服务器和计算服务器之间采用生成令牌,以及公钥加密和私钥解密的方式实现设备身份的认证。行为数据还通过随机可逆矩阵、同态加密算法等多种方式实现加密。因此,本发明中能够采用半可信的计算服务器对加密后的行为数据进行运算,尽管计算过程是在异地的计算服务器中完成,但最终获得的数据集与训练模型对于计算服务器来说是不可见的,从而保障了数据与训练模型的安全性。

3、本发明方法将计算服务器生成的梯度信息传送回中心服务器,相对于直接传输整个更新的训练模型来说,不只增加了安全性,也使得数据内容更加简洁,便于提高运算效率,及时获取异常行为的检测结果。

附图说明

图1为本发明一种隐私保护机器学习的虚拟化终端异常检测方法的步骤流程示意图;

图2为本发明一种隐私保护机器学习的虚拟化终端异常检测方法中基于密文数据生成神经网络训练模型的步骤流程示意图;

图3为本发明一种隐私保护机器学习的虚拟化终端异常检测系统中的系统架构示意图。

具体实施方式

下面结合附图对本申请作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本申请的保护范围。

图1为本发明一种隐私保护机器学习的虚拟化终端异常检测方法的步骤流程示意图。如图1所示,一种隐私保护机器学习的虚拟化终端异常检测方法,方法包括步骤1至步骤3。

步骤1,采集虚拟化终端的行为数据,并从行为数据中提取行为特征以生成行为特征向量。

具体来说,为了实现对虚拟化终端的异常检测,可以从每个虚拟化终端中采集与设备的安全状态高度相关的信息,本发明中,这类信息被称为虚拟化终端的行为数据。可以采集的行为数据包括设备CPU占用率、设备内存占用率、程序进程堆栈状态、系统调用频率、系统调用时序、应用层通讯流量的上传速率和下载速率、系统内核变量等不同的数据项。根据上述数据项所存储的数据内容的不同还可以进一步地将这些数据分为数值型和字符型。

优选地,虚拟化终端的行为数据包括数值类数据和字符类数据;其中,数值类数据包括虚拟化终端设备的CPU占用率、设备内存占用率、系统调用频率和设备的流量状态;字符类数据包括进程堆栈状态、系统调用时序和系统内核变量。

之所以进行类型的区分是因为中心服务器会对不同类型的数据采取不同的处理方式,以便最终生成行为特征向量。当虚拟化终端将上述数据分别传送至中心服务器中,具体来说,可以是中心服务器的数据处理模块后,中心服务器可以从这些行为数据中提取出数据特征。

优选地,对数值类数据进行平均值、最大值、方差、极差、偏度和峰度的计算,并将计算结果增加至行为特征向量中;对字符类数据进行word2vec处理以生成向量数据,并将向量数据增加至行为特征向量中。

具体来说,可以提取的特征包括以下内容:

设备CPU占用率的平均值

设备内存占用率的平均值

系统调用频率的平均值

流量状态的平均值

以word2vec方法实现的进程堆栈状态和系统调用时序两项数据的向量型数据转换,其生成的向量型数据为V

以word2vec方法实现的系统内核变量的向量型数据转换,其生成的向量型数据为ker

将从设备中获得的原始行为数据进行运算或向量转换后,生成的上述内容中的每一项都可以作为该设备行为特征向量中的一项内容。具体来说,生成的行为特征向量为

上述方法中生成的行为特征向量可以用于加入到神经网络训练模型中,以对当前行为特征向量所对应的虚拟化终端的运行状态是否异常进行检测。

另外,可以从上述方法中生成的行为特征向量中截取一段历史数据,并将这一段历史数据用于预先生成神经网络的训练模型。具体来说,为了生成合适的训练模型,需要一定规模的数据量,例如可以设置数据集的规模为m,则有需要截取的历史行为数据的内容可以包括i∈[1,2,…,m]个行为特征向量中的相应数据。

步骤2,基于历史生成的行为特征向量,实施可逆矩阵加密以获得密文数据,并基于密文数据生成并更新神经网络训练模型。

优选地,为历史生成的行为特征向量增加标签以生成数据集{{x

具体来说,数据集中除了包括不同时间段截取的行为数据对应的行为特征向量之外,还包括每一个行为特征向量所对应的标签。本发明一实施例中,该标签最初可以为一个预先设定的值,也可以为根据本发明中的神经网络训练模型迭代训练得到的结果,该标签能够表征其对应的行为特征向量是异常还是正常的。

待生成数据集后,就可以将该数据集发送至计算服务器中,以使得计算服务器实现对训练模型的生成或更新。这一过程也在步骤2中实现。

优选地,利用公钥pk对数据集{{x

可以理解的是,为了实现中心服务器、计算服务器二者之间身份的认证和数据的安全传输,可以采用中心服务器储存公钥,计算服务器储存私钥的方式实现数据加解密。

为了将中心服务器中的行为数据预处理后发送给计算服务器,本发明使用随机非奇异矩阵加密的算法,利用公钥实现加密。

具体的,首先获取需要加密的数据集{{x

假设根据行为特征向量x

加密后得到的密文,采用与上文中同样的方式生成数据集{{z

优选地,基于密文数据生成神经网络训练模型还包括:基于本地服务器和异地服务器共同生成或更新神经网络训练模型。具体来说,本发明中将部分计算过程外包至了异地服务器中,从而节约了本地的计算资源,提高了计算速度和响应效率。

图2为本发明一种隐私保护机器学习的虚拟化终端异常检测方法中基于密文数据生成或更新神经网络训练模型的步骤流程示意图。如图2所示,本发明中生成或更新神经网络训练模型的方法还包括步骤2.1至步骤2.4。

步骤2.1,本地服务器基于密文数据生成请求令牌,并将请求令牌发送至异地服务器。

具体来说,本发明中为了大幅减小中心服务器的计算代价,提高中心服务器对数据的处理和响应效率,采用了将神经网络训练模型的部分功能外包至异地的计算服务器中进行。因此,为了实现训练模型的生成和更新,需要位于本地的中心服务器和位于异地的计算服务器同时执行计算过程。这就使得中心服务器中数据的安全性能难以保证,因此,本发明中采取基于密文数据生成请求令牌的方式,用请求令牌携带密文信息从而使异地的计算服务器可以有效验证令牌的来源并对密文进行接收和处理。

请求令牌在生成的过程中,可以在密文训练集{{z

优选地,步骤2.1中请求令牌中包括对m个行为特征向量中采样得到的i∈[1,2,…,s]个行为特征向量下的第一信息τ

其中,第一信息中包括加密信息

首先,加密信息

其次,更新前的神经网络训练模型的加密,也就是在中心服务器中记录的初始的训练模型,或者是在上一时刻中心服务器中记录的待更新的训练模型。

通常来说,由于神经网络的训练模型作为分类器模型的一种,其通用的格式为

第三,原始标签的加密E(y

将第一信息中生成的三部分加密数据的内容进行联结就可以获得第一信息为

第二信息中包括更新前的神经网络训练模型的隐藏层计算矩阵的加密

第三信息中包括更新前的所述神经网络训练模型的隐藏层计算矩阵与第二随机非奇异逆矩阵乘积的加密

其中,需要定义一个随机非奇异矩阵

其中,

将生成的三项信息分别作为请求令牌中的一项数据,可以生成请求令牌为Token={τ

将生成的请求令牌发送至异地的计算服务器,即可实现异地服务器对请求令牌中内容的运算和处理,这一过程具体在步骤2.2中执行。

步骤2.2,异地服务器对请求令牌进行解密以获得解密数据,并基于解密数据生成当前神经网络训练模型的梯度信息。

优选地,步骤2.2中梯度信息的生成方式为:基于异地服务器中的私钥sk对请求令牌进行解密以获得解密数据,并从解密数据中提取解密后的当前神经网络训练模型和解密后的当前神经网络训练模型的输出,以及基于该数据计算当前神经网络模型的梯度信息。

具体来说,可以对来自请求令牌中的数据进行获取,并选择其中第一信息的部分数据

同样的,数据

通过将从请求令牌中获取到的两项数据内容x

由于τ

具体来说,上述公式

将上述梯度信息进行联结生成

步骤2.3,异地服务器将当前神经网络训练模型的梯度信息返回至本地服务器中。

这一步骤,也就是将步骤2.2中生成的参数

步骤2.4,本地服务器基于梯度信息和当前神经网络训练模型实现对当前神经网络训练模型的更新。

优选地,步骤2.4中神经网络训练模型的生成或更新方式为:设置神经网络的分类精度门限,利用梯度信息更新神经网络训练模型,直到神经网络训练模型的分类精度满足所述门限,确认神经网络训练模型为θ

梯度信息在返回中心服务器后,可以由中心服务器对其执行逆运算,即根据梯度信息的生成公式,还原出新旧训练模型的差别,并将梯度与旧模型之间进行求和计算,从而实现对训练模型的更新。至此,就完成了对训练模型的更新过程。

步骤3,基于神经网络训练模型,对行为特征向量数据进行训练以获得虚拟化终端的异常行为检测结果。

待实现了神经网络训练模型的生成和更新后,就可以使用最新的模型对行为特征向量数据进行训练了。

优选地,步骤3中还包括:为行为特征向量数据生成数据集,采用更新后的神经网络训练模型进行训练,并更新数据集中的标签取值;利用数据集中的标签取值对行为特征向量数据进行分类,并基于分类判断虚拟化终端的异常行为。

具体来说,生成数据集的过程与生成训练模型时使用的数据集类似。训练后生成的标签,可以更新数据集的内容。通常,根据数据集中行为特征向量是否异常,标签可以取值为0或1,并分别代表对应数据的正常或异常状态。虚拟化终端的异常行为检测结果就可以根据多个标签的取值而进行综合评估了。具体的评估过程可以参考现有技术中的常用方法,本文中对此不再赘述。

图3为本发明一种隐私保护机器学习的虚拟化终端异常检测系统中的系统架构示意图。如图3所示,本发明第二方面,涉及一种隐私保护机器学习的虚拟化终端异常检测系统,该系统用于实现如本发明第一方面中所述的一种隐私保护机器学习的虚拟化终端异常检测方法,并且系统包括多个虚拟化终端、中心服务器和计算服务器,其中多个虚拟化终端基于中心服务器实现终端功能;中心服务器,用于基于采集的虚拟化终端的行为数据提取行为特征以生成行为特征向量,并基于实施可逆矩阵加密获得的密文数据生成并更新神经网络训练模型,以及对行为特征向量数据进行训练以获得虚拟化终端的异常行为检测结果。

优选地,中心服务器,用于基于密文数据生成请求令牌并将请求令牌发送至计算服务器,以及基于梯度信息生成神经网络训练模型,或基于梯度信息和更新前的神经网络训练模型实现神经网络训练模型的更新;计算服务器,用于对请求令牌进行解密以获得解密数据,并基于更新后的神经网络训练模型和解密数据生成训练模型的梯度信息,以及将训练模型的梯度信息返回至本地服务器中。

本发明中的虚拟化终端异常检测方法和系统可以广泛地应用于多种情况中。例如,可以将该检测方法应用于对物联网中的虚拟化终端的威胁检测。

本发明的有益效果在于,与现有技术相比,本发明中一种隐私保护机器学习的虚拟化终端异常检测方法及系统,能够基于采集虚拟化终端的行为数据并建立特征向量,基于异地生成的神经网络训练模型对虚拟化终端的异常行为实现检测。本发明中的异常检测方法主要步骤简单、运算速度快,异常行为检测结果更为精确。

本发明的有益效果还包括:

1、本发明方法能够将神经网络训练模型的生成和更新过程外包至异地的计算服务器中,该计算服务器专门用于处理训练模型的生成和迭代运算,从而大幅地减少了位于本地的中心服务器内部的计算过程,使得中心服务器在虚拟化终端的异常检测过程中,能够集中运算能力处理方法中的主要步骤,提高了运算速率,减少了中心服务器的计算开销,保障了中心服务器中虚拟化终端的其他功能实现,以及本发明中算法所采用的数据和模型的有效性。另外,由于中心服务器的处理过程高效,能够快速识别虚拟化终端的异常行为,及时发现威胁或网络攻击,及时采取安全防护措施,从而降低相关损失。

2、本发明方法在将神经网络训练模型的生成和更新过程外包至异地的计算服务器的过程中,增加了对于中心服务器数据的加密和认证的过程。中心服务器和计算服务器之间采用生成令牌,以及公钥加密和私钥解密的方式实现设备身份的认证。行为数据还通过随机可逆矩阵、同态加密算法等多种方式实现加密。因此,本发明中能够采用半可信的计算服务器对加密后的行为数据进行运算,尽管计算过程是在异地的计算服务器中完成,但最终获得的数据集与训练模型对于计算服务器来说是不可见的,从而保障了数据与训练模型的安全性。

3、本发明方法将计算服务器生成的梯度信息传送回中心服务器,相对于直接传输整个更新的训练模型来说,不只增加了安全性,也使得数据内容更加简洁,便于提高运算效率,及时获取异常行为的检测结果。

本发明申请人结合说明书附图对本发明的实施示例做了详细的说明与描述,但是本领域技术人员应该理解,以上实施示例仅为本发明的优选实施方案,详尽的说明只是为了帮助读者更好地理解本发明精神,而并非对本发明保护范围的限制,相反,任何基于本发明的发明精神所作的任何改进或修饰都应当落在本发明的保护范围之内。

相关技术
  • 一种隐私保护机器学习的虚拟化终端异常检测方法及系统
  • 一种基于机器学习的联盟链异常检测系统及其检测方法
技术分类

06120113177611