当前位置: 首页 > 图文教程 > 网络安全 > 安全基础 > 网络安全教程-密码与Crack工具研究(3)

安全基础
论附加码在网络安全中的作用
未登录主域,如何修改密码
网络防“虫”和全局安全网络应用
如何解决dllhost进程消耗CPU100%的问题
很巧妙的进程防杀方法
QQ安全问题完全解决方案(1)
QQ安全问题完全解决方案(2)
一次艰苦的病毒查杀过程
使用虚拟机测试你的补丁
误将Foxmail密码忘记之后
防泄密从Word开始(1)
防泄密从Word开始(2)
防泄密从Word开始(3)
防泄密从Word开始(4)
实况无线网络安全—简析无线安全实施策略
十大绝招轻松制服顽劣的间谍软件
防范DDoS攻击和全局安全网络的应对能力
个人电脑的安全防护
判断你的用户是否真的被黑客攻击(1)
判断你的用户是否真的被黑客攻击(2)

安全基础 中的 网络安全教程-密码与Crack工具研究(3)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-28   浏览: 91 ::
收藏到网摘: n/a

1.2.1 蛮力攻击与字典攻击
  构造一个Crack程序,有两种方法可选择,一种是使用蛮力攻击,另一种是字典攻击。下面,分别估算一下它们的效率。

  Unix一共是 [0x00~0xff] 共128个字符,小于0x20 的都是控制符,不能输入为 口令, 0x7f 为转义符, 不能输入。 那么总共128- 32 - 1 = 95 个字符可作为口令的字符。 即10(数字)+33(标点符号)+26*2(大小写字母) = 95个。

  首先估算蛮力攻击的尝试次数。很显然,该值为m的n次幂。其中,基数m为可能使用的字符集的大小;幂次n为口令的长度。分下面几种情形讨论:

仅使用字母的组合序列,则m = 26*2 = 52。
使用字母数字的组合序列,则m = 52 + 10 = 62。
使用字母数字以及特殊字符的组合序列,则m = 95

表1.3列举几个例子,计算所需的尝试次数K,对其数值大小得到一个较确切的印象。

表1.3 不同字符集与长度的口令尝试次数
M
N
K
52
5
38,0204,032

52
6
19,770,609,664

52
7
1,028,071,702,528

62
5
916,132,832

62
6
56,800,235,584

62
7
3,521,614,606,208

95
5
7,737,809,375

95
6
735,091,890,625

95
7
69,833,729,609,375



  从该表中可以看出,随着字符集的扩大与口令长度的增大,所需的尝试次数明显增加。选择尽量大的字符集和较长的口令,能获得较高的口令安全。

  但如果5个字母是一个常用汉字的拼音或英文单词,估算一下设常用词10000条, 从10000个常用词中取一个词与任意一个数字字符组合成口令,即:10000* 10 = 100000 (10万种可能性)。因此,借助于资料字典的帮助,可以使Crack的效率大大提高。

1.2.2 数据字典
  目前,在因特网上,有一些数据字典可以下载,包含的条目从1万到几十万条。数据字典一般囊括了常用的单词。

  也许有人认为:我的口令毫无规律可言,字典中不会有,因此,计算机是破译不了的,那就大错特错了。有很多专门生成字典的程序,比如:Dictmake、txt2dict等等。以dictmake为例:启动程序后,计算机会要求输入最小口令长度、最大口令长度、口令包含的小写字符、大写字符、数字、有没有空格、含不含标点符号和特殊字符等一系列的问题。当回答完了计算机提出的问题后,计算机就会按照给定的条件自动将所有的组合方式列出来并存到文件中,而这个文件就是资料字典。