1. 简单百科
  2. 字典攻击

字典攻击

在破解密码或密钥时,逐一尝试用户自定义词典中的可能密码(单词或短语)的攻击方式。与暴力破解的区别是,暴力破解会逐一尝试所有可能的组合密码,而字典式攻击会使用一个预先定义好的单词列表(可能的密码)。这些单词列表通常包含数千或数百万种英文单词和常见密码,它们可能来源于过去已破解的数据库中泄露的信息。

简介

月黑风高之夜,一个小偷拿着从仓库管理员那儿偷来的一串钥匙,躲过岗哨摸到库房,看着库房大门挂着的大锁,哪一把钥匙才能打开门呢。显然最直接的方法就是一把一把的试,直到打开为止,或者所有钥匙都打不开,无功而返。

这件事儿对小偷来说略显机械枯燥,而且时间拖久了还有被抓的危险。可这样的重复劳动正适合计算机干——对了,这种方法就是网络安全领域里“字典攻击”的原型。

当黑客试图进入目标系统时被告知需要提供口令,而他对此并不知晓(正如上面那位小偷并不确定钥匙是哪一把),他可以采用这样的方法:将收藏的备选口令集(这个口令集可能包含着成千上万个备选口令)输入到他的程序中,依次向目标系统发起认证请求,直到某一个口令可以通过认证——或者所有这些口令均无效,宣告此方法失败并结束本次入侵行为(或者继续查找系统有无别的弱点)。

关键要素

分析上文的场景,实施一次字典攻击需要具备两个要素:

1.黑客了解认证方式(包括认证协议以及地址、端口等信息),如同小偷需要知道库房在哪儿,房门挂着的是大铜锁还是密码锁,甚至虹膜、指纹识别?拿着一串金属钥匙想打开生指纹识别锁显然不现实。

2.黑客拥有比较全面的口令集,包含着各类常见的弱口令,或者目标系统经常出现的组合口令,或者目标系统曾经泄露的口令集。这样才有更多的尝试机会。通常一次字典攻击的实施还是很耗费时间的,特别是目标系统的口令不那么常见。

预防

那么目标系统该怎样改进以免受字典攻击带来的入侵风险呢。

1.口令的设置更加强壮(具有足够长度,含有字母、数字、符号等各种类型),更新更加频繁。这样可以减少被字典攻击猜测成功的几率。

2.采取针对字典攻击更为有效的入侵检测的机制,如某个客户端向系统频繁发起认证请求并失败时,系统应及时向管理员发出告警,发起分析和调查并在必要时更换新口令。

3.采用更加健壮的加密算法和策略,使得常规的字典攻击难以生效。

参考资料