翻译:Hearing your touch: A new acoustic side channel on smartphones

原文PDF链接:https://arxiv.org/pdf/1903.11137.pdf

原文网页版链接:https://deeplearn.org/arxiv/68456/hearing-your-touch:-a-new-acoustic-side-channel-on-smartphones


                         监听你的触摸:智能手机上的一个新的声音侧信道

摘要——我们提出了第一个声学侧信道攻击,可以恢复用户在触摸屏智能手机或平板电脑的虚拟键盘上输入的内容。当用户用手指敲击or轻触(tap)屏幕时,轻触会产生在屏幕表面和空中传播的声波。我们发现设备的麦克风可以恢复此波并“听到”手指的触摸,声波的扭曲就是在屏幕上轻触位置的特征。因此,通过内置麦克风录制音频,恶意应用程序(app)可以在用户输入文本时推断文本。我们评估了对45名参与者在现实环境中使用的Android平板电脑和Android智能手机发起的攻击的有效性。对于平板电脑,即使模型没有使用受害者(victim)的数据训练,我们在20次尝试中恢复了200个4位数PIN码(PIN-codes)的61%。对于智能手机,我们在常见的侧信道攻击基准中尝试了50次,恢复了9个含有7到13个字母的单词。我们的结果表明,依靠TrustZone等隔离机制来保护用户输入并不总是足够的。我们提出并讨论硬件、操作系统和应用程序级机制,以更有效地阻止此攻击。移动设备可能需要更丰富的功能模型、更加用户友好的传感器使用通知系统以及对底层硬件泄漏的信息的更全面评估。

一. 介绍

大量研究表明了,如何利用内置的智能手机传感器,通过侧信道攻击提取用户的个人信息;见[1、2、5、6、14、25、30、38、40、43、44、51、52]和[17]。

[16]对此类攻击的全面调查指出,使用麦克风的侧信道攻击研究较少。针对实体键盘的声学攻击也受到了一些关注;参见[3,23,32,50,54,55]和[19]。每个键都有不同的物理特性或缺陷,可以进行分类。对触屏软键盘的声学攻击本来就比较困难,因为每个手指tap都发生在同一个表面。[17]对一些主动攻击进行了探索;之前对虚拟键盘进行被动声学攻击的工作是由[43]完成的,他使用音频进行tap检测,而不是进行分类。

在本文中,我们提出了第一个完全被动的声学侧信道攻击触摸屏虚拟键盘当用户在设备的触摸屏上输入文本时,tap会产生声波。该设备的麦克风可以还原tap,并将其与受害者输入的击键相关联。这款间谍软件可能是受害者自己安装的,也可能是其他人安装的,也可能是攻击者事先安装了这款软件,然后把设备给了受害者——有几家公司提供这类服务,比如mSpy[13]。我们还假设应用程序有麦克风访问权限。许多应用程序都需要这个权限,我们大多数人都盲目地接受了所需的权限列表[22]。

之前我们唯一能找到的针对虚拟键盘的被动声学攻击的研究是Narain等人的[37],他声称立体声麦克风比其他传感器更有效。然而,从他们的评估中,很难推断出他们攻击的准确性,他们假设当敲击发生时,键盘会报告,而通常情况并非如此。

我们通过克服许多挑战改进了这项早期工作,包括提取相关特征,在嘈杂环境中可靠地检测手指敲击,以及重新同步原始信号数据(第2.1节)。 为了使攻击更隐蔽和实用,我们的间谍应用程序是离线训练所以没有必要用受害者的数据训练模型唯一的限制是攻击者必须使用相同的智能手机或平板电脑训练模型。 整个攻击流程如图2所示。

通过对45名参与者的研究,我们发现攻击者可以成功地执行PIN推断攻击(第8页第3节)。我们还证明了键盘推断攻击是可行的。例如,在27个密码中,我们在手机上的10次尝试中还原了7个单词,在平板电脑上还原了19个单词。这说明了考虑到现代平台的复杂性以及对现代硬件更现实的威胁模型的需求,对智能手机沙箱进行推理的危险性。

我们将在第15页的第4节中讨论可能的对策。我们提出了一些应用程序作者可以采取的步骤来防御此类攻击,即使没有更好的操作系统支持。然后我们讨论可以构建到操作系统或硬件中的更有效的措施。

