“黑哥,帮我盗下前女友的微信号吧,我给钱”

看了之后我简直苦笑不得,类似这种问题十几年前也有人问,只不过当时让盗的是 QQ 号。

首先,实说实说,我没这能耐,只是爱折腾软件而已,我是黑哥,并不是黑客。

再者,盗号?小伙子,你这想法很危险啊,这种做法本身就是违法的,还是两个人好好沟通吧。

不过估计这位小伙伴也是看了不少被盗号、密码被泄漏的新闻,才突发奇想的。

但实际上,他可能对密码破解这事存在一些误会,那么那今天就聊一下密码安全这个话题。

不知道有没有小伙伴记得 2011 年 12 月 CSDN 的「密码外泄门」,当时 600 万用户的登录名、密码及邮箱均遭到泄露。除了 CSDN,天涯、世纪佳缘、人人网、珍爱网等网站的用户个人信息也被泄露。

甚至有人还将这些个人信息数据做成了压缩包,在网上随处可以能下载。嗯,这算得上是名副其实的「裸奔」了。

那几天正好还是到冬至了,好多人是一边吃饺子、一边改密码。

网友下载到泄露的数据库文件,内含大量账号和密码信息

在今年的四月份,祸不单行的东哥又碰上了麻烦事,京东公司又被传言泄露了五千万用的户数据。

幸好京东官方微博@京东发言人回应称,确认这些数据不实京东账号数据,请勿造谣传谣。

从上面这两个例子你可能看出来了,这些疑似泄露的账号数据,并不是定向针对某一个用户的账号进行破解,而是被人连窝端掉了账号数据库,也就是大家通常说的“脱裤”,错了,应该是“拖库”。

这只是密码被泄露的一种情况,黑客其实针对的是网站平台,你只是不幸中招的其中之一罢了。除此之外,密码被盗还有其他几种情况。

那么,我们首先就来看看——

你的密码是怎么被盗的?

我们注册一个账号的时候,通常情况下,设置的密码除了天知地知,只有你知网站知,很简单,因为你只把密码只告诉了网站。

所以,密码一旦被泄露,问题要么出在用户身上,要么出在网站身上。注意,再次强调,还是通常情况下,至于为啥,后边会提到。

1.网站的锅

像上面提到的 CSDN 的「密码外泄门」就是网站平台的原因,当时这件事之所以闹得沸沸扬扬,主要是因为 CSDN 网站的特殊性。

了解这个站的小伙伴们都知道,如果是普通的行业网站不幸中招,听起来似乎也并不奇怪。但作为一个专业的 IT 知识论坛,运营者和用户都是程序员和开发者,本身就应该具备更严密的安全防范措施,但还是不幸中招,这事就有点出洋相了。

但,最离谱的还不止如此。如果说被“拖库”只是出洋相,那么后面的事情就更加不可思议了。

前边说到,我们设置好的密码只有自己和网站知道,账号密码都保存在网站密码数据库上,但这个保存形式可不应该是这样的形式:

用户名:abcde

密码:123456

这种方式是属于明文保存,也就是没有经过任何加密的,一旦密码库被泄露,直接拿过来就可以用。

所以为了避免黑客盗取密码数据库,稍微靠谱点的网站都会对密码数据库进行加密,比如有些网站采用的 MD5 方式进行加密。

稍微科普一下,MD5 是一种被广泛使用的密码散列函数,可以把原密码生成出一个散列值,主要用于确保信息传输完整一致,比如你在很多资源下载站见到的 MD5 校验码就是提供给你检验下载的文件是否和上传者提供的一致。

如果我们用 MD5 方式给密码加密,原来的明文密码就会变成——

这样的话,即使密码数据库被盗,密码也不会以明文的方式脱光光暴露在黑客眼前。

当然,MD5 加密也并非牢不可破,实际上,在一些 MD5 解密查询的网站上就可以被破解,比如说这个:www.cmd5.com。

可以看到,加密后的 MD5 密文在这上面都可以反查出原始密码来。

所以,对于密码数据库加密方式来说,MD5 这种早已经不够看了,比如采用解密难度更大的 SHA-2 算法,或者对密码进行 MD5+Salt (俗称加盐)的方法来进行双重加密,这样黑客即使下载了数据库,想破解密码也没那么简单。

