深度解析移动应用安全的四大常见问题及解决方案

317 阅读5分钟

当前移动安全中恶意攻击的现状可以归结为四个主要方向:网络安全、数据安全、代码安全、设备安全。

网络安全

网络安全分为四个部分:数据防泄露、请求防重放、内容防篡改、身份防伪装。

解决数据防泄露的关键在于一定要对数据进行加密处理。请求防重放则可以通过请求时在参数中携带时间戳、随机数、流水号、“时间戳+流水号”这四种方式措施来予以防护。

内容防篡改需要我们对内容加盐哈希,再在服务端校验哈希值。身份防伪装有两种解决方案。方案一是Token身份认证:给Token一个有效期,防止Token泄露之后,攻击者其可以长期非法调用。

方案二是数字签名:通信过程中发送方对通信内容进行Hash生成摘要,然后用自己的私钥进行加密生成数字签名一起发送给接收方,接收方接收到后用自己的公钥进行解密来验证发送方的真实性,通过比对自己发送方的摘要信息与自己计算得出的摘要信息来验证内容是否被篡改。

数据安全

针对存储的安全防护,我们在数据落地的时候一定要进行加密处理,防止他人拿到重要的敏感数据。其次,我们要创建私有类型数据,尽量用private的创建方式,而不是全局的创建方式。

代码安全

常见逆向工程套路主要分为三种:反编译、脱壳、动态分析。以下方式可以防止代码反编译:代码混淆、签名验证、利用反编译工具漏洞进行防护、加固。防动态分析则可以从反调试、反Xposed、反root三个维度进行入手。

设备安全

开发者可以通过检查设备所处的环境来判断设备是否处于异常的状态。如果设备状态异常,则很可能处于黑产工具的控制下。常见的黑产工具包括“手机卡商与接码平台”、改机工具、打码平台以及群控系统。

黑产的攻击场景

黑产的攻击场景主要有以下四种:渠道推广、登录注册、营销活动、社区互动。在渠道推广环节,我们可能会遇到自动化批量刷量的黑产设备。它们会伪造虚假激活,让我们的钱白白浪费。

在登录注册之时,黑产方会对我们进行撞库攻击,并提供大量的垃圾账号进行注册。到了营销活动环节,攻击者可以针对APP优惠活动,提供大量的账号薅羊毛。社区互动过程中,直播刷榜、发送垃圾广告都是黑产攻击的常见形式。

防范黑产的措施

我们首先可以对手机上的设备信息进行全方面的检查。检查维度包括设备信息有无被篡改、手机上root环境是否处于root环境、有无安装一个Xposed的框架、系统是否被修改过、是否处于虚拟机的环境、部分地理位置异常是是否频繁。

检查后对这些风控数据予以记录,并把这些数据提交给风控引擎进行多维度的分析,比如可以对它进行IP风险评分、IP画像以及判断手机号是否在黑名单。我们通过多维度的模型标识高风险的用户、风险等级并告知客户端,以此进行一些防护。

防范黑产的案例

以渠道质量评估为例,渠道刷量分为机器刷量和人工刷量。机器刷量的特点是用群控系统配合一个改机工具,全自动化的下载和激活。其自动化程度比较高,但是我们可以通过识别设备信息、分析机器操作与人操作的差异化特征,从而标识出机器刷量的情况。

而人工刷量一般通过众包平台、IM群等下发任务的方式进行。其特点是人员分散、设备真实,但技术能力偏弱。人工刷量下设备会频繁地卸载和安装,应用的活跃程度跟以往不一样,处于异常状态。我们可以结合用户画像和这些特点标识这一类人工刷量的行为。

个验

为帮助开发者智能识别安全风险,个推在移动安全领域也推出了相应的解决方案-“个验”。个验是个推面向开发者推出的“一键认证”SDK,可以帮助APP开发者实现用户一键免密登录,简化APP登录流程,有效减少用户流失并提升转化。

作为新一代的验证解决方案,个推一键认证的功能特性更体现在能为APP开发者提供风险识别和风险防护的系列方案。

在风险识别方面,个验可以通过设备、网络、行为等多维度识别风险设备与黑产人群。准确识别出风险后,企业可提前对其加以防范,有效降低运营风险。在风险防护方面,个验在不影响正常用户使用的情况下,可以通过动画验证码阻止恶意自动化程序的进一步操作。

结语

如今,黑产攻击造成资产或声誉损失的现场此起彼伏,设备风险控制任重道远。个推将持续挖掘其丰富的数据资产,不断打磨自身技术,帮助APP开发者有效识别风险设备、保障业务安全。