明文存储密码,为何连谷歌也无法杜绝这种“蠢事”?

栏目: 编程工具 · 发布时间: 5年前

内容简介:编者按:本文来自微信公众号日前,谷歌公开承认其产品G Suite存在低级安全漏洞。G Suite管理控制台允许管理员为用户重置密码,然而该功能竟然以纯文本的形式明文存储用户的密码而非加密存储,如今该功能已被移除。

编者按:本文来自微信公众号 “锌刻度” (ID:beefix),作者:陈邓新,36氪经授权发布。

1.一些小网站或许数据库会明文存储密码,而知名互联网公司绝无可能,但后者的业务系统颇为复杂,关联功能可能意外隐藏着明文存储漏洞,因此例行安全检测都额外注意这点。
2.尽管大公司多数明文存储漏洞没有造成影响,但也有漏网之鱼,被外界捕捉。
3.明文存储密码漏洞的主要由灯下黑、设计考虑不周、历史遗留、过于自信这四个因素造成的。

日前,谷歌公开承认其产品G Suite存在低级安全漏洞。

G Suite管理控制台允许管理员为用户重置密码,然而该功能竟然以纯文本的形式明文存储用户的密码而非加密存储,如今该功能已被移除。

资料显示,G Suite 是由Gmail、Google文档、 Google云端硬盘等应用组合而成的一个办公套装,全球共有 500 万个机构订阅了该服务,包括 60% 的世界 500 强公司。

“虽然这些密码没有经过哈希加密储存,但它们仍保留 Google 经过安全加密的基础设施中。”Google工程部副总裁 Suzanne Frey安抚用户:“此问题已得到解决,我们没有明确证据表明这些密码遭到了不当访问或滥用。”

然而,明文存储密码这种低级安全漏洞,在谷歌体系内存在了14年未被发现,为何检测不出来?除了谷歌,历史上诸多知名互联网公司都被明文存储密码漏洞困扰过,为何此类漏洞屡禁不绝?

1/ 关联功能可能存在漏洞

低级安全漏洞有许多,网站参数过滤不严导致的跨站漏洞、设计缺陷导致的任意密码重置漏洞与任意支付漏洞、弱口令漏洞、明文存储密码漏洞等。

这其中弱口令漏洞与明文存储密码漏洞被公认为最“愚蠢”的漏洞。

密码不能明文存储,这是最基本的安全常识,经验丰富的 程序员 都明白不能给黑客任何可趁之机,后者会带来隐私泄露的可怕后果。

因此,网站存储用户密码都必须进行加密,譬如张三注册账号时设定密码为“567122cdefe”,后台直接看不到这个密码,而是一串字符。

明文存储密码,为何连谷歌也无法杜绝这种“蠢事”?

倘若用的是MD5加密方式,那么看到的可能是a9541a219863e8aa(16位)

或ad2517b1a9541a219863e8aaff3593ec(36位),这两个字符串还可以进行二次加密,以增强密码的保护强度。

安全措施做足了,哪怕黑客入侵了网站数据库,也不会轻易破解密文从而得到真实的密码,因此明文存储历来为程序设计大忌。

有业内人士告诉记者,一些小网站或许数据库会明文存储密码,而知名互联网公司绝无可能,但后者的业务系统颇为复杂,关联功能可能意外隐藏着明文存储漏洞,因此例行安全检测都额外注意这点。

譬如微软收购的GitHub,就是在2018年例行安全检测中发现一个明文存储漏洞:用户重置密码时安全内部日志记录也同步明文保存了一份。

2/ 隐私泄漏触目惊心

尽管大公司多数明文存储漏洞没有造成影响,但也有漏网之鱼,被外界捕捉。

大名鼎鼎的Facebook内部登录系统曾将6亿用户的密码以明文存储保存,可被Facebook的内部员工搜索、访问。

该漏洞最早可以追溯到2012年,到2019年一共被内部员工访问超过了 900万次,不过Facebook软件工程师Scott Renfro对外表示:“我们在调查中没有发现滥用这些数据的迹象。

然而Facebook公开要求所有用户更改密码则暴露其对泄密事件信心不足。

多方人士指点记者,暗网中流传多份数据文件,就有涉及Facebook的用户隐私数据,2018年10月就有黑客以2.60美元的单价销售Facebook账号的登录信息,涉及5000万用户。

而安全监控公司 4iQ最近表示,暗网出现一份高达 41 GB的数据文件,内含14 亿份以明文形式存储的账号和密码,涉及Facebook、LinkedIn、MySpace、Twitter等多家知名互联网公司。

从泄露的数据来看,123456、123456789、qwerty、password等密码用得较多。

