论文部分内容阅读
摘要:该研究针对SSH匿名网络难以追踪的问题,提出了网站指纹攻击方法,就网站的时间行为对攻击的影响亟待解决。本文针对该问题提出一种基于自适应决策的SSH匿名网络网站指纹攻击方法。该方法首先收集上行流量作为指纹特征,再使用Adaptive Hoeffding Tree和Adaptive Hoeffding Option Tree算法生成指纹特征库,来实现指纹库的不断更新,以应变动态网站的时间行为对指纹库的影响,最后选取100常用网站作为攻击目标进行实验。实验结果显示,在训练集与测试集时间差为0时准确率达到93.43%,且随着时间差增加,准确率下降缓慢,表明该方法能有效的进行攻击,并且能减小时间行为的影响。
关键词:SSH;Adaptive Hoeffding Tree;Adaptive Hoeffding Option Tree;网站指纹攻击;上行流量
中图分类号:TP393 文献标识码:A
文章编号:1009-3044(2020)15-0036-03
1引言
随着计算机高速的发展,个人隐私已经成为网络安全中重要的元素之一。匿名网络的发展,成为一种保护个人隐私的手段,通常使用诸如SSH之类的匿名通信网络来隐藏其信息,但也可能被犯罪分子利用。针对匿名网络的滥用,研究者提出了基于流量的网站指纹攻击方法。SSH因为其部署相对于Tor较为简单,而更为广泛的使用,也提出了针对SSH匿名网络的网站指纹攻击方法。
网站指纹攻击方法是一种流量分析的方法,通过获取用户和代理服务器的流量,提取其特征,以此分辨用户访问的网站。该方法是一个多分类问题,攻击方法的有效性取决于分类器的选择以及流量的处理。针对SSH匿名网络的网站指纹攻击,文献[4]提出基于数据包方向和长度的指纹攻击方法,采用朴素贝叶斯分类器,取得73%的准确率。文献[5]就SSH流量進行分析,分别以上行流量和下行流量作为网站指纹特征,使用朴素贝叶斯分类器,最后在文献[4]数据集上获得了81.7%的准确率,同时提出隐马可夫模型解决多级页面指纹特征的采集。文献[6]提出了一种基于随机森的指纹攻击方法,将上行流量数据包大小、下行流量数据包个数、入网时间和网站大小作为特征,在文献[4]数据集上获得了84.7%的准确率。文献[7]将特征工程和预测分类进行整合,避免一些手工过程,实现半自动攻击,将下行流量作为其指纹特征。使用卷积神经网络进行分类,在文献[4]数据集上获得了92.3%的准确率。在先前的研究工作中,攻击者首先需要预先收集数据集并在一段时间内训练分类器模型,然后将经过训练的分类器用于预测目标网站,称之为静态攻击。在文献[7]实验表明训练集与测试集时间差会影响静态攻击的准确性。由于动态网站的时间行为、网站指纹模型必须是一个连续的过程,并且需要中间人来观察网络流量。在先前的研究中,为了最大限度地提高分类器的准确性,攻击者必须在不同的时间和设置下收集足够多的有关不同版本的数据,以使每种模式的网站都具有代表性。由于在静态攻击中,分类器是使用预先收集的数据集进行训练的,因此网站流量跟踪的变化性质不会反映在经过训练的分类器中,并且网站指纹攻击的效率会大大降低。为了维持分类器的性能,随着时间的推移,必须使用最新版本的网站来更新分类器。从先前的静态攻击的角度更新分类器需要再次更新整个数据集以及重新训练分类器,但是,重新收集、维护和更新数据集以及更新和重新训练分类器模型较为昂贵。
本文针对这一问题提出一种基于自适应决策的SSH匿名网络网站指纹攻击方法,该方法使用Adaptive HoeffdingTree和Adaptive Hoeffding Option Tree算法,在每个实例到达时会逐步更新模型。由于该模型会使用每个网站的最新版本进行持续更新,因此可以随着时间的推移将其性能保持在最佳水平。
2预备知识
使用Adaptive Hoeffding Tree和Adaptive Hoeffding OptionTree算法对网站指纹攻击进行建模。Hoeffding tree的存储空间比较保守,可以通过从节点中的示例中收集足够的统计信息来快速进行数据的单次扫描。然后,tree做出拆分决策。Hoeffd-ing界在数学上保证了这一决定与在整个数据上训练的算法几乎一样可靠。该算法具有处理数据流的基本特征:
(1)Hoeffding tree是递增生成的,并且在处理过程中动态知道收集的数据的内容。
(2)不存储处理过的数据,仅记录相关的统计信息。
(3)每条记录仅处理一次。
(4)Hoeffding界是Hoeffding tree中的统计指标。
Hoeffding边界具有一个可以参数化的估计误差因子,该误差因子如下:
其中,R是一个属于实数值集合的随机变量,n是迄今为止处理的样本数,δ是一个可配置的值,描述了计算中可接受的误差范围。
Hoeffding tree是逐步构建的,并且数据实例仅按顺序分析一次。树从根节点初始化为空,该算法读取一个实例,并将其分类到相应的叶子中。在算法中维护每个节点的表,观察到的属性和类值。对于每个新实例,都会计算并更新一些统计量度,例如均值和标准差。始终考虑同一节点中的样本,始终以增量方式计算这些指标。在处理完样本后立即将其丢弃,并且随着新样本的到达树将逐渐增长。此外,到目前为止观察到的实例存储在每片叶子上。之后,该算法读取该叶子处实例的每个确定值,并根据所有观察到的属性计算信息增益(G)。Hoeffding边界(ε)由节点中累积的统计信息计算得出。如果最佳属性和第二最佳属性的信息增益之间的差大于£(如公式1所示),则将叶子替换为决策节点,并且在最佳属性上进行拆分,然后,将该属性从可用于在该分支中拆分的属性列表中删除。 但是,Hoeffdingtree算法无法检测到变化并使其适应变化。在文献[8]中,作者采用了Hoeffding tree算法来检测概念漂移并调整预测模型。该技术称为Adaptive Hoeffding tree。Adaptive Hoeffding tree是数据流挖掘中的一种新方法,该方法可以从变化的数据流中自适应学习,而无需固定大小的滑动窗口。数据流挖掘中滑动窗口的大小是一个重要参数,因为需要数据集中概念漂移的速率。Adaptive Hoeffding option tree是包含更多选项节点的常规Adaptive Hoeffding tree.这些选项允许应用多个测试,并且导致多个Hoeffding tree作为单独的路径。用这种单一结构可以有效地表示多个树。在这棵樹中,每个叶子都存储了当前误差的估计值。每个节点的权重是从投票过程中计算出来的,并且与误差的平方成反比。此外,在本文Adaptive Hoeffdi~g Tree和Adaptive Hoeffding Option Tree算法中,使用自适应朴素贝叶斯分类器作为叶子的学习者。自适应技术用来检查每个叶多数类和朴素贝叶斯决策的错误率。
3本文方法
本文方法主要分为三个阶段,首先,捕获每个网站的流量跟踪。然后,对这些数据进行预处理,并删除错误的迹线,空包或指示负载错误的迹线,将下行流量作为网站指纹。将记录的网站指纹用作Adaptive Hoeffding Tree和Adaptive Hoeffding op-tion Tree算法的输人生成特征库,最后使用Test-Then-Train评估模型的准确率。模型图如下:
3.1数据集采集
本文通过脚本程序收集互联网中的OpenSSH100数据集。数据集采集模型如图2,在WindowsXP配置SSH代理,配置与文献[7]相同,然后运行Au3模拟用户访问互联网,使用Win-dump捕获SSH匿名流量。数据集描述如表1:
3.3特征库生成
本文使用MOA2017.06b进行分类,采用Intel CoreTM i5-3210M CPU和8 GB RAM。MOA软件用于基于流挖掘算法来模拟所提出的网站指纹攻击方法网站指纹攻击。MOA是用于实现数据流算法的软件环境,并且包括几种脱机和联机数据流挖掘算法和评估工具。
在MOA中,整个数据集都用作输入,但是MOA会将每个原始数据(每个网站指纹)都视为数据流。使用这些顺序流数据构造流分类器。MOA可以模拟每个实例顺序到达并在每个实例到达时更新模型的情况。
3.4 Test-Then-Train
常规的机器学习评估方法如(K交叉验证)无法应用于评估流挖掘算法的性能。在数据流挖掘算法中,定义了Test-Then-Train方法来评估算法的性能。该评估方法的原理是在每个单独的示例到达时对模型进行测试,并且每个单独的示例在用于训练之前都可以用于测试模型,然后使用此样本更新训练后的模型。在这种设置下,模型的准确性会逐步更新。而且,统计信息会随着流中的每个示例进行更新,并且可以根据需要以该详细级别进行记录。
4实验评估
为了评估本文方法对SSH匿名流量指纹攻击的准确率,将数据集中的数据按月份分为3组(D1、D2、D3)。首先以D1、D2、D3为训练集生成网站指纹特征库进行静态网站指纹攻击,其结果如图3:
如图3所示,在每个数据集上取70%作为训练集,剩下作为测试集。本文方法在D1数据集上有93.43%的准确率,在D2数据集上有94.23%的准确率,在D3上有93.33%的准确率。在同样的数据集上本文实现了文献6和文献7的方法,由图可知本文方法可以针对SSH匿名网络进行有效的攻击。
再以DI为训练集,D2、D3为测试集进行实验。实验结果如图4,本文方法达到93.43%,而后续以分别以D2、D3为测试集,准确率逐渐下降。在同样数据集上实现文献6和文献7的方法,相对来说,本文方法能减小数据收集时间差对准确率的影响。
将D2、D3分别分为两组(D21、D22、D31、D32),一组用于更新指纹特征,另一组用于测试,其结果如图5所示。该实验是在后续有准备的情况下,更新指纹特征库下的网站指纹攻击准确率,相对于图4所示结果,本文方法能有较高的提升。
5结论
本文针对动态网络的时间行为对网站指纹攻击方法的影响,将Adaptive Hoeffding Tree和Adaptive Hoeffding Option Tree算法引入SSH匿名网络网站指纹攻击方法,提出基于自适应决策的网站指纹攻击方法,该方法实现了指纹库的自动更新,且在小样本实验数据集上达到了93.43%的准确率,并且能减小动态网站的时间行为的影响。
关键词:SSH;Adaptive Hoeffding Tree;Adaptive Hoeffding Option Tree;网站指纹攻击;上行流量
中图分类号:TP393 文献标识码:A
文章编号:1009-3044(2020)15-0036-03
1引言
随着计算机高速的发展,个人隐私已经成为网络安全中重要的元素之一。匿名网络的发展,成为一种保护个人隐私的手段,通常使用诸如SSH之类的匿名通信网络来隐藏其信息,但也可能被犯罪分子利用。针对匿名网络的滥用,研究者提出了基于流量的网站指纹攻击方法。SSH因为其部署相对于Tor较为简单,而更为广泛的使用,也提出了针对SSH匿名网络的网站指纹攻击方法。
网站指纹攻击方法是一种流量分析的方法,通过获取用户和代理服务器的流量,提取其特征,以此分辨用户访问的网站。该方法是一个多分类问题,攻击方法的有效性取决于分类器的选择以及流量的处理。针对SSH匿名网络的网站指纹攻击,文献[4]提出基于数据包方向和长度的指纹攻击方法,采用朴素贝叶斯分类器,取得73%的准确率。文献[5]就SSH流量進行分析,分别以上行流量和下行流量作为网站指纹特征,使用朴素贝叶斯分类器,最后在文献[4]数据集上获得了81.7%的准确率,同时提出隐马可夫模型解决多级页面指纹特征的采集。文献[6]提出了一种基于随机森的指纹攻击方法,将上行流量数据包大小、下行流量数据包个数、入网时间和网站大小作为特征,在文献[4]数据集上获得了84.7%的准确率。文献[7]将特征工程和预测分类进行整合,避免一些手工过程,实现半自动攻击,将下行流量作为其指纹特征。使用卷积神经网络进行分类,在文献[4]数据集上获得了92.3%的准确率。在先前的研究工作中,攻击者首先需要预先收集数据集并在一段时间内训练分类器模型,然后将经过训练的分类器用于预测目标网站,称之为静态攻击。在文献[7]实验表明训练集与测试集时间差会影响静态攻击的准确性。由于动态网站的时间行为、网站指纹模型必须是一个连续的过程,并且需要中间人来观察网络流量。在先前的研究中,为了最大限度地提高分类器的准确性,攻击者必须在不同的时间和设置下收集足够多的有关不同版本的数据,以使每种模式的网站都具有代表性。由于在静态攻击中,分类器是使用预先收集的数据集进行训练的,因此网站流量跟踪的变化性质不会反映在经过训练的分类器中,并且网站指纹攻击的效率会大大降低。为了维持分类器的性能,随着时间的推移,必须使用最新版本的网站来更新分类器。从先前的静态攻击的角度更新分类器需要再次更新整个数据集以及重新训练分类器,但是,重新收集、维护和更新数据集以及更新和重新训练分类器模型较为昂贵。
本文针对这一问题提出一种基于自适应决策的SSH匿名网络网站指纹攻击方法,该方法使用Adaptive HoeffdingTree和Adaptive Hoeffding Option Tree算法,在每个实例到达时会逐步更新模型。由于该模型会使用每个网站的最新版本进行持续更新,因此可以随着时间的推移将其性能保持在最佳水平。
2预备知识
使用Adaptive Hoeffding Tree和Adaptive Hoeffding OptionTree算法对网站指纹攻击进行建模。Hoeffding tree的存储空间比较保守,可以通过从节点中的示例中收集足够的统计信息来快速进行数据的单次扫描。然后,tree做出拆分决策。Hoeffd-ing界在数学上保证了这一决定与在整个数据上训练的算法几乎一样可靠。该算法具有处理数据流的基本特征:
(1)Hoeffding tree是递增生成的,并且在处理过程中动态知道收集的数据的内容。
(2)不存储处理过的数据,仅记录相关的统计信息。
(3)每条记录仅处理一次。
(4)Hoeffding界是Hoeffding tree中的统计指标。
Hoeffding边界具有一个可以参数化的估计误差因子,该误差因子如下:
其中,R是一个属于实数值集合的随机变量,n是迄今为止处理的样本数,δ是一个可配置的值,描述了计算中可接受的误差范围。
Hoeffding tree是逐步构建的,并且数据实例仅按顺序分析一次。树从根节点初始化为空,该算法读取一个实例,并将其分类到相应的叶子中。在算法中维护每个节点的表,观察到的属性和类值。对于每个新实例,都会计算并更新一些统计量度,例如均值和标准差。始终考虑同一节点中的样本,始终以增量方式计算这些指标。在处理完样本后立即将其丢弃,并且随着新样本的到达树将逐渐增长。此外,到目前为止观察到的实例存储在每片叶子上。之后,该算法读取该叶子处实例的每个确定值,并根据所有观察到的属性计算信息增益(G)。Hoeffding边界(ε)由节点中累积的统计信息计算得出。如果最佳属性和第二最佳属性的信息增益之间的差大于£(如公式1所示),则将叶子替换为决策节点,并且在最佳属性上进行拆分,然后,将该属性从可用于在该分支中拆分的属性列表中删除。 但是,Hoeffdingtree算法无法检测到变化并使其适应变化。在文献[8]中,作者采用了Hoeffding tree算法来检测概念漂移并调整预测模型。该技术称为Adaptive Hoeffding tree。Adaptive Hoeffding tree是数据流挖掘中的一种新方法,该方法可以从变化的数据流中自适应学习,而无需固定大小的滑动窗口。数据流挖掘中滑动窗口的大小是一个重要参数,因为需要数据集中概念漂移的速率。Adaptive Hoeffding option tree是包含更多选项节点的常规Adaptive Hoeffding tree.这些选项允许应用多个测试,并且导致多个Hoeffding tree作为单独的路径。用这种单一结构可以有效地表示多个树。在这棵樹中,每个叶子都存储了当前误差的估计值。每个节点的权重是从投票过程中计算出来的,并且与误差的平方成反比。此外,在本文Adaptive Hoeffdi~g Tree和Adaptive Hoeffding Option Tree算法中,使用自适应朴素贝叶斯分类器作为叶子的学习者。自适应技术用来检查每个叶多数类和朴素贝叶斯决策的错误率。
3本文方法
本文方法主要分为三个阶段,首先,捕获每个网站的流量跟踪。然后,对这些数据进行预处理,并删除错误的迹线,空包或指示负载错误的迹线,将下行流量作为网站指纹。将记录的网站指纹用作Adaptive Hoeffding Tree和Adaptive Hoeffding op-tion Tree算法的输人生成特征库,最后使用Test-Then-Train评估模型的准确率。模型图如下:
3.1数据集采集
本文通过脚本程序收集互联网中的OpenSSH100数据集。数据集采集模型如图2,在WindowsXP配置SSH代理,配置与文献[7]相同,然后运行Au3模拟用户访问互联网,使用Win-dump捕获SSH匿名流量。数据集描述如表1:
3.3特征库生成
本文使用MOA2017.06b进行分类,采用Intel CoreTM i5-3210M CPU和8 GB RAM。MOA软件用于基于流挖掘算法来模拟所提出的网站指纹攻击方法网站指纹攻击。MOA是用于实现数据流算法的软件环境,并且包括几种脱机和联机数据流挖掘算法和评估工具。
在MOA中,整个数据集都用作输入,但是MOA会将每个原始数据(每个网站指纹)都视为数据流。使用这些顺序流数据构造流分类器。MOA可以模拟每个实例顺序到达并在每个实例到达时更新模型的情况。
3.4 Test-Then-Train
常规的机器学习评估方法如(K交叉验证)无法应用于评估流挖掘算法的性能。在数据流挖掘算法中,定义了Test-Then-Train方法来评估算法的性能。该评估方法的原理是在每个单独的示例到达时对模型进行测试,并且每个单独的示例在用于训练之前都可以用于测试模型,然后使用此样本更新训练后的模型。在这种设置下,模型的准确性会逐步更新。而且,统计信息会随着流中的每个示例进行更新,并且可以根据需要以该详细级别进行记录。
4实验评估
为了评估本文方法对SSH匿名流量指纹攻击的准确率,将数据集中的数据按月份分为3组(D1、D2、D3)。首先以D1、D2、D3为训练集生成网站指纹特征库进行静态网站指纹攻击,其结果如图3:
如图3所示,在每个数据集上取70%作为训练集,剩下作为测试集。本文方法在D1数据集上有93.43%的准确率,在D2数据集上有94.23%的准确率,在D3上有93.33%的准确率。在同样的数据集上本文实现了文献6和文献7的方法,由图可知本文方法可以针对SSH匿名网络进行有效的攻击。
再以DI为训练集,D2、D3为测试集进行实验。实验结果如图4,本文方法达到93.43%,而后续以分别以D2、D3为测试集,准确率逐渐下降。在同样数据集上实现文献6和文献7的方法,相对来说,本文方法能减小数据收集时间差对准确率的影响。
将D2、D3分别分为两组(D21、D22、D31、D32),一组用于更新指纹特征,另一组用于测试,其结果如图5所示。该实验是在后续有准备的情况下,更新指纹特征库下的网站指纹攻击准确率,相对于图4所示结果,本文方法能有较高的提升。
5结论
本文针对动态网络的时间行为对网站指纹攻击方法的影响,将Adaptive Hoeffding Tree和Adaptive Hoeffding Option Tree算法引入SSH匿名网络网站指纹攻击方法,提出基于自适应决策的网站指纹攻击方法,该方法实现了指纹库的自动更新,且在小样本实验数据集上达到了93.43%的准确率,并且能减小动态网站的时间行为的影响。