基于潜在空间对抗式聚类的用户伪装攻击检测方法及系统与流程

文档序号:19664356发布日期:2020-01-10 21:25阅读:223来源:国知局
基于潜在空间对抗式聚类的用户伪装攻击检测方法及系统与流程

本发明涉及人工智能及控制技术领域,具体涉及一种基于潜在空间对抗式聚类的用户伪装攻击检测方法及系统。



背景技术:

用户伪装攻击是指当前用户的行为未经授权,伪装已授权用户访问重要数据或者执行要求权限高的行为。用户伪装攻击危害着网络的安全,常常会造成敏感信息的泄露和严重降低网络的服务质量,甚至引起整个网络的瘫痪,严重危害社交网络的安全性和隐私性。因此,如何检测到用户伪装攻击是当前计算机信息安全亟待解决的问题。

人们提出了多种解决方案来检测用户伪装攻击。常见的方法包括使用基于传统机器学习的检测方法和基于模式挖掘的检测方法。基于传统机器学习的检测方法实现起来简单,准确率高,但需要大量的人工标记的数据并且模型训练开销大,无法满足大规模实例部署要求。基于模式挖掘的检测方法,通过关联分析,使用序列挖掘技术对用户伪装攻击的行为模型进行挖掘,这种方法可操作性强,但算法检测的准确率不足。因此,需要提出一种新的方法,结合上述两类方法的优势,弥补二者不足,以获取更佳的用户伪装攻击检测效果。



技术实现要素:

本发明的目的是提供一种基于潜在空间对抗式聚类的用户伪装攻击检测方法及系统,利用生成对抗网络解决用户伪装攻击潜在空间的聚类问题,从而检测用户伪装攻击。

为实现上述发明目的,本发明提供以下的技术方案:一种基于潜在空间对抗式聚类的用户伪装攻击检测方法,包括如下步骤:

(1)用户行为序列获取,在真实环境下,记录用户的行为序列,选择其中一部分用户为合法用户,其余用户为伪装用户,伪装用户的行为序列中随机插入命令块;

(2)用户行为序列预处理,使用独热编码技术对合法用户的行为序列进行特征离散化处理后映射到二进制向量,得到合法样本,使用独热编码技术对伪装用户的行为序列进行特征离散化处理后映射到二进制向量,得到伪装样本;

(3)网络模型训练,选用clustergan网络模型,其包括生成器、判别器以及编码器,更新生成器参数、判别器参数以及编码器参数,对网络模型进行训练,以合法样本和伪装样本作为真实样本,以真实样本的联合噪声作为生成器的输入,生成器输出生成样本,以各个真实样本作为判别器的输入,判别器对真实样本和生成进行比较,以生成样本作为编码器的输入,编码器输出生成样本的联合噪声;

(4)待测的行为序列预处理,对待检测的行为序列进行特征离散化处理,使用独热编码技术将待检测的行为序列进行特征离散化处理后映射到二进制向量,得到待测样本;

(5)编码输出,将待测样本作为训练后编码器的输入,编码器输出待测样本的联合噪声;

(6)判断,对待测样本的联合噪声与生成样本的联合噪声进行拟合,如待测样本的联合噪声与合法样本的联合噪声拟合度高,则待测检测的行为序列的用户为合法用户,如待测样本的联合噪声与伪装样本的联合噪声拟合度高,则待测检测的行为序列的用户为伪装用户。

进一步的,步骤(1)中,在真实工作环境中,收集每位用户10000条正常命令,随机选择50名用户为合法用户,其余用户为伪装用户。

进一步的,步骤(3)中,所述clustergan网络模型的总目标函数如下:

其中,θg表示生成器参数;θd表示判别器参数;θe表示编码器参数;x表示用户行为序列数据,作为真实样本数据;g表示生成器模型,输出生成样本数据;d表示判别器模型,用来区分真实样本和生成样本;表示真实样本分布;ρz表示联合噪声z样本分布;q选取的是log(x),log(x)是质量函数,对于本模型中,使用对数函数作为质量函数;βn表示表示联合噪声z中离散部分数据zn的正则化参数,βc表示表示联合噪声z中连续部分数据zc的正则化参数,βn和βc可以共同调节联合噪声z中离散数据和连续数据的权重大小;ε表示编码器,用来将样本数据编码到联合噪声到过程,ε(g(zn))表示将生成样本编码到联合噪声,表示当前生成样本g(zn)到数据簇的距离;分别表示最小化和最大化;||||2表示计算二范数;ε表示求表达式的期望;h是计算交叉熵损失的函数。

进一步的,编码器的网络结构由全连接层构成,输入层有16个节点,第一层全连接层有256个节点,第二层全连接层有256个节点,输出层有两个节点,输入层输入独热编码后的向量xi,输出层最终输出伪装攻击检测的二分类结果。

进一步的,使用机器学习库sklearn对待测样本的联合噪声与生成样本的联合噪声进行拟合。

