安全社区

黑盾云安全社区,与你一起分享安全领域的知识与智慧

解密千万密码:透过密码看人性(下)

安全研究2015-03-26 16:45:02 3761次围观

评估密码熵

简单来说,密码的熵越大,强度就越大。熵会随着密码长度及字符变化而增加。然而,虽然字符变化确实会影响熵的分值(以及密码被猜到的难度),但密码的长度更为重要。这是因为随着密码长度增加,数字的组合方式会呈指数式增长,因此也就难以被猜到。

48.5万密码长度的分类

Gmail dump中的密码平均长度为8个字符(如password),而且男性与女性在密码平均长度的选择上没有太大差别。

48.5万个男性跟女性密码的熵

从密码熵的角度来讲,Gmaildump的密码平均熵为21.6。而男性跟女性在这一点上的区别也非常微小。但熵为0的密码要多于熵超过60的密码。

这些示例密码以一两个不同字符区分作为熵的范围。一般来讲,熵会随着长度的变化而变化,不过添加数字、大写字母及符号也会增加字符的范围。

那么,熵是如何计算出来的?方法很多,而且效果各异。不过最为基本的假设是,只能通过尝试字符的每种组合才会猜到密码。但一种更加聪明的方法意识到 人类对模式情有独钟,所以针对人类的多数密码进行了某些假设。随后基于这些假设制定一些猜测密码的规则,从从而加快破解密码的速度。这些方法都很聪明。它 们都是由Dan Wheeler创建的Zxcvbn而来。

简单来说,熵构建了一种“知识”,可以知道人们是如何在潜意识中将密码中的模式包含到一个密码破解高手需要确定这些模式的猜测中。比 如,password的熵为37.6位。但Zxcvbn给出的分数是0(最低最差劲的熵分数),因为密码破解者所用的词汇表包含password这个词。 另外Zxcvbn也给另外一些常用密码打分:第一眼看上去,这些密码是随机设置的,但熵值为0。比如qaz2wsx(在最常用的密码中排名30)看起来非 常具有随机性是吧?但实际上它是一种键盘模式(从一个键重复“走”到另一个键很容易)。而Zxcvbn本身也是通过这种模式命名的。

我们从1000万个密码数据集中提取出了20中最常见的键盘模式,但并未包含123456等数字模式,因为这些模式只是一种键盘步法,而且它们已经占据最常用密码列表的半壁江山,在这里我们来看看更有趣的密码。

在这20种键盘模式中,有19种如你所想的那样可被猜到,除了最后一个Adgjmptw。你能猜到为什么会把它列到最常用的模式中吗?

试试智能手机上从2到9的拨号薄,将每个键盘数字对应的第一个字母进行组合。这个模式引出一个有趣的问题:随着更多的人会通过触摸设备创建密码让选择某些字符比使用普通的键盘更难,密码选择是如何改变的呢?

当然,对于键盘模式来说,尤其是上述键盘模式对于密码破解高手来讲并非难事。但多数人并不会使用键盘模式,而是会使用古典的且经常不安全的方式即随机词语来作为密码。

1000万密码中最常见的词语选择

现在,你知道为什么文章开头会猜Batman及Superman了吧:它们是这1000万密码数据集中最常用的超级英雄名字。但上述列表中反映出的 一个重要事实是,有时候很难知道人们在选择密码时是基于什么考虑。比如在“颜色”列表中,black有时候可能指的是姓氏Black。为了减少这个问题的 困扰,我们在统计上述词语频率时,对每个列表都进行了单独的研究。比如,对于“颜色”来说,只有当密码以颜色开头并且以数字或记号结尾时,我们才会统计进 来。这样就会避免在Alfred中统计red等。通过这种方式意味着我们错过了很多合法的颜色名称,但知道上面的列表只包含“限定词”似乎更好。其它列表 中也有各自的规则。比如,只有当所使用的名词跟动词出现在我们平常使用的词语中排名前1000时,我们才会统计它们,否则这些列表会充满诸如 password等名词以及love等动词了。

