网易首页 > 网易数码 > 正文

ZergHelper:成功绕过iOS App Store的代码审查的风险软件

0
分享至

(原标题:ZergHelper:成功绕过iOS App Store的代码审查的风险软件)

摘要:Apple 官方的iOS App Store一直以来都以严格的代码审查著称,这项强制性的措施已经成为iOS安全生态系统中确保iOS用户的隐私和安全的一项重要机制。但是近期有安全人员发现,有一款APP成功绕过了Apple的代码审查机制。这款APP在App Store中的名称为“开心日常英语(HappyDaily English)”,目前Apple已经删除了该款APP。这是一个针对中国大陆iOS用户的非常复杂的、第三方应用商店客户端,并且已经发现了企业签名版本。

研究人员暂时还未发现该软件的任何恶意功能,因此将其归为Riskware(风险软件),并命名为ZergHelper。

图一 AppStore中的“开心日常英语”

ZergHelper中存在以下安全风险:

伪造App Store,提供没有安全保障的iOS应用

滥用企业证书和个人证书签名和分发应用,其中可能包含未审查的代码,或滥用私有API

要求用户输入AppleID,并为用户提供Apple ID,可能使用这些ID登陆Apple服务器,并在后台执行操作

创造者试图通过动态更新代码扩展其功能,可能会绕过iOS安全限制

使用敏感并且具有风险的技术,这些技术可能会被恶意软件用于攻击iOS生态系统

ZergHelper已经通过了Apple的代码审查,它通过在不同的地理位置执行不同的操作来实现这一功能。在中国以外的地区,它就是一个英语学习软件,然而当在中国使用该软件时,它真正的功能就显现出来。

2015年10月30日,ZergHelper在App Store上架,但是,直到2016年2月19日,它的隐藏功能才被人发现。随后,苹果在其App Store中删除了该软件。ZergHelper的主要功能是提供一个包含盗版和崩溃的iOS应用和游戏的App Store。它由中国的一家公司开发,其主要产品为XY Helper,ZergHelper是XY Helper的未越狱版本和“official App Store”版本。

除了滥用企业证书,ZergHelper使用了一些新技术在未越狱的设备上安装软件,它实现了Apple iTunes的基于Windows的版本,用于登录、购买和下载应用。同时还实现了Xcode IDE的功能,可以自动生成免费的开发证书,这意味着攻击者已经可以分析Apple的专有协议和8个月前才公布的开发计划。ZergHelper还会将一些ID分享给用户。

ZergHelper的代码十分复杂,并且目前尚不清楚它是否会盗取账户信息,并将其发回服务器。不过,可以确定的是,它确实会向服务器发送设备信息,用于静态追踪,它的作者似乎尝试使用Lua变成语言使其更加具有扩展性。根据对ZergHelper使用的框架的分析,它的代码可以在不需要Apple进一步审查的情况下进行更新。

目前已经确定超过50个ZergHelper应用使用企业证书,并且使用不同的渠道进行传播。

ZergHelper的传播和功能

ZergHelper使用以下方式进行安装:如果iOS用户在中国访问XYHelper的官方网站,页面首部的广告标题会提示用户可以去App Store安装他们的产品XY Apple Helper,如图二左。点击确定按钮后,官方App Store会自动打开,并且会显示Happy Daily English的安装界面,如图二右。

图二 官网上的引导和App Store中的安装界面

原始的Happy DailyEnglish是开源的,并且以工程名HappyEnglishSentences8k托管在OSChina网站。ZergHelper的作者重新编辑,并且嵌入了就有风险的代码。项目的内部名称为XYFactory,应用的内部名称为AppStore_4.0.1。

如果用户使用桌面浏览器或任何平台的iTunes客户端浏览该应用程序,它的名称为“开心日常英语”,但是一旦在iPhone或iPad上安装,就会变成“XY助手”,就想Info.plist配置文件中的CFBundleDisplayName值,如图三。分析表明,作者在向Apple以Web表单的形式提交应用时,输入了不同的名称,并且Apple的代码审查并没有发现不一致。

图三 ZergHelper名称的不一致

当应用启动时,会立刻连接到[.]xyzs.com,并且根据HTTP请求的返回结果提供不同的功能,如图四。如果IP地址位于中国以外的地区,网页就会返回404-not-found错误。在这种情况下,该应用只会显示一个英语学习页面,如图五左。

