APP下载

你的密码安全吗?CSDN暴库事件解密

2012-04-29李小翠

电脑迷 2012年2期
关键词:库中哈希黑客

李小翠

自从CSDN 社区网站数据库泄密 ,近600万用户真实账号密码外泄事件爆出之后,互联网世界引发了一轮密码泄露狂潮,多玩游戏、天涯社区、人人网数据库被黑客入侵的消息一再传出。人们在慌乱修改自己密码的同时,大概忍不住想问:难道我们的密码就真的如此不安全么?

网站储存密码机制

看到某个网站遭遇黑客入侵后几百万人的密码在同一时间被他人获取,许多人产生的第一个疑问是,这些网站的管理员们怎么会让黑客如此轻易得手?回答这一问题,首先来看看从密码的存储和验证过程,它大致可以分为三个步骤:

第一步,用户在浏览器中输入密码;

第二步,密码被传输到服务器;

第三步,服务器将密码和已经在数据库中存储的密码比对,并判定是否允许用户登录。

用户平时面对的木马与病毒的威胁都存在于前两个步骤中,一个完善的杀毒套装就可以轻易解决相关问题。而本次事件的数据库泄露,是心怀不轨的黑客们通过各种技术和非技术手段获取网站存放密码的数据库文件后,这个网站所有人的用户名与密码就都落入不法分子手中了,而在这一过程中普通用户几乎没有任何防御办法。

数据库遭遇攻击的危险是可以预见的,所以很多略懂密码知识的人都愤怒地质问各大网站,为什么不把我们的密码加密保存?

加密是否管用

为了避免数据库泄露后的危险,目前大部分网站数据库存储的密码都不是明文信息,而是用户密码的“哈希值”,也就是人们常说的加密密码。在用户输入密码后,服务器会通过一系列不可逆的数学函数将密码变成一个哈希值并保存在数据库中。当用户输入了一个错误的密码时,该哈希值就会与数据库中储存的哈希值不同,这就达到了验证的目的。即使黑客们成功盗取了密码数据库,得到的也是一些无法被还原的哈希值信息。

然而这个表面上看似完美的解决方案在黑客的面前却是完全不值一提的——黑客们根本没有兴趣在数学上将这些哈希值还原。通常黑客们都会有一份哈希值列表,称为“碰撞库”,碰撞库里存储了大量常用密码对应的哈希值,当他们成功拿到加密后的数据库后,只需将碰撞库与数据库中的哈希值对比,就能在很短的时间内获得大部分人的密码原文。

事实上,现在黑客们生成的碰撞库的规模早已超出人们的想象。对于大部分常用密码,只要把泄漏的密文放到碰撞库中比对一下,就可以找到一个产生碰撞的密码。如著名的在线碰撞库cmd5.com已号称收集7.8万亿条记录,用户将自己的密码通过MD5加密后的哈希值放入碰撞库中,普遍都能瞬间获得全部原密码(如图1)。

怎样设置好记又难破解的密码

虽然数据库丢失用户一方无法解决,不过目前,被爆出数据库遭遇入侵的几大网站中,除了CSDN及天涯社区的旧数据库采用明文保存密码外,其余的网站均是采用不可逆的加密方式储存密码,但仍然有超过70%以上用户的密码被爆出,所以设计一个安全的密码仍然十分重要。

首先,验证一个密码的强度,长度的重要性要远高于复杂度,把密码设得非常复杂,除了增加了记忆的难度外并无实际意义(如图2)。

其次,非常用密码也并不一定非要选难记的密码。比如,选了一个容易记忆的基础密码之后,键入时将手指在键盘上再向上移一格。基础密码是“cat”,在稍作变化之后,就变成了“dq5”。

最后,经常更换密码,重要的账号不重复使用同一个密码,都可以在密码泄露的时候把损失降到最低。

猜你喜欢

库中哈希黑客
欢乐英雄
多少个屁能把布克崩起来?
动物城堡
动物城堡
网络黑客比核武器更可怕
智能盘库在自动化立体库中的探索和应用
基于OpenCV与均值哈希算法的人脸相似识别系统
基于维度分解的哈希多维快速流分类算法
基于同态哈希函数的云数据完整性验证算法
ID3算法在构件库中的应用