欢迎光临小豌豆知识网!
当前位置:首页 > 电学技术 > 电通讯技术> 基于Meek传输插件的自适应混淆方法、系统及计算机存储介质独创技术20586字

基于Meek传输插件的自适应混淆方法、系统及计算机存储介质

2021-03-24 12:00:43

基于Meek传输插件的自适应混淆方法、系统及计算机存储介质

  技术领域

  本发明属于Tor匿名通信技术,具体涉及一种基于Meek传输插件的自适应混淆方法、系统及计算机存储介质。

  背景技术

  Tor是目前应用最为广泛的匿名通信系统。为了抵御流量分析和网络监管,Tor引入了多种传输插件对其流量进行混淆。Meek作为Tor的一种传输插件,采用域名前置技术,它把Tor的流量伪装成访问云服务(如微软云)平台的流量,实质是提供了一种特殊的隧道,那么针对包头域名的识别成为了不可能,能够绕过恶意攻击者的阻拦,一般的恶意攻击者只能观察到网络数据包,例如传入/传出数据包上的编号,每个网络数据包的PS、IPT以及数据包方向(PD),从而能有效地抵御流量分析攻击,成功建立与Tor网桥的连接。

  但基于Meek伪装的Tor流量目前有被相关研究通过机器学习成功识别,具体的,恶意攻击者收集端口进出的所有类型流量,通过提取它们的数据包特征成功识别了Tor流量,这使得其安全性受到了质疑,传统的混淆方法采用的大多是相对固定的模式进行流量伪装,且其应用后的系统性能将受很大影响。

  因此需要提供一种可靠且高效的混淆技术保障基于Meek传输插件的Tor匿名通信。

  目前比较流行的混淆机制以及其不足如下:

  (1):随机化混淆方法,采用了抗数据包特征分析的随机填充机制,破坏流量原有的特征,使其分布看上去不像任何一种流量,尽管混淆效果很好,但是随机化的填充会给链路带来不可控的开销,十分影响通信效率。

  (2):拟态化混淆方法,只试图将源流量全部改变为目标流量,并未考虑变形种类及方式的多样性,如果被发现变形目标为特定流量,恶意攻击者直接将其加入黑名单,则失效。

  发明内容

  发明目的:本发明的目的在于解决现有技术中存在的不足,提供一种基于Meek传输插件的自适应混淆方法、系统及计算机存储介质,将原始的Meek流量伪装成另一类普通的应用程序流量,能够实现Tor的不可观测性与低混淆开销。

  技术方案:本发明的一种基于Meek传输插件的自适应混淆方法,依次包括以下步骤:

  (1)、使用流量采集器在用户端流量发送端口拦截用户行为产生的n种用户行为流量,所述用户行为流量包括基于Meek插件的Tor流量(Meek流量),然后分别收集n种用户行为流量各自的前m个数据包集合;

  (2)、将步骤(1)所得数据包集合输入至包特征提取工具,使用包特征提取工具提取用户行为流量的数据包特征及对应的概率分布;

  (3)、针对步骤(1)提取的用户行为流量进行目标流量选择,即:采用流特征提取工具提取流特征向量,并对流特征向量进行标准化处理并进行PCA降维,然后通过K-means聚类算法,从全部用户行为流量中获得用以混淆Meek流量的初始目标流量集合L;

  (4)、通过模拟混淆器内置的最优目标流量选择法分析选出初始目标流量集合L中基于数据包特征层面的最优目标流量,并采用非线性规划方法在不同的混淆模式下进行模拟混淆,生成基于不同模式与数据包特征的变形实施表,然后通过分类器评估获得最优变形策略以及对应的变形实施表;

  (5)、针对步骤(3)所获得的最优变形策略和变形实施表,将后续缓存的Meek流量进行实际变形,并将混淆成功后的Meek流量通过网络转发设备发送至云服务器,转发后到达Tor网桥实现Tor匿名传输;

  (6)、重复步骤(1)至步骤(3),根据系统自动更新最优目标流量,实现动态混淆,模糊变形模式;同时,重复步骤(4)至步骤(5),提高Meek流量不可观测性以及保持变形的低开销且维持通信效率。

  进一步的,所述步骤(2)中数据包特征提取时,提取范围覆盖步骤(1)提取的所有用户行为流量的完整流量序列,数据包特征提取数据包大小PS、数据包间隔时间IPT和数据包方向PD,并提取数据包大小PS和数据包间隔时间IPT对应的概率分布。

  例某类应用程序流量的数据包特征及数据包特征概率分布,PS={ps1,ps2,…,psm}、IPT={ipt1,ipt2,…,iptm}、PD={pd1,pd2,…,pdm},Dps={dps1,dps2,…,dpsm}、Dipt={dipt1,dipt2,…,diptm}。

  进一步的,所述步骤(3)中流特征提取时,TCP流以相同的源与目标套接字划分,UDP流则以超时300秒划分,每条流提取28维流特征向量,例某种应用程序流量的流特征向量F={f1,f2,…,f28};

  然后通过肘部法则获得K值,再进行K-means聚类,统计Meek流量特征向量比重最大的聚类中心,并分析其余非Meek流量特征向量在该聚类中心范围内的比重,获得与Meek流量模式相似的流量集合,即初始目标流量集合L;

  其中,流特征向量包括28维与数据包特征较强关联的流特征,作为K-mean聚类算法的输入参数,如表1所示。

  表1表征流量行为模式的流特征

  

  进一步的,所述步骤(4)中使用包特征提取工具提取初始目标流量集合L的数据包特征及对应的概率分布,将提取到的数据包特征输入至最优目标流量选择法,计算初始目标流量集合L中的流量(是指用户行为流量经过K-means聚类筛选后保留的与Meek流量相似的流量)与Meek流量的相似度,获得最优目标流量;将其数据包特征及对应的概率分布结合限定的三个约束条件来计算非线性规划的目标函数f(T),最小化不同混淆模式(α、β不同超参数比例)下的变形策略(tji),进而生成基于不同模式与数据包特征的变形实施表,并通过训练好的分类器识别混淆结果,分析对于不同变形策略的识别结果以及产生的开销,并将最优策略生成的变形实施表;

  其中,i、j分别表示输入的Meek流量与目标流量的数据包特征序列;

  X=(x1,x2,…,xn)T、Y=(y1,y2,…,yn)T分别表示i、j对应的概率分布;

  三个约束条件依次为:

  目标函数

  上述目标函数中定义两部分度量标准,分别为混淆开销与混淆前后流量不可观测性,并给出两部分度量标准的超参数α,β∈[0,1],其中超参数取值为小数点后一位,其中当α>β时为低开销模式,反之为高匿名模式,通过系统自适应或用户需求设定,遍历超参数(其中不包括α=β的情况),得到对应的变形策略;

  所述最优目标流量选择法根据用户需求给出的偏好选项,分析流量在特定的两种数据包特征层面上的相似度,选出最优目标流量。

  

  

  上述最优目标流量选择法根据用户需求给出的偏好选项,分析流量在特定的两种数据包特征层面上的相似度,然后选出最优目标流量,具体方法为:

  将初始目标流量集合L中的每种用户行为流量标签及流量对应的两种数据包特征序列(PS/IPT)作为输入,并提供用户两种可选的特征相似度模式(PSmode/IPTmode),然后用户可以不指定模式,则默认同时计算两种模式,遍历相似度结果,输出其中相似度结果最接近1的流量标签,并作为最优目标流量。

  本发明还公开了一种基于Meek传输插件的自适应混淆系统,包括采集模块、分析模块、变形模块和转发模块;当Tor代理开始工作并产生流量时,系统便开始工作,通过采集模块在用户网络端口收集用户各类操作产生的流量,分析模块分析流量相似性,获得Meek流量需要被伪装成的目标流量,并根据计算的变形策略,以向流量序列添加数据包,填充数据包或是延迟发送数据包的方式,对Meek流量进行变形,最终生成的经过伪装的Meek流量,经过逐层封装,再经由网络端口,依照Meek插件协议转发至Tor网桥;所述采集模块内的流量采集器监听用户端流量发送端口,实时截获用户的各类用户行为流量,采用包特征提取工具提取数据包特征以及数据包特征序列对应的概率分布,并将特定流量特征(将28维流特征)传输至分析模块;所述分析模块根据采集模块收集到的各类行为流量,通过流特征提取工具提取对应流特征向量,通过K-means聚类算法获得与Meek流量在行为模式上相似的初始目标流量集合L,接着采用余弦相似度算法从初始目标流量集合L中获得与Meek流量在数据包特征上最相似的最优目标流量;所述变形模块包括模拟混淆器和分类器,模拟混淆器根据最优目标流量、Meek流量以及对应的两种数据包特征概率分布集合,基于不同数据包特征计算不同模式下的混淆结果,求解最优变形策略,生成变形实施表并模拟混淆;接着采用训练好的分类器进行识别并统计混淆开销,对当前的Meek流量分配最优变形策略,将Meek流量及其对应的变形实施表,输送至转发模块;所述转发模块收到数据后,根据最终决定的变性策略和变形实施表,向原始Meek流量序列注入对应伪数据包或向真实数据包填充无效载荷或对真实数据包进行延迟发送,最终将输出混淆成功的Meek流量通过网络转发设备,由Tor代理终端转发到云服务器。

  进一步的,所述采集模块的流量采集器中内置有流量缓存区,流量采集器采集包含基于Meek插件的Tor流量(Meek流量)在内的各种完成封装的用户行为流量;当用户开启机器时,采集模块自动开始收集对应用户行为流量,并分别收集每种用户行为流量各自的前m个数据包;为防止初始流量样本不足够用于分析模块分析,预先在流量缓存区放置n种不同类型的用户行为流量的流量样本,整个过程中定时将流量采集器中新收集的流量样本输送到流量缓存区以更新备用样本;包特征提取工具提取的数据包特征集合中均包括完整的多维数据包特征,然后根据数据包特征序列计算每个数据包特征值的概率质量分布函数。

  进一步的,所述分析模块内置有目标流量库,分析模块对采集模块提取的多维数据包特征进行降为和标准化处理,然后通过K-means聚类算法获得基于流特征的与Meek流量在行为模式层面上相似的初始目标流量集合L后,并将其数据包特征存入目标流量库中,以应对新一轮分析不能及时获得新的目标流量。

  进一步的,所述变形模块的模拟混淆器内置有余弦相似度算法,余弦相似度算法对初始目标流量集合L进行数据包特征层面的相似度分析,将最优目标流量的数据包特征及其概率分布输入非线性规划方法,然后自适应地或根据用户设定来计算特定混淆模式下的非线性规划,获得变形实施表,并生成模拟混淆的Meek流量数据包特征;同时,采用变形模块的KNN、RF分类器来接收采集模块提取的包含原始Meek流量在内的3维数据包特征向量作为训练样本(两个分类器互相独立操作,得到测试结果后,对两个分类器的测试结果取均值作为最终评估标准),打上标签进行训练,采用训练好的分类器来评估模拟混淆流量和预计带宽开销,获得针对当前Meek流量的最优变形策略,变形实施表由流量特征值序列对应混淆变化值组成,将Meek流量及其对应的变形实施表,输出至转发模块;其中,分类器所打的标签为Meek流量与非Meek流量。

  本发明还公开一种计算机存储介质,该计算机存储介质中存储有相应计算机程序,执行该计算机程序时实现所述基于Meek传输插件的自适应混淆方法。

  有益效果:本发明与现有技术相比,其显著优点:

  (1)本方法除了Tor匿名系统以外有广泛的应用场景,可以扩展到其他类型的防流量识别的通信系统。

  (2)本方法的核心是变形模块,该模块首先提供目标流量选择方法及自适应混淆机制,通过可选的不同数据包特征混淆来降低开销,实现混淆模式的多样选择,并保证变形策略为实时最优。

  附图说明

  图1为本发明的系统结构和流量走向示意图;

  图2为本发明的整体框架示意图;

  图3为实施例中变形策略示意图;

  图4为实施例中PS变形示意图;

  图5为实施例中IPT变形示意图。

  具体实施方式

  下面对本发明技术方案进行详细说明,但是本发明的保护范围不局限于所述实施例。

  如图1和图2所示,本发明的一种基于Meek传输插件的自适应混淆方法,依次包括以下步骤:

  (1)、使用流量采集器在用户端流量发送端口拦截用户行为产生的n种用户行为流量,用户行为流量包括基于Meek插件的Tor流量(Meek流量),然后分别收集n种应用程序流量各自的前m个数据包集合;

  (2)将步骤(1)所得数据包集合输入至包特征提取工具,使用包特征提取工具提取用户行为流量的数据包特征及对应的概率分布;

  (3)、针对步骤(1)提取的用户行为流量进行目标流量选择,即:采用流特征提取工具提取流特征向量,并对流特征向量进行标准化处理并进行PCA降维,然后通过K-means聚类算法,从各类流量中获得Meek流量用以混淆Meek流量的初始目标流量集合L;

  (4)、通过模拟混淆器内置的最优目标流量选择法分析选出初始目标流量集合L中基于数据包特征层面的最优目标流量,并采用非线性规划方法在不同的混淆模式下进行模拟混淆,生成基于不同模式与数据包特征的变形实施表,然后通过分类器评估获得最优变形策略以及对应的变形实施表;

  (5)、针对步骤(3)所获得的最优变形策略和变形实施表,将后续缓存的Meek流量进行实际变形,并将混淆成功后的Meek流量通过网络转发设备发送至云服务器,转发后到达Tor网桥实现Tor匿名传输;

  (6)、重复步骤(1)至步骤(3),根据系统自动更新最优目标流量,实现动态混淆,模糊变形模式;同时,重复步骤(4)至步骤(5),提高Meek流量不可观测性以及保持变形的低开销且维持通信效率。

  其中,Meek混淆插件目前采用隧道技术通过HTTPS传输Tor流量,也就是将数据流编码成HTTPS的请求和响应序列,HTTPS加密隐藏了Tor流量的特征。此外,Meek采用了前置域名技术,通过第三方服务器进行流量转发,隐藏了正在和Tor网桥通信的事实,使得传输内容看起来像是在访问另一个站点。

  如图1所示,本实施例的基于Meek传输插件的自适应混淆系统,包括本地Tor浏览器作为代理,通过浏览器端的Meek插件实现将Tor流量伪装成云服务流量,流量在经过网络转发设备转发前,通过自适应混淆系统,收集、提取Meek流量与可能的目标流量的流特征及数据包特征,整合后,通过K-means算法和余弦相似度进行筛选目标流量,根据相应的变形策略,将原始的基于Meek插件的流量的特征改变为目标流量,实现Tor流量的混淆,将伪装成功的流量发送,流量通过恶意攻击者未被识别后,被转发至云服务器,由云服务器转发到Tor网桥,最终实现Tor通信。

  实施例:

  本实施例共选取目标流量和实时变形两个主要环节,实施过程如图3所示:

  由于即时通信的时效性以及混淆效率的需要,动态化混淆Meek流量时,变形过程产生的开销需要着重考虑,首先找到与Meek流量样本最接近的目标流量集合,其次同时也要保证混淆效果。

  选取目标流量部分:首先将应用流量(包含Meek流量)针对流量行为模式相似度进行聚类。K-means聚类采用基于不同流量的流特征,作为样本向量集合,采集的所有应用程序流量(包含Meek流量)样本,对样本采用缺失值检测,用Min-max标准化方法统一量纲,并通过PCA将该28维流特征映射到二维特征向量。根据肘部法则计算成本函数,通过不断迭代计算所有样本中二维向量的欧氏距离,依据平均误差准则函数值判断终止条件,各个簇收敛完毕,这意味着每个簇中的每种流量在模式上都是相似的,检查Meek流量所在簇,依据事先打好的标签,将同在该簇中的流量作为初始的目标流量集合。

  聚类后得到的初始目标流量集合将作为最优目标流量的来源,通过最优目标流量选择法评估初始流量集合中的流量的数据包特征与Meek流量的数据包特征的余弦相似度结果,得到数据包特征分布上与Meek流量最接近的目标流量,以最大程度地提高变形后Meek流量不可观测性的同时,减少变形过程中的开销,保持通信效率。

  本实施例预设的用户需求为即时通话与下载,用户实际需求包括但不限于此两种情况。

  实时变形部分:针对输入的Meek流量、目标流量的数据包特征及对应的概率分布,非线性规划方法计算出每个特征值的不同的变形概率,进一步生成变形实施表,通过训练好的分类器进行评估,选出最优的变形策略,并输出到转发模块进行操作。

  对于混淆机制获得的两种数据包特征变形实施表,转发模块具体的操作如下:

  如图4所示,PS变形:统计新的Meek流量序列中待变形的数据包,PS的实际变形只有填充和分割,即小变大和大变小,分别统计小变大和大变小的个数,重点在于数据包分割过程中,数据包一分为二,有两种可能,一大一小,一小一大和两个同样大小,假设变形完成,计算分割次数,即新增数据包的个数。

  如图5所示,IPT变形:由于IPT采样以区间边界代表区间中的IPT值,对Meek流量样本及目标流量样本划分同等的IPT区间,[0ms,10ms)、[10ms,100ms)、[100ms,200ms)、[200ms,500ms)、[500ms,1000ms)以及大于1000ms,实际IPT变形时,根据变形实施表给出的分配规则,Meek流量的IPT将从目标流量对应区间随机采样,获得具体的目标IPT值,具体为时间由大变小或由小变大,小变大只需延迟发送,大变小则添加伪数据包。

  需要说明的是,满足混淆数据包特征分布的前提,目标服务器端同样具有转发模块功能,依据变形实施表,进行如上的双向操作。

  综上两种混淆模式以及各自对应的两种变形策略,对流量进行预变形,统计相关的数据包特征,采用训练好的分类器模型计算识别准确率,并计算带宽及延迟开销。

  评估不同混淆模式及对应数据包特征变形的策略,获得并根据其变形实施表,在网络堆栈的特定层级对数据包进行变形,具体的,变形PS通过添加无效载荷信息或分割数据包完成变形,变形IPT通过向流量序列加入伪数据包或延迟发送数据包,变形策略只同时针对一种特征进行变形,如同时变形PS和IPT,避免对带宽开销和时延造成过大影响,由于Tor本身是一种低延迟、低带宽的匿名系统。

  因此,同等条件下,带宽与延迟对用户产生的影响不同,例如进行语音或视频通话的用户会倾向低时延的变形策略,进行下载操作的用户则倾向低带宽,所以我们提供了不同混淆方式的开销以应对不同用户需求模式,并且一轮变形的同时,根据用户的需求或自定义,实时更新目标应用程序流量及其变形实施表,保证混淆的动态性。

《基于Meek传输插件的自适应混淆方法、系统及计算机存储介质.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)