导读:获取用户在虚拟屏幕上的文本输入,需要克服两个难题:首先是通过声音判断敲击的位置;其次是消除噪音干扰。剑桥大学的研究人员设计了一个AI“偷听”算法,可以通过监听手指敲击屏幕的声音窃取手机密码。
盗取密码,只要听听你敲键盘的声音就够了。
曾经,通过键盘记录程序来盗取密码就已经非常可怕了;然而,现在更骇人听闻的黑科技诞生了!
剑桥大学的研究人员设计了一个AI“偷听”算法,只需要通过监听手指敲击屏幕的声音,就能够窃取到手机密码:
论文地址:
https://arxiv.org/pdf/1903.11137.pdf
这个新颖的攻击方法的原理是将手指敲击屏幕所产生的声音,在虚拟键盘上恢复成对应的输入字符。
论文作者表示:
敲击屏幕的声波可以通过设备的麦克风进行恢复,就像“听到”了手指的触摸一样,虚拟屏幕上声波的失真的这一特征便是敲击键盘的位置。因此,只需要通过内置麦克风录下声音,恶意程序就可以在用户输入时推断出对应的字符。
实验原理
针对键盘的声学攻击并不新鲜。
利用麦克风,根据键盘独特的物理特性或缺陷来识别物理按键的方法已经很成熟了,但是在虚拟键盘的识别上存在着很大的困难。因为虚拟键盘上的点击发生在同一个表面上,需要通过一些特殊的方法来确定手指敲击的位置。
剑桥大学的研究团队开发了一款app,可以复原敲击的声音,并将其与击键联系起来。该程序使用的机器学习算法是离线训练的,并针对特定的智能手机或平板电脑模型进行调整。
这个算法需要克服一个重大的工程挑战在于:如何解释敲击时,指尖所产生的干扰振动。事实上,当用手指敲击屏幕的时候,声波不仅在空气中传播,更重要的是在设备本身之间传播。敲击会导致屏幕震动,而这种震动模式,可以被多麦克风捕获并进行区分。
实际应用场景中,噪声会极大的影响麦克风对敲击声的探测。为了解决这一问题,研究人员将反馈声音与振动反馈进行交叉关联,消除振动反馈的歧义,同时除去了振动数据。
结果显示,对于平板电脑,在20次尝试中回收了200个4位pin码中的61%,即使模型没有使用受害者的数据进行训练;对于智能手机,恢复了9个大小为7-13个字母的单词,在一个常见的侧通道攻击基准中尝试了50次。
实验设计
实验设置
剑桥研究团队开发了一个 Android 应用程序,参与者分别使用全键盘和9宫格数字键盘输入单词、任意数字或4位数字(PIN码),横屏或者竖屏都可以。该app应用程序通过内置麦克风收集音频。
9宫格数字键盘的尺寸和形态是固定的,因此只需要在智能手机上测试竖屏状态下的数字输入即可。而全键盘则需要在手机和平板上,对横屏和竖屏状态分别进行测试。
参与测试的志愿者在三个不同的地方完成了这项任务,分别是
公共休息室。背景中有人在聊天,偶尔会有一台咖啡机做咖啡的吵声
阅览室。背景中人们要么在电脑上打字,要么用很轻的声音说话
图书馆。都很安静,但是附近的笔记本电脑持续发出咔哒咔哒的声音
这三个地方都开着窗户,因此室外的噪音也掺杂其中。
空气中声音的速度取决于温度,因此数据只在白天室内收集,温度在22-25摄氏度之间。实验设备关闭了所有运行中的其他app,只打开实验用的app。
实验使用的设备Nexus 5和Nexus 9,尺寸分别为137.84mm×69.17mm×8.59mm和228.2mm×153.7mm×8mm。两款设备都有两个麦克风,拥有标准的采样率。Nexus 5的主麦克风位于设备底部,副麦克风位于顶部。Nexus 9一个在底部,另一个在右侧。两台设备均基于Android 5.1.1 Lollipop系统,该系统目前市场占有率约20%。
Nexus 5
Nexus 9
由于Android 5.1.1禁止对PIN输入使用反馈机制,所以只对文本输入进行了测试。值得注意的是:由于该方式比较新颖,缺乏标准的基准测试,读者可以自行评估以下两个结论:
对小型虚拟键盘的攻击与对大型物理键盘的攻击效果差不多
尽管面对噪音这一强干扰项,该方式仍然能够获得同使用其他探测器类似的效果
数据收集
实验共有45名参与者,其中21位女性、24位男性;实验共获得30个小时的音频数据。实验分为4个部分:
第一组测试者每人随机敲击9宫格数字键盘10次,每次1个数字
第二组测试者每人敲击9宫格键盘200次,每次4个数字
第三组测试者随机敲击全键盘上的字母
第四组测试者敲击全键盘,输入NPS聊天语料库中的5个字母的单词
表1 所有字母和单词输入实验的摘要
单个数字推断
第一次尝试进行单一数字分类时的训练、测试和与主题无关(即LOSO)的准确性如表2所示。
表2 Nexus 5智能手机的个位数分类精度
对于与主题无关的情况(LOSO),标准偏差更高。
在最坏的情况下,仅使用底部麦克风,预测数字会比随机猜测略好;但在最好的情况下,几乎一半的数字在第一次尝试时被正确预测。 顶部麦克风的结果仍然较高,在最差情况下为两倍,在最佳情况下为85%。 使用两个麦克风,正确预测在最坏情况下比随机猜测好3倍;和100%的数字在最好的情况下。
当一个数字预测不正确时,分类器会快速纠正它(根据分类器生成的预测的置信值对猜测进行排序)。例如,使用两个麦克风(如上图所示),30%的错误预测在第一次尝试后被修正,另外20%在第二次尝试时被修正。固定的速度然后变得平缓。这意味着,在三次尝试中,分类器正确地预测了80%以上的数字。
4位数字推断
4位PIN的预测结果如下图所示。
使用单个麦克风,10次尝试后可以恢复54%的PIN。通和先前工作进行了比较发现,在很多情况下往往表现的更好,在其他方面也不输给先前工作。例如,使用两个麦克风,只需20次尝试就可以恢复91/150个PIN码,并不需要知道PIN码的分布情况,也不需要知道后续点击之间的时间间隔。
字母和单词推断
全键盘的预测结果,如表3所示。
表3 单字符分类精度为26类
如果同时使用一个麦克风进行LOSO和测试,要比随机猜测高出三倍。顶部麦克风捕获的声音,比来底部麦克风产生更好的效果。
实验还发现,在手机上竖屏要比横屏效果更好;而平板上则没有太大区别。
实验结果表明,依靠TrustZone等隔离机制来保护用户输入并不总是足够的。
移动设备可能需要更丰富的功能模型,更加用户友好的传感器使用通知系统以及对底层硬件泄漏的信息的更全面评估。
4000520066 欢迎批评指正
All Rights Reserved 新浪公司 版权所有