我们的贡献如下:

  • 首个针对智能手机虚拟键盘的纯声学侧信道攻击;
  • 证明可以在同一部手机上的两个麦克风之间进行精确的时间差计算,从而揭示两个麦克风之间的tap沿轴线发生的位置;
  • 对45个人在平板电脑和智能手机上进行的PIN和单词推断的广泛研究;
  • 我们的攻击与以前工作的比较。

二. 背景

2.1 轻触检测(Tap Detection)

当用户轻触智能手机屏幕时,声波不仅会通过空气传播,还会通过设备本身传播。屏幕就像一个固定在智能手机机身其他部分两侧的平板。一旦屏幕开始振动,振动模式就会被捕捉到,当用多个麦克风观察时,这些模式理论上可以被区分出来,因为它们是独一无二的(两个麦克风的对称性就会上升)。

           

                                         图1:按下带有振动反馈的字符“f”。

然而,在实际中,现代智能手机的采样率是有限制的。例如Nexus 5的屏幕由Gorilla Glass 3[20]制成,其中声速估计为4154.44米/秒;但是内置麦克风只能每0.0226毫秒采样一次,所以它们每0.094米采样一次穿过玻璃的能量。

从麦克风捕捉到的声音数据是有噪声的。Asonov和Agrawal开发的攻击物理键盘的原始论文使用基于FFT能量的阈值来处理这个[3],后续的许多论文也采用了类似的方法[9,55,54]。这在实验室环境中非常有效,特别是因为它们攻击的键盘是机械的,会发出很大的噪音。然而,现实世界中有一个变化的信噪比和能量阈值只是导致许多误报。Narain等使用陀螺仪数据检测按键[37];这比能量阈值化要好得多,但考虑到操作系统引入的延迟,它在检测tap的实际开始时仍然非常糟糕。我们观察到,Android elapsedRealtimeNanos API在运行Android 5.1.1的Nexus 5上返回的时间戳距离tap实际发生的时间点大约8000 - 15000个采样点。在实际攻击中,如果目标用两只手多次输入相同的PIN码,那么每次点击之间的时间差就会被操作系统的延迟所抵消。Simon 和 Anderson明白这一点,并使用振动反馈定位tap[43]的开始;但振动可以被银行应用程序抑制。

                                                           图2:攻击管道(or 流程)

因此,我们着手解决纯声学tap检测的问题,并观察到tap在通过屏幕和空气时,有一个非常独特的传播模式——对于不同的参与者来说是相似的特别地,我们发现高频首先出现在少量采样中,然后是长时间的低频。当subject快速输入时,我们仍然需要处理重叠的信号但是我们发现声音和振动反馈都是非常独特的,所以当与反馈声音模型的相关性最高时,可以通过减去反馈来消除重叠问题

2.2 到达的时间间隔(Time Difference Of Arrival)

当我们有多个麦克风时,我们可以计算底部和顶部接收信号的时间差。带有两个麦克风的智能手机Nexus 5的采样音频到达时差的理论精度为44.1khz (如第7页图6所示),Nexus 5的位置如图3所示,Nexus 9 如图5所示。这对应于屏幕上每8毫米采样一次。颜色对应的区域之间的信号接收的底部和顶部麦克风之间的延迟是恒定的。从理论上讲,我们应该能够区分在纵向操作时tap沿y轴和横向操作时tap沿x轴的位置。

有许多已知的计算到达时间差的方法,如CC,GCC-PHAT,GCC-SCOT,GCC-Roth,GCC-ML,GCC-HBII [7,29],ASDF [27,39],LMS [21,45],AED [8,26,46],阈值[53],ATDC [18]和组合技术[34]。 每一种都被设计用来处理具有特定信噪比(SNR)的特定类型的信号。我们实现了所有这些方法,以确定最佳的一个。

              图3:两个Nexus 5麦克风的位置,其中后续半径之间的距离是声波在一个采样周期内穿过空气的距离。

我们发现它们都不能独立可靠地工作。原因有多个。首先,麦克风硬件不理想,并且采样率存在一定的偏差,因而采样之间存在一定的延迟。 其次,环境是嘈杂的,它的噪音很难建模。 第三,我们观察到参与者在打字时经常用手挡住麦克风。

在对几个参与者的数据进行实验后,我们发现预处理数据大大提高了准确性——我们可以使用通过带通滤波器传递的信号的互相关来获得可靠的结果。我们发现,对于我们的两个测试设备,每个轻触(tap)都有一个频率范围为1300 hz - 1700 hz的能量峰值。因此,我们决定在计算时间延迟之前,对来自两个麦克风的信号使用一阶带通巴特沃斯滤波器。 由于时间差异是用户轻触屏幕位置的特征,我们将其作为特征输入分类器。但是我们还使用了其他特征,下面将对此进行解释。

