Unix之父Ken Thompson的BSD密码终于被破解了

发布者:Editor
发布于:2019-10-12 17:46



再古老的密码都会有被破译的一天。

UNIX的联合创始人Ken Thompson的旧密码终于被破解了。


该密码属于基于BSD的系统,这是UNIX的原始版本之一,曾被许多人使用。


那么究竟是怎么一回事呢?一起来看下面这个故事。



Leah破解密码遇到难题



早在2014年,开发人员Leah Neukirchen在BSD 3版本中可公开获得的源代码树中发现了一个有趣的“ / etc / passwd ”文件,该文件包含二十多位在计算机领域的大师级开发人员使用的旧密码,包括Dennis Ritchie(C 语言之父),Steve Bourne(Bourne shell的创建者),Ken Thompson(Unix之父),Brian Kernighan(第一本C语言教程的作者之一)和Bill Joy(前任Sun的首席科学家、vi和csh的创建者)等。


由于该列表中的所有密码均受到基于DES的crypt(3)算法的保护,并且最多只能包含8个字符,Leah感觉弱加密算法破解起来应该比较容易,因此她使用John Ripper和hashcat之类的各种破解工具,成功破解了大部分密码。


但其中仍有几个密码她无法破解,包括Ken Thompson和其他五位Unix开发人员。由于这个算法是由Ken和Morris开发的,再加上她花了几天时间对所有小写字母和数字进行遍历依然没有任何收获,Leah对这个密码的好奇心更强烈了。


因此她猜想可能是大写字母或者特殊字符,但在现代 GPU 上,穷举搜索一个 7 位的密码,花费的时间要两年以上,所以放弃了分析。


然而在本月初,Leah在Unix遗产学会(Unix Heritage Society)的邮件列表中发布了此话题,并公布此前她的所有破解结果和进展,并请求其他成员帮助破解剩余的几个密码,其中就包括Ken的密码。



Ken的密码是国际象棋符号



此后仅6天,来自澳大利亚的工程师Williams声称其成功破解。


他使用了AMD Radeon RX Vega 64,以约930MH/s的速度运行hashcat,用了短短四天多一点的时间破解了密码哈希值。


汤普森的密码显示为“ p / q2-q4!a ”,乍一看这串密码像是一个公式,实际上却是一种古老的符号,代表国际象棋中走位的信息,其中q代表Queen,p代表Pawn。Thompson为计算机国际象棋的发展做出过贡献。



UNIX作为算机科学的先驱,其联合创始人Ken Thompson不仅开发了Unix和Go编程语言,也是一个国际象棋爱好者,曾拿下1980年第3届全球计算机国际象棋锦标赛的冠军,同时还是一个国际象棋程序Belle的开发者之一。在得知此事后,他对Williams主动表示了祝贺。

在Willians公布Ken的密码的第二天,另一位邮件列表成员Arthur Krewat成功破解并提供了另外四个未破解的密码。到目前为止,除了Bill Joy之外,其他成员的密码均已被破解。


* 本文由看雪编辑 LYA 编译自 The Hacker News,转载请注明来源及作者。



声明:该文观点仅代表作者本人,转载请注明来自看雪