分析 | 顶象iOS应用加固,如何助力App上架苹果商城
2021-10-25 21:59:14爱云资讯阅读量:855
当前,中国经济正在转入高质量发展阶段,基于新一代信息技术飞速发展带来的引领性基础,以及创新驱动、高质量供给创造的新需求,为迎接数字时代奠定了基础。作为数字经济下的重要产品,移动应用(以下简称“App”)随之呈现较快发展影响深远。就企业而言,App目前正在重塑许多企业的运营方式。数据显示,到 2022 年,移动应用年下载量将达到 2580 亿次。因此,企业需要继续推动移动应用创新和开发,以满足不断变化的客户需求。
iOS4.3被拒是逃不过的“宿命”
“我们从没提交过其他相似马甲App,为什么4.3条认为是垃圾App,苹果客服一直推辞说我们App和其他App相似,讨论过后苹果官方给出建议放弃App,即使提交也会再次被拒,态度很坚决。”一个iOS开发者抱怨。
根据苹果披露的一组数据显示,2020年App审核团队协助超过18万名新开发者发布了App。其中近100万款有问题的新App以及另外近100万款更新版本的App,由于一系列类似问题被拒绝上架或从App Store下架,其中:
超过 48000 款 App 含有隐藏或未记录的功能而被拒绝上架;
超过 15 万款 App 由于被查出有垃圾信息、抄袭或操纵用户从而诱导他们付费的情况,而被拒绝上架;
约 95000 款 App 由于通过调包手段在App通过审核后,改变其运作方式进行违规甚至犯罪行为、涉嫌欺诈而被从App Store下架;
超过 215000 款 App 的上架被拒,其原因是他们要求用户提供的数据超出范围或是对收集的数据处理不当。
数据显示,在2017 年至 2019 年期间,苹果平均每年会收到 500 万款App提交。其中,33%-36%提交的App会被苹果审查团队拒绝,平均每年有170 万款。2020年共有21.5万款App因违反隐私政策而被拒,占2020年应用提交总数的40%。
尤其近期因为4.3条被拒问题再次登上热门。4.3条是App公布的AppStore审核4.3条规定。
简而言之,AppStore审核4.3条规定,功能重复、应用程序重复的App,以及通过马甲、分包上传的App将会被拒绝通过。
助力iOS App 过审上架
顶象业务安全工程师发现,App中包含隐藏或未记录的功能,含有垃圾信息、抄袭或者诱导用户付费,通过调包手段在App通过审核后,改变其运作方式进行违规甚至犯罪行为......这些都是苹果审核App时关注的重点因素,是App Store审核的“红线”。
例如在代码问题上,多次提交一个项目,代码重复率在60%以上。甚至你的代码被 Apple 做了标记或者代码层面和别的项目产生了关联性,还有一些隐藏功能。在元数据问题上,购买的国内(外)开发者账号,发生了账号被拒连坐,亦或者ITC后台设置的元数据有较高相似度,如标题、描述、关键词、技术支持网址、隐私声明等。
众所周知,苹果审查团队在审核提交的App时大抵分为三步:
第一步,预审核。扫描api及plist文件字符缺失等。此处分两步,第一步为上传时苹果Application Loador应用对于适配icon的检查,第二步为上传后苹果的功能性检查,例如配置了Push功能但有缺失或者未打开功能,则会邮件提示等等。
第二步,机审。扫描支付SDK及马甲情况,机器扫描主要看代码块。
第三步,人工审核。主要检测功能或者App体验测试,例如用测试账号登录App体验功能或其他是否有明显bug等,包含ipv6检测。
而AppStore审核因4.3条被拒几乎存在两种情况。一种是AppStore机审,主要是对代码进行机器审核,排查App是否重复应用。从这个层面对iOS市场的App进行排重,防止太多相似的App充斥iOS市场,影响整个iOS的应用质量。另一种是AppStore人工审核,主要是由苹果审核人员对App的内容、功能进行核验,防止App有bug、防止App模仿其他应用、内容与其他App重复影响用户体验,出现劣币驱逐良币的现象。
在App上架审核4.3条问题的过程中,用户与审核团队斗智斗勇,动辄花费几个月甚至半年以上时间。对此,针对机器审核被拒和人工审核被拒对应的解决方法就是:
针对机器审核,主要的方法是添加的代码,且代码的相似程度不高于45%,这样才能稳过机器审核而不会被拒。
针对人工审核,主要的方法是修改UI风格,同时填充更多的页面,以提升过审率。
顶象作为国内领先的业务安全公司,其iOS应用加固保护产品是顶象基于虚拟源码保护技术,针对iOS平台推出的下一代加固产品。可以对iOS App/动态库/静态库中的代码进行深度混淆、加固,并使用顶象独创的虚拟机技术对代码进行加密保护,使用防止任何黑客工具都无法直接进行逆向、破解。同时还具备完美的iOS环境兼容,支持9.0以上的Xcode开发环境,支持iOS9.0至最新版本系统。
在对iOS App加固后,原始代码被混淆加固,提高机审通过率。从而提高App Store上架几率,良好过审AppStore审核4.3条款App问题。
为iOS App安全护航
当前,iOS平台上恶意应用的增速已经超过了Android平台,iOS应用程序同样面临着应用程序遭逆向破解、内购破解、第二次打包签名等安全问题。而顶象iOS应用加固保护,能够有效阻止核心代码窃取、程序逻辑破解、恶意代码接入以及API借口暴露等重大安全问题。
顶象iOS应用加固主要拥有以下其功能:
代码虚拟化:将原始化代码编译为动态的DX-VM虚拟机指令,运行在DX虚拟机之上,无法被反编译回可读的源代码;
字符串加密:把代码中定义的静态常量字符串进行加密,运行时解密,防止攻击者通过字符串进行静态分析,猜测代码逻辑;
代码混淆:将原始代码的控制流进行切分、打乱、隐藏、插入花指令、将代码逻辑复杂化而不影响原始逻辑;
防反编译:有效防止攻击者使用逆向分析工具将二进制代码反编译为伪代码(Pseudo-Code),如IDA的F5功能;
防调试:为App提供运行时防调试能力,防止攻击者通过调试来动态分析App的逻辑;
防篡改:防止应用程序中的代码及资源文件被恶意篡改,杜绝盗版或植入广告等二次打包行为。
在部署方式上,顶象iOS应用加固拥有本地化部署和SaaS部署两种方式,能够满足不同用户的安全需求。由于无需上传源代码,开发者无需担心代码泄漏问题。灵活的一键加固功能,操作便捷,不影响正常开发及打包流程。纵然遇到在App上架审核的代码问题,也可以根据需要灵活调整保护配置,如代码混淆强度、代码混淆比例、虚机保护强度等,以良好满足代码审核要求。