本发明还提供用于如上所述的用户伪装攻击检测方法的用户伪装攻击检测系统,包括:

数据获取模块,用于获取用户的行为序列并将部分用户设为伪装用户,在其行为序列中随机插入命令块;

数据预处理模块,用于采用独热编码技术对用户的行为序列和待测的行为序列进行离散化处理,得到以二进制向量表示的真实样本和待测样本;

网络模型,采用clustergan网络模型,用于以真实样本和真实样本的联合噪声作为输入进行训练后输出生成样本的联合噪声,再以待测样本作为输入后输出待测样本的联合噪声;

判断模块,用于对待测样本的联合噪声和生成样本的联合噪声进行拟合后判断待测的行为序列的用户为合法用户还是伪装用户。

由于上述技术方案运用,本发明与现有技术相比具有以下优点:本发明公开的基于潜在空间对抗式聚类的用户伪装攻击检测方法及系统,克服现有用户伪装攻击检测方法的不足,有效地提高伪装攻击检测的准确性和效果,使用生成对抗网络来学习用户行为序列背后的数据特征,并且加入编码器来提高训练效果和判断用户行为是否合法,理论证明该方法优于传统方法在对抗的过程中学习检测用户伪装攻击,与现有的检测方法相比,更能够挖掘数据背后的特征,用户伪装攻击检测的准确度更高。

附图说明

图1为本发明中用户伪装攻击检测方法的流程图;

图2为本发明中网络模型的结构图;

图3为本发明中编码器的结构图;

图4为本发明中用户伪装攻击检测系统的结构图。

具体实施方式

下面结合本发明的原理、附图以及实施例对本发明进一步描述

为克服现有用户伪装攻击检测方法的不足,有效地提高伪装攻击检测的准确性和效果,本发明提供一种基于潜在空间对抗式聚类的用户伪装攻击检测方法。为了解决潜在空间中的聚类问题,使用生成对抗网络(generativeadversarialnetworks,简称gan)来学习用户行为序列背后的数据特征,并且加入编码器来提高训练效果和判断用户行为是否合法,理论证明该方法优于传统方法。

参见图1至图4,如其中的图例所示,一种基于潜在空间对抗式聚类的用户伪装攻击检测方法,包括如下步骤:

(1)用户行为序列获取,在真实环境下,记录用户的行为序列,选择其中一部分用户为合法用户,其余用户为伪装用户,伪装用户的行为序列中随机插入命令块;

(2)用户行为序列预处理,使用独热编码技术对合法用户的行为序列进行特征离散化处理后映射到二进制向量,得到合法样本,使用独热编码技术对伪装用户的行为序列进行特征离散化处理后映射到二进制向量,得到伪装样本;

(3)网络模型训练,选用clustergan网络模型,其包括生成器、判别器以及编码器,更新生成器参数、判别器参数以及编码器参数,对网络模型进行训练,以合法样本和伪装样本作为真实样本,以真实样本的联合噪声作为生成器的输入,生成器输出生成样本,以各个真实样本作为判别器的输入,判别器对真实样本和生成进行比较,以生成样本作为编码器的输入,编码器输出生成样本的联合噪声;

(4)待测的行为序列预处理,对待检测的行为序列进行特征离散化处理,使用独热编码技术将待检测的行为序列进行特征离散化处理后映射到二进制向量,得到待测样本;

(5)编码输出,将待测样本作为训练后编码器的输入,编码器输出待测样本的联合噪声;

(6)判断,对待测样本的联合噪声与生成样本的联合噪声进行拟合,如待测样本的联合噪声与合法样本的联合噪声拟合度高,则待测检测的行为序列的用户为合法用户,如待测样本的联合噪声与伪装样本的联合噪声拟合度高,则待测检测的行为序列的用户为伪装用户。

本实施例中,步骤(1)中,在真实工作环境中,收集每位用户10000条正常命令,随机选择50名用户为合法用户,其余用户为伪装用户。

本实施例中,步骤(3)中,所述clustergan网络模型的总目标函数如下:

其中,θg表示生成器参数;θd表示判别器参数;θe表示编码器参数;x表示用户行为序列数据,作为真实样本数据;g表示生成器模型,输出生成样本数据;d表示判别器模型,用来区分真实样本和生成样本;表示真实样本分布;ρz表示联合噪声z样本分布;q选取的是log(x),log(x)是质量函数,对于本模型中,使用对数函数作为质量函数;βn表示表示联合噪声z中离散部分数据zn的正则化参数,βc表示表示联合噪声z中连续部分数据zc的正则化参数,βn和βc可以共同调节联合噪声z中离散数据和连续数据的权重大小;ε表示编码器,用来将样本数据编码到联合噪声到过程,ε(g(zn))表示将生成样本编码到联合噪声,表示当前生成样本g(zn)到数据簇的距离;分别表示最小化和最大化;||||2表示计算二范数;ε表示求表达式的期望;h是计算交叉熵损失的函数。

