AI通过键盘声就能识别密码,准确率高达95%

浏览: 时间:2023-11-24

近日,来自英国杜伦大学等3所高校学者发表的一篇论文指出,最先进的人工智能模型,仅凭笔记本电脑的按键声音,就可以还原用户输入的密码和敏感信息。

微信图片_20231120142922

《基于深度学习的键盘声学侧信道攻击实用技术》


在这项研究中,研究人员用深度学习的方法首次提出了一个完全自动化的键盘声学侧信道攻击流程,包括按键分割、通过mel频谱图进行特征提取、使用CoAtNet模型进行分类几个大的部分。


过去研究侧信道攻击

侧信道攻击,也叫边信道攻击,其核心就是通过加密软件或硬件在运行时产生的各种泄露信息来间接获取密文信息。


过去,人们在研究声学侧信道攻击时广泛使用的是机器学习方法,常见的一种方法是利用隐马尔可夫模型(HMM),即一种在文本语料库中训练出来的模型,主要用于预测序列中最有可能出现的单词或字符。


比如,当分类器中输出“Hwllo”时,HMM可用来推断单词中的“w”实际上是被错误分类的“e”。该方法尽管在很多文本处理类的场景中比较有效,但一个最大的缺点就是输出了很强的独立性假设,不能考虑上下文的特征,使得对真实情况的建模能力变弱了,尤其在面临无序的密码场景中比较受限,这也可能是HMM近来不受欢迎的原因之一。


来看看该研究的具体过程:


第一步,收集数据


在两组不同模式(手机和Zoom)的实验中,研究人员通过按压笔记本电脑的36个按键(0-9、a-z)来进行;在用不同角度和力度对每个按键分别按压25次后,一个记录声音的数据文件就产生了。


ps:在本次实验中,研究人员选取了一台配备16GB内存和苹果M1 Pro处理器的MacBook Pro16英寸(2021年)笔记本电脑作为攻击对象。该电脑的键盘开关设计与过去两年的机型及未来可能推出的机型完全相同,且同期可用的型号很少,键盘也基本相同。

微信图片_20231120153025

△ 手机距离目标17cm


第二步,击键隔离


所有按键数据都被记录后,研究人员就用当前信号分析的一种最基本方法——快速傅里叶变换(FFT),对按键声音进行了提取,并对不同频率的系数求和以获取能量;之后再定义一个能量阈值,当信号超过阈值时则标记为按键。


值得注意的是,由于Zoom在录音过程中存在噪声抑制,很难设定能量阈值,研究人员采取了一种不断调整阈值的循环方法来解决,直到找到正确的按键次数。

5648113

第三步,特征提取


这一步,研究人员采用了梅尔频谱图方法将声音特征提取出来,让每个按键的差异可识别。

2e7e65ecd689c053e9f29e7b0e09d0a2

△左图为手机录音的波形图和相应的mel频谱图,右图为Zoom录音。


第四步,数据增强


为了促进模型的泛化,即提高机器学习模型对新的、未见过的数据的适应能力,避免过度拟合训练数据,研究人员同时使用了屏蔽法进行数据增强,即通过随机抽取时间轴和频率轴的部分数据,并将这些范围内的所有值设置为频谱图的平均值,从而“屏蔽”部分图像。


第五步,建立模型


这也是本次实验中最为关键的一步。


研究人员将mel频谱图作为声音的视觉表示,以图像的形式输入到CoAtNet(一个图形算法)中。CoAtNet包含卷积层(特征提取)和自注意力层(特征识别),可以高效学习特征并建模特征之间的全局关系。


并在CoAtNet的基础上添加了平均池化层和全连接层,以得到最终的按键分类结果。


此外,研究人员还使用了交叉熵损失函数和Adam优化器训练模型,训练过程中,每5个epoch测试一次验证集精度。通过调节学习率、epoch数量等超参数,解决了模型精度突降的问题。


这样一来,CoAtNet的输出结果就可以被缩减为与每个键相关的百分比。


总结来说,就是把前面收集到的键盘敲击的声音文件,进行频谱图像识别、提取、加强后,放到这个CoAtNet中,建立数据模型进行分析,比如敲击字母F的频谱图像和字母D的频谱图像,具有不同的敲击特征,那么模型就会分别对这两个频谱图像进行分析,从而分辨出哪个是F,哪个是D。

微信图片_20231120163314

手机和Zoom两种录音方式的结果仅差2%,也侧面说明了录音方式的改变不会对准确率产生显著影响。


此外,值得一提的是,研究人员还发现大多数误分类都是相邻按键,错误具有一定规律性。

微信图片_20231120170119

△ 手机录制的MacBook按键分类器的混淆矩阵


最终,研究人员的实验结果显示:通过手机录音的按键分类准确率达到了95%,而在Zoom录制的数据集中,分类准确率则达到了93%。简单来说,一个8位数的密码可能其中7个都可以被正确识别,而剩下的那一个被错误识别的也被证明往往集中在正确按键周围的位置!


既然如此,我们还有应对的办法吗?


答案是肯定的。比如硬件层面,使用能减少向外部传递信号的部件或者对信号制造干扰;软件层面,升级安全防御软件或定期更新;还有用户层面,尽量使用复杂组合的密码并且经常更换……


资料来源 | 科学大院-江边、知乎-Blue