不用怕,天塌了还有个高的顶着。
「密码」这个东西由来已久,公元前 5 世纪,古希腊的斯巴达人就已使用一种叫作 scytale 的棍子来传递加密信息。现代,密码有了更长远的发展,保密通信设备、银行取款、计算机登陆和屏保、各种个人账号、保险箱等都需要用到密码。
有密码就有人想破解,据新浪科技报道,美国史蒂文斯理工学院(Stevens Institute of Technology)开发了一个所谓的生成式对抗网络,可以对你所使用的密码进行合理猜测,准确率达到四分之一。
这种方法的基本理念来自伊恩·古德菲洛(Ian Goodfellow):让一个神经网络构建一个东西,然后由另外一个神经网络判定其质量。基于这个理念,史蒂文斯理工学院的团队让一个人工智能程序利用数千万个泄露的密码来学习如何生成新密码,再让另外一个人工智能程序学习如何判断新生成的密码是否有效。两者相互完善,直到输出最好的结果。
科学家们为测试工具提供了来自名为 RockYou 的游戏网站的数千万个被泄露的密码,并要求它们自己生成数亿个新密码。然后,他们计算出这些新密码中有多少与一组来自领英的泄露密码相匹配,以此来衡量破解密码的成功率。
实验结果是:人工智能生成的密码有 12% 与真实密码匹配。听起来更可怕的是:当研究人员将从 HashCat 软件工具获得的一些规则加入人工智能系统后,在超过 4300 万个领英个人资料的集合中破解了超过四分之一的密码。
这是生成式对抗网络首次被用于破解密码,虽然该技术尚处早期,但消息传出后,很多人表示了担忧:不法分子利用此工具是否会更轻松地发动网络攻击?
360 网络攻防实验室负责人林伟告诉极客公园:「其实,目前对于那些泄漏出来的领英资料密码,已破解比例已超过 80%,主要方法是使用 Hashcat 等常见 GPU 密码破解软件,结合已泄密的常用密码字典、规则即可实现密码猜测程序。」
使用 HashCat 的一种方法是简单的蛮力,随机地尝试许多不同的字符组合,直到找到正确的字符为止;另一种方法是根据之前泄露的密码和概率方法来推测密码中的每个字符。但是,这些方法需要多年的手工编码来实现。本文提到的研究可以用深度学习的方法来加速这一进程。
从另一个角度想想,此工具可被用来测试密码的强度,以提示用户更换更高级别的密码。在纽约康奈尔大学研究计算机安全的 Thomas Ristenpart 表示,这项新技术还可能被用于生成诱饵密码,以帮助发现漏洞。
对于用户的密码安全,林伟建议:
1、对密码进行分级,缩小密码泄露后影响的范围和隐私,建议分为不少于三级,分别是:弱密码、8 位以上字母+数字密码、10 位以上字母+数字+特殊符号密码,注意以上密码请勿使用常见密码习惯;
2、开启密码二次验证如:短信验证、登陆设备验证、二级密码、随机令牌等。