本实施例中,编码器的网络结构由全连接层构成,输入层有16个节点,第一层全连接层有256个节点,第二层全连接层有256个节点,输出层有两个节点,输入层输入独热编码后的向量xi,输出层最终输出伪装攻击检测的二分类结果。

本实施例中,使用机器学习库sklearn对待测样本的联合噪声与生成样本的联合噪声进行拟合。

用于如上的用户伪装攻击检测方法的用户伪装攻击检测系统,包括:

数据获取模块10,用于获取用户的行为序列并将部分用户设为伪装用户,在其行为序列中随机插入命令块;

数据预处理模块20,用于采用独热编码技术对用户的行为序列和待测的行为序列进行离散化处理,得到以二进制向量表示的真实样本和待测样本;

网络模型30,采用clustergan网络模型,用于以真实样本和真实样本的联合噪声作为输入进行训练后输出生成样本的联合噪声,再以待测样本作为输入后输出待测样本的联合噪声;

判断模块40,用于对待测样本的联合噪声和生成样本的联合噪声进行拟合后判断待测的行为序列的用户为合法用户还是伪装用户。

以下为对用户伪装攻击检测方法的各个步骤的详细解释:

数据获取

获取用户行为序列数据集是研究用户伪装攻击检测的前提和基础。在构建用户行为数据集时需要考虑到当前的具体工作环境,否则会造成与真实样本数据特征的偏差。因此,数据收集需要在真实环境下,记录下用户的行为序列。本次数据集收集该工作环境中每位用户10000条正常命令,在该用户集合中随机选取50名用户作为正常用户,剩余用户通过随机插入命令块作为伪装攻击用户。这些用户数据构成用户行为序列数据集x。

数据预处理

聚类是一种无监督的机器学习任务,需要将原数据集预处理成为聚类算法可以使用的数据形式。由于用户行为序列数据集x中的数据是离散的,并且是无序,所以需要对这些数据进行特征离散化处理,使用独热编码技术(one-hot)将每个数据特征映射到二进制向量xi,使用二进制向量xi来表示单个用户的行为序列,其中xi∈(x1,x2,…,xn).

网络模型的建立

本次模型采用的是生成对抗网络中的潜在空间聚类方法(latentspaceclusteringingenerativeadversarialnetworks,简称clustergan)的网络模型结构。clustergan模型是一种使用生成对抗网络(generativeadversarialnetworks,简称gan)完成潜在空间中聚类的一种方法。不同于传统gan中使用完全的随机噪声z作为生成器的输入,clustergan将数据集x独热编码成zn和正态随机变量zc组成生成器g的输入,其中z∈(zn,zc),这样做的好处是使得生成器g的输入噪声可以提供给gan更好的信号来生成每一类别的样本数据。由于用户行为序列xi过于复杂,为了达到聚类的效果,需要在原始gan的网络结构上加入更强力有效的网络结构——自编码器(autoencoder)中的编码器,让编码器和gan同时工作,既能学习到高维空间中的数据的概率分布特征,又能确保潜在变量恢复的准确性,减少正常情况下的循环次数,从而完成高维空间中潜在变量聚类的任务。具体模型结构见附图二。

其中编码器encoder的网络结构由全连接层构成。输入层有16个节点,第一层全连接层有256个节点,第二层全连接层有256个节点,输出层有两个节点。输入层输入独热编码后的向量xi,输出层最终输出伪装攻击检测的二分类结果。编码器网络结构见附图三。

网络模型的训练

根据设置好的模型结构定义损失函数。根据模型的结构,需要在gan的结构中加入编码器,来确保训练过程中潜在变量恢复的正确性。因此,在原始gan的目标函数的基础上添加编码器的计算公式,总目标函数如下所示:

其中,x表示用户行为序列数据,作为真实的样本数据;g表示生成器模型,生成样本数据;d表示判别器模型,用来区分真实样本和生成样本;表示真实样本分布,ρz表示噪声z样本分布;log(x)质量函数,对于本模型中,使用对数函数作为质量函数;βn表示表示噪声z中离散部分数据zn的正则化参数,βc表示表示噪声z中连续部分数据zc的正则化参数,βn和βc可以共同调节噪声z中离散数据和连续数据的权重大小;ε表示编码器,用来将样本数据x编码到噪声到过程,所以ε(g(zn))表示将生成样本编码到噪声,表示当前生成样本g(zn)到数据簇的距离;分别表示最小化和最大化;||||2表示计算二范数;ε表示求表达式的期望;h是计算交叉熵损失的函数。

模型结构和目标函数建立完成,接下来需要联合更新生成器参数θg、判别器参数θd、编码器参数θe。

检测可疑的用户行为

训练好模型后,将待检测的用户行为序列经过数据的预处理,得到独热编码成和正态随机变量将其输入到模型中,得到编码器的输出使用机器学习库sklearn拟合输出计算该用户行为序列对应的身材标签是否合法,若对应正常用户标签,则该用户为正常用户;若对应是伪装攻击用户,则该行为序列时伪装攻击行为序列,是非正常用户。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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