利用CSS mix-blend-mode在firefox和chrome中获取Facebook用户信息

CSS-mix-blend-mode-attack.png

概述

最近,层叠样式表(CSS)的Web标准中又增加了一些新的功能,这些功能是如此强大,以至于安全研究人员可以滥用这些功能,对演示站点的访问者实施去匿名化攻击,从而暴露他们的Facebook用户名、头像以及是否喜欢特定的Facebook页面。

通过这种攻击泄露的信息,可以帮助某些广告商将IP地址或广告资料与现实生活中的人对应起来,从而对用户的在线隐私构成严重威胁。

该漏洞的影响范围并不仅限于Facebook,而是所有允许通过iframe将其内容嵌入其他网页的网站。

漏洞存在于浏览器中,而非网站中

实际上,该漏洞的根本原因,不在于网站,而在于浏览器对名为"mix-blend-mode"的CSS特性的实现,该特性是于2016年引入CSS3 web标准的。

mix-blend-mode特性允许Web开发人员将Web组件叠放在一起,并控制其混合效果。

正如该特性的名称所暗示的那样,这些效果是受Photoshop、Gimp、Paint.net等照片编辑软件中的混合模式的启发而来的。其中,常见的混合模式为叠加、变暗、变亮、颜色减淡、正片叠底、反转等。

CSS3的mix-blend-mode特性支持16种混合模式,其中Chrome浏览器(自从v49版本开始)和Firefox浏览器(自从v59版本开始)对这些模式提供了全面的支持,而Safari浏览器则只提供了部分支持(从macOs系统上的v11版本和从iOS系统上的v10.3版本开始)。

研究人员使用DIV堆叠来重建iframe内容

在今天发布的研究报告中,谷歌安全工程师Ruslan Habalov与安全研究员 Dario Weißer一起曝光了攻击者是如何滥用CSS3的mix-blend-mode特性通过其他站点来泄漏用户信息的。

这个漏洞的局限性在于,攻击者必须设法诱导用户访问一个恶意网站,然后在恶意网站里面嵌入iframe来加载其他网站。在上面提及的两位研究人员给出的示例中,虽然两个嵌入的iframe加载的都是Facebook的页面,但其他网站也容易受到这个安全问题的影响。

具体攻击手法为,在iframe之上叠加大量的DIV层,并且每一层都使用不同的混合模式。实际上,每一层只是一个1x1像素的图片,换句话说,每一层只能覆盖iframe的一个像素。

Habalov和Weißer表示,根据渲染所有DIV堆栈所需的时间,攻击者可以确定用户屏幕上显示的像素颜色。

研究人员说,通过逐一将这种DIV“扫描”层放到iframe上面,“就可以确定iframe的内容。”

正常情况下,攻击者是无法访问这些iframe的数据的,这主要得益于浏览器和允许其内容通过iframe进行加载的远程站点中实现的反点击劫持和其他安全措施的限制。

两个令人印象深刻的演示示例

通过两个在线发布的演示示例(这里这里),研究人员能够获取用户的Facebook名称、低分辨率版本头像以及喜欢的站点。

对于现实中的攻击来说,获取用户名只需20秒左右;而500毫秒足以用来检查用户对所有页面的喜欢/不喜欢状态;如果花上20分钟左右的时间的话,就可以获取Facebook用户的头像。

这种攻击很容易实现隐身,因为iframe可以轻松移出屏幕,或隐藏在其他元素下面(请参阅下面的演示gif动画演示,这里的攻击是以猫照片为掩护的)。 此外,通过让用户完成某些在线测试或阅读一篇长文,诱骗用户在网站上驻留几分钟并非难事。

适用于Chrome和Firefox的修复程序

Google和Mozilla的工程师在收到研究人员的漏洞报告后,已经为Chrome 63和Firefox 60修复了这个安全漏洞。

“这个安全问题是通过向量化混合模式计算来解决的,”据Habalov和Weißer称。由于Safari浏览器的混合模式操作已经被矢量化,所以,Safari的CSS3 mix-blend-mode特性实现不会受到该漏洞的影响。

除此之外,另一位名叫Max May的研究人员也独立发现了该漏洞,并于2017年3月向Google提交了相应的报告。

如果演示网站打不开,可以通过此地址下载源码。
如果本篇文章对你有帮助,麻烦给个star
原文链接
如果喜欢本文的话,欢迎关注我的订阅号,前端玩法,期待未来共同学习成长。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,372评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,368评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,415评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,157评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,171评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,125评论 1 297
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,028评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,887评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,310评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,533评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,690评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,411评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,004评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,659评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,812评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,693评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,577评论 2 353

推荐阅读更多精彩内容