《Behavioral Acoustic Emanations: Attack and Verification of PIN Entry Using Keypress Sounds》(Sensors) 2020
摘要
- 许多输入设备(Entry Devices, PEDs)使用短数据串(PIN、密钥或密码)作为验证用户合法性的手段
- 本文提出了一种对4-6位随机PIN密钥的侧信道攻击,以及一种PIN密钥用户验证方法
- 两次击键之间的间隔从声音中提取,并用于训练机器学习模型的特征
- 攻击模型有60%的几率恢复PIN密钥。验证模型在识别用户上具有88%的准确度
- 本文攻击方法可以通过声音作为侧信道,低成本地破解密钥。相对应的,本文的验证方法可以提高PIN输入设备的安全性
介绍
个人识别码(PIN)密钥或数字密码广泛用于资源受限的环境中,PIN密钥基本上是较短的数据串,普遍用于用户认证和验证
本文旨在分析现代PED的安全漏洞,例如ATM键盘或POS终端键盘;PIN输入时间很短,这使得信息推断非常具有挑战性
首先,本文研究推测PIN密钥的可能性——记录PED键盘的击键声音,提取用于预测PIN的特征。其次,本文研究这些击键声音用于提高PED安全水平的可能性,如果每个用户在输入PIN密钥时表现出独特的行为,该行为可以视为另类的指纹,用于验证密钥持有者身份
本文贡献
- 利用PED键盘产生的声音,对随机的六位密码进行密码恢复攻击
- 将击键声音作为用户身份的验证方法
声学侧信道PIN恢复
威胁模型
- 考虑一个工业食堂中的自助结账机,当顾客结账时,顾客需要输入一些信息(如电话号码或其他按键),此时麦克风会记录击键声,收集关于用户特征的数据
- 若系统使用用户的习惯性打字模式训练,它就提示用户输入他的借记卡和PIN码,以预测相应的按键
方法
由四个系统组成:数据收集,特征提取,时频分析,声学/数据分析
数据收集
在ATM PIN输入设备上进行实验,使用视频麦克风记录器记录发出的声音
用户要记住一个六位的PIN,反复练习直到熟悉击键模式。之后,将PED放在记录工具下,要求用户输入记忆的PIN
在输入下一个PIN序列之前,当前的PIN序列要连续输入四次
候选的PIN列表由四个PIN组成,包括范围从短,长,对角线的所有可能的转换
构建一个包含15个用户的音频信号存储库,每个用户输入四个不同的pin总共四次
特征提取
声音信号中的不同区域可以与特定事件相关联,特别是按压和释放
对相应事件的距离和相似性度量进行评估,公式如下
下图显示了MatLab中构建的特征提取控制台。通过使用快速傅里叶变换来生成特征向量,并得出有用的特征
时频分析
相关性
使用MATLAB的xcorr函数,来计算功率归一化的两个声学信号的互相关
两个信号是f和g,离散互相关测量f和g的移位拷贝之间的相似性——如果f和g的长度不同,函数会在较短的向量末尾附加零
函数xcorr根据参数lag的不同,产生不同的输出
选择所有参数lag下最大的互相关值
基于频率的距离
测量两个信号频谱的欧几里得距离,来计算两个信号之间的频域距离
通过计算0.4-22kHz之间的FFT系数得到频谱
两个信号f和g之间的频率距离如下所示
机器学习模型
基于时频分析提取的特征,用不同的机器学习模型训练
模型
- 高斯贝叶斯
- 逻辑斯蒂回归
- SVM
- 本文的数据集可以被标记为正例和负例:如果PIN是由用户1输入的,将其标记为正,否则将其标记为负。
- 从原始声音数据中提取了10种特征,包括:击键间潜伏期、保持时间、击中峰值、释放峰值、按压时间、释放时间、按压音量、释放音量、按压谱、释放谱
- 证明可以使用声音来恢复PIN——只训练一个逻辑回归模型
- 在用户验证上,三种模型都用到了
评估指标:FAR、FRR、TAR
FAR:系统错误地接受未授权用户的访问尝试的可能性
FRR:系统错误地拒绝授权用户的访问尝试的可能性
TAR:安全系统将正确接受授权用户的访问尝试的可能性
实验和结果
实验步骤
时间频率分析
- 实验结果表明,对击键声音做简单的互相关分析就可以得知正确的按键
- 如果模型在多个用户上训练,然后针对特定用户进行测试,攻击效果很差,这是因为不同的用户有不同的打字风格
- 如果模型不在PIN训练,攻击效果也很差,这是因为手指触碰按键的习惯和之前按下的键有关
数据分析
逻辑回归模型,采用成对的互相关矩阵作为特征输入,输出预测的击键
结果如下
通过输入PIN的声音验证用户身份
基于声学分析的身份认证
下图显示了在同一PED设备上输入相同的PIN时,两个不同用户的击键变化。连接点表示平均延迟,垂直线表示相应转换需要的延迟范围
威胁模型
数据分析和结果
Gaussian Naïve Bayes classifier with Latency features:
every PIN sequence is encoded into a feature vector by extracting the latencies associated with all the five transitions in the six-digit numbered PINs. This vector is then fed into a Gaussian Naïve Bayes classifier that trains itself to output the predicted users.
结果如下
Gaussian Naïve Bayes classifier with Latency and Hold features:
考虑特征向量由延迟和基于保持的特征组成的情况
保留从上一节收集的特征集,并将其与保持时间的特征连接
结果有所提升
Logistic Regression with latency and hold features:
使用基于延迟和保持的特征作为输入
本模型达到最高精度
Support Vector Machine with Latency and Hold:
评估SVM的分类效果
性能和高斯朴素贝叶斯相似,但不如逻辑回归准确
结果如下
实验结果汇总:
总结
略