本文仅为论文阅读记录,不涉及思考和复现,各人关注点不同,理解可能有偏差,请谨慎食用🥗
论文作者:Tao Ni∗ , Xiaokuan Zhang† , Chaoshun Zuo‡ , Jianfeng Li§ , Zhenyu Yan¶ , Wubing Wang∥ , Weitao Xu∗ , Xiapu Luo§ , Qingchuan Zhao∗
(∗ City University of Hong Kong, † George Mason University, ‡ The Ohio State University,§ The Hong Kong Polytechnic University, ¶ The Chinese University of Hong Kong, ∥ DBAPPSecurity Co., Ltd)
-
基本原理
无线充电系统使用电磁感应效应,从无线充电器的主线圈给被充电设备的次级线圈传输电力。所以会产生环境磁场。无线充电时用户和手机的交互将改变屏幕上的内容,进而改变无线充电器中的电源供应(电流大小)。用电更多的活动,使得手机需要来自无线充电器更多的电源供应。手机中的无线充电单元持续地和无线充电器的控制单元交流,调整在主线圈中通过电流的大小。充电器中内部线圈电流的变化将会引起电磁力,使线圈轻微变形并振动,引起线圈的啸叫和无线充电器周围的磁场扰动。通过这2个物理现象推断用户隐私。- 动态的电流会影响环境磁场,并导致磁场扰动。磁场扰动可以通过一段时间内磁场的变化来测量。在特定的时间点,磁场可以用一个由三维笛卡尔坐标系中的坐标组成的矢量来描述。
- 线圈啸叫是由线圈材料在麦克斯韦应力张量、磁致伸缩和洛伦兹力等一系列电磁力的激励下振动或变形而产生的。
-
用户交互和线圈啸叫之间的关系:线圈中电流的变化产生电磁力,引起线圈的振动和变形,导致线圈的啸叫。用户在设备上的操作(如点击或滑动)会导致主线圈电流的变化(∆Ip(t)),进而引起电磁力的变化(∆Fp(t))。电磁力的变化使得无线充电器线圈啸叫的相位和频率产生变化。【啸叫声主要由充电器产生】
- 用户交互对磁场扰动的影响:P4 Ⅲ.B3
-
-
引入用户交互上下文的概念
界面间切换 & 界面内活动 -
动机
模拟手机无线充电到用户打开app并在键盘输入的全过程,观察线圈啸叫和磁场数据:-
在线圈啸叫的功率谱图中,界面之间的切换更加明显;在环境磁场扰动中,细粒度的活动,例如app启动、击键活动更加明显。
Q1:是否打开不同的app,会导致不同的磁场扰动?
Q2:是否在不同app内相同的键盘输入,会导致相似的扰动?
在iOS系统下研究4款app,地图app:Apple Map、Waz;金融app:Paypal;聊天app:Whatsapp。记录打开app后5s内的磁场数据;在不同app中输入相同单词的扰动数据:
打开不同的app会导致不同的磁场扰动;在不同的app中进行相同的击键会导致相似的扰动。
-
-
攻击场景的描述
-
WISERS攻击阶段
- 检测手机开始充电的时机+检测影响线圈啸叫和磁场扰动测量的特征(例如手机电量,另外检测设备和充电器之间的距离也会影响识别准确率),接着进行配置准备攻击,校准磁场。
- 识别触发时机:同时捕捉线圈啸叫和磁场扰动的突发变化。首先使用磁力计在时间序列中记录磁场的方向和强度,以识别显著的扰动;并基于特定无线充电器线圈啸叫的频率范围,应用高通滤波器去除环境噪声,例如触摸或按压屏幕产生的低频噪声。接下来,利用短时傅里叶变换(STFT)和周期汉恩窗函数来识别滤波后功率谱的突变。
- 推测电池电量:通过将线圈啸叫的信号功率划分为不同的充电阶段来推断电池电量,因为不同的电流量会产生不同的线圈啸叫模式。具体来说,在探究了描述声音信号功率的声学特征之后,决定使用所有86个相关特征将线圈啸叫声轨迹建模为1 × 86向量,并采用随机森林分类算法,因为它在处理高维特征向量方面性能较好。
- 磁场校准:一个特定的用户活动引起的扰动模式会随无线充电器和磁场检测设备的相对位置不同而变化。将从两个设备之间所有可能的相对位置测量到的磁场坐标校准到预设位置的坐标系上。具体方法见P5 Ⅳ.A 3
- 使用线圈啸叫推测界面之间的切换;使用磁场扰动推测界面内部的活动。
-
界面切换:4种界面,组成6种元交换【不需要纠结有几种交换元】。从线圈啸叫的功率谱中利用每种特定类型界面的独特模式来区分它们,然后推断相关界面之间的切换。具体而言,将每种类型的界面建模为一个86维声学特征向量👇(没有直接列出,TABLE Ⅲ提到了使用MATLAB Audio Toolbox中的一系列函数和参数设置),然后使用随机森林分类算法(将估计器的数量设置为100,将最大深度限制为32,并使用10折交叉验证)识别每种类型的界面,以及在它们之间的切换。
86个特征
-
界面内部活动:
- 首先采用萨维茨基-戈莱(S-G)滤波器,在不扭曲信号的情况下去除收集到的连续磁场扰动中的噪音。考虑到每个活动在每次尝试中可能持续不同的时间长度(例如,一次击键可能需要0.05-0.2秒),它还通过保留属性的上采样(例如,最近邻插值 nearest neighbor interpolation)或下采样(例如,抽取因子 decimation factor)算法将每个活动尝试归一化为相同的时间长度。
- 应用一维卷积神经网络(CNN)从时间序列数据中提取特征,采用一维滤波器捕获每个磁场维度上的时间相关性,采用最大池化层降维一半,采用扁平层将特征图重塑为一维序列。将序列作为基于注意力的双向 LSTM(AttnBiLSTM)模型的输入,训练模型,通过移除嵌入层之后的层将其转化为嵌入模型。在AttnBiLSTM模型中,嵌入层接收输入序列并生成数值向量。接下来,双向LSTM层从嵌入向量中学习预测特征,注意力层捕捉特征与输出之间的依赖关系。然后,全连接层生成与分类类别数量相同大小的分类向量。最后,softmax层生成每个类别的概率,并输出概率最高的预测类别。//使用嵌入模型和余弦距离将磁场扰动分为不同的模式,即产生每个磁场扰动序列的嵌入,并计算和每个类别的序列的每个序列之间的距离,如果余弦距离小于阈值,则分类为该类别。(首先使用一维CNN算法来提取每个磁场扰动样本的特征,该样本由一个时间序列中的6个磁场状态组成。然后将该序列转换为一维序列,以满足AttnBiLSTM算法作为输入的要求。具体来说,该CNN算法配置了三个输入通道和三个输出通道,激活函数为ReLU,内核大小为3,步幅为1。对于AttnBiLSTM算法的配置,我们将其批大小设置为128,嵌入维数为6,隐藏大小为50,并使用交叉熵损失和Adam优化器,学习率为0.001,epoch为300。)
-
- 根据推测的切换和活动,建立用户互动的上下文,说明用户的具体活动和具体的隐私信息(例如在特定app中键盘输入的内容)。P7
- 封闭世界和开放世界环境下应用程序启动时的自适应识别阈值
- 3种键盘识别
- 考虑到打字练习的持续时间包括按键和两次按键之间的间隔,我们将两次按键之间的每个间隔建模为一个特殊的键事件,即静态键,并利用这个键作为两个按键之间分割的指示器,这个额外的键在训练和测试阶段都被包含
- 数据归一化:通过应用下采样和上采样,我们将每个线圈的啸叫和磁场扰动轨迹归一化为0.1秒间隔的时间序列
- 检测手机开始充电的时机+检测影响线圈啸叫和磁场扰动测量的特征(例如手机电量,另外检测设备和充电器之间的距离也会影响识别准确率),接着进行配置准备攻击,校准磁场。
-
具体实验
-
使用iPhone 11的麦克风Audio Recorder记录线圈啸叫,磁力计Sensor Logger记录磁场扰动,从iPhone 13Pro(受害者设备)中收集数据,使用10W的Gikfun无线充电器充电,二者距离为8英寸(20厘米)。除了推断手机电量,其他评估中手机电量均为中等电量(20~80)。关闭后台第三方应用,剩余的系统服务仍然提供基本功能。根据similarweb提供的排行下载24类中前15个app,共计360个app的数据。
-
关注3种界面内的活动:打开app;打开键盘;击键。4种用户界面:息屏;锁屏;主屏;app界面。3种具体隐私信息:锁屏解锁密码;跨app搜索内容;特定app内的隐私输入。
-
识别效果
- 界面中间切换识别准确率92.5%;
- 数据集内app识别准确率91.8%,数据集外87.9%;识别键盘打开准确率99.0%;
- 在屏幕解锁击键时、纯数字键盘、全键盘,输入1~15位击键时,在5次尝试内,识别准确率分别达到94.4%,92.6%和90.6%;【5次尝试含义不清晰,①神经网络预测结果按照可能性从大到小输出;②通过多次测量和分析磁场扰动来推断出用户输入的内容;③训练5次模型】
- 对不同的手机、充电器、电池电量、用户、监听设备距离具有鲁棒性。
-
-
实验评估
-
推测电量水平
-
数据量:将iPhone放在充电器上,关闭屏幕并等待啸叫声稳定,采集1s数据,共3个阶段,每个阶段重复50次。并将每段声音归一化为0.1s,共1500段数据,训练:测试=8:2
-
总体准确率为95.0%,低电量、中电量和高电量的准确率分别为89.3%、98.7%和97.0%。低电量推断准确率相对较低,主要由于无线充电的策略和协议的特性,即低电量下更不稳定。
-
-
推测界面切换
-
数据量:在每个类型的界面稳定后收集1s线圈啸叫,重复50轮:息屏、锁屏、6个主界面、任意24个app的24个界面
-
结果:界面类型识别准确率为92.5%,息屏98.0%、锁屏92.0%、主界面82.0%、app界面98.0%。主屏幕识别准确率低的主要原因是主屏名和锁屏界面使用相同的背景图片,在电量消耗方面相似。
-
-
识别打开的app
-
数据量:启动应用程序时通常会显示一个静态图像,不同应用程序的启动持续时间可能有所不同,选择在点击屏幕上的应用程序图标后采集的第1s的磁力计读数,以代表应用程序启动过程中的磁场扰动。每个app持续100次,每条数据归一化为0.1s,共36,000条数据【360,000?】。使用随机120个app的80%的数据训练,开放世界为240个剩余的app数据。
-
结果:在封闭环境下的识别准确率为91.8%,标准差为1.28%;在开放环境下,WISERS的总体识别准确率为87.9%,标准差为1.27%。WISERS在封闭环境中对“导航”应用的识别效果最好(96.2%,标准差1.48%),对“医疗”应用效果最差(89.4%,标准差1.95%)。在开放环境中,“导航”应用的识别效果最好(92.0%,标准差1.22%),对“天气”应用效果最差(85.4%,标准差2.19%)。
-
-
识别打开键盘类型
-
数据量:和界面推断使用相同的24个app中,只打开数字键盘、打开全键盘时的磁场数据。Dskopen采集静态界面1s的数据,以及打开软键盘稳定后1s的数据,每个app采集100次;Dsktype采集静态界面1s的数据,以及软键盘打开后击一个键后稳定的1s数据,每个app采集100次。每个数据被归一化为0.1s,每个数据集有2400条数据【24000*3?】。
-
结果:识别键盘没有打开准确率为87.0%,无法有效区分数字键盘和全尺寸键盘,准确率低于60%。但是如果包含按键操作,它可以成功识别键盘是否打开,精确度为99.0%;数字键盘的准确率为97.0%;全尺寸键盘的正确率为89.0%。原因是:由于按键大小不同,一次击键可导致能量消耗突发,该能量消耗突发可显著地分离这两个类型的键盘。
-
-
推测击键
-
数据量:三种类型键盘:锁屏击键、数字键盘、全键盘。训练时每个按键(包括用于分隔按键的静态键)被点击100次,每次形成的磁场扰动轨迹被归一化为0.1s。测试时为每个键盘随机生成一个字符序列,长度从1个字符到15个字符不等。每个序列生成三个测试案例,每个案例重复100次。
-
结果:一次猜测尝试总体准确率分别为91.5%、89.6%和83.0%。在五次尝试内,准确率可以提高到94.4%,92.6%和90.6%。(5次尝试识别一个字母准确率最高,字母数量越多,识别准确率越低)。特别地,在五次尝试内,WISERS可以在所有三种键盘上100%正确恢复单字符按键,而对于长度15字符按键序列,它在屏幕解锁键盘、数字键盘和全尺寸键盘上的准确率分别为87.3%、85.0%和78.3%。这一准确率与其他研究[22]相当,展示了WISERS在准确恢复按键上的能力。此外,五次尝试可以显著提高按键恢复的准确率,尤其是在全尺寸键盘上恢复15字符按键序列时(从68.3%提高到78.3%,提高了10%)。
-
-
实验结果总结
总体准确率 详情 电量推断 95.0% 低电量89.3%、中电量98.7%、高电量97.0% 界面类型 92.5% 息屏98.0%、锁屏92.0%、主界面82.0%、app界面98.0% 打开app 封闭环境下91.8%,开放环境下87.9% 在封闭环境中对“导航”类应用的识别效果最好(96.2%),对“医疗”应用效果最差(89.4%)。在开放环境中,“导航”应用的识别效果最好(92.0%)“天气”应用效果最差(85.4%,标准差2.19%) 打开键盘类型 99.0%识别键盘是否打开 没有击键时,识别键盘没有打开准确率为87.0%,无法有效区分数字键盘和全尺寸键盘,准确率低于60%。如果包含按键操作,可以成功识别键盘是否打开,精确度为99.0%,数字键盘的准确率为97.0%,全尺寸键盘的正确率为89.0% 软键盘击键 锁屏、数字键盘、全键盘中一次猜测尝试总体准确率分别为91.5%、89.6%和83.0%。在五次尝试内,准确率可以提高到94.4%,92.6%和90.6% 在5次尝试内,可以在所有3种键盘上100%正确恢复单字符按键,长度15的字符按键序列,在屏幕解锁键盘、数字键盘和全尺寸键盘上的准确率分别为87.3%、85.0%和78.3%。
-
-
端到端攻击
推断一系列用户交互中的每个界面间切换和界面内活动:从用密码解锁屏幕开始,在主屏幕上执行“跨应用程序搜索”,结束于启动应用程序并键入隐私敏感信息。
-
数据量:40个随机的锁屏密码(13个4位数、15个6位数、12个常规长度);跨app搜索关键词对应8个app(2个聊天app-微信、telegram;2个金融app-支付宝、venmo;2个浏览器-chrome、safari;2个疫情监测app-swisscovid、lhsafe),每个app有5中不同长度的关键词,共40个关键词;app中输入的隐私信息:2个聊天应用中输入5个任意句子,2个金融app中使用5个随机生成的Gmail地址作为用户账户,访问2个浏览器中的5个热门网站URL,为SwissCovid生成5个随机的12位数Covid病例序列号,位LHSafe生成5个8位数的手机号。总共有40次攻击试验,每次试验涉及一个屏幕解锁密码、一个跨应用搜索关键词、一个应用程序和一个特定于应用的用户输入。
-
结果:最多5次尝试内实现了100%的整体成功率,恢复用户输入时没有出现任何错误字符。仅允许一次尝试来恢复用户输入时,超过一半的试验(即40次中的22次)仍然可以成功,没有出现任何错误字符。在剩余试验中的每个失败案例平均长度为14,并且每个案例仅包含一个错误字符。
👆界面切换、app启动、键盘打开都被准确识别。共18个案例出现不能在一次尝试中推测出所有键盘输入的情况,剩余22个一次就能成功,根据文章定义的端到端准确率=成功案例/总案例=22/40=55%。
- 推测锁屏密码:息屏→锁屏→主屏幕/息屏→锁屏→app界面。WISERS成功推断了所有界面间的切换,并在最多5次尝试内恢复了所有密码。并且在仅进行一次尝试的失败案例中,有4个8位数、2个9位数和2个10位数的密码,而且所有8次失败尝试仅错误预测了一个数字。
- 推测跨应用搜索内容:将上下文定义为主屏幕内的界面间切换,以及界面内活动-键盘打开和击键。所有的界面间切换、键盘打开、搜索内容都被成功识别和恢复。
- 推测特定应用的敏感输入:界面切换-主屏幕→应用界面&同一应用中不同界面之间切换。界面内活动-app启动、键盘打开、按键操作。所有界面间切换和键盘打开都被准确识别,需要更多尝试来成功恢复输入的单词,尤其是当单词中有连续出现的字符时,如“freezing”中的“ee”,或者当某个字符的对应键比其他键按键大小相对较小时,如“gmail.com”中的“.”。同样在最多五次尝试内,所有的用户聊天内容都被恢复。
-
-
影响因素
-
用户:不同用户击键时间不同,已经进行归一化。招聘两男两女进行击键测试,不同长度的连续按键识别准确率显示出相似的趋势,随着长度增加略有下降,与之间的准确率差异最多在8%以内。
-
充电器:无线充电器在噪音(如线圈噪声)消除和磁场屏蔽方面的制造质量可能不同,这可能对线圈噪声和磁场扰动分析产生不同程度的影响。在另外五款流行的无线充电器上评估了WISERS,即Apple MagSafe Charger (A2140)、Samsung Wireless Charger Stand (EP-N5200TBEGGB)、Mophie Snap+ 15W (SNP-WRLS-CHGR)、Belkin BOOSTUP 7.5W (F7U054)和Baseus Mini Magnetic 15W (BS-W522),并将结果与之前评估中使用的10W Gikfun充电器进行比较。具体来说,WISERS使用从这五款COTS产品收集的数据训练了新的模型,并按照相同的程序和策略收集数据,评估在封闭世界环境中推断电池电量、识别界面切换和识别应用启动的有效性。
WISERS在不同无线充电器上的评估都能达到高精度。在电池电量推断中的准确率范围为89.9%到98.0%(标准差2.96%);在界面切换识别中的准确率范围为85.4%到96.3%(标准差4.31%);在封闭世界环境中应用启动识别的准确率范围为82.1%到92.3%(标准差3.98%)。结果还显示,Apple MagSafe在减少线圈噪声方面表现更好,而Samsung Wireless Charger Stand在稳定磁场扰动方面表现更佳。
-
手机型号:智能手机在硬件和软件层面可能有不同的能耗和管理策略。按照之前的程序评估了六款不同的iOS和Android智能手机,即iPhone 13 Pro、iPhone 12、iPhone 11、Google Pixel 4、OnePlus 10 Pro和Samsung S10。这六款不同智能手机的分类模型在电池电量推断中的准确率为94.7%到97.8%(标准差1.38%),在界面切换识别中的准确率为90.8%到95.7%(标准差1.72%),在封闭世界应用识别中的准确率为89.7%到92.4%(标准差0.98%)。
还评估了模型的可迁移性,通过为每个智能手机训练一个分类模型,并将每个训练好的模型应用于所有六款智能手机。如果将分类模型应用于其训练来源的智能手机,这六个模型都能达到98.6%到99.6%的高准确率;然而,如果将模型应用于其他智能手机,准确率会有不同程度的下降。在运行相同操作系统的智能手机中,为iPhone 13 Pro和iPhone 12训练的分类模型准确率略微下降约5%,而iPhone 11的模型下降约10%。这种差异可能是因为iPhone 11使用LCD,而另外两款使用OLED。另一方面,由于不同的键盘布局,从三款Android智能手机训练的模型准确率下降约14–23%。此外,将从iOS智能手机训练的模型转移到Android智能手机时,准确率下降超过30%,因为它们的屏幕技术和UI布局极为不同。
-
电量水平:根据无线充电协议,如果智能手机的电池电量不同,同一活动可能会显示出不同的线圈噪声和磁场扰动模式。我们全面调查了26款商品无线充电器在充电过程中的电池电量,其中17款无线充电器有三个或更少的电量等级(如Anker 10W充电器),八款有四个等级(如Mophie Snap+ 15W),只有Belkin 7.5W无线充电器有五个等级。
类似于电池电量推断的实验,我们也评估了WISERS在具有三个以上充电电量等级的无线充电器中的表现。图15a和图15b显示,WISERS在识别Mophie Snap+ 15W(四个等级)和Belkin 7.5W BOOSTUP(五个等级)的电池电量时,分别达到了94.0%和94.2%的准确率。我们还收集了Belkin 7.5W BOOSTUP在不同电池电量下的数据来训练五个模型。图15c显示,从一级(L1)到五级(L5)训练的模型在识别界面切换时的准确率范围为91.8%到94.8%(标准差1.27%),在应用启动时的准确率范围为90.3%到92.3%(标准差0.91%)。
-
其他因素:在键盘上输入时的应用界面、无线充电器与测量设备之间的距离、设备方向以及声学特征的数量。恢复按键在跨应用影响下的准确率平均仅下降5%。此外,如果将攻击距离从8英寸(20厘米)增加到12英寸(30厘米)和16英寸(40厘米),WISERS在使用线圈噪声推断界面切换时仍能达到86.4%和80.8%的准确率,在利用磁场扰动恢复按键时分别达到90.2%和77.3%。另外,当充电智能手机与攻击设备之间的相对方向变为30°、60°和90°时,WISERS在识别界面切换和恢复按键时的平均准确率分别为85.9%和91.4%。我们还评估了使用不同数量的声学特征进行界面切换识别的准确率,结果显示使用39、78和86个特征时的准确率分别为83.9%、91.4%和92.5%。
-
-
讨论
- 局限性:①随着距离增加线圈啸叫声和磁场信号不可避免衰减;②不同OS上模型的迁移性能差;③后台app对识别的影响没有评估和解决;④AI系统自动填充机制可能影响敏感信息输入识别;⑤目前假设知道攻击装置和目标设备之间的距离和相对角度
- 应对措施:①使用先进的材料减小噪声、屏蔽磁场(有效性难以研究,成本高);②添加随机噪声(如高斯白噪声)或动态改变充电器初级线圈中的电压的幅度和频率。