知物由学 | 见招拆招,Android应用破解及防护秘籍

“知物由学”是网易云易盾打造的一个品牌栏目,词语出自汉·王充《论衡·实知》。人,能力有高下之分,学习才知道事物的道理,而后才有智慧,不去求问就不会知道。“知物由学”希望通过一篇篇技术干货、趋势解读、人物思考和沉淀给你带来收获的同时,也希望打开你的眼界,成就不一样的你。当然,如果你有不错的认知或分享,也欢迎通过邮件(zhangyong02@corp.netease.com)投稿。

2018年6月28日,Droidcon2018安卓技术大会在上海如期举行。

Droidcon技术大会于2009年由一个Android爱好者国际研究小组在柏林和伦敦发起,旨在为Android开发工程师、应用人员、创业者以及用户提供一个开放的交流平台。目前已在全球5大洲、26个国家和地区召开,是安卓领域全球最有影响力的技术大会。作为TMT产业的全力推动者和引领者,本届大会北京长风信息技术产业联盟联合世界移动大会,邀请了众多国内外知名企业及安卓领域技术大咖参加,共同探讨安卓技术趋势、热点与应用。

网易移动安全技术专家卓辉受邀参会,发表了主题《Android应用破解及防护进阶之路》的演讲,和与会开发者分享了面对应用山寨、重打包、破解、数据泄露、登录安全风险时,我们该如何解决。

一、移动APP的安全风险

随着移动开发技术的不断发展,手机APP已经成为了人们生活中密不可分的一部分。但就目前的APP开发安全现状来说情况却不容乐观,盗版APP、恶意破解、APP劫持、数据泄漏、移动业务攻击等等......各种状况层出不穷。

因此,对于广大开发者和企业来说,移动APP的安全问题亟待解决。常见的安全风险包括有山寨危险、重打包风险、破解/数据泄露、以及登录安全风险。

山寨危险

山寨APP的问题由来已久,实际上,大部分APP都有过被仿冒的经历。据统计,热门应用平均有27个山寨APP,严重危害到了正版应用和用户的利益。如下图所示,通过简单的解包、逆向分析、代码拷贝、简单开发并打包就可以完成山寨应用上架,暴利产业链下还有更多的开发者趋之若鹜,仿冒形式也是多种多样。

在任意的应用商店中搜索“抢红包”,都会出现大批“克隆”的结果列表。

重打包风险/,/b>

重打包风险主要是指二次打包,通过破解正版的APP进行二次打包上传至应用商城。这种仿冒形式成本低廉、操作简单,“打包党”们通过反编译工具向应用中插入广告代码与相关配置,再在第三方应用市场、论坛发布。常见的操作手段比如插入自己广告或者删除原来广告、通过恶意代码恶意扣费或插入木马、修改原来支付逻辑等等。

重打包不仅严重危害产品和用户的利益,还会对公司的口碑产生极度恶劣的影响。如下图所示,神庙逃亡即被打包党们进行了二次打包。

破解、数据泄露

金融、支付类App一直是数据泄露的重灾区,多达88%都存在内存敏感数据泄露问题。如下所示,即为常见的金融、支付类本地存储数据泄漏。

数据抓包,泄漏用户名和密码也是常见的状况之一。

登录安全风险

登录安全也是不容忽视的安全风险之一,包括界面劫持风险和键盘记录风险。

二、移动安全进阶

被二次打包,被恶意利用;被破解,敏感信息泄漏;游戏出现外挂,影响收入......诸如此类的恶意手段对于企业的利益来说破坏性极大,为了保护知识产权,也为了响应《网络安全法》 和监管部门的要求,提高防护等级、实现安全进阶显得尤为重要。

一般而言,移动安全的进阶包括四大步骤:安全监测、数据保护、代码保护和多端联动。

安全检测

安全检测是移动开发安全防护的第一步,通常需要检测客户端程序安全、敏感信息安全、密码软键盘安全性、安全策略设置、手势密码安全性、通信安全、业务功能测试、配置文件、拒绝服务、本地SQL注入等方面。

