小心被你敲键盘的声音出卖

2018-09-10 09:39郭文玲
计算机与网络 2018年23期
关键词:相似性波形度量

郭文玲

主要讲解一些关于keytap工具的技术细节,也分享一些自己的几点想法。

描述

该工具的主要目标是利用敲击键盘时产生的声音作为一种边信道攻击来猜测输入文本的内容。为了达到这个目标,该算法以训练集作为输入,这个训练集包括音频记录和记录期间敲了哪些键盘按键。通过这些数据,该算法可以学习到不同按键敲击的声音,之后就可以通过捕获的音频来尝试识别敲键盘的声音。训练数据集的收集非常具体,采集收据的根据也就是键盘、麦克风还有两者之间的相对位置。任何因素发生了变化,这个方法就变得毫无意义了,不过好在,前的方法可以进行实时预测。

收集训练数据

这个收集训练数据的方法已经忽略了2次键盘敲击之间的声音。只保留实际按键前和按键后75~100 ms的音频。这样做可能会有点不太精确,因为键盘敲击的延迟时间是随机的,程序捕获这种事件,也会受到硬件和软件因素的影响。

举个例子,下图是敲击键盘上的字母“g”的完整声波。

从图中可以看到,在按键峰值之后,还有一个释放按键的峰值。而keytap直接忽略了这个释放峰值。这可能会提取到额外的信息,不过为了简单起见,释放峰值的这个数据就直接放弃不用。所以最终字母“g”这个按键的训练数据声波图如下:

当然,这个75 ms的间隙对打字速度有一定的限制,如果在这个时间段内,按键有重叠的话,不同按键的训练数据就会混杂在一起。

从图中还可以观察到的是某个按键的训练声波图越多越好,结合多个声波图,可以帮助减少环境噪音。而且,每个人按键的声音可能稍有不同,这就取决于用户按键的方式,所以也可能会捕获到某个按键的不同的声音。

创建预测模型

这就体现出人们的非凡创造性,可以通过机器学习、人工智能和神经网络等技术来创建预测模型。不过keytap使用了最简单的一种办法,对于每一个训练按键执行以下的3个步骤:

1.对齐收集到的波形峰值。这有助于避免检测按键之前的随机延迟时间。

2.基于相似性度量来优化声波的对齐方式,因为有时,声波的峰值并不是最佳指标,所以要选择一个更加精确的方法。

3.对其波形进行简单加权平均,权重由相似性度量定义。我们并没有直接跳到步骤2,而是要先执行第一步,因为相似性度量的计算是很吃CPU。而步骤1已经有效地缩小了对齐的范围并减少了计算量。

步骤3之后,最终会得到每个按键的平均波形。之后会将其与捕获到的数据进行对比并预测最有可能的输入按键。

keytap中使用的相似性度量是交叉相关(CC),公式如下:

式中A和B是被比较的2种波形的波形样本,CC值越高,波形越相似,当然也可以使用其他的相似性度量的测试方法。

不同按键之间间隔的计时信息其实也可以加入到预测模型中,不过这里没有使用这种方法,因为它更加难以实现。

检测键盘输入

keytap使用相对简单的阈值技术来检测原始音频中的按键事件。显然当用户敲击按键时,预计会有一个很高的峰值,这也正是我们想要的效果。阈值相对于过去几百毫秒的样本平均强度而言是自适应的,这个方法并不是十分完美,但现在还没有更有效的方法来检测按键事件。

预测敲了哪些按键

一旦确定了可能的按键事件,就可以定位到波形的峰值位置,计算该部分波形与训练数据中所有平均波形的相似性度量。允许在峰值附近有小范围的调整(前面提到过),相似性度量最高的将对应的是敲击的按键。

几点观察

即使这个算法没有检测到敲击的正确按键,它仍然能够预测到附近的按键,也就是定位到了正确键的下一个键。对于这个现象,本人认为有下面2种解释:

1.键盘上相邻的按键发出的声音类似;

2.在这个方法中,键相对于麦克风的位置对预测起着决定性的作用。

根据经验本人认为第1种解释不太可能,所以很可能是第2种解释。

另外,还观察到机械键盘比非机械键盘更容易遭受这种键盘窃听的攻击。

keytap2

肯定有一种实现预测的方法是根本不需要收集训练数据的,假如用戶使用某种已知语言来输入文本,比如英语,那么关于该语言的N元模型统计信息和按键检测的相似性度量值结合起来就足够检测出输入的文本了。实际上,归根到底这其实就是破解置换密码的一种攻击。

keytap2尝试着去证明这种攻击。本人也在做这方面的研究,但是卡在了基于他们的CC公式对按键进行聚类分析的部分。但本人认为至少已经准备好了置换密码破解工作,如果在实际中破解成功的话,将会提供更多的细节。

科学文献上,关于这个主题的论文有很多,其中有一篇论文中的一个特别的方法给了我很大的启发,那就是Dont Skype&Type!大家有兴趣的可以去看看,不管怎样,希望这篇文章对大家有所帮助。

猜你喜欢
相似性波形度量
基于SVD的雷达嵌入式通信波形设计方法
正面碰撞车身加速度对乘员腿部损伤的影响
鲍文慧《度量空间之一》
通用6T系列变速器离合器鼓失效的解决方案
不欣赏自己的人,难以快乐
突出知识本质 关注知识结构提升思维能力
三参数射影平坦芬斯勒度量的构造
12个毫无违和感的奇妙动物组合
基于隐喻相似性研究[血]的惯用句
任意波形编辑软件中手动任意绘制功能的设计