并不是说love这个词不好,其实人们以惊人的频率使用它作为密码的一部分。我们在1000万个密码中发现了4万次,在500万个Gmail凭证中也发现很多。而且通过分析用户名时,80后及90后使用的次数要比其他年代的人多。而且女性使用love的频率是男性的两倍。

按出生年代划分的“Love”使用情况

土豪、高端人士们都使用哪些密码?

Mark Burnett指出,密码泄露极其严重。我们感到好奇的是,Gmail数据是如何确定高级别人群的呢?换句话说,这些被公开的密码是谁的?我们通过 Full Contact的人物API提取出一个邮件地址列表并且通过几家主要的社交网络站点如Twitter、LinkedIn及Google+运行这些地址。此 外,它还提供了一些所找到的数据点如年龄、性别及职业。

我们已经知道可从Gmaildump中找到一些高级别人士。不过我们没有想到Full Contact会列出这么多人。

在我们所找到的7.8万个匹配中,我们发现了上千名高级别人士。我们选择了最有名的40位。有几个点需要注意:

1、我们有意没有指出这些人的名字。
2、公司logo只是表示这些人现在的工作地点,但不意味着他们在之前单位工作时也用了相同的密码。
3、我们无法知道这些密码最初的用途。可能是他们自己的个人Gmail密码,但作为File Dropper等网站密码的可能性更大。因此,许多弱密码并不意味着这些人现在在工作场所或其他场所也使用这些密码。

谷歌确认当这些列表被公布时,少于2%(10万)的密码可能跟所使用的Gmail地址匹配。而且所有受影响的账户所有者被要求重设密码。换句话说,下面的密码虽然具有教育意义,但不再被使用。他们可能换了其它密码,希望这些密码更安全吧。

然而,如果这些密码没有被重设,就更该引起人们的重视了。一些研究指出许多人会在不同的服务中使用相同的密码。而且鉴于下表涉及一些CEO、很多记 者、一名Justin Bieber及Ariana Grande天才管理公司的身居高位的人士,这个dump可能会引发一些关注。希望不会出现这种情况,不过现在这种情况也不会出现了。

 

从上面密码中可看到,如果使用离线破解进程,很多密码都非常容易猜到。最强的密码属于一名GitHub开发人员 (ns8vfpobzmx098bf4co),熵为96,密码看起来太具有随机性了,可能是用随机密码生成器或密码管理器生成的。最弱的密码属于IBM一 名高级管理(123456),看起来太基础,可能是在某个地方随机注册设置的。其它很多人都在复杂度及简单度上做了平衡,看得出公司所有人非常重视密码安 全问题。

在文末,我们来说说几个很有趣的点:

美国国务院处长使用linco1n(Lincoln)作为密码,而Huffington Post的作家使用trustno1作为密码。更有意思的是,这么多高级别人士所做的跟我们当中的很多人没有什么两样:将姓名、出生日期、简单词语跟一组数字组合成一个糟糕的密码。但我们觉得这也是情有可原的。即使是美国总统奥巴马最近也承认自己曾使用1234567作为密码。熵值更高的一个密码是PoTuS.1776。然而对于一个聪明的破解者来说,这也有点太显而易见了。

那么,你的密码如何呢?在读这篇文章的时候,你可能会想到自己,“会有人猜到我的网上银行密码、邮件密码或博客密码吗?”如果你使用的是大的邮件提 供商如Gmail,你不必太担心你的密码会被蛮力破解。Gmail会立即阻止非法尝试行为。你的在线银行密码也得到了类似的保护。但是如果你有博客,情况 就复杂了,因为攻击者会有更多方法来入侵,所以每个人都应该采取主动防御措施。


 


 

 

 

 

上一篇: MS15-034/CVE-2015-1635 HTTP 漏洞分析

下一篇: 解密千万密码:透过密码看人性(上)