Question | 移动端虚拟机注册等作弊行为的破解之道
本文来自网易云社区
“Question”为网易云易盾的问答栏目,将会解答和呈现安全领域大家常见的问题和困惑。如果你有什么疑惑,也欢迎通过邮件(zhangyong02@corp.netease.com)提问。

这是一个典型的反欺诈问题,在金融/互联网金融、搜索引擎广告、电信、电商等领域都是关注的重点,今天易盾将此问题拎出来给大家单独讲讲。
首先需要明确判断 Spam 帐号的方法。
判断一个账号是不是Spam账号,无非就是看这个账号从哪里来,以及做了什么。具体可以从以下维度判断:注册来源,所在的IP、设备ID、用户行为。
1.注册来源
用户未产生行为之前,帐号IP和设备ID是判断的直接依据。一般来说,企业会有针对Spam账号所积累的黑名单库,其中IP、设备ID均在列。通过黑名单库的识别,可以提前过滤掉一部分Spam账号。但设备ID/IP信息是可以不断变更的,仅靠积累的库并不能解决问题。
2.注册信息
注册信息包括昵称、注册邮箱、手机号等。注册信息的发生,即用户已经产生行为。有了实在的证据之后,判断是否为Spam账号就更有底气一些。根据经验,因为Spam账号大批量注册,大部分都没有精力对个人资料进行精心设置,因此无意义字符、有规律性的内容就是判断是否为Spam账号的主要依据。但根据注册信息来判断仍然是推测,实际操作过程中阻碍较多。
3.行为内容
前面两个步骤的防范都是推测是否为Spam账号,更有说服力的依据是用户行为内容,识别标准根据各个场景而不同。在反垃圾场景中,发布垃圾内容的自然是垃圾信息。在反作弊场景中,刷票、批量投票等行为,也可以理解为Spam账号。
在谈如何应对之前,我们先来梳理移动端APP可能遇到哪些作弊风险。
1. 渠道商刷量,伪造大批下载量和装机量,但没有新用户注册。
2. 对于电商、P2P、外卖等平台,会面临散户或者团队刷子的注册->领券(参加活动)->利用平台规则获利或变现。
3. 对于UGC社区或带有UGC属性的其他类型社区,会面临各种Spam账号注册后,在社区内发大量广告进行引流的风险。
应对作弊的方案针对风险的不同会略有不同。
1. 对于刷量作弊,反作弊核心在于是否存在使用模拟器安装APP,反复安装APP的情况,对于这类作弊,收集数据提取相关证明即可。
2. 对于电商等平台类的作弊,需要有三种途径分别解决:
a) 【技术层面】检测是否有模拟器,设备是否处于可以被篡改机器特征(尝试破解设备指纹)的环境中,检测网络特征是否位于同一网络环境下。
b) 【业务层面】需要在注册、登陆、重点被刷的活动上分别布防,以设备指纹为基础,检测是否存在类似于设备注册/登录多账号类的高频特征,对账号进行打标,在后续的关键节点中再对账号进行处理,尽量避免和刷手进行面对面的攻防对抗。
c) 【活动层面】分析历史作弊数据,优化活动奖励。对于作弊的流量,采用堵不如疏的策略,与其强硬的一刀切,不如提升攻击成本,减少获利。
3. UGC社区与电商平台类似,UGC社区同样需要技术层面和业务层面的检测。另外为了对抗大量的人工和手工刷手,需要增加文本内容方面的反垃圾。
以上是盾盾对于解决移动端虚拟机注册等作弊行为的方法解读,如果你有任何网络安全方面的问题想要咨询,欢迎给盾盾留言,入选问题将会在question栏目中进行定期解答。
相关文章:
【推荐】 后台服务项目的白盒测试之旅
【推荐】 初识Continuation
【推荐】 微服务化的数据库设计与读写分离
Question | 移动端虚拟机注册等作弊行为的破解之道的更多相关文章
- 如何在 vCenter Server 上将虚拟机注册或添加到清单中
免责声明:本文为 Registering or adding a virtual machine to the Inventory in vCenter Server or in an ESX/E ...
- Netty服务端Channel注册Selector及绑定服务器端口
当服务端Channel 创建并且初始化完成之后,会将其注册到 selector,通过语句config().group().register(channel)进行注册工作,该方法最终调用 Abstrac ...
- 向虚拟机注册钩子,实现Bean对象的初始化和销毁方法
作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言 有什么方式,能给代码留条活路? 有人说:人人都是产品经理,那你知道吗,人人也都可以是 ...
- Taurus.MVC 微服务框架 入门开发教程:项目集成:1、服务端:注册中心、网关(提供可运行程序下载)。
系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 本系列第一篇:Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单 ...
- 对于移动端 App,虚拟机注册或类似作弊行为有何应对良策?
1.APP攻击大致策略 对APP进行攻击的一般思路包括反编译APP代码.破解APP通讯协议.安装虚拟机自动化模拟: a.首先看能否反编译APP代码(例如Android APP),如果能够反编译,从代码 ...
- Spring Cloud(2)A Eureka server端 服务注册建立
1. 父项目pom <dependency> <groupId>org.springframework.cloud</groupId> <artifactId ...
- zabbix server端自动发现和zabbix agent端自动注册
一.zabbix自动发现 利用zabbix的discovery功能可以实现自动批量添加主机的功能. Zabbix自动发现实现自定义主机名: 通过自动发现添加的客户端主机的Host name 是以IP地 ...
- 四、eureka服务端同步注册操作
所有文章 https://www.cnblogs.com/lay2017/p/11908715.html 正文 在eureka服务端注册服务一文中,我们提到register方法做了两件事 1)注册服务 ...
- Spring Cloud Eureka 之服务端自我注册
Eureka服务端实现了一种自我注册机制,涉及配置项: eureka.client.register-with-eureka spring.application.name Eureka Server ...
随机推荐
- java类及编写public类的基础点
1.一个java文件中只能有一个public类.且公共类名称必须与java文件名一致,否则会出现错误提示.与其他面向对象编程语言的一样,在利用java分析问题时,基本思路即为将问题的属性(静)与行为( ...
- 复选框 省市区 联动(监听input的change事件)
需求:省市区三级包含复选框按钮以及文字描述.点击文字显示对应的下级地区,点击复选框选择对应的下级区域勾选. 分析:监听input的change事件当点击复选框省 选择对应的第一个市区,同时默认选中第 ...
- form表单转换为Json字符串数据
https://github.com/marioizquierdo/jquery.serializeJSON 效果图 加载使用 <script type="text/javascrip ...
- 解决Mysql导入大数据出现gone away的问题
在用Mysql Yog或者PHPMyadmin等工具导入数据量大的sql文件时,会提示“gone away”,那么如何处理这个问题尼? 在Mysql对应的配置文件中my.ini文件中加入以下配置: # ...
- Yii2.0 集成使用富头像上传编辑器
在开发过程中,我们会用到头像上传的功能.这里给大家推荐一款比较流行的头像上传组件,FullAvatarEditor 2.3(富头像上传编辑器). 实际效果如图所示: 1.下载组件,下载地址:http: ...
- python2含有中文路径报错解决办法[\xe4\xbf\xa1\xe6\x81\xaf]
如图所示 百度的解决办法大多数是针对python3版本的,在脚本开头加# -*- coding:utf-8 -*-,但是python2版本加了编码格式,还是报错,具体解决办法是:path =unico ...
- Contour Features 边界特征
查找轮廓 findContours cv2.findContours(image, mode, method[, contours[, hierarchy[, offset]]]) → image ...
- C# Dictionary 的几种遍历方法,排序
Dictionary<string, int> list = new Dictionary<string, int>(); list.Add(); //3.0以上版本 fore ...
- checkbox点击选中,再点击取消,并显示在文本框中
function checkItem(e,itemId) { var item = document.getElementById(itemId); var $items = $(item); if ...
- iOS动画之iOS UIBezierPath类 介绍
感谢:http://blog.csdn.net/crayondeng/article/details/11093689 使用UIBezierPath类可以创建基于矢量的路径,这个类在UIKit中.此类 ...