由于密码的易记忆、易实现性,使得密码仍然是当前用户认证的主要方式。但是由于许多用户使用了可预测的秘密,使得黑客可以破解用户的密码。为了更加准确地评估密码强度,需要提出高效的密码猜测模型。
当前密码猜测模型主要可以分为静态模型和神经网络模型。
马尔科夫链(Markov model)。马尔科夫模型是当前语言建模的最主要方法,逐渐开始被应用于密码猜测中。马尔可夫模型的核心概念是可以根据前面的字符来预测下一个字符。
PCFG模型。PCFG是2019年提出的严重概率分布的上下文无关语法(Probabilistic Context-Free Grammar) 模型,属于是静态方法。静态方法需要大量数据集来精确地估计概率分布。
神经网络模型可以通过训练来改变参数来对密码进行建模,是动态的方法。神经网络在自然语言处理领域取得了很大的进展,比如,马尔可夫模型只使用固定长度的上下文,而LSTM网络可以存储很久之前学习的特征。
神经网络模型
研究人员将口令看作是一个短的自然语言,以帮助研究人员进行建模和口令猜测。将口令猜测看作有个语言模型任务(language modeling task),引入一个更加鲁棒的、快速融合的模型来进行口令建模。提出一个基于Transformer的序列化模型,来增强口令猜测的性能。
研究人员提出一个深度神经网络来对口令进行建模和猜测,并使用双向语言模型对口令猜测进行改进。
研究人员首先对之前使用的LSTM网络进行了扩展,然后加入了双语模型来改善深度神经网络模型的性能。由于标准的语言模型是无方向的,这限制了网络建构的选择和网络表示语言的能力。基于RNN的模型可以很好的处理在数据点之间嵌入相关数据的时序数据。但无方向的语言模型只能使用当前token之前的token信息来表示,而之后的信息也对密码建模有所帮助。研究表明对现有模型进行双向建模可以改善性能。因此,研究人员在LSTM的扩展的基础上加入了双语模型。
实验数据
实验结果
实验结果表明,静态模型的性能严重依赖于训练集的大小,而且不善于处理复杂密码。RNN模型在对neural语言进行建模方面显示出极大的优势。当训练集发生变化事,双语模型的准确率和性能都大幅度改善了。
https://link.springer.com/chapter/10.1007%2F978-3-030-30619-9_7
本文作者:ang010ela
本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/123979.html