密码管理之黑客攻击口令的手段
在现实中,黑客攻击Intranet目标的时候,90%会把破译普通用户的口令作为第一步。先用“finger 远端主机名”找出主机上的用户账号,然后用字典穷举法进行攻击。因为事实上,非常多用户都把自己常用的英文单词或自己的姓名作为口令。通过一些程式,自动地从计算机字典里面去找单词作为用户的口令输入给远端的主机,尝试进入系统。这个破译过程是由程式来完成的。大概十几个小时就能把字典里的单词都完成。这类程式的典型代表是LetMeIn version 2.0。
如果这种方法不能奏效,黑客就会仔细地寻找目标的薄弱环节和漏洞,伺机夺取目标中存放口令的文件shadow或passwd。在现代的Unix系统中,用户的基本信息都是存放在passwd文件中的,所有的口令都经过DES加密后专门放在shadow文件中,处于严密的保护下。老版本的Unix的口令都在passwd文件中。一旦获得了这个文件,就能用专用的破解DES加密算法的程式来解析口令。
密码管理之口令的取值范围
在Unix下,能当作口令来用的字符一共有:
10(数字)+33(标点符号)+26×2(大小写字母) =95个
如果口令取任意5个字母+1 位数字或符号的可能性是:
52×52×52/×52×52×43=163亿。
不过如果5个字母是常用的词,那么假设常用的词是5000个,考虑到大小写,可能性将有:
5000×(2+2+2+2+2)×43= 688万种可能性。
这已能利用微机来进行穷举了,这样的简单口令用不了3分钟就能破译,如果有人用P200进行攻击,那么一周内能进行200次攻击,所以6位的口令都是非常不安全的。
遗憾的是许多用户都是这么设定的,而黑客不必破解所有用户的口令,他们只需要一个普通用户的口令就足够了,只要潜入系统,就能利用系统的漏洞而获得系统的控制权,所以使用简单口令是对整个主机安全的不负责任,这是首先我们应该重视的问题。
密码算法(DES)
为什么口令的解密是相对容易的事呢?这是因为目前广泛使用口令加密算法是完全公开的DES算法,这种算法之所以公开,是因为一直没有人能找到一种方法逆向解开他加密的信息。
DES目前的加密算法在Unix下的生成程式叫Crypt,他的源码在标准GUN分布式系统C库中能找到。
Crypt的版本可能不同,不过他的一般过程如下:
1.以明码正文(或密码术语)形式取出口令。
2.把口令作为关键字,用一系列的“0”进行加密(共64位),编码结果成为加密正文。
某些Crypt版本,尤其是Crypt (3),采用将上述结果再进行加密,能说是相当坚固的。
密码算法(DES)把一个64位的二进制值转变成以56位变量为基础的、唯一的64位二进制值。如果只用全64位输入,并且如果56位变量是随机选取的,则除了用已知的DES输入输出值去尝试所有可能的关键字外,是没有什么技术能够发现DES选择的关键字的,因为56位的关键字存在超过7×1016种可能性。
虽然DES加密算法如此坚固,不过想要解开他并不是非常难,因为他能通过比较法解开:
1.获得一个字典文件,该文件是个真正的单词明码正文列表。
2.把这些单词用所有的加密程式进行解密,这种加密符合DES标准。
3.把每个加密的单词和目标口令比较,如果匹配,则该目标口令被破解的可能性超过90%。
令人惊异的是,目前的非常多解密程式都采用了相当好的规则来处理字表中的每一个单词,比如:
1.大小写交替使用。
2.把单词的正向、反向拼写后,接在一起。
3.在每个单词开头或结尾加数字或符号。
4.交替使用字母和数字。
这些非常好的规则虽然延长了破解的时间,不过破解成功的可能性也增大了。
密码管理之总结
系统管理员必须要注意所有密码的管理,要点是:
不要把口令写下来。
最佳用8位的口令。
不要选取显而易见的信息做口令。
不要在不同系统上使用同一口令。
输入口令时应在无人的情况下进行。
口令中最佳要有大小写字母、字符、数字。
定期改动自己的口令。
定期用破解口令程式来检测shadow文件是否安全。
密码的管理的内容就为大家介绍完了,大家应该有所收获了,我们还会在以后的文章中继续向大家介绍相关知识。
【编辑推荐】