大数据时代,移动应用数量快速增长、应用领域也广泛扩展。据工信部统计,截至2021年4月底,我国国内市场上监测到的App数量突破302万款。随之而来的移动应用盗版情况日益突出,一些披着“官方App”外衣的盗版山寨App也层出不穷,它们“肆意作乱”,危害着用户信息安全、财产安全。
在某应用商店上搜索“12306”,发现一大批类似应用,这些App不仅名字类似、图标、颜色也大同小异,下载量从几万到几十万、几百万、上千万。
图1 类似12306火车票应用
高仿、山寨、盗版这些词我们并不陌生,几年前就有各种盗版,盗版App绝不是个例。再看一个例子,搜索“12123”查询违章应用,结果又是一推类似应用,你能正确辨别真伪吗?
图2 类似12123应用
现在的盗版 App已经深入到各行各业,据国家互联网金融风险分析技术平台发布的监测数据,截至2020年2月底,发现互联网金融盗版网站4.81万个,受害用户达12万人次,互联网金融盗版App2801个,盗版APP下载量3343.7万次。
盗版App已然形成了一套完整的产业链,这些App是怎么来的?大家可能普遍认为开发一款盗版App成本很高,但当你打开某宝搜索“App定制”,就会明白定制一款App竟是如此简单。
图3 定制App
这些定制App的店铺,只用告诉他App的类型、所需功能,他们就能帮你找到一款合适的成品App ,价格只要几千块,高仿定制App仅需要2、3万。以上定制高仿App的方式还是需要成本的,如果您的App没有经过合适的安全保护,通过逆向技术手段,只需要简单几个步骤就能篡改您的App,二次打包后在应用市场上架。原包反编译—>篡改代码(加入自己的元素)—>生成新的安装包—>重新签名—>上架运行,App可谓是分分钟被盗版。记得几年前,有一群人专门将国外应用市场的App下载下来,通过逆向二次打包将广告插件加入到App中,在国内各大应用商店上架,赚取了大额的广告费用。
事实上不仅仅是存在定制App的店铺,为了骗取用户信任并下载,很多盗版App还会在上架后刷下载量、评分及评论,因此也存在着大量刷评分、下载量的店铺和专业团队。
图4 App刷评论
盗版App产业的水太深了,盗版App背后的灰色产业链非常成熟。盗版App不仅给最终用户带来了伤害,也给App企业开发者带来了极大的损失。作为企业开发者该如何防止自己的App被盗版呢?目前市场App加固技术已经非常成熟,加固技术可以保护App不被逆向,通过逆向二次打包的方式盗版一个App已不太可能,但通过找专业团队定制高仿App的方式简单又方便,针对这种现状,通付盾北斗团队建议在盗版App监测上投入时间,监测到盗版App及时进行下架处理,尽可能减少损失。下文重点描述如何在市场上监测盗版APP。
一般盗版APP与正规APP的名称、图标以及功能体验等都十分相近,大多数用户很难辨别。同时国内存在几十个应用商店,再加上各类论坛、小网站、非法盗版网站,App的分发渠道众多,还有很大一部分盗版App在国外,盗版App的监测难上加难。目前就算发现了盗版 App,也难以处置,在正规应用商店上发现的盗版App处理下架还算容易,如果是自己建立的分发渠道,要下架处置就不容易了。
基于以上难题,盗版App监测需要依赖自动化扫描程序24小时不间断扫描各类应用商店、分发渠道,监测是否出现同名称、同包名、图标相似、功能相似App,最关键的是检测开发者证书指纹是否与正版App开发者证书指纹一致,若指纹不一致,但同名称、同包名这一定是个盗版App, 这也是最有效的判定方式,详细原理将在下文中介绍。下表列出了国内常见的应用分发渠道。
序号市场名称序号市场名称
1360手机助手13当易网
2PC6安卓网14搜狗应用商店
3ZOL中关村在线15极光下载站
4乐游网16百度手机助手
5优游网17绿茶软件园
6历趣应用市场18腾牛安卓网
7多特软件站19腾讯应用宝
8安智应用市场20豌豆荚
9安粉丝手游网21酷安应用市场
10小米应用市场22魅族应用商店
112345手机助手23华为应用市场
12应用汇
表1 常见应用分发渠道
要理解如何正确判断App是否为盗版,需要先理解一个正规App发布上架前要做好哪些准备。
Android App以它的包名(packageName)作为唯一标识,如果在同一部手机上安装两个包名相同的App,后者就会覆盖前面安装的应用。为了避免Android App被随意覆盖,Android要求对App进行签名。Android系统也不允许安装一个未被签名的App,这一点很重要,App签名的过程实际上也是开发者在证明这个App是我开发的(虽然有被二次签名的风险,本文先不讨论这类情况)。
Android使用Java数字证书相关的机制来给App加盖数字证书,数字证书的私钥则保留在App开发者手中,数字证书的公钥以及签名信息、证书指纹被打包进了App中。重点来了,证书指纹是判断盗版的关键依据,证书指纹在数字证书生成的时候就被确定,同时经过证书私钥签名,私钥被保留在App开发者手中,因此想要伪造App中的证书指纹几乎是不可能的。
实际上App的签名过程就是PKI技术的应用,App大致签名原理如下。
1.计算App安装包(Apk)中数据文件,形成信息摘要。
图5 形成信息摘要
2.利用证书私钥对信息摘要签名。
图6 数字签名
3.将数字签名、证书公钥信息、证书指纹附在Apk文件中,证书私钥保留在开发者手中。
图7 完成签名
App完成签名后就能正常发布到应用市场,供用户下载安装。手机安装时会对App各类签名信息、证书信息逐一进行验证,没有被篡改或破坏则安装成功。
结论:App的包名和证书指纹能唯一确定一款App。
通过上文核心原理介绍,不难理解App盗版监测的核心就是App证书指纹、App应用名称、App包名的比对验证,其中App证书指纹起关键性作用,再借助自动化扫描程序24小时不间断扫描全网各类应用商店、分发渠道就能完成App渠道监测任务。下表给出了盗版、相似应用的判断逻辑。
签名指纹相同包名相同名称相同结论
√×√相关应用
√√×相关应用
√√√正版
√××无关应用
×√√盗版
×√×盗版
××√盗版\相同行业应用
×××无关应用
表2 盗版、相似应用的判断逻辑
通付盾云渠道监测覆盖超过500家应用发布渠道,包括第三方应用市场、论坛等方式。该服务从渠道分布、应用版本及其盗版率、下载量、盗版渠道来源等多方面对App应用进行实时监测,并对获取的信息进行全方位深入分析,最终将分析数据形成完备的监测报告。开发者可以通过通付盾云渠道监测服务第一时间发现盗版应用,针对性地进行处置。
图8 渠道监测服务效果展示
近日,通付盾云对新注册用户提供了优惠服务,完成注册即能免费享受渠道监测服务1次及其他安全合规产品线安全检测加固服务2次、灰应用检测服务1次。
免责声明:市场有风险,选择需谨慎!此文仅供参考,不作买卖依据。