事实证明,由于与射频(RF,radio-frequency)辐射相关的固有泄漏,采用事件触发通信的无线设备会遇到严重的隐私问题。仅通过窃听无线键盘使用的通信通道即可实施有效而有效的攻击,从而检测出预先定义的关键字的类型。本文提出BrokenStrokes攻击:当窃听天线距离目标键盘达15米时,它就实现了其目标,而不管加密方案、通信协议、无线电噪声的存在和物理障碍的存在如何。在当前的三种场景中详细描述了攻击,并讨论了其性能-在正常操作条件下其成功概率超过90%,但本文也提供了如何减轻攻击的一些建议。本文中使用的数据已作为开源代码发布,以允许从业者、工业界和学术界验证,并将其作为进一步发展的基础。
0x01 Introduction
无线键盘在家庭,娱乐场所和娱乐系统中变得越来越流行,从而实现了与计算设备微小和优雅的交互。尤其是在拥挤的桌面上,无线键盘减少了要连接的电线数量,在优雅和整洁方面具有明显优势。此外,它们扩展了与终端的交互作用区域,从而减轻了工作压力。
尽管无线键盘很流行,但它们仍然存在一些保密性和隐私性问题,这主要是由无线通信链路的广播特性和电量限制引起的。实际上,与传统的有线键盘相比,无线键盘使用无线通信介质,其中信息会暴露于潜在的窃听中。同时,无线键盘依靠电池供电,必须实现“科学的计算和通信策略”,最大限度地减少射频(RF)操作,以延长电池寿命。从安全性的角度来看,许多传统的无线键盘部署得非常薄弱,或没有防止窃听攻击。在上述情况下,通过以键盘相同的操作频率调整恶意接收器,可以很容易地实现攻击。一些研究人员也证明了主动攻击的可行性,例如击键注入和重放,能够破坏通信链路并降低无线键盘的可用性和安全性。尽管制造商正在设计,实施和提供越来越多的无线键盘安全解决方案,但无线键盘的内在安全性仍需要处理可用性和电量限制。实际上,无线键盘必须为电子设备触发新的RF通信。每个新的击键,以确保最小的打字延迟和最大的可用性。同时,此类RF通信应持续最短的时间,以最大程度地减少电池消耗并延长键盘电池本身的寿命。
0x02 Scenario and Assumptions
本研究考虑由无线键盘系统(即,将用户的击键无线传输到连接到计算机的USB加密狗dongle的键盘)构成的一般情况。在这种情况下,攻击会影响可用于维持键盘和加密狗之间的通信的所有无线通信协议,例如蓝牙,WiFi和专有协议。在不失一般性的前提下,考虑了三种广泛采用的无线键盘,如下表所示。所有键盘均具有专有的通信协议,这些协议利用ISMbandwidth [2.4-2.5] GHz进行通信。本文解决方案既不涉及被考虑的无线键盘采用的协议的黑客攻击,也不涉及逆向工程。此外所有被考虑的键盘加密方案均会阻止直接访问交换消息的内容。
设备:采用了商用笔记本电脑(Dell XPS 15 9560),它具有Linux发行版和GNU Radio(免费和开源软件开发工具包),商用SDR,以及全向(VERT2450)或定向天线(Aaronia HyperLOG 60350),具体取决于所考虑的攻击方案。最后,本文中采用的所有建议算法,技术和过程均已在Matlab R2019a中实现。
在以下参考场景中,对BrokenStrokes攻击进行了测试:
(1)方案1-近距离攻击( Proximity attack):SDR具有标准的全向天线(VERT2450)。将SDR放置在键盘加密狗通信链接的附近,隐藏在桌子下面。这种攻击涉及攻击者能够访问目标用户的位置(例如,办公室,家),并且能够将SDR放置在非常靠近无线键盘的位置,例如,在用户的桌子下方或附近。
(2)方案2-墙后攻击(Behind-the-wall attack):SDR已连接到定向天线(Aaronia HyperLOG 60350),并且天线与键盘-加密狗通信链接之间没有视线(LOS)。此攻击认为攻击者在收集目标用户击键时间的同时处于阻碍对象的后面(例如墙后),因此,可能未被发现。
(3)方案3-远程攻击(Remote attack):在设置中,SDR连接到远程定向天线(Aaronia HyperLOG 60350),攻击者位于远离目标用户的位置,但是目标具有清晰的LOS,并且可以从远程位置收集按键间的时间间隔(长达15m)。
多个用户:本文考虑了三个不同的用户,即{U1,U2,U3},并评估了用户的打字速度如何影响BrokenStrokes攻击。注意,本文考虑的用户数量与有关击键分析的相关工作一致。
噪音:注意,实验是在常规条件下进行的,没有采取任何措施来减少其他设备共享目标键盘的相同通信频率而产生的噪声。
关键字数据集: BrokenStrokes涉及两个阶段的攻击,即将接收到的信号强度峰值转换为击键间时间,然后转换为关键字。虽然绝大多数文献集中在通过利用不同的物理层黑客将击键之间的时间转换为关键字,但本研究主要集中在设计可靠和有效的解决方案以将接收信号强度转换为计时。在不失一般性的前提下,在本文中仅将一个关键字(即password)视为攻击的第二部分。
0x03 BrokenStrokes in a Nutshell
BrokenStrokes的计算流量包括:(i)测量键盘和加密狗之间传输的消息的接收信号强度(RSS);(ii)利用这些测量值来提取击键间时间;(iii)借助机器学习(ML)技术来生成似然度得分,该分数表示目标用户的击键序列中存在预先定义的关键字。
采用了MiriadRF LimeSDR来测量每个击键事件生成的数据包的RSS,通过GNU Radio来调整SDR的参数。具体而言,观察到当没有键入任何击键时,无线键盘处于空闲状态。用户一旦按下任意按钮,就会触发从键盘到加密狗的新传输,从而产生特定于峰值的工作频率。
将配置有适当工作频率,10 MHz带宽和30 MHz采样率的LimeSDR Source(RX)标准模块连接到QT GUI Frequency Plot模块,在其中启用了RSS日志(在特定工作频率上的RSS值超过预定阈值时的dBm)和时间戳(以纳秒为单位)。
随后由一连串的Matlab脚本(即按键定时提取和ML算法)处理由Acquisition模块生成的包含RSS和时间戳的日志文件,以生成与关键字存在相关的似然度分数。击键时间提取模块旨在识别击键模式并生成击键之间的时间,即用户随后两次击键之间的时间。然后,将到达间隔时间传递给ML算法,该算法提供关于存在击键的可能性得分预先定义的关键字-ML算法先前已用于训练要重复检测相同关键字的模型。下一章将提供BrokenStrokes攻击所涉及的每个阶段的更多详细信息。
0x04 From RSS To Keyword Detection
在本节中将展示BrokenStrokes的详细信息,并提供一种可被攻击者用来检测用户通过无线键盘键入的任意长句子中关键字的存在的机制。在不失一般性的前提下,考虑方案1即近距离攻击,而在后面的部分中将把方法扩展到其他方案。
上图显示了从SDR收集的RSS样本,采样速率为每秒30^(6)个样本。要求U1键入50次关键字“password”,然后收集与键盘和加密狗之间交换的消息相关的RSS估计值。强调关键字“password”与任何特定的用户密码都不相关。实际上,它代表一个通用的8个字母的关键字,在不失一般性的情况下,可以将其重新转换为用户以任意长的击键顺序键入的任何关键字。
RSS样本显示了一个清晰的模式,由垂直带组成:每个单词一个带,因为U1输入关键字,先击中返回,然后再次开始-总共重复了50个单词“ password”。上图中的红色实线表示用于过滤RSS样本的阈值,即,仅考虑阈值以上的样本用于后续处理。稍后,在筛选出与干扰相关的样本的同时,仅保留来自键盘-加密狗通信的样本,阈值的重要性将变得很清楚。观察到在这种特定情况下(近距离攻击),样本的绝大多数主要集中在[-20,-35] dBm的范围内,因此,可以采用任何小于-35dBm的阈值这个目的。
在下面,通过双阶段过程提取键间计时器:(i)单词识别; (ii)击键时间提取。第一阶段利用RSS样本来识别目标用户键入的单词,而第二阶段则着重于提取与先前识别的单词相关的击键时间。
A.单词识别
上图的顶部显示了为实验收集的样本,其中所有RSS值均已归一化为相同值,这是与后续分析无关的RSS值。为了提取与每个单词的开头相关的时间,考虑了预定持续时间的滑动窗口,并计算了属于该单词的样本数(从轨迹的开始到结尾滑动时)。滑动窗口的大小很重要,其配置取决于用户和要检测的单词。例如,对于单词“password”,考虑为用户U1,U2和U3分别设置大小为2.4、1.7和2秒的滑动窗口。此外,根据经验,假设滑动步长为窗口大小的1/50。最后在这项工作中,假设滑动窗口的持续时间可以由对手预先设置。实际上,它可以通过查看所收集的样本来适当地校准滑动窗口,并据此进行设置。上图的底部显示了从滑动开始到给定的一定延迟(毫秒)的,属于滑动窗口的样本数量。同时,上图底部的峰值表示新单词的开头。确实,如果滑动窗口的持续时间得到了正确的校准,则当窗口位于单词的开头时,采样数将是最大的。上图顶部的垂直红线显示了相对于RSS采样位置(黑色圆圈)的已识别峰。
B.击键时间提取
对于每个已识别的单词(上图中的垂直红线),进行了以下分析。首先关注从一个单词收集的样本,如下图的顶部所示。观察到“password”一词由9组样本组成(8个字母和回车)。每个样本组又可以分为两个子组:第一组大约20个样本,第二组大约5个样本,如下图的底部所示。
假设第一个子组属于键盘发送到加密狗的信息包,而第二个子组属于加密狗发送给键盘的确认消息。直觉是每次击键对应于键盘的一次传输和对应的加密狗的确认消息。在不失一般性的情况下,不考虑与场景1一致的键盘和加密狗之间的任何数据包丢失。窃听设备非常靠近键盘-加密狗通信链接。在本工作的后续部分(针对场景2和3)以及缓解该策略的策略将考虑干扰。为了正确识别按键时间,采用了滑动窗口持续时间为0.024秒,滑动步长为窗口大小的1/50。滑动窗口持续时间考虑了键盘和加密狗之间的通讯往返延迟,并且取决于键盘的品牌/型号,它需要对收集的样本进行预处理。
误差边界:将BrokenStrokes攻击提取的击键时间与标准击键记录器记录的时间进行比较。为此开发了一个简单的Python脚本来记录先前测量期间的击键时间,随后将该时间序列与从BrokenStrokes攻击中收集到的时间序列进行了比较。对三个不同的用户(即U1,U2和U3)进行了先前的分析,如上图所示。上图的底部显示了分位数0.05与在键盘的50次重复过程中收集的击键间时间相关。使用键盘记录程序输入单词“ password”。在先前的分析中没有考虑回车键,而是只考虑了“ password”一词中两次后续击键之间的时间。本文仅考虑了击键间隔时间的分位数0.05,因为它代表了最坏的情况,即击键对的时间差最小为5%。上图的顶部示出了由BrokenStrokes攻击收集的击键间定时与采用按键记录器所收集的击键间定时之间的差(误差)的绝对值(图的底部)。对于每个框,中心标记代表中位数,而框的底部和顶部边缘分别代表25%和75%。观察到,即使在最坏的情况下,与通过按键记录器收集的数据计算出的平均按键间计时时间为200毫秒相比,该错误始终小于20毫秒。综上所述,误差的主位值约为5ms(对于所有用户),是按键记录程序收集的按键间计时的分位数0.05的2%。
用户独立性:单词识别和击键时机提取与用户无关,即SDR执行的处理只会引入一个较小的延迟,不会影响击键间时机的模式。因此,已经提出的通过利用击键间时间来影响用户隐私的技术可以通过使对手远离目标用户而得到显着增强。
C.关键字检测
本文提出了一种基于机器学习的解决方案,它可以适应小的按键间敲击时间误差和在窃听阶段所经历的干扰。考虑仅使用一个类的(即单词“password”的50个实例)进行训练的支持向量机(SVM)分类器。通过利用SVM分类器计算的似然比来将关键字“password”与异常值(即其他词)区分开来。关键字检测阶段由BrokenStrokes的ML模块执行,包括以下三个步骤:
(1)训练:本研究训练了一个带有50个关键字“ password”副本的一类SVM模型。采用高斯核函数并标准化了预测变量数据,即通过相应的加权列平均值和标准偏差对每个预测变量进行居中和缩放;最后,将训练数据中离群值的预期比例设置为0.05。
(2)击键间隔时间划分:通过使用步长为一个击键大小的滑动窗口对测试集中的击键间隔进行划分,即,两个相邻窗口重叠在所有元素上,但一个重叠。
(3)得分指数生成:使用训练完成的一类SVM分类器测试所有分区,以获得每个分区(滑动窗口)的相似度(可能性)。
要接受或拒绝某个值作为关键字的开头,需要定义一个决策阈值以及相关的统计指标,即真阳率(TP)和 假阳率(FP)。令{s0,…,sN}为一组相似性得分。 定义决策阈值(∆)作为相似性得分值,以使mini(si)+ ∆表示假定关键字包含在句子中的最小值。定义TP的相似度得分,该得分超过∆,同时具有与关键字在当前句子中的实际位置一致的位置。将FP相似度得分定义为超过∆且同时具有与关键字的实际位置不一致的位置(偏移)的相似性得分。 假设一个位置与关键字的实际开头的距离大于两次击键时的位置不一致。在接下来的部分中,考虑∆ = 0(即,不考虑∆的影响)。值得注意的是,上述过程并不需要攻击者知道特定关键字的键入时间,实际上,攻击者可以先获取所有击键,然后再执行攻击。
0x05 Scenario 1: Proximity Attack
本节估计在实际情况下BrokenStrokes的性能。要求用户U1重复三个不同的句子30次:(i)your password is secret; (ii)the secret of your password; (iii)your secret password is mine,这些句子的特征是关键字与句子开头的偏移量不同。考虑了方案1(近距离攻击),因此在正常情况下,人们周围走动和干扰的源头(例如,许多WiFi网络和蓝牙设备)将窃听设备放置在非常靠近键盘-加密狗通信链路的位置。考虑到SDR与键盘-软件狗通信链路之间的距离,采用了直接连接到SDR的标准VERT2450全向天线。上图显示了SVM分类器提供的相似度得分与滑动窗口偏移量的函数关系。已根据击键间隔的次数(即7)构成了关键字“ password”,而滑动步数等于一个击键,相似分数在某个偏移处达到峰值意味着后续采样很可能与采样匹配在训练集中,因此,当前的偏移量很可能是关键字的开头。观察到对于所有这三个在句子中,SVM分类器在关键字“ password”开始的偏移处返回更高的相似分数。此外,观察到BrokenStrokescan定位了密码的位置,同时还遇到了一定程度的不确定性,即并非所有主要峰值都准确地位于关键字开始的位置。确实,干扰可能会增加假按键或使现有按键无法检索。总体而言,此现象仅对攻击性能产生轻微影响,并且关键字位置的不确定性通常在实际位置的±1击键范围内。通过重新考虑上图的结果,提取了每个句子的最高分,并将其位置与对应于与关键字“ password”开头的实际位置相对应的位置进行了比较。下图显示了在计算关键字的预期位置时出现次数与错误的关系。观察到大约31%的检测事件没有发生任何错误(90个事件中有27个),此外观察到45%的检测事件仅受一次按键错误的影响,而只有14%的检测事件受到错误的影响。检测事件比实际事件早2次击键。因此,在90%的情况下,BrokenStrokes可以找到关键字“password”,且输入错误少于2次。下图中的红色实线表示最佳拟合分布是正态分布,平均值为-1.06,标准偏差为2.47。
0x06 Scenario 2: Keyword Detection From Behind a Wall
方案2在周围人满为患的环境中进行攻击,在一个办公室中设置窃听设备,然后从附近的办公室发起攻击。目标用户知道本次的攻击,并在被要求重复相同句子30次(即you can choose a random password)。天线已放置在距目标用户4.5米的位置,而约20厘米的混凝土墙则挡住了视线。
采用了与以前相同的测量设置和分析方法,并在上图中报告了相似度得分与滑动窗口偏移量的关系。在第25次击键时重复了前面的过程,对包含关键字“ password”的30个句子进行了排序。观察到绝大多数相似度峰值集中在24和25号位置,即一次击键的滞后主要是由于在监听阶段丢失了样本。此外,突出显示了远离预期偏移峰的存在,即在19处出现一个峰,在7到13范围内还有一些峰。将这些峰视为FP,即不存在关键字,但是算法仍然估计它的存在可能性。在30个样本中的19个样本中,该算法可以正确识别关键字的位置,而在10个样本中,BrokenStrokes提供的关键字的位置(略有错误)。
FP数主要归因于两个因素:(i)阻碍视线的墙壁会影响键盘发送的样本的RSS;(ii)办公环境特别容易受到干扰。BrokenStrokes对干扰特别敏感,因为它利用RSS估计来生成按键间时序。在下一节中将详细讨论减轻FP数的策略 。
0x07 Scenario 3: Remote Attack
在本节中考虑方案3(远程攻击),其中攻击者利用定向天线(Aaronia HyperLOG60350)进行BrokenStrokes攻击。在这种情况下,目标用户在一栋两层别墅的一楼,靠近窗户。将窃听天线放置在距离键盘-加密狗通信链接1、5、10、15和20米处。定向天线与键盘加密狗之间的链接仅被一个窗口遮挡,因此将其视为LOS攻击。
上图显示了与先前考虑的距离相关的RSS样本。首先观察到,当窃听天线远离目标用户时,干扰会显着增加(图底部的黑色区域)。可以通过观察定向天线的主瓣越来越暴露于可能位于附近别墅中的发射实体(例如,WiFi,蓝牙和其他干扰源)来解释此问题。此外,观察到与属于键盘加密狗通信信道的实际RSS样本相关的峰值分别在1m和20m处在-15dBm和-20dBm之间变化。最后根据经验考虑了最低可能值和最小干扰,从而对阈值(水平红线)进行了校准。
上图(顶部)显示了分析结果:BrokenStrokescan可以在10米的距离内识别大约100%的单词,而在15米和20米时,其性能分别下降到大约54%和24%。此外,图底部显示,BrokenStrokes可以成功地在10米以内的9次击键(“password” +回车)中成功检索9个,而从15米的距离开始,其性能却受到显着影响。尽管如此,观察到即使在20米的距离内,提取的击键次数仍然很高,从9个中位值中识别出8次击键。单词识别和击键时间提取不足以检测键盘中击键的存在。目标用户。因此,下面,采用ML技术(SVM)来计算远程目标用户键入的句子中关键字”password”的存在(和位置)的可能性(相似性得分),下图显示了由SVM算法生成的相似性评分,该算法通过对关键字“ password”进行10次重复训练而得到训练。每个相似性得分是通过以1个击键的移动步长测试7个击键间时间的滑动窗口来计算的。下表显示了TP和FP的数量(30个句子中的数量)与窃听距离的关系。
BrokenStrokescan在绝大多数情况下(≥73%)检测到关键字的存在和位置,即相似性得分的峰值集中在关键字“ password”实际位置的大约相同偏移量(±1)处。此外,观察到存在一些FP(<= 23%),即在句子的不同偏移处分布有较小的峰值。下一节提供了对此现象的全面分析。
0x08 BrokenStrokes Performance
在本节中将考虑所有讨论的三种情况,以提供对BrokenStrokes攻击性能的估计。如前所述,使用关键字“password”的10个重复序列训练了一种统计学习算法(SVM),并在几个句子的相邻子集(滑动窗口)上测试了这种模型。对于每个测试,SVM算法都会提供一个相似度得分(即,可能性),以使此类字符子集与正在寻找的关键字匹配。因此,每个句子成为相似性得分的载体。在前面的部分中,考虑了决策阈值∆ = 0,而在下文中,研究了∆如何影响BrokenStrokes的性能-将在[0,…,0.03]范围内变化∆。下图显示了TPs随∆的变化,本文已经讨论了所有主要的度量标准:(i)近距离攻击(句子“your password is secret”); (ii)墙后攻击(句子“you can choose a random password”); (iii)分别在5米,10米和15米的距离进行远程攻击(句子“a password has many characters”)。没有考虑1m和20m:前者的性能与方案1(近距离攻击)相似,而后者则受到过多干扰的影响。首先观察到近距离攻击的特征是相似的趋势,可以用斜率为-27且Y轴截距等于0.83648的直线(实线为绿色)进行建模。还观察到最差的性能来自“墙后”场景;如先前所讨论的,这种情况是唯一一种没有LOS的情况,同时又受到相邻设备产生的干扰的影响。最后指出,BrokenStrokes可以独立于所考虑的场景而以大约80%的频率检测目标用户的按键间时间间隔样本中关键字的存在。
下图显示了FP估计与决策阈值(∆)的函数关系。对于前一种情况考虑:(i)近距离攻击(句子“your password is secret”); (ii)墙后攻击(句子“you can choose a random password”);以及(iii)距离为5、10和15米的远程攻击(句子“a password has many characters”) 。下图确认“墙后”场景的性能最低:对于所有阈值,该场景中的FP显着高于其他场景中的FP(尽管始终小于35%)。相反,其他情况则表现出更好的性能,某些FP始终具有不到25%的特点。应该选择决策阈值(∆)值来最大化TP的数量,同时减少FP的数量。当∆ <5·10-3时,FP的数量可以估计为10%(平均)。认为此值是可以接受的值,因为可以利用先进的ML技术来假设一个或多个附加的后处理层,以减少错误警报的数量。
0x09 Discussion
训练集大小: BrokenStrokes的有效性在很大程度上取决于攻击者先前收集的训练集。一方面,可能难以在较大的时间内收集大量的训练集,因此,攻击的可行性与实现良好检测性能所需的关键词重复次数严格相关。可以通过简单的社交工程技术轻松地收集训练集,通过电子邮件或社交网络触发用户的响应(例如,键入他的名字),研究了不同训练集大小下的BrokenStrokes攻击的性能,将关键字“ password”重复5到50次,将场景1(近距离攻击)中句子“your password is secret”的30次重复作为测试集,并按照前面各节所述进行了BrokenStrokes攻击。训练集的最佳大小为10,如下表所示,保证最大TP数(29)和最小化FP数(1)。结果取决于关键字和用户的键入速度。因此,需要一个初步阶段来估计每个关键字用户组合的最佳训练集大小。
键盘通讯协议:绝大多数键盘都采用专有协议,就像本文所使用的那样。这些协议通常会选择一个频率并将其长期保存(直至关闭或更换电池)。这种行为特别容易受到BrokenStrokes攻击,因为攻击者可以在2.4- 2.5 GHz,确定目标用户采用的频率,然后选择该目标频率以收集RSS样本。
上图显示了讨论的三个不同键盘的采样间时序。区分三类:(i)数据包内采样; (ii)Packet-Ack延迟; (iii)击键间。数据包内样本是属于同一个数据包的RSS估计,可以是从键盘到加密狗的消息,也可以是从加密狗到键盘的确认。第二类(Packet-Ack延迟)是数据包和ack之间的时间:与HP和V-Max相比,微软850-1455键盘的延迟似乎很小。将16ms视为上一类别的上限。最后,InterKeystroke计时表示两次连续击键之间的时间。仅当用户的打字速度低于Packet-Ack延迟时,BrokenStrokes才有效。当用户的打字速度与Packet-Ack延迟相当时,BrokenStrokes的当前版本无法区分数据包的Ack和与后续击键相关联的数据包。凭经验选择了23ms来唯一地标识键盘HP SK-2064的Packet-Ack模式。
采用蓝牙的键盘需要较大的频谱观察才能捕获伪随机选择的频率的RSS样本,从而增加了用于发动攻击的设备的成本。此外,其他一些键盘生产商(虽然可以忽略不计)采用直接序列扩频(DSSS)调制,该调制在宽带信道上传播信息,从而大大降低了传输峰值功率,并使通信与本底噪声几乎无法区分。
对策:为了减轻BrokenStrokes,可以实施以下策略:(i)通过beaconing或friendly jamming来增加传输次数; (ii)随机延迟键盘传输;或(iii)采用DSSS代替固定或伪随机跳频技术。对于无线键盘,前两种策略可能不切实际,因为它们需要更多电量,而第二种策略也可能会影响用户体验。无线键盘主要是事件触发的设备,电量,可用性和隐私之间的权衡已得到广泛研究。最后,尽管DSSS可能是一种有效的策略,但它比跳频消耗更多的电量,因此需要考虑在隐私目标和电量预算之间进行权衡。
0x0a Conclusion
在本文中介绍了BrokenStrokes,这是一种针对商用无线键盘的新颖,廉价,可行且有效的攻击方法。BrokenStrokes允许通过分析来检测用户生成的击键流中预定义关键字的存在。 本文研究了BrokenStrokes在三种不同情况下的有效性,包括与目标用户的接近程度,距离在1至15米之间的LOS和非LOS情况(在拥挤的办公室环境中躲避在墙后 )。即使在有噪音的情况下(从最严酷的条件下超过70%到正常的操作条件下超过90%),所有场景都证实了攻击的可行性和有效性。