2.3 轻触的声学(Acoustics of a tap)

轻触(tap)本身相当短,初始爆发(burst)约60个采样,频率约为8000-8500Hz,随后为4000 - 4400hz,随后为约1500个采样,频率为60 - 70hz(下一页图4)。 在探索了不同的特征组合和数据集大小之后,我们发现大多数轻触(tap)信息实际上都包含在前128个采样中——与物理键盘相反,它的大部分有用信息都包含在按钮的释放运动中。

                                                         图4:平均tap声音的短时傅里叶变换分解。

但由于样本数量众多,我们无法有效地利用传统的频谱音频特征,如频谱对比度[28]。我们试图对信号进行过采样,以得到给定频带内信号的子采样值,但这并没有真正起到帮助作用

从物理键盘的早期攻击开始[55],基于声学的侧信道攻击领域的流行论文通常使用梅尔频率倒谱系数(MFCC)[36]进行特征提取。 然而,MFCC旨在复制(模仿)人耳,而人类不擅长区分屏幕上的轻触(tap)声。 因此MFCC可能不是tap分类的最佳选择。 另一方面,Quefrency(也称为倒谱)通过计算其对数的快速傅立叶逆变换(IFFT)来利用所有频率,但没有根据人耳的特征对它们进行加权。

因此,我们使用对音频数据的前128个采样(tap之后)计算的原始quefrency作为分类器的一个附加特征。 实际上,我们将来自一个或多个麦克风的信号的quefrencies组合在一起。 在本文中,我们将涉及三个不同的特征集:1)Top — 指来自顶部麦克风的信号的quefrency;2)Botm  — 指来自底部麦克风的信号的quefrency; 3)Top + Botm — 指顶部特征,与Botm特征连接,连接到两个信号之间的估计延迟和两个信号之间quefrency的差异上。

对于分类,我们使用线性判别分析(LDA),更具体地说是基于奇异值分解(SVD)的分析,因为它在我们的测试中显示出最佳结果。

在评估部分(第8页第3节)中,我们将提供我们攻击的F1分数。 与简单正确猜测样本百分比相比,这些测试准确率的更好的参考。 F1既考虑精确率(precison)(正样本预测为正的数量除以所有预测为正的样本数量),也考虑召回率(recall)(正样本预测为正的数量除以所有正样本数量)。计算公式为:

                                 

本文给出的F1取不同标签的精确率和召回率的平均值。

           图5:两个Nexus 9麦克风的位置,其中后续(subsequent,或译为后面外围)半径之间的距离是声波在一个采样周期内穿过空气的距离。

     图6:两个Nexus 5麦克风的位置,每个麦克风周围半径之间的距离是声波在一个采样周期内传播的距离

三. 评估(Evaluation)

3.1 实验设计(Experimental design)

我们开发了一个Android应用程序参与者在输入框中输入字母和单词,或者在标准的PIN pad中输入数字在每种情况下,应用程序都会显示参与者要输入的文本或数字。该应用程序可以在横向纵向方向工作;并支持反馈机制(声音、振动)。当用户执行请求的任务时,应用程序通过内置麦克风收集音频。

由于Android 5.1.1禁止对PIN输入使用反馈机制,所以我们只对文本输入进行了测试。我们只在智能手机上进行了PIN输入实验,因为平板电脑和智能手机上的PIN pad大小相同。PIN码输入实验只在纵向方向进行,因为智能手机不允许在横向方向输入PIN码。

我们在实验室环境之外进行实验,以便更接近地模拟现实生活条件,从而提高研究的有效性。参与者在大学的三个不同的地方完成了这项任务:1)在一个公共休息室里,人们聊天,偶尔会有一台咖啡机伴随着响亮的声音做出一些拿铁玛奇朵;2)在阅览室里,人们要么在电脑上打字,要么用半响的声音说话;3)在图书馆里,人们都很安静,但是附近的笔记本电脑发出了很多咔哒咔哒的声音。这三个地方都开着窗户,能让周围的噪音传进来。

