这几天科(kē)技(jì )圈已经被 iOS 的 XcodeGhost 病毒事件刷屏。目前已经有(yǒu)多(duō)款应用(yòng)被证实感染了 XcodeGhost 病毒。為(wèi)此國(guó)内专业的移动应用(yòng)安(ān)全企业爱加密研究团队推出了XcodeGhost病毒解决方案,包含原理(lǐ)、方法、咨询、建议的全面解决方案。
事件缘由:有(yǒu)技(jì )术人员介绍,一款APP的发布,首先是要编写源代码,在编写完成后,则需要将代码编译成“可(kě)执行的文(wén)件”进行打包发布。苹果iOS APP的开发需要通过苹果自家出的Xcode,把源代码编译為(wèi)可(kě)执行的APP,开发者才能(néng)把APP上传到苹果应用(yòng)商(shāng)店(diàn)后台,经过苹果官方审核后,APP在应用(yòng)商(shāng)店(diàn)App Store上架,正式开放下载。
但由于Xcode 體(tǐ)积较大,有(yǒu)几个GB,國(guó)内开发者如果直接从苹果下载的话速度非常缓慢。XcodeGhost木(mù)马的开发者利用(yòng)了这一点,将加了后门木(mù)马的Xcode工(gōng)具(jù)上传到國(guó)内网盘上,然后在各种 iOS开发论坛发帖进行扩散传播。
由于木(mù)马作(zuò)者提供的 Xcode版本齐全,國(guó)内网盘下载速度相比苹果官网也更加快速,各大公(gōng)司的程序员在想要下载Xcode时只要轻轻搜索一下就上钩了。然而,这个“加了料”的Xcode会在程序员编译APP的时候偷偷自动地把XcodeGhost的恶意代码也一并编译进去了,但程序员们对此毫不知情。
按道理(lǐ),每款APP被放置到苹果的官方应用(yòng)商(shāng)店(diàn)供用(yòng)户下载前,是需要通过苹果平台的检测的。但遗憾的是苹果也没有(yǒu)检验出应用(yòng)里含有(yǒu)木(mù)马病毒。
事件影响:在网络上流传了各种受影响的APP列表及相关信息,比如“发现AppStore下载量最高的5000个APP中(zhōng)有(yǒu)76款APP被XCodeGhost感染,其中(zhōng)不乏大公(gōng)司的知名(míng)应用(yòng),也有(yǒu)不少金融类应用(yòng),还有(yǒu)诸多(duō)民(mín)生类应用(yòng)。根据保守估计,受这次事件影响的用(yòng)户数超过一亿”。
爱加密安(ān)全专家表示目前已经检测到至少300个以上不同版本的应用(yòng)感染了 XcodeGhost 病毒,并且目前还在检测更多(duō)的应用(yòng),爱加密团队还会不断地更新(xīn)检测的结果,并将有(yǒu)感染 XcodeGhost 病毒的应用(yòng)上传到安(ān)全数据库中(zhōng),到爱加密的官网漏洞检测平台上实行一键检测,就可(kě)以知道一款APP有(yǒu)无病毒和漏洞,以及相应的病毒和漏洞种类。
据悉,全球 iOS 安(ān)全机构已经对此事表示了关注。根据相关安(ān)全部门的报告资料显示,此次XcodeGhost 波及的范围之广令人震惊,甚至将对移动安(ān)全的未来产(chǎn)生影响,事件还在进一步发酵之中(zhōng)。
解决方案
针对此次XcodeGhost事件以及预防未来可(kě)能(néng)出现的安(ān)全威胁,爱加密提出以下解决方案:
一、一键“清场”:
1.开发工(gōng)具(jù)安(ān)全检测
爱加密提供工(gōng)具(jù),对MAC上的开发工(gōng)具(jù),主要是Xcode进行检测:
1)安(ān)装(zhuāng)新(xīn)的Xcode之前对dmg文(wén)件进行md5验证,确保跟官方App Store上的一致。
2)对于已经安(ān)装(zhuāng)部署好的Xcode开发环境,对关键文(wén)件夹进行对比检测,列出与官方发布版本不一致的文(wén)件,/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/目录下是否存在Library,编译器clang是否已经改变等。
2.ipa包检测
爱加密提供工(gōng)具(jù),对上線(xiàn)前ipa进行安(ān)全分(fēn)析,主要包括:
1)针对已经出现的病毒,进行特征码扫描分(fēn)析。比如此次的XcodeGhost病毒,就可(kě)以通过分(fēn)析ipa可(kě)执行文(wén)件是否包含”icloud-analysis.com”这个字符串来检测。
2)针对未知的潜在病毒,爱加密安(ān)全专家将会对ipa进行人工(gōng)渗透分(fēn)析,及时发现异常行為(wèi)。
二、专业安(ān)全开发咨询:
爱加密团队深耕移动应用(yòng)安(ān)全领域多(duō)年,对于 iOS 开发合规有(yǒu)整套的规范和原则;另外,对于银行金融类APP,爱加密团队里有(yǒu)拥有(yǒu)银行APP安(ān)全咨询十几年经验的安(ān)全专家给出咨询意见;
三、额外建议:
1.从官方下载开发工(gōng)具(jù)以及第三方framework,对第三方framework进行人工(gōng)分(fēn)析,确保未被感染。爱加密安(ān)全专家对此次事情进行了深入分(fēn)析,一致认為(wèi):如果使用(yòng)被感染的第三方库,将很(hěn)容易导致类似XcodeGhost这样的事件。
2.对第三方插件进行人工(gōng)分(fēn)析。很(hěn)多(duō)开发者喜欢使用(yòng)第三立插件方便开发,但如果使用(yòng)的是一个受感染的插件,也容易导致类似安(ān)全事件。
3.防逆向,防二次打包。爱加密提供代码混淆编译器,可(kě)对字符串进行加密,对代码逻辑进行混淆,并提供反调试、越狱检测、防二次打包等技(jì )术,进一步加强app安(ān)全。
爱加密安(ān)全团队呼吁:
普通用(yòng)户:随时关注安(ān)全通报情况,一旦确定感染病毒版本的APP,请尽快删除;随时关注官方APP的升级情况,一旦官方发布新(xīn)版本,请尽快升级;
开发者:请从官方下载Xcode乃至更多(duō)的开发工(gōng)具(jù),并建议进行MD5和SHA1双校验。后续要提高相关安(ān)全意识及参加相关安(ān)全开发的培训;遵守职业道德(dé),用(yòng)正规开发工(gōng)具(jù),遵循正规开发流程和方法;
开发组织:请尽快进行内部代码安(ān)全性审核,同时可(kě)以考虑与专业的移动应用(yòng)安(ān)全厂商(shāng)进行合作(zuò),进行安(ān)全性评估,以及APP安(ān)全加密和监测;
行业组织or主管机构:呼吁对APP安(ān)全性提出要求以及形成安(ān)全规范标准;
苹果公(gōng)司:及时检测和防范风险,加强安(ān)全性审核机制,不要对iOS系统安(ān)全性存在盲目的自信,并考虑与國(guó)内的移动应用(yòng)安(ān)全组织和机构进行积极协作(zuò),促进安(ān)全生态环境建设。
对于此次的XcodeGhost 病毒事件,爱加密的安(ān)全专家分(fēn)析,如果这些应用(yòng)一开始就使用(yòng)了爱加密的安(ān)全编译器,或者在应用(yòng)上传到市场之前,使用(yòng)过爱加密的安(ān)全检测和应用(yòng)加密,则可(kě)有(yǒu)效避免中(zhōng)招。
另悉,爱加密是國(guó)内最早推出ios应用(yòng)加密安(ān)全服務(wù)的企业。此次的XcodeGhost 病毒事件影响范围非常大,让一向以為(wèi)苹果系统安(ān)全无忧的企业和用(yòng)户们人心惶惶。苹果的安(ān)全神话再次被打破。
所以,安(ān)全无小(xiǎo)事,不能(néng)掉以轻心。安(ān)全防护要做到未雨绸缪,防患于未然。