美文网首页程序猿阵线联盟-汇总各类技术干货程序员互联网科技
明文存密码成惯例?Facebook 6 亿用户密码可被 2 万员

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

作者: 撩课学院 | 来源:发表于2019-03-24 08:55 被阅读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 也建立了相应的安全措施:

  • 使用各种信号来检测可疑活动。例如,当输入了正确密码,但检测到密码是在无法识别的设备上输入,或者不是常用地登录,或是不在常用常用地登录,那么 Facebook 将会提出一个额外的验证问题,以证明此人是真正的帐户所有者。
  • 用户会接收到有关无法识别登录的警报。
  • 监测在不同服务中重用密码的情况。Facebook 会密切关注来自其他组织的数据泄露通知和公开发布的被盗凭证数据库,检查被盗的电子邮件和密码组合是否与 Facebook 上使用的相同凭证相匹配,如果找到匹配项,会在下次登录时通知用户更改密码。
  • 为了减少对密码的依赖,Facebook 引入了向帐户注册物理安全密钥的功能,因此下次登录时,用户只需要轻敲计算机 USB 驱动器中的一个小型硬件设备。这项措施对高风险用户来说尤其重要,例如记者、活动家和公众人物等等。

明文存密码成惯例?

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

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

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

  • 8 个人选择了 Base64
  • 3 个人选择了 AES
  • 3 个人选择了 3DES
  • 10 个人选择了 MD5
  • 1 个人选择了 SHA-1
  • 5 个人选择了 SHA-256
  • 5 个人选择了 PBKDF2
  • 7 个人选择了 Bcrypt
  • 1 个人选择了 HMAC/SHA1

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

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

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

相关文章

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

    近日,外媒发布了一份互联网安全的调研报告,报告中称 Facebook 曾将 6 亿用户的账号密码使用明文存储,且可...

  • 登录安全

    App登录常见的安全点:1.密码的安全2.token值安全使用 密码存储 用户密码必须不能明文存储。如果数据库泄露...

  • hw9 注意事项 2021-05-07

    银行不会明文存储密码,选择一种密码的加密方式,保证用户输出的密码以不同的方式保存在账户对象中,且能保证用户再次输入...

  • 密码如何保存——加盐技术

    核心目标:保证用户账号和密码的存储安全,避免被“脱裤”。 首先,用户账号和密码不能明文存储,例如“鱼鱼,12345...

  • 用node重现hustoj项目里的加密验证过程

    先看下hustoj源码里用到的用户密码加密函数和验证函数 满满的黑历史,可以看出最早这个系统居然是明文存密码的,或...

  • Spring Security PasswordEncoder

    Spring Security使用单向密码转换存储密码,也就是加密后的用户密码无法恢复成明文,只能用作密码比较。另...

  • Ubuntu 修改用户密码

    修改用户密码的方法 passwd 当前用户名 此方法会提示修改密码,密码位数必须大于等于6位,如果小于6位的话,会...

  • day09-用户管理-笔记

    Day10-用户管理 导读 今日内容1.为用户添加密码为新用户添加密码为用户变更密码密码怎么才算复杂小结2.用户的...

  • 6.passwd

    passwd命令:修改用户密码(自己或指定其他用户) 1.修改用户自己的密码 2.修改其它用户密码

  • 常用的js正则表达式

    1 用户名正则 用户名正则,4到16位(字母,数字,下划线,减号) 2 密码强度正则 密码强度正则,最少6位,包括...

网友评论

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

    本文链接:https://www.haomeiwen.com/subject/yxpyvqtx.html