由于空气中的声速取决于其温度,所以数据只在白天室内收集,气温在22-25摄氏度之间,没有其他用户启动的进程在后台运行。我们使用了两款LG Nexus 5手机和一款Nexus 9平板电脑(都运行Android 5.1.1)。Nexus 5的尺寸为137.84mm×69.17mm×8.59mm, Nexus 9的尺寸为228.2mm×153.7mm×8mm。这两款设备都相当轻薄,所有内部组件都相对彼此靠的近。这两款设备都有两个麦克风,可以使用Android SDK访问。Nexus 5的主麦克风位于设备底部,副麦克风位于顶部。Nexus 9平板电脑则不同,一个麦克风在底部,另一个在右侧。

我们使用了两款LG Nexus 5手机和一款Nexus 9平板电脑,它们都有标准的音频采样率。他们都运行Android Lollipop,代表了研究进行时的35%设备,到2019年仍有20%我们怀疑具有更高采样率和更好麦克风的设备可能会改进攻击,但我们将其留给未来的工作。

由于攻击本身的新颖性,以及缺乏对侧信道攻击进行基准测试的标准方法,因此我们的结果的解释并不直接or简单。我们希望读者从评估中得出以下几点:1)对小型虚拟键盘的攻击与对大型物理键盘的攻击效果差不多;2)尽管麦克风噪音更大,但该攻击与之前基于加速度计和陀螺仪等其他传感器的虚拟键盘攻击具有相似的性能。

         图7:为实验开发得应用程序:(a):PIN(密码)输入应用; (b):文本输入应用

3.2 数据收集(Data Collection)

我们做了四个独立的实验。在第一个实验中,10名参与者被要求按9位数字(1到9)中的每一位10次。数字的出现顺序是随机的。在第二个实验中,我们要求其他10名参与者输入200个独一无二的4位PIN码。在第三个实验中,我们让另一组人输入字母。出现的顺序也是随机的。在第四个实验中,参与者被要求输入来自于NPS聊天语料库[11]的五位字符的单词。所有字母和单词输入实验的总结如表1所示。为数据收集开发的应用程序如图7所示。

我们总共获得了45人的数据,21名女性和24名男性。两人拒绝透露年龄;另外43名的平均年龄为24.4岁,年龄在21岁至32岁之间。总的来说,我们收集了大约30个小时的音频

对于每个音频记录,我们如第2页第2节所述提取tap特征。然后我们使用两种方法来测试攻击的准确性第一种,我们使用70%的数据来训练模型(“训练”集),剩下的30%用于测试(“测试”集)。这些数据集可能包含来自相同用户的数据。第二种方法中,我们执行了leave-one-subject-out (LOSO)评估。模型基本上是在N-1个参与者上进行训练,然后在1个参与者上进行测试;结果为所有参与者的平均。在我们的威胁模型中,我们假设在攻击之前每个字符/数字有100个tap录音。在评估中,这是通过训练集训练前的随机欠采样实现的——我们从原始训练数据集中随机抽取样本,直到其包含100个样本。在交叉验证(k-折LOSO)中,每个分类器运行5次,并对结果进行平均。每一次k折的运行都是用新的分类器对新欠采样数据执行的。同样,在单词预测任务中,每次训练数据都是欠采样的。然而,每次我们也从每个实验参与者那里重新生成单词序列。

3.3 道德考量(Ethical considerations)

这项研究通过了我们机构的标准伦理审查程序,并严格遵循了部门收集人类参与者数据的指导方针。这些数据是在自愿的基础上收集的,没有付钱给参与者。有必要确保参与者没有受到任何形式的伤害,也没有敏感信息被泄露。为此目的,采取了若干措施。

首先,要求每位志愿者阅读并签署描述实验的同意书。口头上也获得同意;我们向参与者解释了这项研究的目的,以确保他们理解他们提交给我们的数据类型。

第三,我们确保收集的数据不可能追溯到每个参与者。

第四,数据存储在一台安全的计算机上,只有负责分析的研究人员才能访问。

3.4 单个数推断(Single digit inference)

 

第一次尝试进行单个数分类时的训练、测试和与主题无关(即LOSO)的准确性如表2所示。对于单个麦克风,我们分别正确预测了底部(Botm)和顶部麦克风的F1=34±5和F1=55±5,而对于随机猜测,1/9=11%(虽然百分比和F1之间没有一个有效的比较,但仍然应该对性能有一个直观的了解)。使用两个麦克风,精确度提高到F1=64±6。

