吓人!仅花20小时18美元,可瞬间破译1100万个密码

全文共2512字,预计学习时长4分钟

clipboard.png

事情是这样发生的。

在某个阳光明媚的下午,热心市民刘先生正吃着火锅唱着歌,“叮~”,手机突然收到一条短信。以为是系统短信的他,起期初毫不在意,谁知随后一连串的叮叮声根本停不下来。

刘先生拿起手机一看,一脸懵逼,当即上头。

自己的Apple store 内购突然多了20多条账单记录,都是购买王者农药的点券消费,加起来有个小三千。

clipboard.png

不对啊,家里也没熊孩子啊。

慌乱中问及度娘:亲亲,您的Apple ID绑定了支付宝的免密支付,AppleID可能被盗刷了哦~致电苹果和支付宝客服,一场维权拉锯战正式开始。

移动互联网时代,人们以一串字符为密码,将自己的信息、秘密、金钱都托管到了网络。

人们设置密码来保护网络中的一切:从电子邮箱到银行账户再到加密交易账户。大部分人对密码的定位只是一串可以login in的字符,所以怎么好记怎么来。早些时候12345678走天下,后来迫于系统要求,才灵机一动设了个姓名首拼+生日。

clipboard.png

图片来源:unsplash.com/@cmdrshane

可能大部分人都没有意识到设置密码不走心的严重性,直到热心市民刘先生现身说法。目前不法分子窃取苹果账号的主要方式还是“撞库”和钓鱼网站。

出于对密码破解的单纯兴趣或者其他不为人知的原因,有大量研究复杂密码破解算法的论文,这些算法利用极为复杂的概率和机器学习技术,能够破译90%以上的密码。

clipboard.png

尽管如今许多平台使用双重验证系统(2FA),但该系统并未被大范围或强制推广,绝大部分平台仍不支持2FA。甚至大部分“心大”市民,完全没有要启用双重验证的意识。

破解密码的算法强大到细思恐极,然而普罗大众还是乐呵呵置身事外,“有多少普通人能够使用这些算法呢?为什么黑客就一定会攻击我?”

是时候揭秘,破解一个密码有多简单了!

背景简介:存储密码

使用密码登录应用程序时,所需步骤顺序如下:

  1. 用户输入密码(传送密码并进行验证)
  2. 所输入的密码与记录密码进行比对
  3. 如果二者相同,用户可继续访问应用

然而,密码传送和存储的安全性堪忧。为了保障安全,许多系统将用户密码的散列储存在数据库中,而不是密码本身。密码散列本身是不可逆杂乱密码;如果黑客获取了密码散列,无法反推密码。

在此类加密系统中,密码登录的步骤顺序如下:

  1. 用户输入密码
  2. 本地计算散列(密码)并进行传送
  3. 对比记录的散列
  4. 如果二者相同,用户可继续访问应用

背景简介II:暴力破解散列

对于使用散列的加密系统,如果黑客入侵密码数据库,他们仍无法获取用户密码。由于黑客无法通过密码散列反推密码,他们进行以下操作:

  1. 任意猜一个密码
  2. 计算该密码加密文件
  3. 对比实际散列
  4. 重复上述步骤,直到猜中密码

这听起来是一个浩大的工程,但如果使用机器,可同时作出1000个猜测。在无数的可能性中随机找到真正的密码就不费吹灰之力了。

攻击

软件

破解密码一般会用Hashcat软件,这是一个先进的密码还原工具,被称为“世界上最快速的密码破解器”。

clipboard.png

Hashcat是一个开源工具,其官网提供可供下载的数据源和二进制文件,维基百科上也有对此工具的详细讲解。只要坚守想当“黑客”的一腔热情,很快可以学会Hashcat。

硬件

可以用Nvidia Tesla K80运行Hashcat——这是一个拥有4992个内核的GPU,在亚马逊云上可以租用,价格喜人,只需0.9美元/时。

clipboard.png

与普通的手提电脑相比,K80的运行速度比普通因特尔图形处理器快16倍。K80每秒可计算8亿个SHA-256加密文件,也就是几乎每小时3万亿个。

Unbelievable。

密码

这只是一个实验,当然不可能用真正的账号密码啦。网络平台上有超过1400万个公开的密码集。对其再次进行虚拟破解有助于提高个人密码安全意识,防范真实密码破译攻击。在开始实验前,已经抹掉了这份已泄漏文件中所有的个人身份信息。

攻击逻辑

通过Hashcat可以暴力破解密码(即对特定长度的密码进行无限尝试),也可以进行更为复杂的攻击。众所周知,大多数人会基于一个单词来设置密码,形式各有不同:

· 仅仅是一个单词(可能字母大小写不同)——Password

· 单词加数字/符号后缀——monkey! 或 Coffee12

· 单词、数字、符号混合使用的“火星文”—— p4ssw0rd o或f4c3b00k

· 多个单词连接——isthissecure

巧的是如果上传一份单词列表文件,Hashcat内置的多种模式会进行如下猜测:

· 单词

· 单词加任何数字/符号后缀

· 有特定规律的单词(如把所有“o”替换成“0”)

· 任何单词组合

因此,可以下载了一份包含几百万英语单词词典文件以进行攻击。

此时,攻击范围就可以更为广泛,同时也能选定Hashcat应该尝试的“面具”。无需再使用Hashcat尝试有7万亿个组合的“所有长度为8的密码”——有——只需尝试“6个小写字母加2个数字”的密码。

那么攻击结果如何呢?

实话说…攻击结果远比想象中好,简直成功得骇人……

clipboard.png

· 2小时内:48%的密码被破解

· 8小时内:几乎70%的密码被破解

· 20小时内:超过80%的密码被破解

总结一下:20个小时。每小时0.9美元。总计18美元。1400万个密码中80%被破解。

clipboard.png

对于这个结果,各位再消化一会儿…

这太吓人了。大家一定要提高自己密码的安全性。仅仅把“o”替换成“0”或把“e”替换成“3”还不够。加上数字和符号后缀也不足以抵抗攻击。这些模式都是可以被预测的。

人们正是遵循了某些可预测的规则才导致密码轻易破解。最科学的办法是把密码交给管理器,比如LastPass 或 1Password等。

不过如果你的脑回路足够优秀,也可以尝试把密码改成圆周率后六位嘻嘻嘻(手动狗头)。这样别说是黑客,全世界都没有人知道你的密码
啦。

clipboard.png
留言 点赞 关注

我们一起分享AI学习与发展的干货

欢迎关注全平台AI垂类自媒体 “读芯术”
图片描述

(添加小编微信:dxsxbb,加入读者圈,一起讨论最新鲜的人工智能科技哦~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章