明文存储数亿用户密码,Meta被罚1亿美元
近日,GDPR“金牌大客户”Meta公司再次吃到天价罚单。
爱尔兰数据保护委员会(DPC)对Meta处以1.01亿美元的罚款,原因是该公司存储了数亿用户的明文密码,并允许大约2000名Meta工程师自由查询这些数据。据称,这些工程师共查询了这些敏感信息900万次之多。
虽然Meta没有透露具体有多少用户受到影响,但估计将涉及“数亿Facebook Lite用户、数千万其他Facebook用户”和数百万Instagram用户。
Meta在没有加密和访问控制等适当保护措施的情况下存储用户帐户密码违反了《通用数据保护条例》(GDPR)的多项条款,具体如下:
- 第33(1)条-个人数据泄露通知:Meta未能及时通知DPC其以纯文本形式存储了用户密码,这构成了个人数据泄露。
- 第33(5)条-个人数据泄露的记录:Meta没有正确记录与以纯文本存储用户密码相关的个人数据泄露,未能保留事件的充分记录。
- 第5(1)(f)条-完整性和保密性:Meta没有实施足够的安全措施来确保用户密码的保护,因为密码以纯文本形式存储,缺乏加密或加密保护。
- 第32(1)条-处理安全性:Meta未能实施适当的技术和组织措施来保护密码,例如加密,这可以维护数据的机密性并降低未经授权访问的风险。
密码存储事故的起因
2019年Meta首次对外披露了这起密码存储事故。当时,Meta表示,其在一项例行的内部安全审查中发现了这个问题——用于连接旗下社交网络的某些应用程序意外将用户密码记录为明文,并存储在一个易于查询的数据库中。不过,Meta当时强调没有发现任何内部员工不正当访问这些密码的证据,外部人员更无法获取这些信息。
尽管如此,这次披露无疑暴露了Meta在用户数据保护方面的重大失误。要知道,早在数十年前,密码存储的“黄金标准”就已经是通过哈希加密(hash)来保护用户密码。哈希是通过单向的密码学算法将明文密码转换为一串独特的长字符,而这一转换是不可逆的,这意味着即便拥有哈希值,也无法通过加密算法将其转换回原来的明文密码。
而哈希密码的作用,类似于给房子买了一份火灾保险,一旦发生意外(比如密码数据库被黑客攻陷),这种保护机制可以有效减轻甚至避免更严重的后果。
哈希加密:密码保护的关键
为了让哈希加密起到应有的效果,算法必须符合一些重要要求。首先,哈希算法必须消耗大量的计算资源,这样可以让暴力破解哈希变得更加困难。这意味着像SHA1和MD5这样的快速算法并不适合用于密码存储,因为它们设计的初衷是快速处理信息。而类似于Bcrypt、PBKDF2和SHA512crypt的算法则更加适合,因为它们执行速度慢且占用大量内存和处理能力。
另一个关键要求是“加盐”——在将明文密码哈希之前,算法会额外添加一些字符。这样做的好处是增加了破解哈希的难度,因为攻击者需要处理更多的组合,尝试的次数可能达到数亿次。
总体来说,哈希加密的最终目的是确保密码只以哈希值的形式存储,从而使得即便黑客或内部人员获得数据,也无法轻易将其用于不法目的。然而,Meta在2019年承认的这起安全事故,表明其在保护数亿用户密码时显然没有遵循这些业界通用的安全规范。
GDPR的“金牌大客户”
爱尔兰数据保护委员会副专员格雷厄姆·多伊尔(Graham Doyle)对此次事故发表评论时表示:“考虑到访问此类数据可能带来的滥用风险,用户密码不应以明文形式存储已经是广泛接受的共识。必须意识到,这些密码尤其敏感,因为它们能够让不法分子直接访问用户的社交媒体账户。”
此次,爱尔兰数据保护委员会对Meta的调查历时五年,作为欧盟对美国互联网服务进行监管的主要机构,委员会在本周宣布对Meta处以9100万欧元(约合1.01亿美元)的罚款。Meta堪称GDPR的“金牌大客户”,自2018年《通用数据保护条例》(GDPR)生效以来,Meta因违反数据保护法规累计被欧盟罚款超过20亿欧元,其中包括去年创纪录的12亿欧元罚款。