总体态势
APP生成框架是指无需复杂技术编程即可实现APP开发的一种框架。使用APP生成框架开发APP能极大简化开发步骤、缩短开发周期并在一定程度上节约开发成本,因此越来越多有开发需求的人成为APP生成框架的用户,其中不乏众多黑灰产从业者。
360烽火实验室在对Android黑灰产的持续监测中发现,越来越多黑灰产开发者倾向于使用APP生成框架来开发黑灰产APP。自2016年起,我们在勒索软件黑产研究中就发现了大量使用Android易语言(E4A)一键生成的勒索APP,而事实上,E4A只是市场上众多APP生成框架中的一种,近几年我们陆续收集了数万种APP生成框架,同时更是捕获到了上百万利用这些APP生成框架开发的黑灰产APP。
图1显示了2014-2018年全年黑灰产APP总量中框架开发黑灰产APP的占比情况,自2016年开始,框架开发黑灰产APP数量与占比开始激增,到2018年,全年黑灰产APP总量中22%均由框架开发。从框架开发黑灰产APP占比变化来看,黑灰产APP整体呈现框架化趋势,APP生成框架在帮助众多用户实现开发梦的同时也给黑灰产提供了一种成本低廉的APP生产途径。
图1 2014-2018年框架黑灰产APP在全年APP总量中的占比
APP生成框架介绍
APP生成框架分类
APP生成框架不限于某一特定形式,可以是APP、SDK、打包、开源工具、支持库等,通过这些形式,开发者可以零编程或少编程快速生成APP且生成的APP代码结构高度一致、重复率极高,我们将这些不同的形式统称为框架。
不同形式的框架在使用方式与实现原理上有所不同,目前我们收集到的框架主要可以归为五大类:
图2 五类APP生成框架的典型特征
一键打包
一键打包的实质就是将对应的网址、接口或脚本套入给定的APP模板生成Web应用,根据使用上的差异可细分为直接打包与DIY打包,对比于直接打包,DIY打包能自定义界面与组件样式,在APP展示设计上更加灵活。打包平台通常会根据APP种类提供丰富的模板供用户选择,如电商模板、社区交友模板等。一键打包是典型的零编程APP生成框架,但通常要求开发者已具备相应网站、店铺或网页脚本,且在APP样式上相对固定。
开源工具&库
开源工具或库(以下简称“工具库”)分别以工具APP形式安装至手机或作为SDK嵌入APP中,封装Android原生API,以更易于使用的方式为开发者提供各种APP开发功能接口。与一键打包相比,工具库框架在功能性与形式多样性上都更加强大,且成熟工具库通常易于找到很多源码库提供功能支持,但使用工具库框架需要开发者具备一定代码编写与阅读能力,整体使用难度略高于一键打包。
插件化框架
插件化框架是通过反射、Hook与动态加载机制,利用壳APP以插件形式加载真实APP并运行的框架形式。插件化框架开发同样需要开发者具备一定编码能力,利用插件化框架开发APP需要实现两部分:壳APP与真实APP,壳APP与真实APP没有固定对应关系,即壳APP可以加载任意真实APP,真实APP也可以由任意壳APP包装,这一特性被广泛用于APP批量开发。
外包框架
不同于其他“工具化”框架,外包框架是将开发需求提交给外包平台,由平台实现APP开发的框架形式。与传统外包不同,外包框架开发的APP代码结构高度一致、功能重复率极高、呈现典型框架化特点。我们收集的外包框架全部来自国外,且其中绝大多数仅承接特定种类APP开发。
APP生成器
除了以上4类框架,我们还发现了一种特殊框架——APP生成器。APP生成器一般来自各类贴吧、论坛或QQ群,是一键打包框架的一种特例,与常规一键打包不同的是APP生成器本身就是一个APP,在安装到手机后一般只能用于一键生成特定种类的APP,通常是特定灰黑产APP。
图3给出了由以上五类框架开发的APP的数量分布情况,工具库在框架化开发中最为常用,其次为插件化框架与一键打包,三者总占比高达92%;由于开发周期长与费用高,极少有开发者会选择外包框架。
图3 由五类框架开发的APP数量分布
APP生成框架使用概况
APP生成框架由来已久,早在Android系统发布后不到两年,各种Android框架化开发工具便相继出现并快速传播,截至2019年初,框架生成样本总量已高达800万。
360烽火实验室最早捕获的框架APP出现于2011年,2011年框架APP总量仅1000+,在全年APP总量中占比仅0.5%。自2011年之后,框架APP数量逐年递增,特别是从2016年开始,每年全年APP总量中框架APP占比急速增大,根据数据统计结果,2018年框架APP占比已高达7.3%,如图4。
图4 2011-2018年框架APP数量及在全年APP总量中的占比
截至2019年3月,我们共收集了2万+种APP生成框架,包括40种一键打包框架、11种工具库框架、7种插件化框架、12种外包框架以及2万余种APP生成器,由这些框架开发的APP数量存在巨大差异。我们统计了目前使用频率较高的十种APP生成框架及其生成的APP总量,如图5,目前工具库框架E4A是被使用最多的APP生成框架,其次是插件化框架DKModel与DroidPlugin,三者数量均超过80万。
图5 APP总量TOP 10框架及其APP数量
框架APP类型分布
我们对两万余种框架生成的APP进行了分类,如图6,工具类在框架APP中占比高达69%,网商、游戏与门户网是仅次于工具类的APP类别。在工具类中,约71%为黑客工具与即时通讯APP,影音播放器、金融APP(投资理财、借贷)等也占据相当数量。
图6 框架开发APP类型分布
从全量角度看,占比最高的APP类别为黑客工具、即时通讯与网商,三者在全量框架APP中的占比分别为38%、16%与15%。黑客工具主要包括代刷代挂、免流、游戏外挂、钓鱼、勒索等主流黑灰产工具;即时通讯则主要为微信与QQ多开;网商包括各类电商APP,其中以非知名电商APP为主。
框架平台运营模式与安全隐患
运营模式转型
在我们收集到的框架中,部分一键打包与工具库框架由相应官方平台提供打包服务,框架平台多数会同时提供免费与付费服务,付费服务比免费服务支持更多功能,付费越多,能实现的功能越强大。如图7,一款名为“快打包”的网站提供的三级打包服务,不同等级的功能差异体现在动态效果、支持插件甚至用户隐私权限等多个方面,尽管如此,低级甚至免费服务所提供的功能足以用于生成基础APP,对于追求低成本或对APP质量要求低的开发者而言,使用低价或免费版来进行APP开发已足够。
图7 快打包三级打包服务
在这种模式下,单一售卖APP打包服务的经营模式盈利有限,再加上市场竞争压力大,传统框架平台难以带来理想收入。从2018开始,陆续有APP框架平台停止服务,而部分平台逐渐开始经营模式转型,除了售卖APP打包服务外,开始融合多种传统增值服务,如软件著作权代办、应用包上架等,同时开放代理通道,将框架作为产品销售,因此出现了明明是一套代码,但框架名称与官方平台地址却不一样的情况;此外,部分框架平台引入了广告联盟,帮助开发者利用广告变现,以此吸引更多开发者。
安全隐患
框架平台在提供APP生成服务的同时带来了多种安全隐患,首先,框架平台缺乏APP图标、名称等审核机制,存在盗用已有APP名称或图标的问题,从而造成对正版APP的侵权;其次,多数框架在生成APP时,即使该APP没有进行用户隐私获取、收发短信等操作,框架会将这些风险接口直接暴露在所生的APP中,一旦接口被恶意程序利用可能会带来用户隐私信息泄露等风险;此外,框架平台经营模式的转型又带来了新的隐患,一方面框架平台在售卖软件著作权代办与应用包上架服务时,没有明确必要的APP安全规范,任何APP只要通过应用市场的安全检测都可以成功办证或上架,而部分框架APP本身就有绕过安全检测的特性,因此存在恶意APP拿到软件著作权或成功上架的风险,图8为一款名为“变色龙”的打包平台提供的软件著作权代办服务;另一方面,如果框架或框架APP出现安全问题,框架代码转卖也会给责任归属判断带来一定干扰。
图8 变色龙平台软件著作权代办服务
APP生成框架生态恶化
APP生成框架的初衷是帮助缺乏一定开发能力或成本的用户完成APP开发,但随着APP生成技术的普及与黑灰产开发、推广需求量的增大,APP生成框架逐渐被黑灰产广泛用于黑灰产APP生产。目前APP生成框架生态问题重重:其一,部分框架被黑灰产开发者滥用,由这些框架开发的劣质、黑灰产APP数量远多于优质、安全APP;其二,部分框架本身就“动机不纯”,专为批量生产黑灰产APP而生,这些框架包括数万计黑灰产APP生成器;此外,还出现了APP框架风险代码注入的现象,由此生成的APP安全性令人担忧。
正规框架被滥用
我们对除APP生成器外的四种框架的黑灰比进行了统计,如图9,四种框架下APP黑灰分布呈现两极化特点:插件化与工具库框架APP中黑灰产APP占比远高于一键打包与外包框架,黑灰比最高的插件化框架黑灰比高达77.0%,而外包框架黑灰比仅0.5%。在四种APP生成框架中,正规插件化框架与工具库框架被滥用的现象最明显。
图9 四类框架下APP黑灰比
相对于插件化与工具库框架,一键打包框架主要针对HTML5与WebAPP,APP生产前通常需要具备现成的网站或脚本等先决条件,而外包框架又成本过高,黑灰产开发者显然更倾向于选择功能更多样化、成本更低且能更快捷进行批量产出的框架。
在插件化框架“壳-真实APP”的模式下,黑灰产开发者不仅能给任意APP加任意自定义的壳快速形成新的APP,且安全壳应用能够隐藏动态加载的真实APP的恶意静态特征,增加黑灰产APP绕过安全厂商或应用市场安全检测的可能性;而对于工具库框架,除了拥有类似Andorid原生开发的强大功能,以IAPP、E4A、按键精灵等为首的部分工具库框架能以APP的形式安装到手机,开发者无需环境搭建,以“堆积木”的极简方式就能完成APP开发,对于成熟工具库框架,从相关技术社群能找到十分全面的功能源码库,包括相当多外挂破解、视频与隐私窃取等源码。
工具库框架与插件化框架在黑灰产批量打包上的优势使其成为框架滥用重灾区,在这两类框架中又分别以IAPP、VirtualAPP最为典型。截止到2019年3月,由IAPP与VirtualAPP开发的APP中黑灰比分别高达90%与81%,使用这两个框架开发的黑灰产APP数量已远远超过安全APP数量,其中IAPP框架下主要以代刷、外挂等黑客工具为主,VirtualAPP框架下则以盗版多开APP为主。
对于IAPP框架,黑灰产源码资源极其“丰富”,以某IAPP技术社区为例,该网站提供了大量IAPP功能源码,其中绝大多数都是黑客工具源码。
图10 某IAPP技术社区源码区
黑灰产APP生成器
与正规框架被滥用不同,黑灰产APP生成器本身就是为生产黑灰产APP而生。截止到2019年3月,我们共捕获了2万+个黑灰产APP生成器,这些APP生成器没有官网,一般通过QQ群、论坛或贴吧进行传播。特定APP生成器仅适用于生成特定种类黑灰产APP,在我们捕获到的APP生成器中以锁机和钓鱼APP生成器为主,如图11。
图11 黑灰产APP生成器类别分布
以一款名为“钓鱼生成器”的APP生成器为例,如图12,该生成器可以生成针对支付宝账号与QQ账号的4种不同形式的钓鱼APP,且可指定短信接收账户信息的手机,盗号软件以仿支付宝、QQ登录页面诱导用户输入支付宝、QQ账号密码,点击确认后,用户输入的账号与密码将短信发送至预留手机号。
图12 一款钓鱼APP生成器
除手机号外,部分黑灰产APP生成器支持自定义APP名称、图标、启动界面等,配合自动点击脚本能迅速生产出多个具有不同名称或图标等基础表现的黑灰产APP,批量产出大基数黑灰产APP能让黑灰产以极低成本增加市场占有、扩大传播推广,从而吸引更多用户中招。
风险代码注入
APP生成框架对开发者而言相当于“黑盒”,若框架包含风险代码注入行为,由该框架开发的所有APP都会存在对应风险行为,最终受害者都是用户。我们在对APP生成框架进行深入研究时发现,存在打包平台与部分APP生成器利用APP模板向生成的APP注入风险代码的现象。框架风险代码注入会导致风险APP数量与感染用户迅速增加,给用户与设备安全带来严重影响。
打包平台注入用户行为收集代码
为帮助开发者及时了解APP的推广状态,APP打包平台通常会在开发者个人中心提供用户统计数据。我们在对APP生成框架的持续监测过程中发现了一款名为“应用精灵”的APP打包平台存在定期收集额外用户数据的行为。
图13 “应用精灵”开发者可见数据统计页面
“应用精灵”打包平台的主要功能是将网站一键打包成APP,从该平台提供的开发者可见的数据统计页面只能看到APP名称与用户量统计数据,如图13,而实际上,除了用户设备标识外,该平台还在打包APP所使用的模板中加入了用户APP使用行为收集代码,由该平台打包的所有APP都会定期上传用户对该APP的使用时间、时长以及行为数据。
图14 “应用精灵”后台统计APP使用情况
截止到2019年4月,我们共捕获约两万由该平台生成的APP,这些APP覆盖多种应用分类,累计传播量高达百万。在这种情况下,该平台能持续监测到所有安装了这些APP的用户的行为数据。
APP生成器注入广告
除打包平台外,我们在部分APP生成器中也发现了通过模板进行风险广告嵌入的行为。以一个来自QQ群“APP生成器群”的APP生成器为例,这个生成器提供了5种APP模板,每种模板都被嵌入了风险广告代码。
图15 APP生成器支持的模板
由该生成器生成的所有APP开启后主屏内都包含无法消除的横幅广告,如图16,用户无意碰到主屏下部区域后APP会自动下载所列举的全部APP。
图16生成的APP带无法消除的广告
APP生成框架下的黑灰产APP
框架黑灰产APP类别概况
截止2019年3月,在我们捕获到的800万框架APP中,已知黑灰产APP累计三百万+,框架黑灰产APP占框架APP总量40%。通过对2018年框架黑灰产深入跟进后发现,框架开发的黑灰产APP高度集中在盗版多开、黑客工具与色情视频三类,这三类APP数量和在2018年全年框架黑灰产APP总量中占比高达91%,如图17;剩余9%包括博彩、违规借贷、网购欺诈、风险游戏等。
图17 2018年框架黑灰产APP类别分布
框架黑灰产APP重灾区
框架黑灰产APP以盗版多开与黑客工具为典型,这两类占比分别高达47%与34%,其中盗版多开主要针对微信;黑客工具则以刷量和外挂APP为主。
盗版多开
盗版多开是随插件化框架兴起而泛滥的一类风险APP,盗版多开可能会伪造与官方登录界面完全一致的钓鱼界面,诱导用户输入账户信息,造成用户隐私信息泄露。我们捕获到的框架盗版多开以微信多开为主,在全量框架盗版多开中,微信多开占比高达55%,此外,游戏、交友、电商与QQ多开也占据了相当比例。
图18 盗版多开APP类别分布
框架黑客工具
刷量APP是框架黑客工具中的主要类型之一,其通常伴随热门流量的出现而产生,如用户基数庞大的QQ、热门手游王者荣耀等,刷量APP主打功能是替用户刷各种指标量,如QQ会员、空间访问量、游戏点券等,随着近几年热门流量的变化,框架刷量APP种类也在不断变化。
我们分析了2016至2018三年间框架刷量APP的变化情况:2016年框架刷量APP中约90%都与QQ业务有关,其中以QQ刷钻、QQ刷赞为主;2017年单一QQ业务框架刷量APP占比下降至60%,同时短视频/直播框架刷量APP开始批量出现,其中主要以刷播放量和粉丝量为主,此外,框架刷量APP逐渐向平台化、综合化转型,支持多种刷量业务的综合型框架刷量APP开始大量出现,在全年框架刷量APP中占25%;到2018年,单一QQ业务框架刷量APP进一步综合化转型,综合型框架刷量APP占比已高达70%,短视频/直播框架刷量APP数量有所上升。
图19给出了2016-2018年框架刷量APP的主要类别分布,从近三年的总体趋势来看,针对单一业务的框架刷量APP正逐渐向支持多业务的综合型框架刷量平台转变。
图19 2016-2018年框架刷量APP主要类别分布
综合型框架刷量平台整合了所有主流类别刷量功能,包括QQ业务、短视频/直播、游戏刷量等。图20是一款名为“飞达科技代刷网”的综合型框架刷量APP,其按刷量目标分成了不同专区,各种刷量业务“应有尽有”。
图20 一款综合型框架刷量APP
在刷量APP综合化转型的背景下,APP生成框架为刷量APP开发者提供了更便捷的业务扩展方式——“一键”批量化。在我们收集到的综合型框架刷量APP中,绝大多数都呈现出框架批量生成的特点,这些工具可能有不同名称、包名或图标,但却拥有相互关联的服务器地址或开发者。表1是一批由E4A批量生成的综合型刷量APP,总量共计5万+。刷量APP开发者“机智”利用APP生成框架的便捷、零成本特性,以 “一变多”来达到批量推广、扩大市场占有、灵活转移业务的目的。
表1 E4A批量生成的同款刷量APP
除刷量APP外,框架黑客工具中的另一主要类别是外挂APP,与框架刷量APP一样,框架外挂APP近三年的类别分布也发生了一些变化,如图21,游戏外挂与QQ业务外挂始终是框架外挂APP中的两大主要类别,且占比逐年缓慢递增;流量外挂是近三年数量波动最大的一种框架外挂,从2016年至2018年,流量外挂占比从30%降至4%,已逐渐退出主流外挂行列;此外,短视频/直播外挂与短信、电话轰炸机占比有所增加。
图21 2016-2018年框架外挂APP主要类别分布
在框架黑客工具中,无论是框架刷量还是框架外挂,都存在严重“名不副实”的现象,大量APP打着刷量或外挂旗号诱导用户下载安装后实施锁屏勒索、隐私窃取、私自扣费等恶意行为。恶意APP开发者擅于利用低成本APP生成框架并结合热点黑客工具来扩大恶意APP的传播与感染,以此牟取更大利益。
表2截取自我们近期捕获到的一批框架黑客工具APP,这批APP由IAPP框架批量生成,软件名围绕刷量与博彩外挂展开,然而实际运行后这些APP不具备相应功能,且会弹出QQ登录页面诱导用户输入QQ账号与密码,并通过短信上传至指定手机号,造成用户隐私信息泄露。
表2 仿冒黑客工具的钓鱼APP
总结
APP生成框架带来了一种便捷的APP开发方式,各类打包平台、工具等也确实帮助很多开发者以低时间、资金与人力成本实现了APP开发,但黑灰产利用APP生成框架大肆批量化其工具的现象却越来越严重,给用户及其设备安全带来了严重隐患。
APP生成框架生态良性发展依赖于APP框架平台、应用市场与安全厂商等多方面的支持。
对于APP框架平台,明确APP安全规范、加强平台生成APP安全审核、从源头阻止风险APP进入市场势在必行,对于业务模式转型引入的增殖服务,如软件著作权代办、应用包上架等,更应严格执行APP安全性评估,杜绝风险APP取得相关权证或上架,而不应在不明确安全规范的情况下高价就能包办。
对于应用市场和安全厂商,应结合框架APP的特点采用专门针对框架APP的应用审核策略,以部分框架APP缺少静态行为特征为出发点,加强动静结合的APP检测机制。360烽火实验室基于动静结合、变化规律以及特征关联构建了针对框架APP的检测系统,最大可能保障用户及其设备安全。
360烽火实验室
360烽火实验室,致力于Android病毒分析、移动黑产研究、移动威胁预警以及Android漏洞挖掘等移动安全领域及Android安全生态的深度研究。作为全球顶级移动安全生态研究实验室,360烽火实验室在全球范围内首发了多篇具备国际影响力的Android木马分析报告和Android木马黑色产业链研究报告。实验室在为360手机卫士、360手机急救箱、360手机助手等提供核心安全数据和顽固木马清除解决方案的同时,也为上百家国内外厂商、应用商店等合作伙伴提供了移动应用安全检测服务,全方位守护移动安全。
本文经安全客授权发布,转载请联系安全客平台。