但, 在 CSDN 的「密码外泄门」中,连最基本的 MD5 都没有用,直接以明文存储密码,这样黑客们攻陷了密码数据库后根本不用破译,用户们的账号密码直接一览无遗。

作为一家专业 IT 论坛,犯这样的低级错误,你说这事是不是有点不可思议。

上面说的这么多,责任在于网站一方,如果这种情况发生,用户除了赶紧修改密码,别的毫无办法。

但,如今稍微靠谱点的网站都会注重密码数据库的加密管理,毕竟,这可是命根子啊,所以“拖库”这种事发生在大网站身上的几率很低,大家不必过于担心。

2.用户的锅

排除掉网站的问题,那么剩下的锅就得用户自己背。

这里面的锅也分好几种情况:

首先,由于按捺不住好奇心,点了一些类似“只有老婆不在家才敢玩的游戏”这种链接,不小心中了木马,导致输入密码的时候本地键盘操作被监听记录,结果游戏没玩成,账号不见了。

不过这种情况现在已经很少见,大家上网时要善于克制自己的求知欲,不要点开那些看了让人脸红的网页,注意安装安全软件,一般问题都不大。

其次,就是上了一些仿造官网的钓鱼网站,或者连接公共 WIFI 时被抓包等等,都是被李鬼半路截胡了,傻傻分不清楚,自动送上密码。

这种情况如今倒是很常见,你还别以为很容易辨别,不信试试下面这个站,

据说这是肉眼最难分辨的钓鱼网站,如果不放在一起对比的话,有几个能辨别出来?

所以,别以为自己是老司机,稍不留神还是会翻车。遇到这种“真假李逵”,一定要留心甄别网站链接的真伪,避免被钓到大鱼。

你看,上面这两种盗号的方法,说穿了还是为了哄骗你自己乖乖把密码主动交出来,这是成本最低的办法。

因为除了这些,剩下的唯一方法就只有靠“暴力破解”了,通过穷举一定长度的字符组合来破解密码,这就完全是靠运气吃饭了。

当然,为了提高成功率,黑客们还会将用户常用的密码编成一本“密码字典”,使用这份密码字典会大大提高暴力破解的几率。

那么问题来了,什么是用户常用的密码呢?

说白了,还不是因为你把密码设置的太!简!单!了!

国外有一家叫 SplashData 的网站,每年都会从已遭泄露的密码数据中分析出一个最差密码的排行榜。

「123456」和「password」稳居榜单的前两名,其他的密码也是简单的不能再简单了,用耳朵都能想到那种。

还有,可以打个赌,如果大家的生日都是同一天,那么榜单前列必须会有这个生日日期密码的位置。

看看这榜单吧,有多少人中枪了?

更要命的是,绝大多数人还有个习惯,为了便于记忆,账户几乎都使用相同的密码,换句话说,你手里的密码成了开门的万能钥匙,方便倒是方便了,可一但这把万能钥匙丢了,你所有的门户都将对小偷大门敞开。

没错,如果有一个网站平台的密码数据库泄露了,那就意味着所有平台密码就全部泄露了。

虽然这时候黑客手里只是有了一把万能钥匙,但不知道哪些门可以开,但是他可以挨个试啊,通过技术手段,尝试批量登陆其他网站平台,这就是“撞库”,那些常见的社交网站通常都会是重灾区,总能撞开几扇门吧?如此以来,你的个人隐私甚至支付密码也会有泄露的风险。

所以,还记得最开始说到的“通常情况下,密码一旦被泄露,问题要么出在用户身上,要么出在网站身上”吗?

这就是特殊的那种情况:被“撞库”的网站没犯错,用户也没犯错,但密码还是被泄露了。

其中的关键就在于,很多用户在不同网站平台使用的是相同的账号密码。

OK,一口气说了这么多,总结一下,有这么几点:

1.首先避免木马或被钓鱼,排除掉主动泄露密码的可能。

2.不要设置太过简单的账户密码,避免主动送人头。

3.不要把密码设置成万能钥匙,避免一处被破,处处失守。

这时候大家可能又会说了,其实这些都是老生常谈,道理都懂,就是做不好。

密码要安全,那就得复杂一点,复杂了自己又记不住;想要密码好记吧,结果黑客也好记,于是又不安全。

理解,其实我费劲口舌写了这么多,对于密码,大家只关心两点:

安全和好记

那么,终极问题来了,怎么在安全和好记之间找一个完美的平衡点呢?

挖了这么一个大坑,黑哥来尝试把它填上。

如何让密码好记又安全

针对上面的 3 点,我们来对症下药,想要密码更安全,我们需要设置复杂的密码,并且在不同网站都要分别设置不同的复杂密码。

可以参考这几个条件:一是尽量使用 3 种以上符号,如:大小写字母+数字+特殊符号;二是长度最好 8 位或以上;三是没有明显的规律。

根据这些条件,结合多年上网的经验,我摸索了一套设置密码的方法,分享给大家,主要思路就是:「基础密码变形+网站对应标识」

只要记住了基础密码和变化规则,然后根据不同的平台名称来填写,就可以达到既安全又好记的目的。

咱们还是举例来说吧:

1. 基础密码

只要是你中意的一句话、一句诗等等,反正是只要你能记住的就行,然后取这句话的拼音或者拼音首字母做为基础密码

比如:我是大帅哥,那就是 wsdsg,嫌短也可以再加上注册年份:wsdsg2019

或者大家最常用的数字,比如你的生日加名字缩写字母:20080808mq,不要直接使用,可以用 Shift 键符号替代法,在输入基础密码的时候,可以按住 shift 键不松,然后依次输入键 20080808mq ,这样实际输入的基础密码就变成了 @))*)*)*MQ

或者可以把基础密码里的数字和字母互相变形,使用字母来替代部分数字,用数字来代替字母,比如 0 用 o 代替,g 用 9 来代替。

反正只要自己记得住,随意变形都可以。实际上你只需要记住这几位基础密码就可以了。

2. 网站对应标识

这个很好理解,你可以把网站的主域名首尾两个字母取来当做网站标识,比如淘宝的域名是是 taobao.com,就可以选取 t 和 o ,新浪 sina 就是 s 和 a,不一定非要按这个,只要你能记住就行。

然后把基础密码放在这两个字母中间,为了满足很多网站要求密码必须含有大小写的规则,最好一个用大写,一个用小写,比如淘宝账号的密码就是 T@))*)*)*o、新浪账号的密码就是 S@))*)*)*a

基本的思路就是这些,其实从头到尾你只需要记住基础密码,遇到什么网站就加上对应的域名标识,万变不离其宗。

说了这么多,那这密码到底牢靠不牢靠呢?

还记得之前给大家介绍检验密码强度的网站吗?

网址:

https://howsecureismypassword.net

我们首先检测一下基础密码的强度,以 20080808mq 为例:

破解这 8 位数字加 2 位字母的弱密码需要 1 天。

如果使用 shift 输入变形,则密码为@))*)*)*MQ

破解需要 4 天。

最后,加上网站对应标识进行变形,比如淘宝账号的密码就是 T@))*)*)*o

破解最终这个密码则需要三千年。

基本上这个密码强度已经相当不错了,而从头到尾你仅仅只需要记住你的生日和姓名,如果对密码强度要求更高,还可以增加位数和变形次数,达到你满意为止。

此外,除了密码需要加网站标识之外,最好把自己的常用账号也加上网站标识,不要一个用户名走天下,比如 wldxh 注册淘宝时,账号就变为 twldxho。

原因很简单,因为很多时候,通过搜索同一个 ID 就可以找到你在各个网站注册的账号,这样就可以降低被人肉搜索到的风险。

所以行走江湖,还是稳字当头。

结语

关于密码管理的这个话题今天就讲这么多,希望那位小伙伴就不要想着去盗前女友的微信号了,一是现在很多账号都绑定有手机号,除了密码还多了一层防护,再加上密码稍微复杂点,被盗的可能基本没有。二是这事真的不体面。

还是让往事一切随风吧。

对了,可能也会有小伙伴会问到,如果使用那些密码管理工具会不会更方便,更安全?使用哪款工具效率更高?

鉴于这篇已经严重超长,这个话题改日再聊。

至于我,还是更愿意用一套自己的记忆方法和变形规则把密码记在心里,这样更踏实。

OK,至于其他那些靠一套万能密码走天下的小伙伴,希望这篇写了 3 天长文能给你一些启发。如果对你有帮助,别忘了赏个在看。

(0)

相关推荐