论文阅读:Automated Website Fingerprinting through Deep Learning

论文github:Website Fingerprinting through Deep Learning (distrinet-research.be)

数据dataset:GitHub - jmhIcoding/DLWF: Source code for our NDSS'18 paper "Automated Website Fingerprinting through Deep Learning"

摘要

通过Tor访问网站所产生的流量,通过某些特征(数据包时间、大小、方向)可以确定网站的信息,这就是网站指纹攻击。但这种攻击取决于手动构建指纹的特征集,本文实现了自动化特征工程,通过深度学习实现网站指纹攻击。

1. 介绍

Tor是一种匿名通信工具,用于保护用户的隐私。Tor会对通信的内容和路由信息进行加密,单个节点只知道和它对接的节点,而不知道通信的起源和目的地。但是研究显示,Tor有严重的侧信道漏洞,可以通过加密网络数据包的方向和大小泄露。这种测信道信息对于特定网站来说是唯一的,因此可以形成网站指纹,用于分类。

在相关工作中,攻击被视为一个分类问题。解决这一问题的方法是,手动设计流量特征,然后使用机器学习算法对这些特征进行分类。找到独特的特征是准确识别网站的关键,手动构建特征代价昂贵。目前为止还没有自动化流程。

实施新的WF攻击时,工作集中在特征工程上,以组合和选择最显著的特征用于网站识别。因此,这些攻击是由一组固定特征定义的,这些攻击对特征的变化很敏感。防御时,在Tor网络中部署隐藏这些特征就可以。这导致了攻击和防御之间的军备竞赛:新的攻击打败了防御,因为它们利用了以前没有考虑到的特征,相反,新的防御被设计成隐藏那些攻击利用的特征。

本文提出了一种基于深度学习的WF攻击方法,结合了自动特征学习,因此它不是由特定的特征集定义的。基于深度学习的攻击被设计为能够适应防御引入的特征中的任何扰动。

文章贡献:

  1. 首次系统探索了应用于WF的深度学习(DL)算法,即前馈、卷积和循环深度神经网络。设计了三种模型:堆叠去噪自动编码器(SDAE),卷积神经网络(CNN)和长短期记忆(LSTM)。深度学习模型能够自动学习网站识别的流量特征。

  2. 复现了之前数据集上的工作。结果的可比性略有提高,最高可达2%。

  3. WF数据集:由900个网站组成,每个网站的访问量为2500次。

2. 背景

这部分请各位自行阅读吧,主要介绍了Tor WF攻击的相关工作以及深度学习的应用。

3. 威胁模型

在本文中,WF的攻击者是被动的本地网络级攻击者。图1显示了该WF场景的概述。被动攻击者只记录通信过程中传输的网络报文,不能对其进行修改或丢弃,也不能在报文流中插入新的报文。攻击者通常拥有Tor网络的入口节点,或者有权访问客户端和入口之间的链接。攻击者可以解密第一层加密并访问Tor协议消息。所有关于WF的工作都假设对手无法解密Tor提供的加密,因为消息内容会立即暴露网站的身份。

在这项研究中,我们对封闭世界和开放世界进行了评估。

4. 数据收集

深度学习的先决条件之一是学习底层模式需要大量训练数据。使用分布式设置来收集适应这些需求的各种新数据集。

4.1 数据收集方法

数据收集过程,在基于openstack的私有云环境中使用了15个虚拟机。每个VM都配置了4个cpu和4GB RAM。每个VM分配了16个工作线程,每个线程都有单独的tor进程。页面访问任务,包括启动Tor浏览器和加载目标网页,然后在240个并发工作线程中分配。网页加载时间为285秒,然后浏览器被关闭,访问被标记为无效。加载页面后,它会再打开10秒,然后关闭浏览器,删除所有配置文件信息。

利用网络名称空间和tcpdump,隔离并捕获了每个tor进程的流量,由于数据包有效负载是加密的,只提取元数据并丢弃加密的有效负载。更准确地说,捕获(1)定时信息,(2)方向和(3)TCP数据包的大小。

