版权归原作者所有,如有侵权,请联系我们

容易被忽略的安全漏洞——明文存储

CCF计算机科普
由中国计算机学会主办,提供优质的计算机科普内容。
收藏

大东:小白,节日快乐!

小白:嗯嗯,也祝全国大朋友小朋友节日快乐~~

大东:那好吧,今天收工~

小白:别啊,网安教育从娃娃抓起,广大青少年网安爱好者正坐在小板凳等大东东讲明文存储呢。

一、事件始末

大东:今年3月份Facebook承认存储了多达6亿个没有加密的用户账户密码,并且可以作为纯文本查看给成千上万的公司员工。

小白:不是1月份就发现了,怎么3月份才发布出来?

大东:Facebook安全负责人说是因为他们发现这些明文的密码并非是存储在一个地方,因此很可能是多种问题叠加导致的一个漏洞,问题的分散性使得问题的理解和解决变得更加复杂。Facebook不得不花了2个多月的时间来调查和解决这一问题。

Facebook

小白:Fcaebook创始人兼CEO扎克伯格3月份才说公司走私密社交的战略方向,这么快就被打脸了。

大东:这6亿用户的密码,除了Facebook员工以外的人是无法看到的。

小白:有说服力吗?你觉得我们会买账吗?

大东:确实,Facebook内部员工能看到这些密码也是一个重大的安全漏洞。

二、明文存储

小白:什么是明文存储呢?

大东:明文存储就是在保存时为明文的密码。具体是指保存密码或网络传送密码的时候,用的是没有隐藏、直接显示的明文字符,而不是经过加密后的密文。

小白:可以再解释的通俗易懂些吗?

大东:那举个例子吧,如密码为123,那么密文密码是,明文密码则是123。

小白:明白。从信息安全的角度出发,任何网络服务都不应该保存或发送明文密码。

大东:其实这种现象很多,不仅仅Facebook有这样的漏洞。在2013年的时候,就有研究人员发现,Chrome的缓存机制通常会在你不知情或者未征求你同意的情况下在你的硬盘里明文存储名字、邮箱地址、住址、手机号码、银行账号、社保号码、信用卡号等个人数据。

Chrome浏览器

小白:这会使得能够访问你的电脑的人可以轻松看到或者复制所有的这些敏感个人数据。

大东:谷歌Chrome默认存储网页格式数据,包括在安全网站上输入的数据,以便在数据以后使用时自动给出提示。被存储的数据属于未加密的文本,如果你的电脑或者硬盘被窃取或者感染恶意软件,就可以被直接获取。

小白:看来我需要定期清理Chrome缓存来保护个人隐私。

大东:Facebook原本应该通过哈希算法并加盐,甚至包括使用scrypt算法及加密密钥来隐藏用户密码的,却由于“一连串失当的行为”,让某些员工撰写的命令行,可记录用户未经加密处理的密码,并让这些数据以明文格式存储。

小白:(舔嘴)加盐?做饭呢?我饿了。。。

大东:想什么呢,加盐加密是一种对系统登录口令的加密方式,它实现的方式是将每一个口令同一个叫做”盐“(salt)的n位随机数相关联。

小白:嘿嘿,原来是这个意思。

大东:这批数据虽然尚未外泄,而且迄今也没有证据显示内部有人滥用或不当访问,但这反应出来的信息安全问题必须重视。

小白:那企业该如何对用户的密码加密存储呢?

大东:问的好,今天我们专门请到了360安全专家杨卿来给你解答这个问题。

小白:(鼓掌)哇,黑客男神!

三、专家如是说

杨卿:企业对于用户密码如何加密存储,可以参考Dropbox的三层加密机制。

小白:哪三层呢?

杨卿:首先,使用sha512,将用户密码归一化为64字节hash值。因为两个原因:一个是Bcrypt算法对输入敏感,如果用户输入的密码较长,可能导致Bcrypt计算过慢从而影响响应时间;另一个是有些Bcrypt算法的实现会将长输入直接截断为72字节,从信息论的角度讲,这导致用户信息的熵变小。

小白:听上去就好高级。

杨卿:然后使用Bcrypt算法。选择Bcrypt的原因,是Dropbox的工程师对这个算法更熟悉调优更有经验,参数选择的标准,是Dropbox的线上API服务器可以在100ms左右的时间可计算出结果。另外,关于Bcrypt和Scrypt哪个算法更优,密码学家也没有定论。同时,Dropbox也在关注密码hash算法新秀Argon2,并表示会在合适的时机引入。

小白:第三层呢?

杨卿:最后使用AES加密。因为Bcrypt不是完美的算法,所以Dropbox使用AES和全局密钥进一步降低密码被破解的风险,为了防止密钥泄露,Dropbox采用了专用的密钥保存硬件。Dropbox还提到了最后使用AES加密的另一个好处,即密钥可定时更换,以降低用户信息/密钥泄露带来的风险。

小白:企业加密存储对用户密码的安全性是一种保障,但相比于企业我还是更关心对于个人用户,我们该如何保护我们的密码安全呢?

杨卿:我们个人用户在使用互联网时首先要建立自己的密码复杂体系,建议分为三级,分成与个人隐私信息和财产有关的核心密码(用于各类网银,社保等网络平台),与个人常用信息有关的一般密码(用于各类信息,新闻等阅读平台),及用于日常账号注册且和上两级密码完全无关的无意义密码(用于一些日常各类商户的用户注册平台,这类密码机制也正在被一次性手机验证码取代)。

小白:受教了,感谢杨卿专家给出的这么专业性的建议。

四、安全风险须知

小白:说了这么多,如果这些系统的账户密码明文存储被泄露的话,会有什么风险呢?

大东:黑客可以进行拖库、撞库、洗库一系列操作,形成一个黑色产业链。

小白:一个个解释一下吧。

大东:拖库,本来是数据库领域的专用语,指从数据库中导出数据。而现在它被用来指网站遭到入侵后,黑客窃取数据库的行为。

小白:那撞库呢?

大东:撞库就是使用大量的一个网站的账号密码,去另一个网站尝试登陆。

小白:黑客拿着你的这些密码去试你的其他账户,加密过的密码也可以吗?

大东:当然,数据都能拖拽出来,你密码还能解不开?

小白:那明文密码岂不是更方便了黑客。

大东:没错。洗库是黑客入侵网站在取得大量的用户数据之后,通过一系列的技术手段和黑色产业链将有价值的用户数据变现。

小白:还真的是一条龙“服务”。

黑色产业链

大东:所以你要记住杨卿专家给出的专业性建议,对密码隐私信息要有保护意识。

小白:必须牢牢记住,不说了,我要赶紧修改密码去了

评论
科普633c2bb156eb9
进士级
已阅
2023-10-17
汨罗镇徐志雄
少师级
已阅
2023-09-29
汨罗镇徐志雄
少师级
已阅
2023-09-29