程序猿阵线联盟-汇总各类技术干货程序员互联网科技

明文存密码成惯例?Facebook 6 亿用户密码可被 2 万员

2019-03-24  本文已影响58人  撩课学院

近日,外媒发布了一份互联网安全的调研报告,报告中称 Facebook 曾将 6 亿用户的账号密码使用明文存储,且可以被 Facebook 内部员工随意搜索查看。据 Facebook 方面的消息人士称,纯文本存档的用户密码可追溯到 2012 年,在这期间有超过 2 万名员工搜索过这些信息。

不久,Facebook 负责工程、安全和隐私的副总裁 Pedro Canahuati在 facebook Newsroom 上发文证实确有此事:“2019 年 1 月进行例行安全审查时,我们发现了一些用户密码以可读的格式存储在内部存储系统中。”

Pedro Canahuati 强调目前这一安全问题已被解决,且这些密码没有被除 Facebook 以外的任何人看到,Facebook 内部也没有发现任何滥用或不正当访问的行为。

根据 2018 年生效的《欧盟数据保护条例》:网络公司要在 72 小时内通知受隐私泄露影响的民众,并且公司要安全地存储用户密码。针对此次事件,Facebook 也表示要将实际情况通知给数亿 Facebook Lite 用户、数千万 Facebook 用户以及数万 Instagram 用户。

Facebook 的加密新措施

何为密码?百度百科的解释为使用者希望将正常的、可识别的信息转变为无法识别的信息。明文存储密码事实上已经失去了其为密码的意义。

该事件发生之后,Facebook 如何来存储密码呢?据 Pedro Canahuati 称:“在最佳实践方面,Facebook 会在创建帐户时会屏蔽密码,公司中的任何人都无法看到这些密码;在安全方面,将使用 Hash+Salt 来为密码加密,同时也会采用 scry.pt 算法和加密密钥,将真正的密码不可逆地替换成为一组随机字符。”

另外,针对共享、重用、密码被盗等情况,Facebook 也建立了相应的安全措施:

明文存密码成惯例?

2017 年到 2018 年,有人进行了一项研究:计算机科学的学生是否会编写安全存储密码的代码。实验结果表明,在没有明确提示的情况下,没有任何一个学生实现了安全的密码存储。当研究者询问为什么没有实现安全存储密码呢?大多数学生表示,因为这只是个小实验,如果他们是为企业写代码,肯定会实现安全存储。

世上从不缺少“较真”的人,随后就有人进行了另一项实验。研究人员在网络上找到了 43 位自由职业程序员,让他们为 Web 应用程序的用户注册进行代码编写,并评估了他们是如何实施的密码存储。研究结果表明,有 26 个开发人员最初选择了将密码保存为明文。

当研究人员要求这 43 位开发人员重新写代码以实现安全地存储密码,他们选择的加密方案如下:

在使用 MD5、SHA-1、SHA256 和 HMAC-SHA1 这四种加密算法的开发人员中只有 3 个人加了 salt 散列。另外,Base64 也不是一个很好的安全解决方案,但显然有很多开发人员并不这样认为。

从上面这两个例子中不难看出,无论是在校学生还是已经工作的技术人员,明文存储密码似乎正在成为“惯例”,而且即便开发人员有了加密意识,在加密方式和技术方面可能也会有所欠缺,无法完成高级别的加密

(本文章转载自infoq, 如有侵权, 请联系作者删除)

上一篇下一篇

猜你喜欢

热点阅读