明文存储用户密码,这家互联网巨头被罚超7亿元
wxin55 2024-12-25 16:09 8 浏览 0 评论
Meta未能遵守密码存储的基本安全规则。
前情回顾·全球网络安全执法
- 供应商泄露用户信息,甲方被罚近一亿元
- 2024年最高罚单!Uber因违反GDPR被罚超23亿元
- 系统被黑致使客户摄像头遭未授权访问,这家安防公司被罚超2000万元
- 承包政府系统上线前未做安全测试,两家知名企业被罚8200万元
安全内参9月29日消息,爱尔兰监管机构对Meta公司(Facebook母公司)处以1.01亿美元(约合人民币7.08亿元)的罚款,原因是Meta以明文形式存储了数亿用户密码,并允许公司内部员工广泛访问这些密码。
Meta早在2019年初就披露了这一疏漏。公司表示,旗下多个社交网络应用程序在记录用户密码时,使用了明文存储的方式,并将这些密码存储在了一个数据库中。该数据库被大约2000名公司工程师查询过,查询次数累计超过900万次。
被调查超五年,Meta因违反GDPR被罚
当时,Meta的官员解释,这一错误是在公司例行的内部网络数据存储安全审查中发现的。公司还表示,没有任何证据表明内部员工不当访问了这些密码,也没有证据显示外部人员曾经获取过这些密码。
尽管Meta作出了上述的保证,这一事件仍然暴露了其在安全管理上的严重失误。近年来,各国的法律和法规已强制要求对密码进行加密哈希处理。
当Meta在2019年披露这一疏漏时,显然未能充分保护数亿用户密码。
爱尔兰数据保护委员会副专员Graham Doyle说:“鉴于访问这些数据的人可能会滥用数据,大家普遍认为用户密码不应以明文形式存储。我们必须考虑到,在这个案件中被讨论的密码尤为敏感,因为它们可以用于访问用户的社交媒体账号。”
自Meta五年前披露此事以来,爱尔兰数据保护委员会就一直在对此事件进行调查。作为欧盟监管大多数美国互联网服务的主要政府机构,该委员会本周对Meta处以1.01亿美元(约合9100万欧元)的罚款。
迄今为止,欧盟已因违反《通用数据保护条例》(GDPR)对Meta累计罚款超过22.3亿美元(约合20亿欧元),其中包括去年创纪录的13.4亿美元(约合12亿欧元)的罚款,Meta目前正在对此进行上诉。
密码哈希加密是业界最佳实践
三十多年来,几乎所有行业的最佳实践都要求对密码进行加密哈希处理。哈希是一种单向加密算法,能够将密码转换为一串独特的长字符,每个输入都会生成唯一的哈希值。
由于这种转换是单向的,即从明文到哈希值,无法通过加密技术将哈希值还原为明文。这意味着唯一的破解方式就是通过猜测,这通常需要大量的时间和计算资源。
使用哈希密码的概念就像为房屋购买火灾保险——在密码数据库遭到黑客攻击或房屋发生火灾等紧急情况下,这种保护措施能够避免原本可能更加严重的损失。
要使哈希方案发挥预期的效果,需要满足一系列要求。其中之一是哈希算法必须设计为需要大量计算资源的方式。这也就是为何SHA1和MD5等算法并不适合,因为它们的设计初衷是快速生成哈希值,几乎不消耗计算资源。相比之下,Bcrypt、PBKDF2或SHA512crypt等专门为密码哈希设计的算法,则运作较慢,且需要大量的内存和处理能力。
另一项要求是哈希算法必须包含加密“加盐”机制,即在密码明文中加入少量随机字符后再进行哈希处理。加盐大大增加了破解哈希值的难度。所谓破解,就是通过算法生成大量猜测(通常以亿次计),然后将每个生成的哈希值与泄露数据库中的哈希值进行比较。
哈希的最终目的,是仅以哈希形式存储密码,绝不以明文形式存储。这样可以防止黑客和恶意内部人员在不耗费大量资源的情况下利用这些密码数据。
参考资料:arstechnica.com
相关推荐
- Java中List 和 Map、Set 的区别(list和set和map)
-
hello,大家好,我是霖仔java集合的大家了解,我再给大家说一下他们的区别,希望能够帮助到大家结构特点:List和Set是存储单列数据的集合,Map是存储键和值这样的双列数据的集合;Lis...
- Java 集合框架全面解析:选对数据结构,提升开发效率
-
上一章我们详细介绍了各种常用的数据结构情况(参考:数据结构复杂度全览:如何选择最优结构?),本文结合关键数据结构,从列表(List)、队列(Queue)、集合(Set)、映射(Map)四个维度,深入解...
- LinkedList竟然比ArrayList慢了1000多倍?(动图+性能评测)
-
数组和链表是程序中常用的两种数据结构,也是面试中常考的面试题之一。然而对于很多人来说,只是模糊的记得二者的区别,可能还记得不一定对,并且每次到了面试的时候,都得把这些的概念拿出来背一遍才行,未免有些麻...
- LinkedList 底层源码深度解析(linkedlist底层数据结构)
-
目录1.引言2.LinkedList概述2.1类继承体系图2.2各个接口作用3.与ArrayList的对比4.底层数据结构5.核心方法源码解析5.1add()方法5.2a...
- List的用法和实例详解——Java进阶知识讲义系列(四)
-
序欢迎来到全网最完整的Java进阶知识系列教程!!!每天定时更新!!!本期是Java进阶知识系列的第四讲,将分享Java常用的数据容器——集合类。集合类也分很多类型,比如:List、Set、Map、Q...
- Rust高效集合操作(rust基本操作)
-
集合的分类Rust的集合类型主要分布在标准库的std::collections模块中,同时也包括语言内置的数组和字符串类型序列容器序列容器维护元素的顺序,适合需要按索引访问或顺序遍历的场景向量(...
- Java八股文:核心知识点梳理(java八股文是啥)
-
一、Java基础1.Java基本数据类型8种基本类型:整型:byte(1),short(2),int(4),long(8)浮点型:float(4),double(8)字符型:char(2)布...
- 为什么我不推荐研发人员使用 LinkedList?
-
在Java集合框架中,LinkedList作为List的实现之一,经常被认为是ArrayList的替代方案。然而,在大多数实际场景下,我们并不推荐使用LinkedList,原因主要集中...
- ArrayList 、 LinkedList、Vector的区别
-
ArrayList、LinkedList、Vector的区别如下:ArrayListLinkedListVector结构动态数组双向链表动态数组是否线程安全否否是效率遍历查找快,插入删除慢插入删除...
- (2020 )Java最新面试笔试题答案解析(一)
-
Java中的集中基本数据类型是什么?各占用多少字节?【数值型】—(整数类型)byte(1字节)short(2字节)int(4字节)long(8字节)拓展:Java中的数据类型除了上面的基本...
- 超简单五步实现Linux虚拟机CentOS 7系统Root密码忘记重置
-
环境:CentOS7.5重置root密码:1.CentOS7虚拟机开机,将鼠标光标移动至虚拟机内。2.在虚拟机中使用键盘上↑和↓键将选择行设置为第一行(背景高亮即为选中),按下键盘上的e,进...
- 吊轨门和推拉门哪个好?北京今朝区别介绍看完不入坑
-
厨房到底使用什么门好?相信这是大多数业主都比较抓狂的事情,其实在装修中材料的选择最终还是要依据空间而定,那么吊轨门和推拉门哪个好呢?下面就跟随北京装修网一起来看看吧!吊轨门与推拉门介绍吊轨门吊轨门的特...
- 〖省钱宝典〗不花冤枉钱,少走弯路!居家中推拉门如何设计?
-
想要空间最大程度的显大?想要充足的光线?又想拥有合理的区域划分?那么推拉门是你绝对不能错过的好选择。推拉门的设计轻盈简洁,绝对是室内每个空间的福音。它不仅可以最大化地节省空间,方便了居室的功能划分和利...
- 吊趟门与推拉门有什么区别?(吊趟门贵还是推拉门贵)
-
吊趟门与推拉门的区别很多人在购买的时候并不清楚,有些客人甚至根本分不清吊趟门和推拉门,今天小编就给大家讲讲吊趟门与推拉门的相关内容,看看吊趟门与推拉门的区别有哪些?1、推拉门采用以门扇下滑轮为主支撑点...
你 发表评论:
欢迎- 一周热门
- 最近发表
-
- Java中List 和 Map、Set 的区别(list和set和map)
- Java 集合框架全面解析:选对数据结构,提升开发效率
- LinkedList竟然比ArrayList慢了1000多倍?(动图+性能评测)
- LinkedList 底层源码深度解析(linkedlist底层数据结构)
- List的用法和实例详解——Java进阶知识讲义系列(四)
- Rust高效集合操作(rust基本操作)
- Java八股文:核心知识点梳理(java八股文是啥)
- 面试题:ArrayList和LinkedList有什么区别?
- 为什么我不推荐研发人员使用 LinkedList?
- ArrayList 、 LinkedList、Vector的区别
- 标签列表
-
- hive行转列函数 (63)
- sourcemap文件是什么 (54)
- display none 隐藏后怎么显示 (56)
- 共享锁和排他锁的区别 (51)
- httpservletrequest 获取参数 (64)
- jstl包 (64)
- qsharedmemory (50)
- watch computed (53)
- java中switch (68)
- date.now (55)
- git-bash (56)
- 盒子垂直居中 (68)
- npm是什么命令 (62)
- python中+=代表什么 (70)
- fsimage (51)
- nginx break (61)
- mysql分区表的优缺点 (53)
- centos7切换到图形界面 (55)
- 前端深拷贝 (62)
- kmp模式匹配算法 (57)
- jsjson字符串转json对象 (53)
- jdbc connection (61)
- javascript字符串转换为数字 (54)
- mybatis 使用 (73)
- 安装mysql数据库 (55)