【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

明文存密码成惯例?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:003682
用户头像

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

关注

评论

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

HTML5 游戏开发实战 | 五子棋

TiAmo

html html5 游戏 6 月 优质更文活动

关于项目初期,数据量小的内容推荐的实现方法

北桥苏

推荐算法 个性化推荐 协同过滤 内容推荐

数字化转型与架构-规划篇|满足用户期望和用户需求说:“不”

数字随行

数字化转型

华为云能力中心开业暨项目签约活动圆满举办!

新消费日报

这场世界级的攻坚考验,华为云GaussDB稳过

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号 6 月 PK 榜

中国高校最大云上科研智算平台上线!

新云力量

智能 计算 复旦大学

掌握Python文件操作:从基础到高阶的全方位探索

快乐非自愿限量之名

Python 教程

华为云低代码来啦,好奇心满满的开发者们快来体验!

华为云PaaS服务小智

低代码 华为云 华为开发者大会2023

Spring事件监听机制使用和原理解析

不在线第一只蜗牛

spring springboot

如何加强数据资产管理?专家共话分级分类实战宝典

说山水

Python开发中自动化构建项目结构样式

华为云开发者联盟

Python 开发 华为云 华为云开发者联盟 企业号 6 月 PK 榜

这样做,轻松拿捏阻焊桥!

华秋PCB

工具 电路 PCB PCB设计 阻焊

软件测试/测试开发丨Python常用数据结构学习笔记

测试人

Python 数据结构 软件测试 集合 列表

嘉为蓝鲸入选《信息技术服务运维工具名录》及《IT服务工具图谱》

嘉为蓝鲸

运维 信息技术 ITSS

V8是如何执行JavaScript代码的?

快乐非自愿限量之名

Java 编程语言

inBuilder今日分享丨RPM包制作入门

inBuilder低代码平台

一分钟学一个 Linux 命令

高端章鱼哥

Linux

一种接口依赖关系分层方案 | 京东云技术团队

京东科技开发者

依赖关系 接口优化 API 接口 企业号 6 月 PK 榜 接口分层

kafka消费者那些事儿

这我可不懂

kafka

版本动态 | SolidUI 0.1.0 版本发布

李孟聊AI

Web 2D 3D AIGC ChatGPT

和鲸助力中国大学生计算机设计大赛国赛作品评审标准落实研讨会召开,专家平台首发布

ModelWhale

人工智能 专家 数据科学 研讨会 中国计算机设计大赛

低代码平台简介

这我可不懂

低代码 可视化开发 JNPF

低代码开发平台选型教程

高端章鱼哥

低代码 技术选型 可视化开发 JNPF

详解数据库中的索引和视图

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号 6 月 PK 榜

联合打造!嘉为蓝鲸携手麒麟软件共建智能运维解决方案

嘉为蓝鲸

运维 AIOPS

「学习笔记」记忆化搜索

互联网工科生

学习笔记

一种读取亿级doris数据库的方法 | 京东云技术团队

京东科技开发者

MySQL 数据库 Doris 企业号 6 月 PK 榜

小程序技术分享| 小程序集成 pixi 渲染引擎

anyRTC开发者

小程序 音视频 canvas pixi 渲染

精选Golang高频面试题和答案汇总

王中阳Go

golang 面试八股文 go面试题 Go面试宝典

实践讲解强化学习之梯度策略、添加基线、优势函数

华为云开发者联盟

人工智能 华为云 华为云开发者联盟 企业号 6 月 PK 榜

低代码平台对程序员友好吗?

互联网工科生

低代码 可视化 JNPF

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