图四 根据HTTP的返回结果提供不同的功能

图五 不同地区的使用显示不同的界面

如果审查员不在中国,这种方法会使他们认为这是一个合法的应用,如果在中国也没有关系,作者可以在审查期间关闭网站,审查员同样看不到它的实际功能。

对于位于中国的用户,它会显示不同的用户界面,如图五右。它会引导安装两个用于“解决稳定性问题”的配置文件。但实际情况下是安装了设备的Enrollment challenge(用于向相关的MDM系统注册设备)和web clip如图六。这些配置文件使用xyzs.com的证书签名,该证书由Go Daddy Secure Certificate Authority在2015年12月2日签发。

图六 安装的两个配置文件

该应用可以直接在设备上安装大量应用和游戏,它包含热门应用、热门游戏、和排名应用等页面,类似于App Store,如图七。唯一的区别是,ZergHelper提供的应用都是免费的,也就是说,这些都是合法应用的盗版。

图七 主界面与App Store的对比

在设置标签中,对于使用iOSpre-9.0版本的用户,可以输入Apple ID和密码,ZergHelper会记住该密码。在界面下方,有一个“没有Apple ID,免费领取一个”的按钮,如图八。目前研究人员尚不清楚这些Apple ID的来源。

图八 设置标签

在未越狱的设备上创建第三方应用商店的新方法

ZergHelper使用一种新方法在未越狱的设备上创建第三方应用商店,他们可以用于传播盗版的或者有问题的iOS应用。其中包含两个通过App Store审查的新方法。

假冒iTunes客户端

ZergHelper实现了PC上的iTunes客户端与Apple AppStore服务器之间的协议,应用程序具体可以实现以下功能:

l  登录App Store,缓存认证数据,注销账户

l  点击服务条款

l  获取其他应用的信息

l  购买应用,如图九

l  下载购买的应用

当与Apple服务器通信时,ZergHelper使用如下用户代理:

l  iTunes/12.0.1(Windows; Microsoft Windows 7 x64 Business Edition iTunes/12.0.1)(Windows;Microsoft Windows 7 x64 Business Edition)

因此ZergHelper试图充当Windows 7平台上的iTunes12.0.1客户端。

图九 通过模拟iTunes协议购买应用

目前还不太清楚ZergHelper如何使用这些功能,它们可能用于用户提供的Apple ID,也可能是该应用提供的免费Apple ID。

模拟Xcode申请私有开发证书

在未越狱的设备上安装应用时,ZergHelper使用了非常巧妙的方法滥用免费的私有开发证书。

以前,Apple只为付年费的注册人员提供iOS开发证书。开发人员想要签名应用并保证其在物理设备上正常运行必须使用该证书。从2015年6月,Apple提供了一个新机制:拥有Apple ID的人都可以免费获取证书。该功能嵌入了Xcode  7.0版本中,并且目前为止,Xcode是使用该方法的唯一官方平台。

然而,ZergHelper可以冒充Xcode,从Apple的认证服务器获取免费的私有开发证书。由于Apple并没有公布Xcode实现该过程的原理,研究人员分析可能是有人对Xcode实施了逆向工程,分析出了这部分代码。

图十 登录Apple服务器

图十一 获取开发证书

通过使用该开发证书,ZergHelper可以签名iOS设备上的应用并安装。在分析ZergHelper时,发现有人贩卖以下源代码:

l  通过互换手机和电脑上的协议自动注册Apple ID

l  提供用于“辅助工具”的PC端的应用数字版权管理认证

l  使用Apple ID自动生成私有的开发证书

从PC端授权盗版软件

对于从ZergHelper服务器下载的盗版软件,它要求用户借助XY Helper Windows版本将设备与PC连接,研究人员没有对其Windows版本进行逆向功能,但是猜想这一操作的目的是使用Windows版本冒充iTunes,使iOS设备认为其已经经过PC端的认证。

滥用企业证书

ZergHelper使用了一种iOS恶意软件惯用的技术滥用企业证书。这类应用使用“install in a second”进行标记,并且使用itms-service协议进行安装。与之前的恶意软件的不同点在于,ZergHelper不仅从C2服务器下载itms-service plist文件,还会打开本地端口在线安装应用。该功能可能是专门用于使用私有证书签名的应用。