4.2 数据集

主要在三个数据集上进行了比较。

  1. 封闭世界数据集。有100、200、500、900类的,每个类别有2500条数据。
  2. 随着时间的推移重新访问。对于排名前200的网站,我们获得了额外的周期性测量。对200类网站收集了500条数据。
  3. 开放世界:由于开放世界数据仅用于测试目的,因此我们仅为开放世界中的每个页面收集一个实例。收集了前40万个Alexa网站的网络痕迹。

4.3 道德考虑和数据访问

作者进行的访问和客户端对网站造成的影响很小,并且作者还将数据公开了。

5. 评估

5.1 对最新技术的重新评估

复现之前的工作,通过最新数据对他们的模型进行比较。图2显示了CW100数据集上,三种之前方法的精度。

图3显示了增加样本之后的结果,CUMUL方法始终较好。

在第三个实验中,评估了当类别增加的时候,精度下降,只做了CUMUL的实验。表1显示了CUMUL在不同种类网站上的效果。

表2显示了寻找最佳参数所需要的时间。

5.2 网站指纹的深度学习

5.2.1 问题定义

主要研究了三种DNN网络:前馈SDAE、CNN和LSTM。将WF描述为一个分类问题,执行有监督的多分类任务。

  1. 堆叠去噪自编码器SDAE,一个由DAE组成的前馈神经网络。自编码器AE是一种前馈神经网络,用于通过降维进行特征学习,将多个AE堆叠成深度模型,可以分层提取数据中最显著的特征,并执行分类任务。
  2. 卷积神经网络CNN是由一系列卷积层组成的分类模型。卷积层可以用于特征提取。
  3. 长短期记忆网络LSTM是一种RNN,具有增强的记忆能力,可以学习数据中的长期依赖关系,使分类器能够解释时间序列。

5.2.2 超参数调优和模型选择

关于超参数的选择,采用最佳参数自动搜索。传统的机器学习算法也需要超参数调优,但规模小于DL,由于DL的并行性,对DL模型进行调优更加可行,用两块1080GPU来调优。表3为调优的超参数,也会使用正则化。

5.2.3 封闭世界评估

文章对SDAE、CNN、LSTM网络分别在CW100、CW200、CW500、CW900上做了实验。在实验中,性能影响最大的是样本数量,表4显示了样本数量和精度、训练时间之间的关系。

文章比较了三个模型,发现SDAE和CNN在精度方面优于LSTM,其中CNN表现最好。

图4表现了数量的增加DL模型的精度和损失。

接下来,对比了在CW100上调优的参数放在更大数据集上的表现,结果发现随着类别的增加,模型的精度也会下降,如表5所示。

图5展示了CUMUL的对比结果。

5.2.4 概念漂移评估

概念漂移评估:有研究表明,在训练后10天对捕获的数据进行测试时,分类准确率会急剧下降,这种时间效应可以解释为网站内容的不断变化,影响识别网站指纹。另一个可能原因是在某可时刻训练和评估分类器时可能会忽略稳定的指纹,而学习到临时的特征,这种情况就叫做概念漂移,预测模型的统计属性随着时间而发生变化。为了测试DNN模型的概念漂移,文章进行了测试,在CW200数据集中用2000个样本进行了测试,为期2个月,如图6所示。

结果显示,随着时间的推移,分类精度逐渐降低,分类损失急剧增加。LSTM模型的精度下降较慢,泛化性较高。三个DL模型在两个月内的表现均优于CUMUL,表明文章实现了自动化特征工程。同时也发现,在样本数量增加的情况下,CUMUL也增加了泛化能力。

结论是DL分类器在封闭世界的成功率较高,在训练后几天也会保持。

5.2.5 开放世界的评估

比较了DL和CUMUL在开放世界的效果。为了公平起见,采用以下设定:

  • 分类器的训练数据仅为之前的数据,这样做可以评估算法区分未知网站的能力。
  • 平衡测试集,训练网站和未知网站的比例为50%:50%。
  • 使用Alexa网站。

