基于神经语言建模的密码猜测

2020-02-27 8,703

由于密码的易记忆、易实现性,使得密码仍然是当前用户认证的主要方式。但是由于许多用户使用了可预测的秘密,使得黑客可以破解用户的密码。为了更加准确地评估密码强度,需要提出高效的密码猜测模型。

当前密码猜测模型主要可以分为静态模型和神经网络模型。

马尔科夫链(Markov model)。马尔科夫模型是当前语言建模的最主要方法,逐渐开始被应用于密码猜测中。马尔可夫模型的核心概念是可以根据前面的字符来预测下一个字符。

PCFG模型。PCFG2019年提出的严重概率分布的上下文无关语法(Probabilistic Context-Free Grammar) 模型,属于是静态方法。静态方法需要大量数据集来精确地估计概率分布。

神经网络模型可以通过训练来改变参数来对密码进行建模,是动态的方法。神经网络在自然语言处理领域取得了很大的进展,比如,马尔可夫模型只使用固定长度的上下文,而LSTM网络可以存储很久之前学习的特征。

image.png

神经网络模型

基于神经网络的密码建模

研究人员将口令看作是一个短的自然语言,以帮助研究人员进行建模和口令猜测。将口令猜测看作有个语言模型任务(language modeling task),引入一个更加鲁棒的、快速融合的模型来进行口令建模。提出一个基于Transformer的序列化模型,来增强口令猜测的性能。

研究人员提出一个深度神经网络来对口令进行建模和猜测,并使用双向语言模型对口令猜测进行改进。

研究人员首先对之前使用的LSTM网络进行了扩展,然后加入了双语模型来改善深度神经网络模型的性能。由于标准的语言模型是无方向的,这限制了网络建构的选择和网络表示语言的能力。基于RNN的模型可以很好的处理在数据点之间嵌入相关数据的时序数据。但无方向的语言模型只能使用当前token之前的token信息来表示,而之后的信息也对密码建模有所帮助。研究表明对现有模型进行双向建模可以改善性能。因此,研究人员在LSTM的扩展的基础上加入了双语模型。

实验

实验数据

image.png

实验结果

image.png

image.png

image.png

实验结果表明,静态模型的性能严重依赖于训练集的大小,而且不善于处理复杂密码。RNN模型在对neural语言进行建模方面显示出极大的优势。当训练集发生变化事,双语模型的准确率和性能都大幅度改善了。

https://link.springer.com/chapter/10.1007%2F978-3-030-30619-9_7

本文作者:ang010ela

本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/123979.html

Tags:
评论  (0)
快来写下你的想法吧!

ang010ela

文章数:56 积分: 711

安全问答社区

安全问答社区

脉搏官方公众号

脉搏公众号