亮网络解锁器,解锁网络数据的无限可能 了解详情
写点什么

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

  • 2019-03-22
  • 本文字数:1561 字

    阅读完需:约 5 分钟

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

近日,外媒发布了一份互联网安全的调研报告,报告中称 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 也不是一个很好的安全解决方案,但显然有很多开发人员并不这样认为。


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


2019-03-22 18:003688
用户头像

发布了 497 篇内容, 共 309.7 次阅读, 收获喜欢 1908 次。

关注

评论

发布
暂无评论
发现更多内容

经济日报刊评:数字人民币应用场景拓展

CECBC

现在后端开发都在用什么数据库存储数据?

Linux服务器开发

MySQL 数据库 后端 中间件 Linux服务器开发

排序算法之冒泡排序

xcbeyond

排序算法 冒泡排序 6月日更

作为程序员,你会使用Notion吗?

Bob

程序员 Notion 笔记

模块6作业 拆分电商系统为微服务

TH

架构实战营

太为难我了,阿里面试了7轮(5年经验,拿下P7岗offer)

Java 程序员 架构 面试

网络攻防学习笔记 Day49

穿过生命散发芬芳

网络攻防 6月日更

架构实战营 模块六:课后作业

Ahu

架构实战营

如何应对不好回应的沟通场景?

石云升

读书笔记 沟通 6月日更

Angular | 浅谈Angular错误处理方式

devpoint

angular.js angular 6月日更

Three.js杂记(十二)—— VR全景效果制作·中

空城机

大前端 three.js 6月日更

手写一个简单的SpringBoot Starter

赵镇

🌏【架构师指南】分布式事务(XA)与一致性算法(Paxos、Raft、Zab、NWR)

洛神灬殇

ZAB raft协议 paxos协议 6月日更

模块6 学习总结

TH

堆与堆排序

wzh

Java 数据结构 算法 堆排序 数据结构与算法

冯 · 诺依曼结构原理及层次结构分析

若尘

计算机组成原理

金融科技加速经济低碳转型 但面临政策、市场、技术等多方挑战

CECBC

电商系统微服务拆分设计

Lane

双非渣本后端,三个月逆袭字节,入职那天“泪目”了

Java架构师迁哥

Redis入门一:简介

打工人!

数据库 nosql redis 6月日更

「SQL数据分析系列」8. 分组和聚合

数据与智能

数据库 sql 大数据 存储 计算

备战618!分布式电商项目:天猫Java亿级高并发架构设计笔记

Java架构追梦

Java 阿里巴巴 架构 面试 亿级架构

前端 JavaScript 之『节流』的简单代码实现

编程三昧

JavaScript 大前端 js 防抖节流 代码实现

拆分电商系统为微服务

唐江

架构实战营

架构师实战营 模块六作业(拆分电商系统为微服务)

好吃不贵

业务架构

四个决策树让你彻底掌握 HTTP 状态码

看山

HTTP 6月日更

Dajngo网站开发---Task2

IT蜗壳-Tango

6月日更

1年半经验,2本学历,Curd背景,竟给30K,我的美团Offer终于来了

Java 程序员 架构 面试

模块6课后作业

方堃

架构实战营 模块六作业

netspecial

架构实战营

setTimeout(〒︿〒) 请原谅我一直以来对你的忽视

编程三昧

JavaScript 大前端 定时器 基础知识

明文存密码成惯例?Facebook 6 亿用户密码可被 2 万员工直接看_安全_田晓旭_InfoQ精选文章