大数据时代,移动应用数量快速增长、应用领域也广泛扩展。据工信部统计,截至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, 这也是最有效的判定方式,详细原理将在下文中介绍。下表列出了国内常见的应用分发渠道。
表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次。
(免责声明:本网站内容主要来自原创、合作伙伴供稿和第三方自媒体作者投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
任何单位或个人认为本网站中的网页或链接内容可能涉嫌侵犯其知识产权或存在不实内容时,应及时向本网站提出书面权利通知或不实情况说明,并提供身份证明、权属证明及详细侵权或不实情况证明。本网站在收到上述法律文件后,将会依法尽快联系相关文章源头核实,沟通删除相关内容或断开相关链接。 )