绘制了三个DL分类器的ROC曲线,CNN和SDAE优于CUMUL,如图7所示。(文章中写的是ROC曲线,但是图里写的是AUC,可能是作者的疏忽)

根据ROC曲线,可以根据优先级优化置信阈值,表6给出了优化示例,降低阈值可以降低FPR。

6. 讨论

只分析了访问主页的攻击,没有考虑其他页面。自动特征学习是解决这个问题的好方法。

深度学习可以用自动特征学习取代手动特征工程。为了防御基于DL的攻击,必须挑战DL算法本身。

未来的研究点可能有误导DL的预测。最近有一项工作是基于半双工通信和突发成型的防御技术,可以抵御所有的WF攻击,作者将会验证是否适用于DL学习器。

7. 结论

提出了一种基于DL的网站指纹攻击,通过自动特征学习来评估WF的可行性。

  • SDAE总体表现良好,很稳定。
  • CNN学习最快,数据集小时表现最好,然而也有可能过拟合。
  • LSTM表现最慢,但泛化能力最好。可以处理长流量。
  • 三种DL方法的鲁棒性都比CUMUL号。
  • 由于并行化和自动模型选择,DL具有更好的可扩展性。

  

python2 main.py -d 0 -k 2 -C 4 zwh@zwh-virtual-machine:~/website-fingerprinting-master$ python2 main.py -d 0 -k 128 -C 4 zwh@zwh-virtual-machine:~/website-fingerprinting-master$ cat output/results.k128.c0.d0.C4.N775.t16.T4.output accuracy,overhead,timeElapsedTotal,timeElapsedClassifier 0.78125, 0/0, 0.65, 0.38zwh@zwh-virtual-machine:~/website-fingerprinting-master$ cd ~/website-fingerprinting-master zwh@zwh-virtual-machine:~/website-fingerprinting-master$ python2 main.py -d 0 -k 128 -C 5 zwh@zwh-virtual-machine:~/website-fingerprinting-master$ cat output/results.k128.c0.d0.C5.N775.t16.T4.output accuracy,overhead,timeElapsedTotal,timeElapsedClassifier 0.78125, 0/0, 2.03, 1.74zwh@zwh-virtual-machine:~/website-fingerprinting-master$ cd ~/website-fingerprinting-master zwh@zwh-virtual-machine:~/website-fingerprinting-master$ python2 main.py -d 0 -k 128 -C 6 zwh@zwh-virtual-machine:~/website-fingerprinting-master$ cat output/results.k128.c0.d0.C6.N775.t16.T4.output accuracy,overhead,timeElapsedTotal,timeElapsedClassifier 0.78125, 0/0, 0.47, 0.21zwh@zwh-virtual-machine:~/websitecd ~/website-fingerprinting-masterte-fingerprinting-master zwh@zwh-virtual-machine:~/website-fingerprinting-master$ python2 main.py -d 0 -k 128 -C 10 zwh@zwh-virtual-machine:~/website-fingerprinting-master$ cat output/results.k128.c0.d0.C10.N775.t16.T4.output accuracy,overhead,timeElapsedTotal,timeElapsedClassifier 0.78125, 0/0, 0.68, 0.34zwh@zwh-virtual-machine:~/websitecd ~/website-fingerprinting-masterte-fingerprinting-master zwh@zwh-virtual-machine:~/website-fingerprinting-master$ python2 main.py -d 0 -k 128 -C 14 zwh@zwh-virtual-machine:~/website-fingerprinting-master$ cat output/results.k128.c0.d0.C14.N775.t16.T4.output accuracy,overhead,timeElapsedTotal,timeElapsedClassifier 0.78125, 0/0, 0.49, 0.23zwh@zwh-virtual-machine:~/website-fingerprinting-master$ cd ~/website为什么改变——C(不同分类算法),网页识别率始终保持在0.78125
06-03
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值