首先,文章提到WIFI的非接触式特性被用来侵犯隐私。即无源感知的方式,从信号的变化层面来进行隐私入侵,得到相应的位置或者是通过敲击键盘的信号变化得到相应的位置。但是这些方式很多都依赖了CSI,文中提出,现有的攻击方式都需要入侵WIFI硬件来获取所需要的CSI(这个详细的介绍稍后再写)。
接着,文中写道由于硬件紧凑的特性(这一点不是特别能理解,什么叫紧凑,指的是物理设计上还是什么层面),Chatgpt给出的答案是"硬件紧凑"指的是Wi-Fi硬件设备的尺寸和构造相对较小和紧凑,这可能使得在这些硬件设备上进行入侵或修改变得非常困难。因为硬件较小和紧凑,所以它们可能不容易被攻击者物理上访问或修改,这增加了对Wi-Fi硬件的入侵的难度。之后和上文的研究中再细致化一下。
基于上述的不足,文章中提出的攻击方式基于一种新的方法窃听智能手机上的按键,WiKi-Eve,这个新方法提出了基于BFI的设备窃听方法,BFI即Beforming Feedback Information,波束成型反馈信息,由于这种信息以明文的方式从智能手机传输到AP,因此可以被切换到监控模式下的WIFI设备监听到,因此无需进行硬件设备的入侵。其次,现有的推断方式泛化能力非常弱,此方法提出了一种对抗性学习方案,提高了这种方案的学习能力。所谓的泛化能力就是在新场景下现有模型的准确度能否达到文章中条件下的模型准确度的能力。
传统的侧信道攻击方式有一些缺陷和限制,如i)窃听设备与受害设备在接近的距离内(例如,厘米尺度或视线范围内),
ii)受害设备已植入了恶意软件
iii)窃听内容具有语言结构(指规律性语言)
而wifi csi不具备上述的弱点,并且在按键时,通过手指的动作影响的无线信号进而改变CSI信息,但是这种看似合理的方式有一种致命的缺陷,即CSI信息是难以被获取的,需要硬件入侵,然而WIFI技术更迭非常快因此CSI入侵似乎只适用于实验室条件。而BFI不存在这样的问题,在从WIFI5开始的新一代WIFI协议中,BFI信息被存储在控制帧上,是CSI的压缩数字版本(即对原始模拟数据进行压缩和数字化后的版本),BFI信息用于将下行信道状态信息(即从AP到接收端的信息)反馈给AP,用于指导波束成形。尽管BFI只包含了下行CSI的一部分信息,但是由于在屏幕上的打字会直接影响到位于屏幕背后的天线,所以BFI可以包含足够的按键信息。如此一来,任何可以开启监控模式的电脑均能通过抓包来获取BFI信息,本篇论文旨在通过本漏洞,来实现无硬件入侵的按键窃听。
但是由于密码本身的不规则性和BFI信息的零散性(前面说了是CSI信息的数字压缩版本,数字版本即离散版本),第一个问题不是我们的研究要考虑的问题,第二个问题我们着重关注,因为离散的信息可能会使得训练模型变得非常困难。
针对这些挑战,本文提出了WIFI-EVE的模型。
主要的贡献总结如下:
- 提出 WiKI-Eve 作为首个 WiFi 基础的无需入侵的键盘击键窃听系统。他们充分利用明文的 BFI,使各种 WiFi 设备能够轻松地窃听机密密码。
- 利用对抗学习创新,消除环境相关性,使 WiKI-Eve 的推断模型能够泛化到未知场景。
- 设计了一种稀疏恢复算法,用于处理 BFI 的稀疏性问题,解决了训练击键推断模型的数据不足问题。
- 进行了广泛的评估,结果表明 WiKI-Eve 能够以 88.9% 的准确率识别单个数字键,以及在推测 6 位数字密码时,前 100 名的准确率达到 85.0%。这些结果表明 WiKI-Eve 的有效性。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
接下来介绍一下工作的背景和动机。
考虑在公共环境下一些公共WIFI(无密码,在密码环境控制帧可能会存在问题),移动设备连接WIFI,某个敏感场景需要密码为背景。
现有的方法要么需要恶意AP(这个已经像是纯软件层面的研究,不在我的考虑范围内),要么需要额外的WIFI通信链路放置在受害者与路由器之间截取流量。
而本文只需要置于监控模式下的设备,不需要额外的恶意AP或者是WIFI通信链路。
本模型的创新点在于:
(1)设备连接的无关性,无论连接到哪个路由器,攻击模型均能工作。
(2) 不需要额外的WIFI通道
BFI的优势在于:
对信道变化的不敏感性使得感知结果更加准确(指的是输入密码这个动作也会对CSI造成影响):在下行CSI信息中,BFI被表示为H=X/Y,其中X和Y分别表示发送和接收信号,BFI是通过将H(以及其代表的信道)分割成独立的TX和RX分量生成的,只有TX分量被反馈到TX用于指导波束成形,这种信道分离使得键盘键入对信道的影响不太敏感。
为了证明BFI的优势,文章利用IPerf生成饱和流量以此收集原始BFI和CSI样本(这里暂时忽略了样本稀疏性问题),文章中给出的时间序列图和频谱图(如下所示)很好地展示了在不同击键行为发生时,BFI的时间序列变化以及频谱图,结论是BFI是非常适合进行KI的存在(对于定位的情况不太好说)。 而对于CSI来说,并没有表现出相同击键下的高度一致性和重复性,亦或者是两个不同键之间的巨大差异性。(由下图可知)。同时从下图中的g和h可以观察到,尤其与BFI对比时可发现,从CSI获取的信息中噪声(图中显示为不断变化的振幅)。并且这些噪声非常难以去除。
接着文章对比了在使用1维卷积神经网络进行击键预测时BFI和CSI(经过去噪)对于单个击键的效果,结果显示了BFI具有更高的准确性。(如下图所示),证实了BFI相对于经过去噪的CSI在实现键击识别方面的稳定性优势。
接下来文章介绍了攻击模型的具体设计。
WIFI-EVE攻击的实施包括以下几个步骤:
i)识别受害者,
ii)确定受害者访问目标应用服务的攻击时间,
iii)捕获与受害者相关的BFI时间序列,
iv)解析和恢复(可能是稀疏的)BFI序列,最后
v)对BFI序列进行分段并执行KI以恢复预期的密码。
当然这部分也不是我们关注的重点内容,我们主要感兴趣的部分是三四五部分。
攻击之前要遵守一个假设前提:得知目标设备的MAC地址。并且,只有通过IKI,才有可能对受害者进行身份识别,因为OKI的模拟性质(相较于BFI的离散性质)禁止使用标头信息来区分多个主体。
值得一提的是为了利用微信支付时,若连接公共网络则IP地质不加密这个漏洞,Eve创建了一个与支付服务相关的IP地址数据库:尽管这些IP地址可能是动态的,我们的实验显示,来自同一地区的用户在一定时间内被指向相同的IP地址。
如前文讲到的BFI是H的TX分量,这个过程是通过奇异值分解完成的,即H=USV,SVD的基本思想是将一个复杂的矩阵分解为三个较简单的矩阵的乘积。这些矩阵包括:
- 左奇异向量矩阵 (U):这是一个正交矩阵,它包含了信道矩阵的列向量的特征信息。左奇异向量描述了信号如何传输到信道中。
- 奇异值矩阵 (S):这是一个对角矩阵,包含了奇异值,它们表示信道矩阵的特征强度。奇异值通常按降序排列,从最大到最小。
- 右奇异向量矩阵 (V):这也是一个正交矩阵,包含了信道矩阵的行向量的特征信息。右奇异向量描述了信号如何从信道传输到接收端。
在这些分量中,只选择右矩阵 𝑉 作为BFI,而另外两个矩阵 𝑈 和 𝑆 (分别代表Rx波束成形和信道增益)则不被选择。
接下来,文章还介绍了先前方案的缺陷:
WindTalker提出的基于标准规则分割标准规则的CSI分类对于不同人的按键习惯表现不好。研究了一段时间之后,规则相当于预先设定好的某一套东西,例如预先给定某一个CSI,指定该CSI为某个按键,这样做的缺点是显而易见的,对于输入模式混乱的使用者来说,这种方式进行KI的成功率非常低,WINK提供的方法是通过两个按键之间的过渡特征的CSI来进行KI,但是这个方法说白了也是一种,实验室方法,因为日常行为中人的按键习惯以及手机类型等因素的干扰,下图对两名测试者分别按下1和9的过程进行CSI测试,可以看出该信息对于两名测试者来说存在显著差距。这个测试向我们展示了使用过渡特征来进行KI的正确性和合理性存疑。
基于上述缺陷,本文的模型决定使用基于数据的方法来进行KI,并且由于过渡特征推断的合理性存疑,因此本文还是决定使用单键推断(基于过渡特征的推断似乎是通过过渡特征,此个按键可以大致推断下个按键的内容),此外,为了防止分割使得信息丢失(例如属于本键的特征划分给了上一个键),本文将处于不同环境下的同一按键定义为了同一个按键的不同“域”,为了消除这种域的影响,本文使用了对抗学习训练模型(一个主模型一个子模型,主模型用于训练那些不随着环境改变而改变的特征,子模型用于对抗学习,区分特征来自于哪个域,并消除环境带来的影响),正因为基于数据的特征,本文使用的模型很难采取序列学习(即在输入密码这段时间内连续采集CSI,并以此作为训练集),因为序列学习的方式,训练集会随着密码长度的增加而呈现指数形式的增长。
那么BFI使用的信号分割方式是什么呢?毕竟得到的图是完整的,而不是单个按键图。
文章提出了一种新的重叠分割的方法,这是因为输入密码是一个连续的过程,因此得到的BFI信息对于连续按键可能并没有明显的边界,下图中的峰值代表了使用者敲击键盘,两个峰值之间的部分代表他的手指过渡动作的波动,而这些过渡包括了前一个按键和后一个按键的信息,因此需要重叠分割,不然可能会导致信息丢失,这种分割方法包括所有位于两个连续峰值之间的数据.
分割的流程:(1)使用CFAR算法识别BFI数据中的峰值,这里举个例子,一个K位的密码,产生了长度为L的BFI序列,CFAR算法会识别出该序列的一个自适应阈值,超过该阈值的部分均被定义为候选峰值。
(2)在这些候选峰值中,剔除主要峰值W个采样点以内的次要峰值,然后选择前K个峰值
(3)对于每一个峰值,包含该峰值和前后每一个峰值之间的所有数据样本。但是对于第一个键和最后一个键,没有前和后峰值,因此需要选定距离N个点作为边缘的延伸边界。
注:W=α×L/K N=β×L/K,和的值由经验确定,举例的分割方式如下图所示,保留了由于手指移动在按键敲击之间过渡。
非特殊说明,本博所有文章均为博主原创。
如若转载,请注明出处:https://ohhbene.com/bfi.html