而在各威胁类型下,还有各种复杂的子类也需要加强检测。

在安全检测中,最主要的是帮助产品规避安全风险。据统计,2018年已知的部分移动开发漏洞包括ZipperDown安全漏洞、Janus签名漏洞、应用克隆漏洞、RCE漏洞、Google Android缓冲区溢出漏洞......开发应该关注这些漏洞并想办法规避这些风险。

数据保护

如下图所示,抓包是数据截取中经常会用到的手段。所以开发者需要对帐号、密码进行加密处理。不过这还远远不够,其中仍会存在通信风险,给入侵者以可趁之机。

如下所示,即演示了在帐号、密码都进行了加密处理的情况下仍能突破保护层窃取数据。

某APP登录过程中敏感信息已经加密,拦截A登录设备请求RO就能获取加密后的数据,在另外一台设备B上拦截登录请求R1,把RO数据填充到R1中,B设备即可显示登陆成功。

这种情况下,做好HTTPS双向认证就是很重要的一大步骤了,起码要做好单向认证,就是客户端校验服务端合法证书。首先在服务端验证时间戳、设备信息和IP;在客户端进行加密,包括敏感信息加密、时间戳、设备信息和序列号;然后将信息安全存储到本地存储之中。在服务端和客户端的传输中,要注意客户端要校验服务端证书,防止中间人进行劫持攻击。

输入保护也是数据保护的重要组成部分,开发者可以开发自定义的密码输入键盘。为防截屏、录屏,建议不要使用手机里自带的输入法输入密码,以防止键盘记录。

总的来看,数据保护可以说是安全保护中最为重要的一步,通信数据、存储数据等重要敏感数据都需要经过加密并加入校验信息。此外,还有一些安全建议:HTTPS并没有想象中那么安全,所以建议不要使用自定义加密算法;本机存储数据加密并且拷贝到其它手机不能使用;尽量一机一密、常用设备登录.....

代码保护

基础的代码保护方法包括以下五个方面:

编写Proguard代码混淆,SDK也要混淆编写;

代码Native化,将Java转C++、Dex转到so;

白盒加密,密钥加密,但不要简单的把密钥写在代码中;

去日志化,因为日志会暴露很多代码逻辑;

签名校验,防止重打包。
复制代码

除去这些基础层面外,面对越来越复杂的入侵方式,一些进阶措施也是必备的,包括VMP、资源加密、动态反调试、防模拟器、防DUMP、防劫持、防注入......这就需要更全面的APP专业加固服务了。

多端联动

用户和APP是交互和反馈的关系,因此,多端联动能够带来更好的安全保护效果。

对于APP、后台、风控中心这三者来说,APP通过和用户交互获取数据,后台通过手机数据向风控中心提出安全请求,风控中心再通过设备指纹、黑名单、行为分析和业务模型向后台反馈结果,后台通过业务调整控制APP业务,并最终呈现给用户。

最后一步

当然这其中,人的安全问题也是比容忽视的。在安全防护中,人是最不可控的风险因素,因此要加强人员安全培训和安全管理。

三、未知的安全风险

技术的发展速度是超乎所有人想象的。在未来,开发者必将面临着更加复杂的安全问题:

物联网快速发展下促生的设备安全;

漏洞风险会持续存在;

身份认证类的安全问题;

敏感数据泄漏问题;

合规类的安全问题;

......
复制代码

未来的安全风险无论对于业务、还是安全从业者,都是未知的。

基于此,网易云易盾通过自身的网站安全问题发现能力,变“被动通报”为“主动治理”,为广大开发者提供自下而上的全面监测解决方案,极大规避政策风险、避免品牌形象遭受损失,为您的App保驾护航。

