本文共 1695 字,大约阅读时间需要 5 分钟。
近日,外媒发布了一份互联网安全的调研报告,报告中称Facebook曾将6亿用户的账号密码使用明文存储,且可以被Facebook内部员工随意搜索查看。据Facebook方面的消息人士称,纯文本存档的用户密码可追溯到2012年,在这期间有超过2万名员工搜索过这些信息。
不久,Facebook负责工程、安全和隐私的副总裁Pedro Canahuati证实确有此事:“2019年1月进行例行安全审查时,我们发现了一些用户密码以可读的格式存储在内部存储系统中。”
Pedro Canahuati强调目前这一安全问题已被解决,且这些密码没有被除Facebook以外的任何人看到,Facebook内部也没有发现任何滥用或不正当访问的行为。
根据2018年生效的《欧盟数据保护条例》:网络公司要在72小时内通知受隐私泄露影响的民众,并且公司要安全地存储用户密码。针对此次事件,Facebook也表示要将实际情况通知给数亿Facebook Lite用户、数千万Facebook用户以及数万Instagram用户。
何为密码?百度百科的解释为使用者希望将正常的、可识别的信息转变为无法识别的信息。明文存储密码事实上已经失去了其为密码的意义。
该事件发生之后,Facebook如何来存储密码呢?据Pedro Canahuati称:“在最佳实践方面,Facebook会在创建帐户时会屏蔽密码,公司中的任何人都无法看到这些密码;在安全方面,将使用Hash+Salt来为密码加密,同时也会采用scry.pt算法和加密密钥,将真正的密码不可逆地替换成为一组随机字符。”
另外,针对共享、重用、密码被盗等情况,Facebook也建立了相应的安全措施:
2017年到2018年,有人进行了一项研究:计算机科学的学生是否会编写安全存储密码的代码。实验结果表明,在没有明确提示的情况下,没有任何一个学生实现了安全的密码存储。当研究者询问为什么没有实现安全存储密码呢?大多数学生表示,因为这只是个小实验,如果他们是为企业写代码,肯定会实现安全存储。
世上从不缺少“较真”的人,随后就有人进行了。研究人员在网络上找到了43位自由职业程序员,让他们为Web应用程序的用户注册进行代码编写,并评估了他们是如何实施的密码存储。研究结果表明,有26个开发人员最初选择了将密码保存为明文。
当研究人员要求这43位开发人员重新写代码以实现安全地存储密码,他们选择的加密方案如下:
在使用MD5、SHA-1、SHA256和HMAC-SHA1这四种加密算法的开发人员中只有3个人加了salt散列。另外,Base64也不是一个很好的安全解决方案,但显然有很多开发人员并不这样认为。
从上面这两个例子中不难看出,无论是在校学生还是已经工作的技术人员,明文存储密码似乎正在成为“惯例”,而且即便开发人员有了加密意识,在加密方式和技术方面可能也会有所欠缺,无法完成高级别的加密。
转载地址:http://cpaao.baihongyu.com/