前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Safari扩展

Safari扩展

作者头像
安恒网络空间安全讲武堂
发布2019-09-29 13:48:45
1.6K0
发布2019-09-29 13:48:45
举报
文章被收录于专栏:安恒网络空间安全讲武堂

前言

本系列文章分两部分,介绍macOS浏览器扩展背后的技术,以及恶意插件如何窃取密码、银行细节和其他敏感用户数据。

浏览器扩展是用户能够对安全系统进行最容易的第三方修改之一,但也可能是最危险的修改之一。许多用户把扩展看成是小小的“applet”,它们在上网时提供一些简单但有用的额外功能——阻止广告内容、允许标记、填写表单字段等等——而没有意识到这些扩展被赋予了多么巨大的力量。

在这两篇文章的第一篇中,我们将研究Safari浏览器扩展到包括macOS 10.13的安全含义,并研究广告软件活动中使用的特定浏览器扩展的情况。在第二部分中,我们将介绍如何在macOS 10.14Mojave中更改Safari扩展的安全性,以解决其中的一些问题。

安全漏洞

虽然这里的重点自然会放在提高对坏行为者如何通过浏览器扩展利用用户的意识上,但是让我们首先指出即使使用来自声誉良好且意图良好的开发人员的扩展,也会涉及的安全隐患。

DuckDuckGo今年早些时候主动向用户提供浏览器扩展以阻止广告和其他跟踪内容,这是一个很好的起点。从可信的开发人员那里这是个好主意,但是扩展有一个致命的问题:安装它的用户授予的扩展特权远远超出了它的需要,而这本身就是一个安全问题:

该扩展声称在用户数据“搜索和浏览网页”时保护用户数据,这似乎受到了一些破坏,因为诸如密码之类的敏感数据可能暴露给扩展本身。

不幸的是,这种特权被授予不需要它们的扩展并不罕见。正如Apple的开发者文档所邀请的那样,扩展可以做一些事情,比如将产品评级和评论注入网站,将广告注入网页,下载和注入脚本以及修改网页内容。它们可以在没有用户明确许可的情况下发送通知,并且可以在后台不可见地运行。

这个能力列表听起来像是恶意软件开发人员的梦寐以求的利用工具,尤其如此,因为在Safari扩展中存在几个安全漏洞,这些漏洞可能是恶意开发人员故意利用的,或者是不经意间被恶意开发人员打开的。

扩展不需要包括它们直接在自己的包中使用的脚本;它们可以通过http远程源码它们。如果开发人员不使用安全https协议,则会打开中间人攻击的可能性,从而插入恶意脚本来代替预期的脚本。

它还意味着,坏参与者可以开发恶意扩展,在安装该扩展之后,只需更改通过http(或http s)请求调用的脚本的内容,就可以改变其扩展的行为。

扩展还应该尊重私有浏览,但似乎这要由开发人员来实现。苹果文档只建议:

当处于私有浏览模式时,您的扩展不应该存储关于用户操作的任何信息。

可以通过查询选项卡对象的私有属性(例如,safari.application.activeBrowser..activeTab..)来检查特定选项卡是否处于私有浏览模式。

这是一个相当多的行为目录,足以吸引任何黑帽,难怪像Genieo和Spigot这样的“坏”扩展已经成为广告软件开发者的主要工具之一。正如我们将在下一节中看到的,扩展甚至可以防止用户在没有首先删除相关应用程序的情况下卸载它,并且为诱骗用户进一步危害他们自己的系统提供了成熟的机会。

皮包案的有趣案例

我们最近观察到一个名为“Pitchofcase”的Safari广告软件扩展,它展示了一些有趣的行为。

乍看之下,Pitchofcase就像任何其他的广告软件扩展一样:当启用Pitchofcase时,它会重定向用户在登录pitchofcase.com之前通过几个付费点击地址进行搜索。

代码语言:javascript
复制
http://searchv.oliverto.com/?b598a1d361f67b08aeee82e41686cd1a=FVNQWlVbFAAeXFNRWAFUV1dXV1gBUl9TUFBKQFwLUQFWWwAADAADXF9QUQxQVgNYVAUKU1VXWwFRDFRbB0EE&spt=ext&q=tagSearchQuery

