登录 注册
文章详情 当前位置:首页资讯动态行业资讯

“地下 App Store”:一个内测平台,如何成为黑产的赚钱手段?

发布日期:2020-12-19

      随着智能手机的不断发展,手机上的应用也是越来越多样化。苹果系统不同于安卓多样化的 app 分发渠道,App Store 作为苹果唯一的分发渠道,是苹果“硬件-操作系统-应用分发渠道-开发者-支付渠道-用户”闭环中的重要部分,在安全环节中起着至关重要的作用。


      iOS 的 App Store 确实非常严格:所有不符合规范的应用,都有被下架的风险,甚至相应的开发者账户也会遭到封禁。 但事实上,尽管存在层层审核,一些菠菜、色情类黑产还是在 iOS 生态系统内四处潜伏。这些神仙app到底是如何做到的? 一切的开端,还得从不为人知的 iOS 签名讲起。


      1.“签名”与“掉签”——黑产通行证和他们的梦魇


      苹果 iOS 签名又称 ipa 签名,指的是给苹果手机中的应用文件(ipa 文件)进行签名认证的操作。这个签名机制的意义在于,确保每一个安装到 iOS 上的 app,都是苹果官方允许的。


      App Store 严格的审核机制将不少 app 拒之门外,一直让开发者苦不堪言。为了能让自己的 app 不经过 App Store,直接下载安装在 iOS 设备上,一些开发者选择了获取苹果签名证书的方式。


       这样的数字签名,是由数据加密算法实现的。以最简单的 App Store 签名为例,苹果官方会生成一对密钥,公钥在 iOS 里内置,私钥由苹果后台保存。 


      当开发者上传 app 到 App Store 时,苹果后台用私钥对 app 数据进行签名(加密),下载后,iOS 设备用公钥验证这个签名(解密),如果签名正确,是苹果后台认证,即可正常安装使用。


                       (App Store 签名示意图) 


      简单来说,iOS 签名就相当于是一张通行证,ipa 应用文件想要进入 iOS 设备“境内”,就必须先拿到这张通行证证明身份。否则将被拦在门外,无法安装或正常使用。 


      除了乖乖上架 App Store,还有什么途径能拿到 iOS 签名?这其中最为人熟知的,就是企业签名和超级签名。 


      企业签名,是用苹果企业开发者账号生成企业发布证书,再进行签名。这类签名应用(比如说,某公司自己开发的打卡 app)往往没有上传 App Store 的太大价值,苹果不会对它们进行审核,同时因为安装设备数量不设限,分发省事,一度成为黑产团队眼中的“香饽饽”。


              (企业签名应用安装时,需要先前往手机的【设置】-【通用】,信任证书再获签)


      超级签名,则是使用个人开发者账号,通过自动添加、注册苹果设备的 udid,生成描述文件进行签名,实现真机测试。同样不会经过苹果审核,也是黑产常用的 iOS 签名之一。


      这两种签名看着挺香,但都也有各自让黑产们头疼的地方。


      一本企业证书可以为多个 app 进行签名,但签得越多,频繁“掉签”的风险就越大——当被发现滥用,该企业签名会直接被封杀,对应的所有 app 都将无法继续使用,只能重新签名进行分发。“掉签”的频率有时是 1 天,有时是 1 个月,捉摸不定,非常不利于黑产批量使用。而掉签导致的 app 闪退,也让用户体验变得相当恼火。


                       (让黑产头秃的掉签现场)


      跟企业签名相比,使用超级签名的应用相对更稳定。但一个明显的问题是,每个开发者账号只能添加 100 个苹果设备 udid,当用户量大的时候,分发成本将会非常高。 

在两种方案都不够理想的情况下,TestFlight 横空出世!其自带的 TF 签名完美的解决了黑产的所有痛点,成为黑产届的新宠。


     2.TestFlight——鱼与熊掌的兼得


     先看看啥是 TestFlight 。TestFlight 是一个供开发者使用的 app 内测平台,2014 年被苹果收购,成为官方认可的内测应用商店。iOS 的开发者们,可以将 app 的原型上传到这里进行测试,收集反馈后再更迭版本,以提高上架 App Store 的审核通过率。


     每一款上架测试的 app,可以邀请最多 100 名内部测试员,和 10000 名外部测试员参与测试。每一个构建版本在上传后 90 天内,将保持可供测试的状态。 


      在一般的开发者看来,TestFlight 是 beta 版 app 的集中试炼场。这里不仅有新生小众的作品,也有京东、B 站、爱奇艺等我们常用的app,可以说是包罗万有。


      而在黑产眼里,在 TestFlight 上架意味着能拿到苹果官方认可的签名证书。不需要信任证书,可直接下载使用,没有设备数量限制;即使安装链接在 90 天后失效,已下载的用户只要不卸载,app 持续提供服务,就可以继续使用。


      比企业签名稳定,也比超级签名成本更低,TestFlight 因此成为黑产团队新的“香饽饽”。


          (TestFlight 曾经在免费榜 App 登上第一名,有猜测认为是黑产应用的“功劳”)


     跟最常见的两种 iOS 签名不同,在用 TestFlight 分发之前,开发者需要先通过 beta 版 app 审核,确保符合 App Store 审核指南。不过这种审核,远比在 App Store 正式上架要宽松。


      打个比方说,在 TestFlight 上架的某 app 现在是 1.0 版本,这个版本(version)可以有上千个小更新(build),但只有在第一次提交时会经历完整审核。而同一版本号下,只要没有重大更新,后续的小更新都能享受「宽松政策」,无须进行全面审核。 


      这种“稳定不掉签”的体验也很快引起行业注意。目前,国内已经出现了不少第三方服务商提供 TestFlight 上架服务,不仅能代签名,甚至表示可以通过技术手段突破下载人数等限制,最快 20-30 分钟就能通过审核。


      闲分发在知乎稍微搜索了一下,就发现 TestFlight 相关的问题下,活跃的基本都是第三方服务商。而开发者社区 CSDN 里,也常有他们勤劳的身影出没。


                 (一些第三方提供的代签名服务) 


      就这样,TestFlight 从开发者眼中”创意发挥空间更大的地下 App Store”,变成了黑产从业者眼里,一条可以钻空子的发财之道。 