对于独立于主题的情况(LOSO),标准偏差更高。在最坏的情况下,只有Botm麦克风,数字的预测略好于随机猜测;但在最好的情况下,几乎有一半的数字在第一次尝试中被正确预测。顶部麦克风的结果更高,在最坏的情况下是随机猜测的两倍,在最好的情况下是85%。使用两个麦克风,在最坏的情况下,我们的预测准确率是随机猜测的3倍;最好是100%的数字。

当一个数字预测不正确时,分类器会快速校正它(根据分类器生成的预测的置信值对猜测进行排序)。例如,使用两个麦克风(如下一页的gure 8所示),30%的错误预测在第一次尝试后被修正,20%在第二次尝试时被修正。修改的速度然后变得平缓。这意味着,在三次尝试中,分类器正确地预测了80%以上的数字。

                                                               图8:每次新尝试的修改错误百分比。

3.5 PIN推断

四位数PIN预测的结果显示在第13页的图9中。如第9页第3.2节所述,我们考虑了来自20个人的150个随机PIN用一个麦克风,我们在10次尝试后,可以还原54%的PIN码。我们将我们的攻击与第14页表3中的先前工作进行了比较。它的表现至少和其中一些一样好,而且往往更好。例如,使用两个麦克风,我们只需20次尝试就可以还原91/150个4位数的PIN,而不需要知道PIN的分布情况或后续taps之间的时间间隔[12,10]。

 

图9:分类器的性能,基于20个人的tap,试图以横向方向预测从Nexus 5智能手机上随机采集的200个4位pin码。结果显示了30次运行的平均结果,每一次运行都基于性能中等的分类器。

3.6 字母和单词推断(Letter & Word inference)

在本节中,我们给出了手机和平板电脑上英语字母表中26个字母的预测结果(第14页表4)。在手机上,如果我们使用一个麦克风进行LOSO和测试,我们的结果将比随机猜测高出三倍。来自顶部麦克风的音频比来自底部麦克风的音频产生更好的效果。我们不确定为什么会这样,但我们怀疑这可能与人们拿手机的方式有关。令人惊讶的是,我们发现纵向模式比横向模式在智能手机上的效果更好,而在平板电脑上,纵向模式和横向模式之间并没有明显的区别。我们相信这可以通过我们在这些设备上打字的方式来解释:人们通常把平板电脑放在他们的膝盖上或他们面前的桌子上,而他们将手机拿在手里,这可能部分地堵住了底部的麦克风。当使用两个麦克风时,我们得到了最好的结果,比一个麦克风提高了1.5倍。

为了与之前的研究结果进行比较,我们采用了与[33]、[9]、[49]、[35]相同的评价方法:我们从corn-cob数据集中随机选择长度为7-13的27个单词,并尝试对它们进行分类。虽然我们的工作和这些论文有一定的差异,但是,例如,训练集的大小,参与者的数量和训练程序可能略有不同。其中两篇论文评估了对物理键盘的攻击,这些攻击通常具有更高的准确性。虽然直接比较是困难的,但这仍然为我们的工作提供了一个有价值的基线。我们在第15页的表5中给出了比较。

Simon and Anderson的视频侧信道比我们针对手机上单个麦克风的攻击表现得更好,但在平板电脑上显示了类似的结果。这表明,由于“按钮”之间的距离非常短,对智能手机虚拟键盘进行声学攻击会更加困难。对于平板电脑和使用两个麦克风时,我们得到了与物理键盘攻击类似的结果。

3.7 实际应用的单词推断(Word inference in real-world use)

我们在上一节中给出的评估是受之前论文的启发。然而,在现实世界中,由于许多原因,实际执行攻击要困难得多,其中一个原因是缺少足够丰富的字典和文本语料库

然而,本文认为在这种情况下可以进行推理攻击。当出现错误时,大多数错误会很快得到纠正,这意味着我们可以把注意力集中在分类器最自信的预测子集上,而不是字典搜索,从而允许正确猜测某些单词。

图10显示了基于不同预测策略猜测单词的性能,猜测深度分别为5和10。可以看出,尽管预测空间大大减小,但总体精度保持不变。空间从26^{4}减少到10^{4}5^{4},分别减少了45倍和731倍。

