机器学习的「反噬」:当 ML 用于密码破解,成功率居然这么高
作者头像
  • 张俊
  • 2019-11-13 16:04:10 4

过去,计算机区分猫和狗曾被认为是先进研究的一部分;而现在,图像分类已经成为机器学习(ML)的基础任务,使用TensorFlow可以在几行代码内完成。短短几年间,机器学习领域取得了巨大进步,如今开发者们可以轻松构建既能带来积极影响也能造成负面影响的应用程序。

因此,一位好奇的研究者Tikeswar Naik通过简单的实验探讨了机器学习技术的一个潜在滥用情况——利用机器学习破解密码,希望能引起更多人的警惕,并找到减轻或避免滥用的方法。

敲键盘的,你已经暴露了!

文章开头提出了一种大胆设想:是否可以通过听键盘敲击声得知某人在输入的内容?如果可以实现,那么这种技术可能带来的安全隐患,例如黑客破解密码,将是一个严重的问题。

我们将这样做

Naik将这个问题视为一个监督式机器学习任务,并逐步完成了以下步骤: 1. 数据收集和准备 2. 训练与评估 3. 测试和误差分析

数据收集

Naik使用日常使用的键盘打字,并通过笔记本电脑内置麦克风录制打字声音。这种方法的优点在于数据的可变性较低,有助于集中精力验证这一想法。

数据准备

Naik将录制的音频文件转换为wav格式,然后通过静音检测将音频分割成单个字符的片段。接着,他将这些片段转换成频谱图,以便使用卷积神经网络(CNN)处理。

训练与验证

Naik使用了一个小型的CNN架构,训练模型以识别不同字符。经过大约13个epochs的训练,模型在验证集上的准确率达到80%,在训练集上的准确率达到90%。

测试

Naik使用rockyou.txt列表中的200个不同密码进行测试,结果表明模型在字符级上的准确率为49%,而在单词级上的准确率仅为1.5%。

如何提高预测精度?

Naik分析了测试结果中的误差,并发现了一些模式。通过引入拼写检查器,他将单词级准确率从1.5%提高到了8%。此外,他还指出,使用序列模型(如RNN或Transformer)可能会进一步提高准确率。

模型存在的问题

尽管取得了一定进展,Naik也指出了当前模型的一些限制,例如仅使用小写字母、背景噪声较少等。他还提出可以考虑使用其他类型的振动信号来替代音频信号。

结论

Naik得出以下结论: 1. 通过听键盘敲击声破解密码是可行的。 2. 使用少量数据和简单的CNN架构加拼写检查,可以获得不错的单词级准确率(8%)。 3. 简单的拼写检查可以显著提高单词级准确率。 4. 误差与其他键的接近程度相关。 5. 误差似乎与麦克风位置有关。

这些发现揭示了利用机器学习技术进行密码破解的可能性及其潜在威胁。

    本文来源:图灵汇
责任编辑: : 张俊
声明:本文系图灵汇原创稿件,版权属图灵汇所有,未经授权不得转载,已经协议授权的媒体下载使用时须注明"稿件来源:图灵汇",违者将依法追究责任。
    分享
反噬密码破解成功率居然用于机器这么学习ML
    下一篇