Stack Overflow泄露用户电子邮件信息

作为全球最知名的开发者问答网站,Stack Overflow发生信息泄露事件,涉及大多数用户。

2月23日,一位名叫Gajus Kuizinas的开发者在Medium上披露,Stack Overflow用户的电子邮件信息被泄露。

据了解,Gajus Kuizinas正在为开发者服务工具GitSpo开发一个“Google Alerts”。他写道,“虽然我没彻底搞清楚它是什么,但是GitSpo增长迅速,并受到开发者们的欢迎。”具体说来,GitSpo从不同的社交网络收集数据,比如Twitter、LinkedIn、Stack Overflow和GitHub等。一旦有开源项目在一些网站被提及,比如Twitter、Reddit和Hacker News,GitSpo就会给开发者发送提醒。

在这个事情推进过程中,Gajus Kuizinas注意到一件事:Stack Overflow默认用户配置文件正使用Gravatar。

作为一项在全球范围内使用的头像服务,Gravatar允许你将头像和电子邮件相关联。只要你在Gravatar的服务器上传自己的头像,那你到任何一个支持Gravatar的网站留言时,这个网站都会根据你提供的电子邮件地址为你显示匹配的头像。

通过对用户的电子邮件进行哈希处理,它能找到用户头像,比如Gajus Kuizinas的电子邮件地址是gajus@gajus.com,任何知道这个电子邮件的人都可以生成一个Gravatar URL,然后加载Gajus Kuizinas的头像。

如下图所示(Gravatar URL):

据了解,这项服务于2007年推出,并在某种程度上快速增长,因为它是WordPress站点留下评论的默认头像。这个主意非常聪明,仅上传一次头像,你就可以在许多地方使用。

一旦更新你的Gravatar,你的头像就会在所有网站获得更新。

Gajus Kuizinas指出,不幸的是,它们选择的哈希算法(MD5)并不是特别安全。早在1996年以后,MD5就被证实存在弱点,可以被破解。2004年,证实MD5算法无法防止碰撞,因此不适用于安全性认证。

MD5算法会通过哈希处理电子邮件,最后生成Gravatar图像,比如md5(‘gajus@gajus.com’) === ‘74a5bd659b3a8af09a336a932eebe3b1’。Gajus Kuizinas认为,即使在那时,使用MD5来散列private data依然是个糟糕的选择。现在,有包含超过90万亿个哈希值的MD5数据库。

为验证问题,Gajus Kuizinas进行了一场实验。他选择1000个Stack Overflow配置文件的哈希值,并使用一种MD5"解密“服务,结果该服务成功分析出721封电子邮件,成功率高达72%。

Gajus Kuizinas评论,“然而,有趣的用例不是获取电子邮件。众所周知,很多开发者的电子邮件地址是半公开的,比如可以从GitHub上找到开发者的电子邮件地址。由于GitSpo拥有所有公共GitHub用户和存储库的索引,因此我能添加关联的电子邮件地址,对其进行哈希处理,并与Stack Overflow匹配,最后成功找到1000个。“

而更严重的问题在于,Stack Overflow不是唯一使用Gravatar服务的网站,还有一些其他知名网站,比如WordPress、HootSuite、TechDirt和Disqus等。

最后,作者提醒,最好不要依赖Gravatar作为新用户加入系统的服务。

参考文章:

Stack Overflow is leaking user emails

  • 发表于:
  • 本文为 InfoQ 中文站特供稿件
  • 首发地址https://www.infoq.cn/article/RjFF6YBx7ak61sFHa0RW
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券