对抗机器学习 Mockingbird Defending Against Deep-Learning-Based Website Fingerprinting Attack

论文URL:

https://arxiv.org/pdf/1902.06626.pdf

论文Motivation

这篇论文是我一直想做的,没想到有人已经做出来了。
论文的思路是这样的:在加密流量分类领域,一直存在着通过分析加密流量的包长、包到达时间间隔来推断加密隧道(例如VPN,TOR,SSH,SS等)上网络类别的工作,这种方法叫做Website Fingerprint Attack。这类网站指纹的攻击方法一般是基于包长包间隔的,有使用统计特征+传统机器学习的,有统计特征+神经网络的,也有直接端到端的神经网络的。最近基于神经网络的方法,取得了很好的识别效果,当然选取特别好的特征的传统机器学习方法也能取得目前不差的效果。

为了抵御这种攻击,就有学者提出流量的逃逸方法,这些方法的主要idea自然是把自己真实的包长序列和包到达时间间隔序列隐藏起来,主要的途径有填充包长、发空闲包、扣留包等,填充的长度啥的比较机械、主要是人拍脑袋确定的。目前这些方法比如Buflo以及Buflo的改进版本都存在着两个主要问题,一个是这些方法会给网络带来很大的负载,另外一个是这些无法抵御retrain的攻击。retrain啥意思呢?就是Website fingerprint attack的攻击者,可以收集到基于这些填充手段的样本,丢到自己的数据集里面,重新训练一下模型就完事了。

于是,为了抵御website fingerprint的攻击,一个很naive的思路就是说借助对抗机器学习来为流量样本寻找对抗样本,这些对抗样本可以把website fingerprint attack的分类器误导,同时又能保证对抗样本的扰动比较小。

这种方法寻找到的逃逸样本至少应该有两个优点:1. 给网络带来的扰动小 2. 这种对抗样本抗retrain的能力强。

这些就是论文的motivation,也正是我想做的motivation。

作者的核心贡献

个人认为,作者的核心贡献在于一点。他对decision based attack的黑盒攻击方法做了修正,另外他通过实验说明了基于decision-based attack找到的对抗样本是可以抵御retrain的防御手段的!

首先第一点,对decision based attack的修正。
decision based attack是一种黑盒攻击方法,它不需要获取目标分类模型的参数,甚至输出的probability和logit也不要,它只需要分类模型最后输出个标签就行。

decision based attack的一种实现方法是叫做boundary attack,这个方法在 https://arxiv.org/pdf/1712.04248.pdf 首次提出。boundary attack的核心思路,是通过先正交扰动,然后在从正交扰动往目标样本走适当的步子来一步步的靠近目标样本,直到当前样本的标签变化为止。

而本文的作者,这是 直接使用梯度下降 的方法,去最小化当前样本 I I 和目标样本 I T I_T 之间的距离,直到当前样本的标签发生变化为止。

第二点,作者做实验发现,跟基于梯度的FGSM,JMSA等白盒攻击方法相比,decision based attack找出来的对抗样本居然具备抵御retrain的性质!

作者先使用基于梯度、以及基于decision 方法找到大量的对抗样本,然后把其中 90%的对抗样本丢到训练集里面重新训练,剩下10%的对抗样本保留下来测试使用。

下图显示了,当把基于FGSM,JMSA的对抗样本加入到训练集,让模型retrain后,基本都以91%的准确率把对抗样本给识别出来了。
在这里插入图片描述
但是,基于decision-based attack方法找到的90%的对抗样本加入到训练集后,重新训练。拿剩下10%重新预测,发现只有35%~28.8%的被分类器正确的识别了。这个效果还是很棒的!
在这里插入图片描述

为啥基于decision based attack的方法找出来的对抗样本具备基于retrain的能力呢?这是因为retrain重新训练的时候是需要寻找对抗样本,并把这些对抗样本加入到训练集里面去重新训练模型。对于基于分类模型的梯度寻找到的对抗样本,这些样本都是沿着让分类器梯度方向的找到的样本,当这种对抗样本多了以后,retrain是可以识别出来这种模式的!decision based attack则不是基于分类器的梯度方向,于是它可以找到四面八方,各式各样的对抗样本。

然而!本人做了基于Boundary attack的对抗样本的retrain实验,根本就没有得到这篇论文所谓的boundary attack可以抵御retrain的结果,这篇论文的retrain结果看样子应该是造假的!!也难怪这篇论文没有发出去,反而是它的一个精简版的poster发在了CCS 2019上,但是poster池口不提retrain的结果!

发布了307 篇原创文章 · 获赞 268 · 访问量 56万+

猜你喜欢

转载自blog.csdn.net/jmh1996/article/details/103016209