趋势macOS全家桶隐私窃取分析

0x0 概述

2018.9.10,网络曝光趋势科技做的 Mac 解压缩软件会上传用户浏览器历史记录,相关资料参考:

Additional Mac App Store apps caught stealing and uploading browser history

Get rid of Open Any Files: RAR Support

A Deceitful ‘Doctor’ in the Mac App Store

趋势全家桶所有app信息如下:

事件曝光之后,相关产品已经从appstore下架,只剩两个wifi相关app:

好在此前已经安装过部分相关应用,故借此对其分析验证

 

0x1 隐私&隐私政策

0x11 情况汇总

最终分析结果汇总如下:0x12 部分隐私获取方式

趋势全家桶系列app在初次运行时都会显示相关隐私政策,并要求申请相关资源访问权限,当用户允许后即可通过sandbox相关接口来访问相关隐私数据,获取方式如下:

隐私 获取方式&路径
Safari历史记录 Library/Safari/History.db
Chrome历史记录 Library/Application Support/Google/Chrome
Firefox历史记录 Library/Application Support/Firefox/Profiles/%@/places.sqlite
AppStore历史记录 Library/Containers/com.apple.appstore/Data/Library/Caches/com.apple.appstore/WebKitCache/Version 11/Blobs
装机列表 /usr/sbin/system_profiler -xml SPApplicationsDataType

0x13 趋势产品隐私策略

以下为趋势的产品隐私策略

Privacy Policy for Trend Micro Products and Services (Effective March 2018)

激活产品时会获取的信息,都是比较常规数据

部分服务所需的数据,其实比较敏感的有访问过的URL、域名、IP等信息,和可疑邮件的收发件人及附件等,当然具体都需要看实际产品功能来判断

 

0x2 详细分析

0x21 Dr.Unarchiver

Dr.Unarchiver产品信息如下:

通过抓包分析实际并未发现上传隐私:

然而程序代码中却明确出现Firefox、Chrome、Safari等浏览器记录数据库文件目录字符串:

通过字符串跳入代码,即读取浏览器隐私的部分代码,以下为读取chrome记录:
读取Safari历史记录:

Dr.Unarchiver里读取隐私部分主要位于-[DACollector *]模块中,从模块命名可以发现,除了3个浏览器记录,同时还读取了AppStore历史记录、设备装机列表、用户信息等。

获取设备装机列表方式通过执行“/usr/sbin/system_profiler -xml SPApplicationsDataType“指令来完成:

该指令执行后获取数据如下,包含了app的安装时间、路径、证书等信息:

另外比较有意思的地方为,程序中还有照片库的字符串及相关代码

获取隐私后上传地址如下:

趋势官网Dr. Unarchiver产品说明里明确说明会读取浏览器记录:

Dr. Unarchiver for Mac Data Collection Notice

0x22 Dr. Antivirus

下图为Dr. Antivirus界面:

Dr. Antivirus中获取信息模块与Dr. Unarchiver完全一样:

但相对的,多出了post回传模块,不过Dr. Antivirus作为反病毒软件,回传装机列表也属于正常行为:

通过动态抓包,可以确定Dr. Antivirus会回传设备装机列表:

另外会上传一个“file.zip“包,回传路径与Dr. Unarchiver分析一致:

从上传的数据包中提取出“file.zip”文件,发现已经加密:

分析该部分代码,发现使用密钥为“novirus”

解密后可以看见都是获取的浏览器记录和app列表等信息:

如下图为chrome浏览器记录:
其实甚至还单独筛出了google搜索记录:

下图为趋势官网Dr. Antivirus产品说明,里面明确申明会读取app安装历史记录、当前装机列表、浏览器记录等隐私,作为反病毒软件读取app列表能理解,但回传浏览器记录、搜索记录等隐私就过了。

Dr. Antivirus Data Collection NoticeA

0x23 DrCleaner

DrCleaner界面如下:

DrCleaner获取隐私信息模块名与之前二者有所不同,但获取的隐私、方法名、代码基本一样:

DrCleaner同样使用“novirus”作为zip包加密密钥:

下图为趋势官网Dr. Cleaner产品说明,里面明确申明会读取浏览器记录等隐私

[Dr. Cleaner Data Collection Disclosure]https://esupport.trendmicro.com/en-us/home/pages/technical-support/1119854.aspx

0x24 DrBattery

DrBattery初次运行会要求访问用户主目录(其他程序初次运行也都会申请相关访问权限):

DrBattery中有着与DrCleaner完全一样命名方式的隐私获取模块:

下图为趋势官网DrBattery产品说明,里面明确申明会读取浏览器记录等隐私

Dr. Battery Data Collection Notice

0x25 AppManager

AppManager即App Uninstall初次运行要求申请相关访问权限,该应用中未发现相关隐私获取代码:

下图为趋势官网App Uninstall产品说明,里面未申明会读取浏览器等相关隐私

App Uninstall Data Collection Notice

0x26 测网速大师Dr. WiFi

测网速大师Dr. WiFi运行界面,该app中未发现相关隐私获取代码:

下图为趋势官网Dr. WiFi产品说明,里面未申明会读取浏览器等相关隐私

Dr. WiFi Data Collection Disclosure

0x27 家庭网络卫士Network Scanner

家庭网络卫士Network Scanner初次运行显示的隐私政策及要求申请相关访问权限,该应用中未发现相关隐私获取代码:

下图为趋势官网Network Scanner产品说明,里面未申明会读取浏览器等相关隐私

HouseCall for Home Networks (for Windows & Mac) v1.1.7 Data Collection Notice

 

0x3 小结

趋势全家桶还有少数几个app并未获取到,但从以上内容基本可以确定其确实有窃取用户浏览器记录、搜索记录、装机列表等隐私的行为,虽然其在隐私政策申明了相关信息(但真有用户会去仔细阅读么)

而在A Deceitful ‘Doctor’ in the Mac App Store一文中,分析的应用为“Adware Doctor”,与本文趋势全家桶并非同一证书:

但二者却有诸多相同点,如获取隐私的方法名及相关代码:

通过sandbox接口访问数据部分模块,其类名、方法名、相关代码也基本一致,故推断二者可能为同一开发者(趋势的临时工?)

在溯源过程中通常会参考绝对路径里的username,但这些app中均只有“autobuild”和“jenkinsbuld”两个id,开发者对自我有一定的隐藏意识:

Jenkins更有可能为开发者使用下图中集成工具时起的id

(完)