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

安全基础
建立防火墙的主动性网络安全防护体系
家庭上网必学八招安全绝招
弹出网页或不定时弹出网页的解决办法
一个弹出窗口引发一场追踪
预防QQ被盗的两个小技巧
详解网络加密技术及应用
论常见的壳与加壳技术
了解下反垃圾邮件技术
常用的几种免杀方法及工具
确保数据中心虚拟化安全的10个步骤
Windows激活木马的解决办法
08企业安全,应用开发过程中建立信任
如何实现最基本的IT检查的10条建议
ARP掉线的快速解决方案
安全审核 用Nmap为网络查找安全漏洞
网络安全重心转向主动防御
从原理入手扼杀传播病毒的恶意网页
ntfs.dll病毒ntfs.dll木马清除
保护计算机远离黑客骚扰的策略
安全打开U盘目录的简单方法

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-28   浏览: 42 ::
收藏到网摘: 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为例:启动程序后,计算机会要求输入最小口令长度、最大口令长度、口令包含的小写字符、大写字符、数字、有没有空格、含不含标点符号和特殊字符等一系列的问题。当回答完了计算机提出的问题后,计算机就会按照给定的条件自动将所有的组合方式列出来并存到文件中,而这个文件就是资料字典。