本发明涉及网络安全技术领域,尤其涉及一种协议伪装方法、系统、计算机设备及存储介质。
背景技术:
随着互联网用户隐私保护意识的增强,对于网络安全的需求越来越强烈,匿名通信技术开始发展起来。但是在通信过程中,匿名通信流量会暴露出一些比较明显的特征,攻击者会使用流量分析等手段对加密通信流量进行分类识别提取,进而对这一类特殊流量进行网络攻击。为了提高匿名通信的隐匿性和可靠性,用于抵抗流量分析检测的协议伪装技术应运而生。协议伪装技术能够通过协议混淆和协议变种,将加密网络流量变形为正常网络流量,从而抵御流量分析攻击。然而,现有的协议伪装技术依赖于固定的协议流量特征,只能针对某一特征属性进行静态伪装,无法灵活应对复杂多变的网络环境,一旦被流量分析检测技术发现,就会完全丧失伪装的能力。
网络安全领域中,利用生成模型抵抗恶意流量分析,动态地进行协议伪装的技术,目前在学术界和工业界的研究处于起步阶段。生成模型与传统的机器学习模型不同之处在于不再是学习样本的个体,而是学习样本某种特征的分布规律。变分自编码器(variationalauto-encoder,vae)作为深度生成模型中的一种代表,所训练出来的自编码器不仅具有重构样本的能力,而且由于在训练的过程中引入噪声的影响,并加入了一定的约束条件,使其能够具有仿照样本的能力,应用到匿名通信流量伪装技术中,可以动态地生成与正常网络流量不可区分的伪装流量。
技术实现要素:
针对匿名通信系统所面对的流量分析攻击技术,本发明提出一种协议伪装方法、系统、计算机设备及存储介质,通过变分自编码器这一生成模型对指定协议网络流量样本进行分析,学习该指定协议的传输特征,得到目标网络流量特征的分布规律,根据这一规律将传输内容变形,最终用于网络隐匿通信中。
本发明的一种协议伪装方法,包括以下步骤:
s1.根据网络流量属性特征分析,选取指定协议网络流量的长度特征;
s2.使用变分自编码器进行机器学习,所述变分自编码器包括编码器和解码器,所述编码器计算输入样本的均值和方差,并对计算得到的结果加上噪声,使所述解码器能够对噪声具有鲁棒性,再通过所述解码器生成伪装流量特征;
s3.计算生成样本与原始输入样本之间的差异,并反馈到所述解码器与噪声强度上,调整所述解码器与噪声的参数,优化所述解码器;经过多次迭代后,输出最终训练得到的最优生成网络流量分布。
进一步的,步骤s1中,先对所述指定协议网络流量进行预处理,所述预处理包括以下步骤:
s11.将收集到的指定协议网络流量原始数据进行粗处理,把具有相同ip五元组且间隔时间小于流超时时间的流量包聚合成流信息;
s12.计算每条网络流量的持续时间和包个数,由于网络中大部分负载都是由持续时间较长的大流承载,因此只选取持续时间长和包个数多的流量样本;
s13.计算所选取的每条网络流量的初始属性特征,根据匿名通信协议的匿名性,只记录发出包流量特征,包括每个发出包的字节数以及发出包时间间隔,并统计总的发出包个数以及流量持续时间;
s14.将每条流量的数据进行归一化,并将每条流量的发出包序列拟合为时间t∈[0,1]之间的分布曲线,每个时间点上的大小为包的字节数;
s15.对拟合得到的分布曲线进行均匀采样,每条流量采样点数相同,采样率尽可能大,作为所述变分自编码器的输入。
进一步的,步骤s2包括以下子步骤:
s21.输入采样得到的采样流量特征x=(x1,x2,…,xn),计算每个样本的均值e=(μ1,μ2,…,μn)和方差d=(σ1,σ2,…,σn),并得到相应的正态分布p=(p1,p2,…,p3),xi~pi(μ,σ2);
s22.通过正态分布p进行数据编码,从正态分布p中重新得到采样变量z=(z1,z2,…,zn);
s23.将采样变量z输入所述解码器,生成样本
进一步的,步骤s3包括以下子步骤:
s31.计算生成样本
s32.通过随机梯度下降法来实现所述编码器参数的优化,如果所述解码器生成的样本
s33.通过神经网络进行迭代学习,找到重构误差最小,且得到的分布最接近标准高斯分布的最优解码器,即可输出学习得到的最优生成伪装流量样本分布;
s34.通过指定协议网络流量中总的输出包个数,即可从生成流量样本分布中采样得到伪装流量样本格式;
s35.将传输内容根据生成的伪装流量模式变形,得到最终用于网络传输的匿名伪装通信流量。
本发明的一种协议伪装系统,包括:
预处理模块:根据网络流量属性特征分析,选取指定协议网络流量的长度特征;
变分自编码器:进行机器学习,所述变分自编码器包括编码器和解码器,所述编码器用于计算输入样本的均值和方差,并对计算得到的结果加上噪声,使所述解码器能够对噪声具有鲁棒性,所述解码器用于生成伪装流量特征;
控制处理模块:计算生成样本与原始输入样本之间的差异,并反馈到所述解码器与噪声强度上,调整所述解码器与噪声的参数,优化所述解码器;经过多次迭代后,输出最终训练得到的最优生成网络流量分布。
进一步的,所述预处理模块能够对所述指定协议网络流量进行预处理,所述预处理包括以下步骤:
s11.将收集到的指定协议网络流量原始数据进行粗处理,把具有相同ip五元组且间隔时间小于流超时时间的流量包聚合成流信息;
s12.计算每条网络流量的持续时间和包个数,由于网络中大部分负载都是由持续时间较长的大流承载,因此只选取持续时间长和包个数多的流量样本;
s13.计算所选取的每条网络流量的初始属性特征,根据匿名通信协议的匿名性,只记录发出包流量特征,包括每个发出包的字节数以及发出包时间间隔,并统计总的发出包个数以及流量持续时间;
s14.将每条流量的数据进行归一化,并将每条流量的发出包序列拟合为时间t∈[0,1]之间的分布曲线,每个时间点上的大小为包的字节数;
s15.对拟合得到的分布曲线进行均匀采样,每条流量采样点数相同,采样率尽可能大,作为所述变分自编码器的输入。
进一步的,所述变分自编码器能够实现以下步骤:
s21.输入采样得到的采样流量特征x=(x1,x2,…,xn),计算每个样本的均值e=(μ1,μ2,…,μn)和方差d=(σ1,σ2,…,σn),并得到相应的正态分布p=(p1,p2,…,p3),xi~pi(μ,σ2);
s22.通过正态分布p进行数据编码,从正态分布p中重新得到采样变量z=(z1,z2,…,zn);
s23.将采样变量z输入所述解码器,生成样本
进一步的,所述控制处理模块能够实现以下步骤:
s31.计算生成样本
s32.通过随机梯度下降法来实现所述编码器参数的优化,如果所述解码器生成的样本
s33.通过神经网络进行迭代学习,找到重构误差最小,且得到的分布最接近标准高斯分布的最优解码器,即可输出学习得到的最优生成伪装流量样本分布;
s34.通过指定协议网络流量中总的输出包个数,即可从生成流量样本分布中采样得到伪装流量样本格式;
s35.将传输内容根据生成的伪装流量模式变形,得到最终用于网络传输的匿名伪装通信流量。
本发明的一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时能够实现本发明的协议伪装方法。
本发明的一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时能够实现本发明的协议伪装方法。
本发明的有益效果在于:
本发明通过生成模型中的变分自编码器,捕捉指定协议网络流量特征之间的相关性,输入可以观测到的目标协议网络流量,使用机器学习来计算这些样本的特征近似分布,根据特征近似分布规律将隐匿通信传输内容变形,从而得到与目标协议网络流量不可区分的匿名通信伪装流量,可实现以下有益效果:
(1)使用生成模型中的变分自编码器学习正常网络流量特征分布,在提高准确度的同时,引入标准高斯分布的约束,使编码器更具有鲁棒性,能够自动生成与正常网络流量不可区分的伪装流量;
(2)可以指定想要模仿的目标网络协议特征,动态地进行匿名通信流量伪装。
附图说明
图1是本发明的协议伪装方法示意图。
具体实施方式
为了对本发明的技术特征、目的和效果有更加清楚的理解,现说明本发明的具体实施方式。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明,即所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
本实施例提供了一种协议伪装方法,如图1所示,包括以下步骤:
s1.根据网络流量属性特征分析,选取指定协议网络流量的长度特征;
s2.使用变分自编码器进行机器学习,变分自编码器包括编码器和解码器,编码器计算输入样本的均值和方差,并对计算得到的结果加上噪声,使解码器能够对噪声具有鲁棒性,再通过解码器生成伪装流量特征;
s3.计算生成样本与原始输入样本之间的差异,并反馈到解码器与噪声强度上,调整解码器与噪声的参数,优化解码器;经过多次迭代后,输出最终训练得到的最优生成网络流量分布。
在本发明的一个优选实施例中,步骤s1中,先对指定协议网络流量进行预处理,预处理包括以下步骤:
s11.将收集到的指定协议网络流量原始数据进行粗处理,把具有相同ip五元组且间隔时间小于流超时时间的流量包聚合成流信息;
s12.计算每条网络流量的持续时间和包个数,由于网络中大部分负载都是由持续时间较长的大流承载,因此只选取持续时间长和包个数多的流量样本;具体的,可选取持续时间大于5分钟,包个数大于10个的流量样本;
s13.计算所选取的每条网络流量的初始属性特征,根据匿名通信协议的匿名性,只记录发出包流量特征,包括每个发出包的字节数以及发出包时间间隔,并统计总的发出包个数以及流量持续时间;
s14.将每条流量的数据进行归一化,并将每条流量的发出包序列拟合为时间t∈[0,1]之间的分布曲线,每个时间点上的大小为包的字节数;
s15.对拟合得到的分布曲线进行均匀采样,每条流量采样点数相同,采样率尽可能大,作为变分自编码器的输入。
在本发明的一个优选实施例中,步骤s2包括以下子步骤:
s21.输入采样得到的采样流量特征x=(x1,x2,…,xn),计算每个样本的均值e=(μ1,μ2,…,μn)和方差d=(σ1,σ2,…,σn),并得到相应的正态分布p=(p1,p2,…,p3),xi~pi(μ,σ2);
s22.通过正态分布p进行数据编码,从正态分布p中重新得到采样变量z=(z1,z2,…,zn);
s23.将采样变量z输入解码器,生成样本
在本发明的一个优选实施例中,步骤s3包括以下子步骤:
s31.计算生成样本
s32.通过随机梯度下降法来实现编码器参数的优化,如果解码器生成的样本
s33.通过神经网络进行迭代学习,找到重构误差最小,且得到的分布最接近标准高斯分布的最优解码器,即可输出学习得到的最优生成伪装流量样本分布;
s34.通过指定协议网络流量中总的输出包个数,即可从生成流量样本分布中采样得到伪装流量样本格式;
s35.将传输内容根据生成的伪装流量模式变形,得到最终用于网络传输的匿名伪装通信流量。
本实施例提供了一种协议伪装系统,包括:
预处理模块:根据网络流量属性特征分析,选取指定协议网络流量的长度特征;
变分自编码器:进行机器学习,变分自编码器包括编码器和解码器,编码器用于计算输入样本的均值和方差,并对计算得到的结果加上噪声,使解码器能够对噪声具有鲁棒性,解码器用于生成伪装流量特征;
控制处理模块:计算生成样本与原始输入样本之间的差异,并反馈到解码器与噪声强度上,调整解码器与噪声的参数,优化解码器;经过多次迭代后,输出最终训练得到的最优生成网络流量分布。
在本发明的一个优选实施例中,预处理模块能够对指定协议网络流量进行预处理,预处理包括以下步骤:
s11.将收集到的指定协议网络流量原始数据进行粗处理,把具有相同ip五元组且间隔时间小于流超时时间的流量包聚合成流信息;
s12.计算每条网络流量的持续时间和包个数,由于网络中大部分负载都是由持续时间较长的大流承载,因此只选取持续时间长和包个数多的流量样本;具体的,可选取持续时间大于5分钟,包个数大于10个的流量样本;
s13.计算所选取的每条网络流量的初始属性特征,根据匿名通信协议的匿名性,只记录发出包流量特征,包括每个发出包的字节数以及发出包时间间隔,并统计总的发出包个数以及流量持续时间;
s14.将每条流量的数据进行归一化,并将每条流量的发出包序列拟合为时间t∈[0,1]之间的分布曲线,每个时间点上的大小为包的字节数;
s15.对拟合得到的分布曲线进行均匀采样,每条流量采样点数相同,采样率尽可能大,作为变分自编码器的输入。
在本发明的一个优选实施例中,变分自编码器能够实现以下步骤:
s21.输入采样得到的采样流量特征x=(x1,x2,…,xn),计算每个样本的均值e=(μ1,μ2,…,μn)和方差d=(σ1,σ2,…,σn),并得到相应的正态分布p=(p1,p2,…,p3),xi~pi(μ,σ2);
s22.通过正态分布p进行数据编码,从正态分布p中重新得到采样变量z=(z1,z2,…,zn);
s23.将采样变量z输入解码器,生成样本
在本发明的一个优选实施例中,控制处理模块能够实现以下步骤:
s31.计算生成样本
s32.通过随机梯度下降法来实现编码器参数的优化,如果解码器生成的样本
s33.通过神经网络进行迭代学习,找到重构误差最小,且得到的分布最接近标准高斯分布的最优解码器,即可输出学习得到的最优生成伪装流量样本分布;
s34.通过指定协议网络流量中总的输出包个数,即可从生成流量样本分布中采样得到伪装流量样本格式;
s35.将传输内容根据生成的伪装流量模式变形,得到最终用于网络传输的匿名伪装通信流量。
以上所述仅是本发明的优选实施方式,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。