通过运动传感器来追踪移动网页用户:攻击和防御

本文是2016年NDSS会议,Tracking Mobile Web Users Through Motion Sensors: Attacks and Defenses的笔记
原文链接

1.摘要

通过检测传感器信号中的异常(由制造中的缺陷带来的,就像人类的指纹一样),可以高精度地唯一识别一台设备(手机)。网站的发布者和广告商可以利用这一特性,通过网页、广告、访问来跟踪用户。

攻击方法:

  • 用听不到的音频去激发加速度计和陀螺仪,以得到包含异常的信号。因为是基于物理设备,所有类似清理cookie和隐私模式无法防御这种攻击

防御手段:

  • 校准传感器,消除异常信号。
    1. 加速度计很容易
    2. 陀螺仪校准需要特殊的设备,并且手动校准不是一个有效的方法。
  • 添加噪声进行混淆是更有效的方法
    1. 大量添加和天然异常相似的噪声
    2. 在更大的量级上的做法:增加临时干扰来混淆主要特征的频率

2.数字指纹背景

  1. 美国政府早在1960年,就使用独特的传输特征来跟踪移动发射器。之后还成功利用了无线电信号的频谱特征来区分发射器。
  2. 利用网卡(NICs)制造上微小的缺陷,分析发射信号的无线电频率
  3. 利用独特且不变的电脑时钟偏移,通过TCP和ICMP的时间戳获取
  4. 不同的设备会有不同的软件安装基础

浏览器数字指纹

  1. cookie(清除cookie,隐私浏览模式)
  2. 枚举浏览器的字体和其他浏览器特征(渲染引擎,对于不同JS引擎的表现基准)
  3. UDID和IEME需要特殊的权限

传感器数字指纹

  1. 利用麦克风和扬声器,这需要高权限
  2. Bojinov利用加速度计(需要用户校准加速度计)
  3. Dey利用机器学习的方法分析加速度计(利用手机振动)
  4. 本文利用了加速度计和陀螺仪。

Song提出,降低加速度计的精度来防御窃听。例如报告1g的加速度来隐藏微小的变化值。但是这个方法对于陀螺仪来说,是不够的。

3.运动传感器说明

在电子机械结构上的半点瑕疵都会产生跨芯片的特质。

  • 加速度计:测量的是固有加速度(万有引力作用下的量子的稳定速度)而不是坐标加速度。查分电容正比于所施加的加速度。在制造的时候产生的结构电极间的丝毫隙差会影响产生的电容。电-机械结构中微小的不精确,导致了加速度计芯片微小的不精确。
  • 陀螺仪:使用科里奥利效应来测量角速度。角速度w被施加重量为m的移动质量,并且速度为v,物体会受一个垂直于旋转轴线和速度方向的科里奥利力F=-2mw×v。通过测量陀螺仪内震动已知质量的科里奥利力,可以算出角速度。震动会改变电容,转化成电压信号来测量科里奥利力。

4.特征和分类算法

数据处理

加速度:设a(t)=(ax, ay, az),使|a(t)| = √(ax2, ay2, az2)。
虽然丢弃一些信息,但是使得加速度不依赖于设备的方向。(即使是静止的设备,摆放的方式不同,在三个轴上会有很大的差异,即+-1g)

角速度:w(t)=(wx, wy, wz)

时间和频谱特征

选取了10个时间,15个频谱特征。这些特征在过去的研究中已经得到很好的证明。

类别 特征 描述
时间 Mean 不同时间戳下信号强度的均值
Standard Deviation 信号强度的标准偏差
Average Deviation 均值的平均偏差
Skewness 偏态,均值非对称分布的度量
Kurtosis 峰度,分布平坦或尖刻的度量
RMS 在各种时间戳下信号强度的平方的算术均方根
Max 信号强度的最大值
Min 信号强度的最小值
ZCR 信号由正变负或由负变正的速度
Non-Negative count 非负值的数量
频率 Spectral Centroid 频谱质心:表示功率谱分布的质心
Spectral Spread
Spectral Skewness
Spectral Kurtosis
Spectral Entropy
Spectral Flatness
Spectral Brightness
Spectral Rolloff
Spectral Roughness
Spectral Irregularity
Spectral RMS
Low-Energy-Rate
Spectral flux
Spectral Attack Time
Spectral Attack Slope 谱峰的平均坡度

分类算法和指标

监督学习:支持向量机,朴素贝叶斯分类,多级决策树,K近邻,二次判别分析分类器,Bagged Decision Trees (Matlab’s Treebagger model)

评价指标:Precision(精度),Recall,F-Score(前两者的调和平均)

  • Pri = TPi / ( TPi + FPi )
  • Rei = TPi / ( TPi + FNi )
  • Fi = ( 2 × Pri × Rei ) / ( Pri + Rei )

一个保守的分类器,为了较高的精度,会有较低的Recall。反之亦然。为了获得系统的总体表现,论文计算均值

  • AvgPr = ( sumni=1Pri ) / n
  • AvgRe = ( sumni=1Rei ) / n
  • AvgF = ( 2 × Pri × Rei ) / ( Pri + Rei )