欢迎免费试用网易云易盾安全服务。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
物联通V7.2发版公告 A.开单报表类: 1.新增统一客户供应商管理功能(对接财贸、分销系列)。 2.新增组合套件销售单据,更好适用套餐类销售的应用场景(注:财贸系列暂时不支持)。 3.新增商品品牌预收款管理(支持V3/A8 V9.83及以上版本)。 4.新增报价单、请购单两种单据类型(支持V3/A8 V9.72及以上版本)。 5.新增借款单、费用报销单两种单据类型(支持财贸双全16.0及以上版本)。 6.新增单据红冲功能,支持单据:销售单、销售退货单、收款单、同价调拨单(注:财贸系列不支持) 7.新增销售退货单支持扫描序列号退货功能。 8.新增分销系列支持序列号盘点功能。 9.新增业务员回款表,更方便查询每个业务员的销售、收款、回款情况。 10.新增收款提交后,管家婆中自动按单结算功能。 11.对接财贸双全16.0及以上版本,支持以下单据过账:销售订单、进货订单、进货单、销售单、销售换货单、销售退货单、同价调拨单、收款单、付款单、一般费用。 12.使用预收款结算时,控制不允许超出预收余额收款。 13.单据审核时,支持查看审核原因(注:财贸系列不支持) 14.加入零售退货单审核(仅支持V3/A8产品) 15.开单时支持签署电子签名,可作为单据附件上传至管家婆系统。 16.开单选择商品/客户信息时,支持在线获取账面库存/应收应付信息。 17.增加配送管理,业务员送货完毕后在管家婆系统中可查看送达时间及地址。 18.综合开单加入销售和收款优惠功能,支持根据销售和退货差额自动计算收款金额。 19.业务交账表加入销售金额合计,并纳入综合开单的数据统计。 20.APP端用户配置中,默认开启【录单快速进入开单界面】。 21.APP端用户配置中,支持自定义即时搜索的显示条数。 22.针对出入库的验货功能进行优化改版,让验货操作更加方便【安卓PDA版】。 23.针对手机电脑行业的序列号以及食品行业批次的补录模块优化改版【安卓PDA版】。 B.巡店外勤类: 1.物联通APP端客户分布功能,支持按线路查看客户分布情况。 2.新增客户拜访规划周期循环功能,让拜访规划制定更方便。 3.优化自动签到功能,业务行程轨迹更详细,并支持查询到店拍照信息以及累计行驶里程数。 4.增加费用预申报功能,并支持多人审核。 5.新增离店语音提醒功能,提醒业务员离店时及时进行签退。 6.新增日程提醒功能,自动提醒业务员记录的待办事宜。 7.拍照管理中,支持分别录入每个照片类型的备注信息。 8.新增/修改客户时,支持模糊查询线路信息。 9.客户拜访中,默认只显示当日计划拜访客户信息,支持筛选历史未完成拜访数据进行补拜放。 10.工作台中,查询附近客户信息时,直接显示客户门头照信息。 C.后台设置类: 1.微信助手支持每天早晨8点准时推送昨日销售数据。 2.新增线路客户excel导入功能。 3.业务拜访行程表,加入签到偏离数据。 4.新增物联通首页图形化报表支持直接跳转相应的报表功能。 5.对接财贸系列,新增自动识别会计准则功能。 6.添加业务员时可直接选择权限组,不必重复设置权限。 7.基本信息授权时,支持模糊搜索授权信息。 8.客户信息中可以直接点开地图定位客户的经纬度信息。 9.签到照片汇总表中,加入每个客户业务成交笔数的统计。 10.新增客户信息锁定功能,避免业务员在物联通APP端将正确的客户信息修改掉。 D.打印类: 1.蓝牙小票支持打印可供扫描的条形码,方便超市快速入库。 2.蓝牙小票表头、表体字段开放是否打印的配置。 3.新增得实针式票据打印机,更好的支持多联单打印。 4.新增不干胶打印机,为商品价格标签打印与发货单打印提供便利。 E.支持的管家婆版本调整: 辉煌系列 V12.0及以上(辉煌普及,辉煌2代,辉煌Online) 分销系列 V9.72及以上(分销V3 分销A8) 分销V1 V1.1及以上 财工贸 V16.0及以上(财贸双全 财贸.NET )
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值