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

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

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

  1. 给定一个用户,获取其密码警告期限;而后判断用户密码使用期限是否已经小于警告期限...

    if 给定一个用户,获取其密码警告期限:而后判断用户密码使用期限是否已经小于警告期限:    提示:计算方法,最长使用期限减去已经使用的天数即为剩余使用期限:    如果小于,则显示"War ...

  2. Facebook承认6亿用户密码可被员工随意读取:已修复故障

    [TechWeb]3月22日消息,据国外媒体报道,Facebook周四表示,该公司已经解决了一个故障,该故障导致数百万用户的密码在其内部系统中,以可读格式泄露给内部员工.也就是说,只要该公司的工程师或 ...

  3. php怎么获取账号密码,PHP 前台代码实现获取用户密码功能

    比如说用户登录-->进入个人首页 在进入个人首页的时候验证一下登录的用户密码是否全部数字或者全英文 进入个人首页 提示 弹出出来的层内容: 系统检测到您的账户密码过于简单,存在严重的安全隐患,建 ...

  4. mysql初始密码的获取以及修改超级用户密码的方法

    新安装的mysql5.7.*启动后进入数据库需要初始密码,获取初始密码的方法: #grep 'temporary password' /var/log/mysqld.log | awk '{print ...

  5. linux路由修改密码,Linux中修改Mysql root用户密码的方法

    Linux中修改Mysql root用户密码的方法 下面给大家分享下在Linux下如何修改Mysql的用户(root)的密码,分两种情况:第一种当拥有原来的mysql的root密码,第二种情况忘记原来 ...

  6. mysql忘记root密码咋办_MySQL忘记root用户密码怎么办?

    1.首先查看后台是否有mysqld的进程在运行 ps -ef | grep mysqld 2.若存在mysqld进程则杀掉所有的mysqld进程 killall -TERM mysqld 3.通过以下 ...

  7. linux密码过期不修改,Linux解决用户密码过期但不用修改密码的方法

    linux 如果你设置了密码策略(密码有效期设定),到期不修改密码,系统在你登陆的时候会要求你更改密码,不更改便不让你登陆.如果你想不修改密码,延长你的账户有效期的话,可以用chane这个命令.下面来 ...

  8. mysql5.7.26修改账号密码_修改mysql5.7的用户密码

    MySQL5.7版本加入了密码安全策略机制,修改用户的密码必须符合安全策略的规则,否则无法修改.这对于本地开发来说,有点不方便,密码太长容易忘记,我本地的MySQL密码一般都是123456,这样就不会 ...

  9. python如何制作登录密码_python实战系列之模拟用户密码登陆系统(一)

    1. 前言 最近一直在研究学习python,基于python写一个模拟用户登陆验证的程序,大牛勿喷,欢迎各位同仁指导,学习!该程序使用函数式编程方式,将各个功能模块用函数实现,具体函数说明如下:get ...

最新文章

  1. jmeter 控制器--Include Controller
  2. SSH运维总结-【liunx学习】
  3. python 字符串和时间格式(datetime)相互转换-
  4. mvcc原理_Mysql MVCC实现原理
  5. 从零学习机器学习_机器学习:如何从零变英雄
  6. python决策树的应用_机器学习-决策树实战应用
  7. java两个对象赋值_一起学Java(二十六)----- 对象之间赋值
  8. c语言链表常错,C语言链表,哪里错了?
  9. 空指针异常,源头没有值
  10. 匈牙利命名法、骆驼命名法、帕斯卡(pascal)命名法 C#命名规范
  11. Efficient Diffusion Models for Vision: A Survey
  12. jdk版本导致的DB2异常:必需的字符转换器不可用。ERRORCODE=-4220, SQLSTATE=null
  13. Bootbox+JQuery UI Datepicker 时间输入框点击无响应
  14. 搜狗浏览器显示无法解析服务器的DNS地址,搜狗浏览器显示无法解析DNS地址的解决方法...
  15. 如何下载windows自带的锁屏壁纸
  16. 数加平台协助汇合营销快速行动,捕获转瞬即逝的商机。
  17. 从普通温度表到高精度测量
  18. SSL2895 购买干草
  19. YZ-9846时间同步装置 “四统一、四规范”,确保各时间同步设备时间高精度统一
  20. 酒仙网将上市:营销促营收增长,深陷纠纷案,部分股权被法院冻结

热门文章

  1. Java IO系列之字节流拷贝文件性能比较
  2. android String.format
  3. MySQL的正则表达式
  4. valgrind——hisi平台valgrind
  5. 多传感器融合之滤波(二)EKF
  6. Java多线程的11种创建方式以及纠正网上流传很久的一个谬误
  7. Linux防火墙限制指定端口只能由指定IP访问
  8. Oralce中的to_date()函数
  9. VML 画统计 柱状、饼图、折线
  10. SQL Server 中各个系统表的作用