5.数字指纹评价

实验步骤

  1. 利用附录A中的JavaScript代码采集数据。但是受底层操作系统的限制,通过浏览器采集样本的最大频率要比硬件允许的低。
  2. 几种浏览器中选择了google浏览器(样本频率100Hz,允许accelerometer和gyroscope)。
  3. 实验设备有iPhone5,iPhone5s,Nexus S,Galaxy S3,Galaxy S2。背景声音设置为无声,20kHz的超声波,流行音乐。
  4. 每种设置收集10个样本,大约5-8秒有价值的数据。
  5. 没有特殊提及,手机是放在静止平面上的,后有考虑了用户手持的状态。

特征的探索和选择

并不是使用所有特征就行,因为它们之间精度不同,甚至有些是有冲突的。时间特征不需要转换数据流,频谱特征先将不等间隔的数据流转换为用三次样条插值固定间隔的数据流。在8khz采样速率进行插值。利用MIRtoolbox和Libxtract提取频谱特征。利用FEAST toolbox和JMI criterion找最佳组合。
选取的70个特征中,21个来自加速度计,49个来自陀螺仪。时间26个,频谱44个。

结果

  • 实验环境:实验结果还是不错的,声音激活对精确度的效果不明显,但是后面会讲到却可以很好的应对传感器校准或混淆。

  • 公共场合:效果也还可以,90%的精确度

敏感性分析

  • 设备数量的不同:设备增多,准确度会下降。不过亦然能保持在90%以上。
  • 训练集大小不同:训练集比测试集从2:8到8:2,精确度从98%升到99%。
  • 温度的影响:气温变化有10%的影响。
  • 时间稳定性:有影响,精度仍在90%以上。

6.解决方法

校准

Bojinov的仿射误差模型:aM(测量值) = g(放大作用) * a(真实值) + o(误差)

在所有特征中,均值是传感器数据流最能区别的特征,和偏差紧密相关。

校准加速器: 测量值=偏差+增益误差*真实值

计算每个轴上的偏差和增益误差,需要测量该轴正反两个方向的数值。举Z轴的例子:SZ = (aMZ+ - aMZ-) / 2g,OZ = (aMZ+ + aMZ-) / 2

校准陀螺仪: 测量值=偏差+增益误差*真实值

诱导固定的角度变化,可以算出增益误差。保持设备固定,即可算出偏差。 当设备旋转固定角度时,测量值往往偏离真实值。所以计算出的结果,只是实际值的近似值 这会影响任意陀螺仪角位移的测量系统。举Z轴的例子,Oi = (θMi+ + θMi-) / (t1 + t2),Si = (θMi+ - θMi- - Oi(t1 - t2)) / 2π

校准过的数据的数字指纹:
校准对加速度计效果拔群,对陀螺仪效果几乎看不出来。校准之后,音频激发终于对精度有了一个小提升。总的来说,以精准测量为前提的话,校准是个有前途的技术。所以厂家处于保护用户隐私的考虑,最好出厂前校准一下。

数据混淆

和校准相比,混淆增加了额外的噪声,对传感器的使用有负面影响

  • Uniform noise:有范围的最高熵
  • Laplace noise:由不同的微分隐私启发最高熵
  • White noise:影响所有方面的信号

均匀噪声

I.基本混淆

  • 首先:考虑在之前我们观测到的校准误差相似的范围内添加小规模的混淆。在该范围内添加噪声相当于切换到了一个不同的(错误的)校准,因此给用户的影响最小。加速度计的偏差范围[-0.5,0.5],陀螺仪的偏差范围[-0.1,0.1],增益范围[0.95,1.05]。在范围内,随机均匀混淆。有很明显的作用(各种场景下降低了7%-42%)。同时音频刺激有明显效果,应该是一旦主要特征被混淆了,它显著影响次要特征开始发挥作用。

  • 然后:研究发现,对于越大的数据集,混淆作用月明显。

II.增加混淆范围

扩大混淆范围是可以降低精度,但是收益递减。说明简单的混淆原始数据,不足以隐藏所有独特的特征。到目前为止,仅仅操纵信号值,没有改变任何频率特征,所以分类器还能利用频谱特征来唯一区分各个设备。

III.增强混淆

主要的思路是,概率地将当前数据点的修改版本插在在过去时间戳和当前时间戳之间,时间戳本身是随机选择的。这会影响到数据的三次样条插值,进而影响从数据流中提取的频谱特征。

IV影响

利用计步器程序(利用加速器计来算步数)来分析影响。校准,基本混淆,增加范围混淆对计步器程序影响很小,但是增强混淆的影响很大,因此需要寻找新的混淆方式。

拉普拉斯噪声在效用上的影响

采用一种类似的differential privacy方法,在拉普拉斯分布中随机选择偏差和增益误差。
能在隐私和效用之间取得一个较好的平衡。

白噪声在效用上的影响

增加白噪声会有严重的后果,即使是高信噪比。

7.缺陷

  1. 实验设备的数量不够多,但是有在真实环境下的测试。
  2. 校准陀螺仪做的不够好,但是证明了手动校准是容易出错的。