速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

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:362522
用户头像
万佳 前InfoQ编辑

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

关注

评论

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

【CSS】波纹效果

德育处主任

CSS小技巧 28天写作 纯CSS

个人信息严控的时代,AI如何实现“安全”的智能营销?

星环科技

大数据

深扒!用6部分讲完Java性能调优:多线程+设计模式+数据库

996小迁

数据库 JVM 设计模式 多线程 性能调优

甲方日常 91

句子

工作 随笔杂谈 日常

【Android Tips】小厂的扫码还能怎么做?

李小四

机器学习 二维码 扫码 微信扫码

Elasticsearch 批量查询 mget

escray

elastic 七日更 28天写作 死磕Elasticsearch 60天通过Elastic认证考试

阿里巴巴正式推出2021年金三银四1000道Java工程师面试题手册(含答案)

Java架构追梦

Java 阿里巴巴 面试 架构师 金三银四

安卓驱动开发!系统盘点Android开发者必须掌握的知识点,搞懂这些直接来阿里入职

欢喜学安卓

android 程序员 面试 移动开发

【Mysql-InnoDB 系列】幻读、死锁与事务调度

程序员架构进阶

MySQL 架构 innodb 事务 28天写作

「产品经理训练营」第三章作业

Sòrγy_じò ぴé

产品经理训练营 极客大学产品经理训练营 产品训练营

IDEA 异常退出 解决方法

任广印

IDEA

Vue 3自定义指令开发

葡萄城技术团队

灵雀云Kube-OVN进入CNCF沙箱,成为CNCF首个容器网络项目

York

灵雀云 Kubernetes Kube-OVN

【CSS】不规则阴影

德育处主任

css3 html/css CSS小技巧 28天写作 纯CSS

android开发面试准备!Android高级工程师进阶学习,已开源

欢喜学安卓

android 程序员 面试 移动开发

IntelliJ IDEA 20周岁啦,为期2天的周年庆活动对开发者免费开放

YourBatman

eclipse ide IDEA IntelliJ IDEA

《论雨伞道德》- 不要和自己的良心捉迷藏

石云升

读书笔记 28天写作 雨伞道德

Maintainer 聚光灯:KubeEdge 和 Volcano 的王泽锋

华为云原生团队

开源 边缘计算 华为云 批量计算

即构SDK新增焦点语音功能,可实现特定用户语音的聚焦

ZEGO即构

try-catch-finally中的4个大坑,不小心就栽进去了!

王磊

Java 异常处理 try finally

为什么这么一道iOS小题目,这么多面试者搞不定?

Geek_24a3d9

面试 技术交流 ios开发

Flink + Iceberg 全场景实时数仓的建设实践

Apache Flink

flink

百度信息流和搜索业务中的弹性近线计算探索与应用 | 文末送福利

百度Geek说

Java 大前端 算法工程师 技术宅

前端知识总结输出文章目录大全

梁龙先森

JavaScript 大前端 编程语言 28天写作

[高并发]高并发分布式锁架构大解密,不是所有的锁都是分布式锁!!

Geek_0o5u34

不明白线程池?那看看这篇,附10道面试题

田维常

线程池

十年运维经验总结出的智能运维系统落地方案

小术晓术

人工智能 运维 企业信息化 运维自动化 信息化

IDEA Malformed argument has embedded quote

会飞的猪

IDEA

高阶段位机房管理:3D集装箱数据中心,触发科技“火苗”的燃烧

一只数据鲸鱼

数据可视化 3D可视化 机房管理 数据中心可视化 集装箱式数据中心

Android JNI模板与读取系统属性笔记

Changing Lin

android

程序员必知的几种限流方案

Java架构师迁哥

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