md5、sha1加密方式已不再安全,黑客可以轻松破解大部分md5/sha1生成的密码
国外有一篇文章记录剖析黑客行为: 破解者如何洗劫 "qeadzcwrsfxv1331 "等密码
阿斯报》报道,三名破解者已经破解了16000多个哈希密码,成功率达90%。
一张截图显示了一小部分被破解的密码:
正文译文:
今年3月,读者跟随Ars副编辑Nate Anderson,一个自称是密码破解新手的人,下载了一份超过16000个加密散列密码的清单。
在几个小时内,他几乎破译了其中的一半。
这个故事的寓意是:
如果一个在密码破解这门古老艺术方面没有受过任何训练的记者能够取得这样的成果,那么想象一下更老练的攻击者能够做什么。
不要再想了。
我们请三位破解专家对安德森的目标清单进行了攻击,并以《钢铁大厨》的风格讲述了他们的结果。
至少可以说,这些结果让人大开眼界,因为它们显示了即使是带有字母、数字和符号的长密码也能很快被发现。
列表中包含16,449个使用MD5加密散列函数转换为散列的密码。
有安全意识的网站从不以明文形式存储密码。
相反,他们只使用这些所谓的单向哈希值,这些哈希值无法在数学上被转换回用户最初选择的字母、数字和符号。
在安全漏洞暴露了密码数据的情况下,攻击者仍然必须费尽心机地猜测每个哈希值的明文
--例如,他们必须猜测 "5f4dcc3b5aa765d61d8327deb882cf99 "和 "7c6a180b36896a0a8c02787eeafb0e4c "分别是 "密码 "和 "密码1 "的MD5哈希值。
(关于密码散列的更多细节,请参见早些时候的Ars专题 "为什么密码从来没有变弱过--而破解者从来没有变强过")。
虽然安德森47%的成功率令人印象深刻,但与真正的破解者的能力相比,它是微不足道的,正如安德森自己明确表示的那样。
为了证明这一点,我们给了他们同样的名单,并在他们的肩膀上看着他们把它撕成碎片。
说句不客气的话,他们没有让人失望。
即使是我们三人中最不成功的破解者--他使用了最少的硬件,只花了一个小时,使用了一个很小的单词表,并在整个过程中进行了采访--也能破译62%的密码。
而我们的顶级破解者则破解了其中的90%。
阿斯密码小组包括一名破解软件的开发者,一名安全顾问,以及一名匿名破解者。
三次破解中最彻底的一次是由Stricture咨询集团的密码专家Jeremi Gosney进行的。
他使用一台装有AMD Radeon 7970显卡的商品电脑,花了20个小时破解了14,734个哈希值,成功率达90%。
oclHashcat-plus的主要开发者Jens Steube也取得了令人印象深刻的成果。
(oclHashcat-plus是安德森和本文中所有破解者都使用的免费密码破解软件)。
Steube在一个小时多一点的时间里解开了13,486个哈希值(82%),他使用的是一台稍微强大的机器,其中包含两块AMD Radeon 6990显卡。
第三位以radix为名的破解者使用一台装有单块7970显卡的电脑,也是在一个小时内破译了62%的哈希值。
如果不是在整个练习过程中被提问,他可能会破译更多。
许多破解者将破译的哈希值称为 "平原",其中包含几乎所有涉及消费者网站的漏洞中都会出现的常用密码列表。
"123456"、"1234567 "和 "密码 "都在其中,还有 "letmein"、"Destiny21 "和 "pizzapizza"。
这种类型的密码是无望的弱点。尽管进行了额外的调整,"p@$$word"、"123456789j"、"letmein1!"和 "LETMEin3 "也同样糟糕。
但是,在泄露的名单中,在那些被过度使用和容易被破解的密码中,有一些许多读者可能认为是相对安全的。
其中有":LOL1313le",还有
"Coneyisland9/"、"momof3g8kids"、"1368555av"、"n3xtb1gth1ng"、"qeadzcwrsfxv1331"、"m27bufford"、"J21.reddskin"、"Garrett1993*"和 "Oscar+emmy2"。
一张截图显示了一小部分被破解的密码:
这篇文章中的三个破解者挥舞的单词列表都很大--就戈斯尼和斯特布而言,
接近10亿个--其中没有一个包含 "Coneyisland9/"、"momof3g8kids "或其他超过1万个平原,这些都是通过短短几个小时的努力而被揭示出来。
那么他们是如何做到的呢?
简短的答案可以归结为两个变量:
该网站不幸地、不负责任地使用了MD5,以及账户持有人使用了非随机密码。
拒绝透露真实姓名的radix告诉Ars,在他长达一小时的破解过程中,刚运行了几分钟,"这些密码很糟糕"。
"他们可能没有复杂的要求。仅仅是MD5的散列就告诉我,他们真的不怎么关心他们的密码,所以这可能是一些预先生成的网站。"
像SHA1、SHA3和其他大多数算法一样,MD5被设计用来将明文转换为哈希值,也被称为 "消息摘要",快速且计算量最小。
这对破解者很有利。在攻击 "快速 "哈希值时,他们用一个图形处理器,每秒可以循环处理80多亿个密码组合。
相比之下,专门用于保护密码的算法需要更多的时间和计算。例如,Mac OS X和大多数基于Unix的操作系统中默认包含的SHA512crypt函数将文本通过5000次散列迭代。
这一障碍将限制同样的单GPU破解系统每秒略低于2000次的猜测。
其他类似的 "慢 "散列算法的例子包括bcrypt,scrypt,和PBKDF2。
另一个变量是账户持有人决定使用令人难忘的词语。
使得 "momof3g8kids "和 "Oscar+emmy2 "容易被记住的特点,正是使它们被破解的原因。它们的基本组成部分--"妈妈"、"孩子"、"奥斯卡"、"艾美 "和数字--甚至是基本密码破解名单的核心部分。
硬件和专业软件的日益强大,使得破解者可以轻而易举地将这些成分组合成数十亿种略有不同的排列方式。
除非用户非常小心,否则容易记住的密码在破解者手中就成了瓮中之鳖。
更重要的是,像本文介绍的其他两个破解者一样,radix不知道密码列表是从哪里来的,这就消除了破解者在破译泄露的哈希值时使用的关键技术之一。
他说:"如果我知道这个网站,我就会去那里看看有什么要求,"。
这些信息将允许radix针对他试图破解的特定哈希值制定自定义规则集。
破解过程的剖析
要想知道这些相对较强的密码是如何被破解的,需要对这三个破解者的方法进行比较和对比。
由于他们的设备和投入的时间不同,读者不应该认为某个破解者的技术优于其他破解者。
也就是说,这三种破解方法都类似于视频游戏,每一个连续的关卡都比上一个难得多。
每一次攻击的第一阶段通常都能破解超过50%的哈希值,以后的每一个阶段都能破解越来越小的百分比。
当他们到了最后一轮时,他们认为自己能得到超过几百个平原就很幸运了。
忠实于这种模式,Gosney的第一阶段在短短16分钟内就破解了10,233个哈希值,即泄露列表的62%。
它首先对所有包含1至6个字符的密码进行了暴力破解,这意味着他的计算机尝试了以 "a "开头、以"//////"结尾的所有可能组合。
由于猜测的最大长度为6个,并且由95个字符组成--即26个小写字母、26个大写字母、10个数字和33个符号--因此,总的猜测数量是可以控制的。
这是由956+955+954+953+952+95的总和计算出来的。他只花了2分32秒就完成了这一轮,并获得了练习的前1316个平原。
然而,在超过6个长度之后,戈斯尼对他所尝试的暴力攻击类型进行了高度的选择。
这是因为每增加一个字符所产生的猜测数量就会呈指数级增长。
虽然只花了几个小时就破解了1到6个字符的所有密码,但Gosney需要花几天、几周甚至几年的时间来破解更长的密码。
Errata Security公司的首席执行官罗伯特-格雷厄姆(Robert Graham)曾计算过这些要求,他将这种限制称为 "暴力破解的指数墙"。
...
篇幅比较大, 我这就记录这么多,如果有兴趣你可以自行访问下面原文链接
https://arstechnica.com/information-technology/2013/05/how-crackers-make-minced-meat-out-of-your-passwords/
相关文章