最后,在现实世界中,字典里的大多数单词都是极其罕见的。为了在评估中反映这一点,我们使用了通过NLTK框架[24,11](一个真实的聊天数据集)访问的NPS聊天语料库。然后,我们评估了对该数据集中最常见的100个单词的攻击。为此,我们采用[43]的方法,从收集到的单拍tap声音中随机合成单词。除了第2页第2节中给出的分类器外,我们还使用NLTK框架中可用的Brown text corpus训练了一个N-gram模型[31,11]。更准确地说,为了将N-gram模型中的信息合并到预测中,我们使用了以下函数:

这里pred_{l:l+k}是索引ll+k上的字符的子单词,p和是n-gram提供的概率。

结果如下面的图11所示。如果没有这种语言模型,大约6%的4字母的单词在20次尝试中被正确地强行拼写出来。使用 3-gram模型[47,41]可以将这些结果提高到10%。这是令人鼓舞的,因为它表明,对于真实的句子,语言模型的帮助更大。

四. 对策(Countermeasures)

本文提出了多种方法来减轻声学攻击。这些可以在不同级的软件和硬件堆栈上实现。

在硬件层面,一个根本的解决方案是从手机或平板电脑上移除麦克风。如果像Google Ara[4]这样的项目获得了吸引力,这对于某些用户来说可能是可行的。但这永远不会被所有人接受,因为我们越来越依赖语音与智能设备进行交互。

我们可以给手机引入物理开关,这样用户就可以关掉麦克风。但这将给我们大多数人带来可用性问题:想象一下,每次接听语音电话时都必须启用麦克风! 自从50年前这项技术问世以来,对讲收音机(Press-to-talk radios)逐渐被语音麦克风所取代,而且随着时间的推移,手机的按键越来越少。

许多其他的可能性都与商业竞争背道而驰。可以降低麦克风的采样频率,但由于供应商都在争夺最好的视频录制,这种做法不太可能被接受。在屏幕上部增加一层玻璃,可以吸收手指的大部分按压,但不会吸引那些致力于让设备更轻薄的厂商。

硬件设计的层面上,最有用的方法可能是使活麦克风变得显而易见,可能是将二极管连接到麦克风本身的能源轨道上,在使用时点亮二极管,并形成一个代表麦克风的图标。最明显的拒绝理由是,像大多数安全警告一样,实时麦克风图标常常会被忽略。然而,它会给一些用户带来一些价值,尽管它在硬件上的成本很低,但类似的东西也可以在OS中以零边际成本实现。

操作系统级别,还可以尝试禁止在数据输入期间录制音频。但这将破坏许多应用程序,例如当用户在语音通话中键入时。

一种更复杂的方法是提供一种经过适当设计(properly-engineered)的PIN输入设备,当一个应用程序调用该设备时,它会暂时空白,并/或向其他应用程序看到的麦克风通道引入噪声。从逻辑上讲,这种方法应该推广到其他传感器,这些传感器可以通过侧信道(如加速度计、陀螺仪和相机)来采集PIN。如果明确限制为PIN输入,它可能会被足够少地使用,以至于它对其他应用程序的干扰很可能是可以容忍的。

下一步,可以为应用程序提供一个“安全文本输入”功能,以获取密码和其他身份验证信息。但我们需要考虑可能的交互,例如坚持安全输入密码的银行应用程序和坚持连续访问加速度计和陀螺仪的导航应用程序之间的交互。如果提供端到端加密的消息发送应用程序默认使用安全文本输入,那么使用的规模可能会在应用程序生态系统的其他地方引发问题。

应该探索更细微的退化(degradation),比如操作系统在麦克风数据流中引入计时抖动或诱骗tap声音这样攻击者就不能可靠地识别tap位置。由于tap本身对人类来说是相当不明显的,所以不应该打扰那些在后台运行并在用户同意的情况下收集音频的应用程序。

应用程序层面应用程序本身可能会向设备中引入错误的tap声音,以便干扰和混淆正在收听的任何恶意应用程序。这种战术干扰是一种低成本的对策,而且据我们所知,这可能是(比方说)银行应用程序开发人员目前部署的最可行的缓解措施。

总的来说,我们支持两种方法:1)向用户报告传感器处于哪个位置;2)引入安全注意顺序——在手机交互管道的一种新的高优先级模式,用于密码或其他敏感文本输入,在这种模式下,除触摸屏外的所有传感器都被阻塞。第一种方法相当简单,但会带来可用性、责任和遵从性问题,而第二种方法需要更多的工程,但可能提供更高的保证。在这些(或其他缓解措施)在平台上实现之前,应用程序开发人员应该考虑使用战术干扰,如果通过侧信道进行的PIN盗窃曾经大规模部署的话。

