macOS/Malware(一)趋势全家桶隐私窃取分析
(赚点零花钱,发在安全客趋势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
注:2018.9.10,趋势随后在blog道歉及相关说明Answers to Your Questions on Our Apps in the Mac App Store
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
注:2018.9.10,趋势随后在blog道歉及相关说明Answers to Your Questions on Our Apps in the Mac App Store
0x1 隐私&隐私政策
0x11 情况汇总
最终分析结果汇总如下:
程序名 | Bundle id | 版本号 | 更新时间 | 涉及隐私 | Mach-O MD5 |
---|---|---|---|---|---|
AppManager(App Unistall) | com.trendmicro.appuninstaller | 2.0.4 | 2016/8/25 | 无 | dabf2ab3059de7eb1d862cdac62b74df |
Dr.Cleaner | com.trendmicro.DrCleaner | 3.3.6 | 2018/8/20 | Safari、Chrome、Firefox、AppStore历史记录、装机列表 | 3be5e97c0baf34956dd0bd0736272d65 |
Dr.Unarchiver | com.trendmicro.DrUnzip | 1.3.3 | 2018/4/20 | Safari、Chrome、Firefox、AppStore历史记录、装机列表 | 7bfad99a2b0c72b104ffd896898dedcc |
趋势安全大师(Dr. Antivirus) | com.trendmicro.DrSafety | 2.3.0 | 2018/8/27 | Safari、Chrome、Firefox、AppStore历史记录、装机列表 | c2578ba280b69149b374215676f55ae7 |
DrBattery | com.trendmicro.DrBattery | 1.1.1 | 2018/6/21 | Chrome、Firefox、AppStore历史记录、装机列表 | 3ca9e88a4ab277c683ee03faf9460d94 |
测网速大师(Dr. WiFi) | com.trendmicro.consumer.macos.ispeedtest | 1.9.0 | 2018/7/31 | 无 | 31e4a9d2c4b467cc708ba9073ad2d388 |
家庭网络卫士(Network Scanner、HouseCallForHomeNetworks) | com.trendmicro.drnmap | 2.6.8 | 2018/8/15 | 无 | 24a334e6dbcbdf4fb514a1a362af43c8 |
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等信息,和可疑邮件的收发件人及附件等,当然具体都需要看实际产品功能来判断
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
通过抓包分析实际并未发现上传隐私:
然而程序代码中却明确出现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会回传设备装机列表:
Dr. Antivirus中获取信息模块与Dr. Unarchiver完全一样:
但相对的,多出了post回传模块,Dr. Antivirus作为反病毒软件,回传装机列表也属于正常行为:
通过动态抓包,可以确定Dr. Antivirus会回传设备装机列表:
另外会上传一个“file.zip“包,回传路径与Dr. Unarchiver分析一致:
从上传的数据包中提取出“file.zip”文件,发现已经加密:
分析该部分代码,发现使用密钥为“novirus”
解密后可以看见都是获取的浏览器记录和app列表等信息:
如下图为chrome浏览器记录:
其实甚至还单独筛出了google搜索记录:
下图为趋势官网Dr. Antivirus产品说明,里面明确申明会读取app安装历史记录、当前装机列表、浏览器记录等隐私,作为反病毒软件读取app列表能理解,但回传浏览器记录、搜索记录等隐私就过了。
分析该部分代码,发现使用密钥为“novirus”
解密后可以看见都是获取的浏览器记录和app列表等信息:
如下图为chrome浏览器记录:
其实甚至还单独筛出了google搜索记录:
下图为趋势官网Dr. Antivirus产品说明,里面明确申明会读取app安装历史记录、当前装机列表、浏览器记录等隐私,作为反病毒软件读取app列表能理解,但回传浏览器记录、搜索记录等隐私就过了。
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
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完全一样命名方式的隐私获取模块:
下图为趋势官网Dr. Battery产品说明,里面明确申明会读取浏览器记录等隐私
Dr. Battery Data Collection Notice
DrBattery中有着与DrCleaner完全一样命名方式的隐私获取模块:
下图为趋势官网Dr. Battery产品说明,里面明确申明会读取浏览器记录等隐私
Dr. Battery Data Collection Notice
0x25 AppManager
AppManager即App Uninstall初次运行要求申请相关访问权限,该应用中未发现相关隐私获取代码:
下图为趋势官网App Uninstall产品说明,里面未申明会读取浏览器等相关隐私
App Uninstall Data Collection Notice
下图为趋势官网App Uninstall产品说明,里面未申明会读取浏览器等相关隐私
App Uninstall Data Collection Notice
0x26 测网速大师Dr. WiFi
测网速大师Dr. WiFi运行界面,该app中未发现相关隐私获取代码:
下图为趋势官网Dr. WiFi产品说明,里面未申明会读取浏览器等相关隐私
Dr. WiFi Data Collection Disclosure
下图为趋势官网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
下图为趋势官网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
但二者却有诸多相同点,如获取隐私的方法名及相关代码:
通过sandbox接口访问数据部分模块,其类名、方法名、相关代码也基本一致,故推断二者可能为同一开发者(趋势的临时工?)
在溯源过程中通常会参考绝对路径里的username,但这些app中均只有“autobuild”和“jenkinsbuld”两个id,开发者对自我有一定的隐藏意识:
而Jenkins更有可能为开发者使用下图中的集成工具时所取的id
0 评论:
发表评论