发布在即!企业 AIGC 应用程度测评,3 步定制专属评估报告。抢首批测评权益>>> 了解详情
写点什么

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

  • 2020-02-24
  • 本文字数:1224 字

    阅读完需:约 4 分钟

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


2020-02-24 15:362361
用户头像
万佳 前InfoQ编辑

发布了 677 篇内容, 共 333.3 次阅读, 收获喜欢 1794 次。

关注

评论

发布
暂无评论
发现更多内容

系统服务构建-BFF 助力前后端分离

图南日晟

php 微服务 BFF

Jenkins:批量自动将 Maven 类型 Job 迁移到自由风格类型

donghui

jenkins

从40万美元创业到执掌5500亿美元的帝国,聊聊《苏世民:我的经验与教训》这本书

万佳

读书笔记 商业 苏世民 金融 企业管理

力扣刷题盛行,风气由何而来?

南湾小猪

刷题

Java 简介

编号94530

Java jdk java简介 jdk8

【写作群星榜】本周写作平台优秀作者&文章排名

InfoQ写作社区官方

写作平台 排行榜 热门活动

回“疫”录(23):如果岁月可回头

小天同学

疫情 个人成长 回忆录 现实纪录 纪实

突然的自我

月白

自我思考

Dubbo - 初识Apache Dubbo

Java收录阁

dubbo

系统化服务构建-调用链管理

图南日晟

微服务 全链路监控 链路追踪

现代生活对我们大脑的危害

董一凡

生活质量

Android | Tangram动态页面之路(七)硬核的Virtualview

哈利迪

android

G-P-M 调度模型深度解析之手撸一个高性能 goroutine 池

潘建锋

并发编程 协程 Go 语言

乙己说:LFU实现思路整理

再见小飞侠

缓存 LeetCode

写给管理者的睡前故事

石云升

读书笔记 故事 管理者

用 R 语言打个印咋就这么费事儿呢

张利东

可视化 R

真香!谷歌终与美国国防部合作,签署百万美金云服务合同

神经星星

云计算 互联网巨头 互联网 谷歌Google

【有奖调研】大数据与人工智能从业者有奖需求用研

Apache Flink

大数据 flink 流计算 实时计算

一文读懂Java注解

JFound

Java

如何为一家移动游戏公司制定产品策略(严肃长文)

谢锐 | Frozen

游戏出海 手机游戏

谈谈控制感(8):元控制感

史方远

职场 心理 成长

unittest框架

Flychen

Python 自动化测试 unittest

自我革新最难的是革自己的命

史方远

职场 成长

【Howe 学 JAVA】断点续传原理精析及简单实现

Howe

Java 断点续传

SpringCloud之服务提供者与消费者

北漂码农有话说

2020年4月北京BGP机房网络质量评测报告

博睿数据

运维 服务器 机房 数据中心 评测

投机者

Neco.W

投机 口罩 头盔 投机者

工厂模式——这一篇真够了

大头星

Java 架构 面试 设计模式 工厂模式

学会独立思考的前提

fahsa

自我提升

Android与JS的交互:JsBridge的简单使用

AR7

Java android

职场提问的“唐太宗”原则

大伟

Stack Overflow泄露用户电子邮件信息_安全_万佳_InfoQ精选文章