3.黑产TestFlight小教程——关键操作已隐去第一步:披上马甲,伪装上架


      虽说 TestFlight 后续审核宽松,但还是需要经历一次全面的初审。而为了成功上架,黑产一般会通过套壳 app 来使障眼法。 


      简单来说,就是在提交审核时伪装成“正经 app”,比如说手电筒、指南针之类的工具应用,上架后再通过远程更新为网贷博彩、色情直播等页面。


       闲分发在 TestFlight 下载了一款名叫“X 车师傅”的 app,就遇上了这样的套路。 介绍显示,“X车师傅”是某汽车服务旗下的维修工人使用的 app,工人可以通过该 app 在线请假与报销,及时了解公司的最新通知,还可以在线接单。 


      听起来很是正经,甚至刚打开进入 app 的界面,也一本正经。刚打开的时候,是这样的。

                     

      然而,当你进行指定的账户登录操作后,马上就跳转到另一片花花世界。

                     

            (app内实现自动调整,秒变“真开车”app)


      这种伪装 app 的背后原理,实际上就是苹果屡禁不止的“热更新”。


      iOS 的 app 更新,一般都只能通过 App Store下载安装。而热更新,则是悄悄绕过了严格的审核更新,以软件内部下载代码的方式,为 app 偷偷摸摸安装更新。往往也是一些黄色、暴力、赌博等擦边球内容。


      这种过审后就改头换面的套壳 app,说白了就是“欺诈”,不仅破坏整个生态体验,让应用商店们防不胜防,更有可能为用户的信息安全带来隐患。


      第二步:打破人数和时间限制,分发出去 


     上架 TestFlight 只是个开始,分发才是最关键一步。偷龙转凤成功上架后,黑产团伙还需要解决一个大问题:有且仅有 10000 个外部测试员名额,怎么变成“无限多”? 在 TestFlight 里,开发者可以通过两种常用方式邀请外部测试员:


      一种是在后台输入邮箱地址和姓名,手动添加。测试员会收到邀请邮件,可直接跳转 TestFlight 下载,或领取邀请码自行前往下载。


     另一种是启用公开链接,设置好通过该链接加入测试的人数,在社交媒体等渠道分享出去。任何一个路人,点击链接都可以加入测试。


      相比起来,当然是第二种分发方法省事。在分发的同时,黑产从业者一般还会引导用户,在下载安装后点击“停止测试”,这样“来无影去无踪”,就不会占用有限的 10000 个外部测试员名额了。


      只要已安装用户一直不卸载,该 app 持续提供服务,即使 TestFlight 上的下载链接到期失效,他也可以一直使用不受影响。对“搞黄色”的 app 们来说,也不需要担心 90 天测试有效期,真是一劳永逸好贴心。


      这些操作,让 TestFlight 在业内有着“稳定不掉签”的传说,也是黑产能在这里无尽分发下去的一大原因。


      其他套路:山寨 App 诈骗 


     除了披马甲搞网贷博彩和色情,一些诈骗团伙还在 TestFlight 上架山寨 app,再配合电话短信等分发,进行钱财诈骗。 


      今年 4 月,马来西亚警方接获 6 宗报案,称骗子假扮成警察、官员、银行职员等,以话术欺骗受害者通过 TestFlight 下载一个声称是马来西亚国家银行开发的 app,输入银行卡账户和密码等资料,共骗走约 70000 美元。


          (马来西亚警方展示诈骗团伙所使用的 app)


      看来,防不胜防不仅是应用商店,还有我们这些一般用户。 热更新伪装,钻空子分发,还有我们熟悉的诈骗套路,再加上第三方的帮助……你猜,黑产在 TestFlight 的路会不会越来越好走?


      4.不要让开发者的乌托邦,变成黑产的新温床


      开发者满怀激动地呈上作品,测试人员积极反馈,协作优化下一个版本……如此循环往复,促进整个 app 生态的健康发展。


      这本该是 TestFlight 的存在意义和美好愿景,却因为黑产从业者加入,搅浑了一池子的水。 


      针对让人头疼的“热更新”,App Store 本身也在不断加强审核。2017 年开始,苹果全面禁止热更新,不仅相关 app 遭到下架,就连违反规则的开发者也被封号处理。 


      2018 年 11 月,App Store 更集中下架了拼多多、搜狗、科大讯飞、悦跑圈等 900 多款 app,一时引起整个行业关注。


      (App Store 审核指南中,针对“热更新”的 2.5.2 条款)


      跟 App Store 的层层打击相比,TestFlight 的应对措施是相对缺失的。虽说每个 app 版本的首个创建版本都需要对照 App Store 规范,进行全面审核,但过审后呢?并没有足够的管理精力和整顿力度跟上。


      这就像是偌大的一座城,只在城门放了几员猛汉把守,一旦想办法绕进去了,从此路路畅通,可以胡作非为。 如果 App Store 的同款措施能在 TestFlight 落实,相信也能扼杀不少违规 app。 


      而作为一般用户,闲分发提醒你,应当时时警惕,认准 App Store 和认可的开发者,不下载来历不明的 app。


热门新闻

微信客服