图十二 PLIST文件

潜在的安全风险1、Apple代码审查

之前就有一些恶意软件(FindAndCall)或POC应用(Jekyll)成功进入AppStore,最近的例子是XcodeGhost和InstaAgent。与这些相比,ZergHelper中使用更多的用户界面和明显的可疑代码特征。Apple通常不披露任何审查员如何检查应用程序的技术细节,但是ZergHelper仍然使用了一下方法可以绕过苹果审查员审查。

2、企业证书

从WireLurker开始,就有许多恶意软件使用企业证书在iOS上进行安装,这类问题最大的风险在于企业证书和私有API的结合。YiSpecter和Youmi就是使用私有API收集私有信息的恶意软件。ZergHelper甚至是自动生成免费的私有证书。这类情况十分危险,因为这可能成为滥用证书的未来攻击的第一步。

3、Apple ID

在iOS工具的地下市场,AppleID扮演着越来越重要的角色。最近几个月,有研究人员发现窃取Apple ID的恶意软件(KeyRaider)、从中获利的恶意软件(AppBuyer)、共享ID的恶意软件(YiSpecter)。ZergHelper的功能也依赖于有效的Apple ID,它可以为用户提供免费的Apple ID,并且这些ID的来源未知。

4、代码动态加载

Apple要求每一个在AppStore上更新的应用都接受再次审核。对于ZergHelper,再次审核增加了其暴露的风险。其作者使用了一种脚本语言解决该问题。

ZergHelper使用名为wax(使用Lua脚本编写原始iPhone应用的框架)的开源项目。在该应用中,存在一个只包含两个函数的XYLib.lua文件。当应用首次启动时,会加载并执行该Lua文件,通过wax库,该脚本会在Objective-C运行时调用多个方法。

图十三 Lua文件

Apple不允许iOS应用动态加载新代码或动态升级。这是降低一些漏洞和恶意软件风险的十分有效的安全机制。但是wax框架提供了一种绕过该机制的方法。

动态代码加载是恶意软件隐藏真实功能的十分经典的方法。近几年,出现了许多可以提供Objective-C运行时的脚本(JavaScript,Lua等)接口的iOS SDK,在这类语言中写入代码十分容易,但是分析和检测则十分困难。

缓解

Apple已经于2月20日删除了该应用。对于已经安装的用户,建议立即删除,并检查iOS设备上的配置文件(设置-通用-配置文件和设备管理),如果存在xyzs.com网站的任意配置文件,请立即删除。

原文地址:paloaltonetworks,作者:Claud Xiao,vul_wish编译

相关推荐
热点推荐
13分完胜!骑士季后赛开门红:全场狂欢庆祝,哈登首秀22+10

13分完胜!骑士季后赛开门红:全场狂欢庆祝,哈登首秀22+10

体坛小李
2026-04-19 04:40:58
不想访华了?特朗普召回美驻华大使,贝森特扬言:中国“不可靠”

不想访华了?特朗普召回美驻华大使,贝森特扬言:中国“不可靠”

米师傅安装
2026-04-19 00:24:40
国内“退休收入十级表”出炉,6级以上生活没压力,你达到了吗?

国内“退休收入十级表”出炉,6级以上生活没压力,你达到了吗?

大果小果妈妈
2026-04-18 22:36:28
3-0碾压卫冕冠军泰州队,徐州队迎苏超开门红,苗润东无敌双响炮

3-0碾压卫冕冠军泰州队,徐州队迎苏超开门红,苗润东无敌双响炮

侧身凌空斩
2026-04-18 21:41:47
长得确实太美,从护士转行为演员,出道第一部剧就演了女主

长得确实太美,从护士转行为演员,出道第一部剧就演了女主

草莓解说体育
2026-04-18 09:23:44
4月18日俄乌最新:卢卡申科的小九九

4月18日俄乌最新:卢卡申科的小九九

西楼饮月
2026-04-18 17:25:20
4.8万紫檀珠直播被砍晕!弹幕比妖怪还犀利?迟重瑞憋不住了

4.8万紫檀珠直播被砍晕!弹幕比妖怪还犀利?迟重瑞憋不住了

鉴史录
2026-04-18 17:55:00
王嘉尔在多伦多开演唱会,发现观众席挥舞中国国旗,立即伸手接过跑回舞台高举,全场欢呼沸腾