五. 局限性( Limitations)

在我们的威胁模型中,我们只使用麦克风来分类和检测手指taps,我们仅用了26个英文字符和9个数字。一旦我们从密码捕获转移到更一般的文本输入推断,还需要考虑其他字符,如退格、空格按钮等。这些使得机器学习模型复杂化,导致预测精度降低。但攻击者也可以使用其他传感器,比如加速度计和陀螺仪。因此,利用多传感器端侧信道来评估可能的攻击,并测量不同字母和不同信噪比设置下不同分类器的性能是很有意义的。

在我们的攻击中,我们设法还原了主题无关模型中的字母。目前尚不清楚为何此次攻击能够很好地概括;大概人们的手指比他们的声音更相似。对此进行更多的研究可能会有用。未来的研究还可以研究攻击对不同类型设备的迁移能力。然而,越来越多质量更好的麦克风的趋势表明,攻击只会变得更好。

六. 相关工作(Related Work)

本文适用于智能手机的侧信道攻击领域。特别地,我们提出了一种新的声学侧信道。麦克风通常不会泄露关于屏幕上tap位置的信息,而声学攻击相对来说也没有被研究过[16]。

对实体键盘的攻击并不新鲜。Asonov和Agrawal是最早演示对机械键盘[3]进行声学攻击的人之一。 Zhuang等人([55])和Compagno等人对他们的工作进行了进一步的改进,他们发现攻击者甚至可以在无监督的操作中推断文本,Compagno等人展示了如何基于Skype[19]获得的键盘声学推断文本。

但智能手机或平板电脑屏幕上的虚拟键盘呢?  Cai 和 Chen的研究表明,攻击者可以使用运动传感器来还原用户输入的PIN码,还原率为70%。他们的威胁模型与我们的非常相似——他们假设受害者的手机上有一个带有传感器访问权限的恶意应用程序。

因此,对于一个有安全意识的用户来说,停止使用使用运动传感器的应用程序就足够了吗?西蒙和安德森报告了一起攻击,使用相机移动来测量手机的方位,而不是加速度计和陀螺仪,并使用麦克风来检测tap[43]。这让他们以合理的概率恢复引脚。

我们的攻击继续这条研究路线。仅仅拒绝应用程序使用运动传感器和摄像头是不够的;为了完全阻止PIN泄漏,你还必须拒绝进入麦克风。这对大多数用户和许多应用程序来说都是不可行的。

我们的攻击利用了许多现代智能手机的双麦克风。这些设备以前曾被用来进行声学攻击,但不是针对智能手机本身。例如,Liu等人提出了一个使用附近智能手机[32]的多个麦克风进行键盘按键推断的系统。同样,Zhu等人仅使用到达信息[54]的时间差对键盘发射进行了几次上下文无关的攻击,表明多台智能手机可以提高他们获得结果的准确性。

七. 结论(Conclusion)

我们针对智能手机和平板电脑等触屏设备提出了一种新的声学侧信道攻击。我们使用该设备自带的麦克风,从手指轻触屏幕发出的声音中推断文本输入。

实验表明,该攻击可以成功地还原PIN码、单个字母和整个单词。在Nexus 5的纵向智能手机上,攻击能够还原大部分的PIN和一些单词;具体来说,在10次尝试后,200个4位PIN中的146个,以及在20次尝试后,长度为7-13的corn-cob数据集中的27个随机单词中的8个。

我们还展示了在独立于主题的设置下实现高精度是可能的,因此可以使用在其他人设备上预先训练的分类器远程攻击用户的智能手机。

我们的攻击在平板电脑上的准确度比在智能手机上更高。例如,在平板电脑上,我们不是还原了一些单词,而是还原了大部分单词;具体来说,27个单词中有19个单词是在10次尝试之后还原成功。

为了评估实际威胁,当我们从一组短信常用单词中猜测单词时,经过20次尝试,我们能够从200个单词中还原80个单词。此外,对错误产生方式的深入了解使我们能够开发一个有效攻击的模型,该模型将在字母和单词级别上使用语言模型。

总之,我们展示了一种新的针对智能手机和平板电脑的声学侧信道攻击,并描述了如何有效地利用它。

最后,我们讨论了对于现在的应用程序编写人员和未来版本的移动手机操作系统,可以采取哪些缓解措施

 

 

 

 

 

 

 

 

 

 

 

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值