明文存储密码,为何连谷歌也无法杜绝这种“蠢事”?

国内不少互联网公司也在明文存储密码上栽过跟头,最著名的当属2011年的“泄密门”。

2011年12月,CSDN网站备份数据库遭黑客攻击,600万用户的登录名、密码数据被窃取,之后天涯、世纪佳缘、走秀等多家网站的用户数据库也在网上被曝光。

有黑客向记者回忆:“当时第一眼看到从网上下载的天涯、CSDN等原始数据库文件,居然是明文密码,简直惊呆了,怎么会如此草率。”

上亿网站用户的密码曝光后,黑客发动了后续的撞库攻击,获得了更多个人隐私,甚至包括支付敏感数据,影响极其恶劣。

所谓撞库攻击,就是利用用户一个密码走天下的习惯,通过不断尝试登录、企图掌控用户的全部网络痕迹与隐私数据。

“泄密门”风波之后,也时不时有知名网站、APP被证实存在明文存储密码,譬如乌云网曾披露银联手机支付APP的unionpay.db数据库中明文存储了账号和密码。

3/ 四大因素诱发漏洞

明文存储密码漏洞主要由灯下黑、设计考虑不周、历史遗留、过于自信这四个因素造成。

灯下黑

多名安全人士告诉记者,安全测试时如果手尾没有处理干净,也可能留下安全漏洞,出现灯下黑的情况。

譬如GitHub的明文存储密码漏洞出在安全内部日志上,该漏洞也许是某次安全测试时开启了明文日志,而最终忘记去掉该日志所导致的。

因此完成安全测试后,应关闭调试模式并删除正式环境不需要的功能或代码。

设计考虑不周

倘若程序在设计时考虑不周,无意中也会制造漏洞。

譬如Twitter使用一个名为bcrypt的函数对密码进行掩码处理,但在密码被bcrypt函数处理之前以明文形式储存的,这就为直接获取到用户密码留下了“窗口”。

历史遗留

罗马不是一天建成的,知名互联网公司也不是一天长大的,在成长过程中难免遗留各种问题,漏洞也不例外。

时任 CSDN 产品总监范凯曾总结经验教训:“CSDN网站早期使用明文是因为和一个第三方chat程序整合验证带来的,后来的程序员始终未对此进行处理,一直到2009年4月当时的程序员修改了密码保存方式,改成了加密密码。

我 2010年来CSDN上班以后发现CSDN账号的安全性仍存在潜在的问题:虽然密码保存已经修改为加密密码,但老的保存过的明文密码未清理;帐号数据库运行在Windows Server上的SQL Server,仍有被攻击和挂马的潜在危险。”

一名匿名人士也告诉记者,他所在的公司人员流动性较大,早年的程序不太规范,又经过多方修改一度也出过类似的低级安全漏洞,好在后期重塑架构体系,此类问题才得以解决。

历史遗留是颇为棘手的问题,早解决比晚解决好。

过于自信

对公司的安全体系比较信任,而公司安全人员在例行安全检测时又没有做到任何细节不放过,导致一些漏洞时隔多年才被发现。

一名资深程序员向记者透露:“曾为某消费APP设计过活动页面,用户可在该活动页面优惠充值,上线之前请安全部同事检测过,没有发现问题。上线后也一切正常,直到白帽黑客发邮件通知,才知道页面存在1分钱充值任意金额漏洞。”

这四大因素,归根结底就是安全意识淡薄。

电影《蜘蛛侠》有一句经典台词“能力越大,责任越大”,大公司肩负无数用户的信任,须牢牢绷紧安全意识这根弦,才能保护用户的隐私不受侵犯。


以上所述就是小编给大家介绍的《明文存储密码,为何连谷歌也无法杜绝这种“蠢事”?》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Java多线程编程实战指南(设计模式篇)

Java多线程编程实战指南(设计模式篇)

黄文海 / 电子工业出版社 / 2015-10 / 59.00

随着CPU 多核时代的到来,多线程编程在充分利用计算资源、提高软件服务质量方面扮演了越来越重要的角色。而 解决多线程编程中频繁出现的普遍问题可以借鉴设计模式所提供的现成解决方案。然而,多线程编程相关的设计模式书籍多采用C++作为描述语言,且书中所举的例子多与应用开发人员的实际工作相去甚远。《Java多线程编程实战指南(设计模式篇)》采用Java(JDK1.6)语言和UML 为描述语言,并结合作者多......一起来看看 《Java多线程编程实战指南(设计模式篇)》 这本书的介绍吧!

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

MD5 加密
MD5 加密

MD5 加密工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具