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


640?wx_fmt=jpeg


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


吓人!仅花20小时18美元,可瞬间破译1100万个密码_第1张图片


事情是这样发生的。


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


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


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


吓人!仅花20小时18美元,可瞬间破译1100万个密码_第2张图片


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


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


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


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


吓人!仅花20小时18美元,可瞬间破译1100万个密码_第3张图片

图片来源:unsplash.com/@cmdrshane


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


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


吓人!仅花20小时18美元,可瞬间破译1100万个密码_第4张图片


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


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


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


背景简介:存储密码


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


1. 用户输入密码(传送密码并进行验证)


2. 所输入的密码与记录密码进行比对


3. 如果二者相同,用户可继续访问应用


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


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


1. 用户输入密码


2. 本地计算散列(密码)并进行传送


3. 对比记录的散列


4. 如果二者相同,用户可继续访问应用


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


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


1. 任意猜一个密码


2. 计算该密码加密文件


3. 对比实际散列


4. 重复上述步骤,直到猜中密码


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


攻击


软件


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


吓人!仅花20小时18美元,可瞬间破译1100万个密码_第5张图片


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


硬件


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


吓人!仅花20小时18美元,可瞬间破译1100万个密码_第6张图片


与普通的手提电脑相比,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个数字”的密码。

 

那么攻击结果如何呢?


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


吓人!仅花20小时18美元,可瞬间破译1100万个密码_第7张图片


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


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


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


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


吓人!仅花20小时18美元,可瞬间破译1100万个密码_第8张图片


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

 

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


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


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


640?wx_fmt=jpeg

留言 点赞 发个朋友圈

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


编译组:张雨姝、杨敏迎

相关链接:

https://hackernoon.com/20-hours-18-and-11-million-passwords-cracked-c4513f61fdb1


如需转载,请后台留言,遵守转载规范


推荐文章阅读


ACL2018论文集50篇解读

EMNLP2017论文集28篇论文解读

2018年AI三大顶会中国学术成果全链接

ACL2017 论文集:34篇解读干货全在这里

10篇AAAI2017经典论文回顾


长按识别二维码可添加关注

读芯君爱你


你可能感兴趣的:(吓人!仅花20小时18美元,可瞬间破译1100万个密码)