逼3.3亿用户改密码的漏洞长啥样儿?
小辣椒今天登陆 Twitter 的时候,跳出来这么一条信息。
难道说,我的密码未经加密处理就被 Twitter 赤果果的记录下来了?那 Twitter 不是知道我的账户密码了么?
随后,Twitter 密码存储出现 bug 的新闻果然迅速传开。
各大网站对此事件的报道
“ 重大安全漏洞 ”、“ 3.3亿用户 ”,事情被各大新闻媒体形容的还真挺严重的。。。很容易就让人忽视了 Twitter 官方消息的后半部分 —— bug 已经被修复,且目前没有查出泄露、盗用的迹象。
不过这次到底是个什么 bug ?真的会让用户的密码被轻易查看到么?
这要从事件的起因说起 —— 密码储存。
现在的科技互联网公司,用户量动不动就过亿,储存每一个用户的密码,并且不把他们相互混淆可不是件容易事,而 哈希算法( Hashing,又称散列算法 )能近乎完美的解决这些风险。
听上去高大上,其实一点不复杂!
哈希算法里有几个关键的组成部分:Key( 密匙 )、Value( 存储信息 )、Table( 检索表 )、Index( 编号 )。
我们把整个验证登录的过程想象成去银行取钱的步骤就很好理解了。
登录密码( 即 Value )就是用户的存款,这些钱随时可能被用户要求核实,并且不能被搞混。
而我们的登录密码( 即 Value )被算法加密后,会被存储到一个类似于保险柜的地方,这个保险柜就被称为哈希检索表 ( Hash Table ),每个保险柜都会用数字进行编码 ( 即 Index )。
唯一不同的地方在于,因为被加密过,所以 “ 银行 ” 并不知道用户 “ 存款 ” ( 即 Value )的具体情况。
这就是为什么在我们注册账户时,需要用独一无二的用户名、或者注册邮箱、电话号码。
这些独一无二的注册信息就是我们的 Key,只有有了这个 Key 我们才有权利进到自己的保险柜。
密码验证流程
但因为经过了加密, 所以存储的密码具体是什么并不会被系统记录,验证时更多的是验证吻合度。
在哈希算法里,密码经过加密后,会变成一个 Hash
但 Hash 是无法逆向变回密码的,所以系统并不知道用户的密码具体是什么
用户在登录时,系统只需要验证被输入的 Hash 是否和保险柜中的 Hash 吻合就可以了
这也是为什么,我们在忘记密码后,系统并不能提供原密码给我们,因为系统也不知道密码到底是什么。
系统能做的只有提供一些列验证方法,先通过 Key 验证出你就是账户的拥有者,然后让你重置密码。把保险柜里的东西全部都换咯。
以 QQ 邮箱的找回方式为例
因为运用了加密算法,每个用户的保险柜内部情况系统都无法获取。也就是说,每个用户的登录密码都是受到保护的,连系统都不知道。
但这次 Twitter 的事件中,很有可能是保险柜里出了问题,所有保险柜里的密码情况都被直接、未加密的写进了系统编程日志中,只要日志被黑,密码就处于没有保护的状态,随时被黑客获取。
说白了,还真是你的密码真的会被直接看到。
这问题就很特么严重了。。。不过好在,官方说并没有发生安全问题。就好比一个人裸体梦游,突然惊醒发现自己没有穿衣服,不幸中的万幸是,没有任何人看到他裸过。。。
不过话说回来,遇到这种比较容易引起用户恐慌,并且已经得到解决的 bug,有些公司会当什么都没发生悄咪咪的混过去。
Twitter 这次不但没隐瞒,还出来自曝,不管是不是被最近 Facebook 的事情搞怕了,在小辣椒看来还真是挺聪明的。。。
“ 希望一切有惊无险 ”
关注公众号:拾黑(shiheibook)了解更多
[广告]赞助链接:
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/
随时掌握互联网精彩
- 1 奋力打开改革发展新天地 7907953
- 2 中国黄金原董事长家搜出大量黄金 7944888
- 3 保时捷断臂求生 7819820
- 4 “冷资源”里的“热经济” 7796094
- 5 女子过马路遭压路机辗压身亡 7645056
- 6 刘强东提前发年终奖 7549665
- 7 向佐红毯小牌大耍 7440813
- 8 喝水后有4种表现提示肾有问题 7351560
- 9 十来岁男孩尾随女孩进电梯脱裤子 7205626
- 10 飞机锁座越来越多 7175619