王嘉尔在多伦多开演唱会,发现观众席挥舞中国国旗,立即伸手接过跑回舞台高举,全场欢呼沸腾

观威海
2026-04-16 10:20:05
阿斯:皇马去年12月就想换掉阿隆索,如今认为白白浪费一个月

阿斯:皇马去年12月就想换掉阿隆索,如今认为白白浪费一个月

懂球帝
2026-04-19 04:48:55
笑麻!女子吐槽花1年装修的新中式都说像法庭,我却笑死在评论区

笑麻!女子吐槽花1年装修的新中式都说像法庭,我却笑死在评论区

另子维爱读史
2026-04-17 17:36:52
破防了!一37岁女子相亲遇国企月薪5500男生,称不接受贫穷的生活

破防了!一37岁女子相亲遇国企月薪5500男生,称不接受贫穷的生活

火山詩话
2026-04-16 07:52:49
特朗普:美伊正在对话,“伊朗又想封锁海峡,但无法要挟我们,今天结束前会有消息”

特朗普:美伊正在对话,“伊朗又想封锁海峡,但无法要挟我们,今天结束前会有消息”

澎湃新闻
2026-04-19 01:00:04
3-2击败武里南联,阿联酋球队创队史纪录,首次晋级亚冠精英赛4强

3-2击败武里南联,阿联酋球队创队史纪录,首次晋级亚冠精英赛4强

侧身凌空斩
2026-04-19 03:00:54
许家印昔日办公室内景曝光,房间一个接着一个很奢华,像迷宫一样

许家印昔日办公室内景曝光,房间一个接着一个很奢华,像迷宫一样

娱乐团长
2026-04-16 20:26:02
马云预言又应验!若无意外,2026年起,中国房地产或迎来3大转变

马云预言又应验!若无意外,2026年起,中国房地产或迎来3大转变

专业聊房君
2026-04-18 16:53:46
深夜猝死的人增多!医生反复强调:吃完晚饭后,尽量少做这4件事

深夜猝死的人增多!医生反复强调:吃完晚饭后,尽量少做这4件事

岐黄传人孙大夫
2026-04-18 11:45:03
一条烟、一瓶酒,2026年5月起,连茶叶盒都得过纪检这道关

一条烟、一瓶酒,2026年5月起,连茶叶盒都得过纪检这道关

周哥一影视
2026-04-17 19:29:59
康凯:把“张飞”演成傻子,无戏可拍11年,如今现状令人唏嘘

康凯:把“张飞”演成傻子,无戏可拍11年,如今现状令人唏嘘

流云随风去远方
2026-04-18 15:35:50
超长降雨,一口气下5天!4月首波强冷空气南下确定:还有沙尘暴

超长降雨,一口气下5天!4月首波强冷空气南下确定:还有沙尘暴

风云圈天气
2026-04-19 00:53:31
曝王思聪近况:暴瘦脱相 秃顶脱发,拒付200万后,黄一鸣频繁发声

曝王思聪近况:暴瘦脱相 秃顶脱发,拒付200万后,黄一鸣频繁发声

东方不败然多多
2026-04-18 15:31:29
2026-04-19 05:35:00

头条要闻

伊朗革命卫队向油轮开火 伊朗最高领袖发声

头条要闻

伊朗革命卫队向油轮开火 伊朗最高领袖发声

体育要闻

时隔25年重返英超!没有人再嘲笑他了

娱乐要闻

刘德华回应潘宏彬去世,拒谈丧礼细节

财经要闻

"影子万科"2.0:管理层如何吸血万物云?

科技要闻

传Meta下月拟裁8000 大举清退人力为AI腾位

汽车要闻

奇瑞威麟R08 PRO正式上市 售价14.48万元起

态度原创

旅游
教育
家居
时尚
数码

旅游要闻

申城周末开启“繁花”模式:前滩800米欧式花街变身庄园 全城百个橱窗联动“拥抱”春天

教育要闻

“抱歉,我们只看第一学历”,985硕士面试被拒,考研还有必要吗

家居要闻

法式线条 时光静淌

选对发型,真的能少走很多变美弯路

数码要闻

华为版的科技春晚来了!Pura 90/Pura X Max下周发:阵容豪华

无障碍浏览 进入关怀版
×