扩展在后台隐形地运行,没有工具栏按钮或任何其他与之交互的手段。

在上面的图像中,注意权限的扩展。值得指出的是,在不提升特权的情况下获得这些权限,并且只需要用户从每个扩展都出现的同一用户警报中单击“信任”,而不管其权限如何:

假设警报包含概括结果的信息性文本,但不幸的是,通过Safari,macOS允许这种级别的特权而不需要密码验证。

当我们试图卸载它时,PtChoFox开始变得有趣起来。单击“卸载”按钮不会像预期的那样删除扩展,而是引发以下警报:

这是不寻常的,但不是闻所未闻的。一些信誉良好的应用程序以同样的方式对用户进行特定的扩展(例如,Parallels Desktop,它坚持在Safari中安装'Internet Explorer'Open)。用户可以毫无问题地禁用扩展,但是删除它需要删除父应用程序。

点击'Show in Finder'可以显示应用程序的位置,还有一个卸载程序:

此时,关注安全性的用户可能对查看Pitchofcase.app、Safari扩展和VirusTotal上的卸载程序如何收费感兴趣。应用程序是“干净”的,但卸载程序会发出警报铃声:

由于我们的主要主题是Safari扩展,因此我们不会深入研究卸载程序要做什么,除了说明对代码的检查显示它显然对安装持久性代理更感兴趣:

并过滤用户的浏览器历史:

而不是做卸载的工作。

但是,使用卸载程序作为感染代理是一个聪明的技巧,它与不能在不删除应用程序的情况下删除扩展相吻合。正如我们将看到的,扩展本身是相对无害的,并且看起来只是让用户运行卸载程序的一个诡计。

在狩猎区延伸

Safari扩展本身对VT提出了一些警告,但是这些都是无关紧要的,因为它的“干净”应用程序正在安装扩展。让我们看看扩展的内部并检查它的行为。

Safari扩展只是压缩文件,因此为了查看其中的文件,我们需要做的第一件事情是找出它在文件命令中使用了哪种压缩:

在这种情况下,它是XAR格式。知道我们现在可以重命名文件并解压缩它:

Gualal.HTML文件是我们的第一站。在Safari Extension架构中,该文件是可选的,但是当包含该文件时,它是加载一次性资源(如注入脚本使用的逻辑或数据)的地方。

在这种情况下,我们可以清楚地看到目的:

在我们下一站中,Info.plist清楚地表明,扩展也希望看到安全页面:

虽然这可能与此有关,但是关于扩展的内容,最值得注意的是缺少通常打包到这些浏览器插件中的任何常见资产。这里没有专用的JS跟踪器脚本或帮助函数,也不试图通过eval方法执行恶意代码。与大多数扩展(合法和非法的)相比,Pitchofcase不典型地简洁。

这又让我们回到为了卸载扩展而删除应用程序的需求,以及卸载器的报警功能。Pitchofcase显然是一个经过深思熟虑的技巧:安装一个稍微烦人但基本上无用的扩展,然后诱骗用户运行恶意卸载程序以便删除它。

安全卸货

对于在Safari中单击“卸载”按钮后严格遵循对话框警告文本的用户来说,这里有个好消息。确实,删除扩展的唯一方法是删除相关的应用程序,但是删除并不意味着卸载。

用户应该忽略所提供的Uninstaller.app,简单地将Pitchofcase.app和所有其他组件(包括卸载器)直接移动到垃圾箱。这样做之后,扩展也被删除。

开发人员,不同寻常地,聪明地,指望着抓住那些遵循经常重复的建议的用户,他们总是在使用开发人员的卸载程序来删除应用程序。在处理来自可信的开发人员的复杂安装时,这通常是一个好的实践。在PotfFox的情况下,这是一个狡猾的道奇企图窃取您的数据。

下一个…

在第2部分中,我们将继续探讨在10.14Mojave中macOS扩展是如何变化的,以及用户在将它们添加到Safari浏览器的最新版本时需要了解如何保持安全。

原文链接:https://www.sentinelone.com/blog/inside-safari-extensions-malware-golden-key-user-data/

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-03-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 恒星EDU 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 安全漏洞
  • 皮包案的有趣案例
  • 在狩猎区延伸
  • 安全卸货
  • 下一个…
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档