1、APP攻击大致策略

对APP进行攻击的一般思路包括反编译APP代码、破解APP通讯协议、安装虚拟机自动化模拟:

a、首先看能否反编译APP代码(例如Android APP),如果能够反编译,从代码层面理清APP业务逻辑(例如新用户注册),则直接在攻击软件中模拟此部分逻辑,相对于破解通讯协议及安装虚拟机自动化模拟而言,此种攻击方法是所有攻击者最优的选择方案。
反欺诈手段:代码混淆、核心算法加密(例如微信 android app)等。 b、如果无法反编译代码,则攻击者一般会选择通过对网络通讯协议抓包,破解通讯协议。
反欺诈手段:保证通讯协议的安全,例如采用SSL、防止中间人攻击(MITM)、报文签名、动态token等。 c、如果反编译代码及破解通讯协议都不管用情况下,一般才会采用安装bluestacks或android/iOS虚拟机安装APP进行攻击的方式。 当然以上策略很多情况下是综合使用的。

2、一般采用虚拟机进行攻击的手段:

著作权归作者所有。
商业转载请联系作者获得授权,非商业转载请注明出处。
作者:梁川
链接:https://www.zhihu.com/question/33537532/answer/64966375
来源:知乎 )、采用ADSL、3G/4G、Proxy、VPN或IP池端等方式获取动态IP,规避对IP地址的反欺诈限制
反欺诈手段:IP黑名单、Proxy 检测、GeoIP等等 )、伪造IMEI、GUID/UUID、MAC地址等硬件设备信息
反欺诈手段:没什么好的手段,只能通过建立用户数字指纹库、黑名单库,结合访问规则、行为特征等其他策略进行防护。 )、篡改虚拟机特征信息(例如user-agent、ROOT/越狱),伪装为真实系统
反欺诈手段:只能尽量多研究各种虚拟机的特征信息,对这些特征信息进行检测,抓住攻击者疏漏的信息。
例如陌陌曾经对安装的bluestacks上的陌陌进行提示:你当前的设备存在安全隐患而无法登录,建议使用正规手机或Pad来使用陌陌,或提示为盗版等。
其原理在于:检测是否存在/data/Bluestacks.prop 文件,如果存在,则可以判定为bluestacks 虚拟机。 )、篡改GPS位置等动态信息,例如针对微信、陌陌的mock gps等软件
反欺诈手段:只能采用GPS模拟检测、用户访问规则、行为特征等综合策略进行防护。 )、对虚拟机进行ROOT或越狱,配合WIFI、DNS/MAC攻击等攻击手段,对服务器端漏洞进行攻击
典型例子是iOS上的IAP支付欺诈问题,使用IAP Tracker和IAP Free这样的越狱插件伪造交易凭证。
iOS游戏使用苹果的IAP支付,客户端回调服务器之后,服务器收到之后如何做校验? - 梁川的回答 )、页面安全攻击
对采用webview的页面进行XSS、SQL注入等攻击,尤其是结合虚拟机及自动化软件(例如篡改user-agent)
反欺诈手段:与虚拟机关系不大,本质上是服务器端的安全问题。 )、本地安全攻击
对虚拟机进行ROOT或越狱,然后获取对APP本地存储数据的读写权限,篡改数据或盗取数据。
反欺诈手段:数据加密存储;敏感数据别存放在本地。 8)、采用按键精灵/sikuli/触摸精灵等自动化工具 +虚拟机方式进行批量注册、自动化登录、模拟人工自动化操作
这是采用模拟器反欺诈最核心的问题。

3、反欺诈手段:

著作权归作者所有。
商业转载请联系作者获得授权,非商业转载请注明出处。
作者:梁川
链接:https://www.zhihu.com/question/33537532/answer/64966375
来源:知乎 a、高大上的生物探针技术(类似支付宝 APP):
采用所谓的生物探针技术,识别用户独一无二的操作行为。
原理:正如签名笔迹一样,每个人的行为习惯都是独一无二的,如屏幕敲击频率、点击位置偏好等。通过机器学习,为每一个用户建立多维度的行为模型,称之为用户画像。将用户当前操作与模型进行匹配,可以准确地识别出风险及异常。 b、黑名单库
这里的黑名单库本质上是综合性策略,包括用户黑名单、邮件地址黑名单、手机号黑名单、IP黑名单、代理服务器黑名单、数字指纹黑名单、身份证黑名单、银行卡黑名单、区域黑名单(例如某个区域是作弊、骗取贷款高发地区)等等。 c、基于用户身份特征信息验证
例如手机号绑定+短信验证码、同一手机号只能注册绑定一个用户、同一用户同时在线数限制、在不同手机使用登录重新登陆策略等等。 d、在业务流程中,保证用户体验的前提下,增加一些互动元素,切断自动化操作
一个典型例子是,微信打飞机流行时候,用户首次安装登录微信时候,会出现打飞机的主界面,且跳过按钮不固定,要在虚拟机自动化注册、登录就极为麻烦。 e、基于用户访问规则、行为特征反欺诈
用户访问规则的例子:用户通过IP地址黑名单访问;用户通过代理服务器访问;两个用户通过同样的浏览器ID访问(钓鱼);用户短时间内通过两个地理上非常远的地方登录;用户从不同的IP地址,通过一个会话进行两个或两个以上的操作(中间人攻击)
用户行为特征的例子:用户在一个不常见的地址做特殊的操作、用户在一个不常见的地址做异常的操作、在短时间内很多用户做相同的操作、用户的行为与已有的欺诈类似。 f、反欺诈引擎/风控引擎
基于APP及业务积累的各种大数据,采用机器学习算法,建立反欺诈引擎/风控引擎,综合以上手段,对各种欺诈事件进行综合性防护。

参考链接:

https://www.zhihu.com/question/33537532

对于移动端 App,虚拟机注册或类似作弊行为有何应对良策?的更多相关文章

  1. Question | 移动端虚拟机注册等作弊行为的破解之道

    本文来自网易云社区 "Question"为网易云易盾的问答栏目,将会解答和呈现安全领域大家常见的问题和困惑.如果你有什么疑惑,也欢迎通过邮件(zhangyong02@corp.ne ...

  2. 如何设计一个 App 的注册登录流程?

    移 动设备发力之前的登录方式很简单:用户名/邮箱+密码+确认密码,所有的用户登录注册都是围绕着邮箱来做.随着移动设备和社交网络的普及,邮箱不再是唯 一,渐渐的出现了微博,QQ,微信等第三方登录方式,手 ...

  3. 【转】移动端App测试实用指南

    转自:互联网那点事 英文原文: http://mobile.smashingmagazine.com/2012/10/22/a-guide-to-mobile-app-testing/ 测试人员常被看 ...

  4. 【转】【CDC翻客】移动端App测试实用指南

     译者注:本文从测试人员的角度出发,提出了100多个在测试移动App过程中需要考虑的问题.不管你是测试人员.开发.产品经理或是交互设计师,在进行移动App开发时,这些问题都很有参考价值.我和Queen ...

  5. 移动端App uni-app + mui 开发记录

    前言 uni-app uni-app是DCloud推出的终极跨平台解决方案,是一个使用Vue.js开发所有前端应用的框架,官网:https://uniapp.dcloud.io/ mui 号称最接近原 ...

  6. day97:MoFang:移动端APP开发准备&移动端项目搭建&APICloud前端框架

    目录 1.移动端开发相关概念 1.APP类型 2.移动端屏幕介绍 3.移动端自适配方案 4.元信息(meta) 2.APP开发准备 1.注册APPCLoud账号 2.下载APP开发编辑器 3.下载AP ...

  7. 向虚拟机注册钩子,实现Bean对象的初始化和销毁方法

    作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言 有什么方式,能给代码留条活路? 有人说:人人都是产品经理,那你知道吗,人人也都可以是 ...

  8. 报表开发工具Finereport移动端app js接口列表【全】

    应用报表工具Finereport的开发人员会发现其移动端app 同样也推出了很多js接口,那这些接口到底有多少,其移动端又有哪些地方支持调用js,这些接口具体又该如何调用呢.根据我平时的开发经验,给大 ...

  9. 移动销售端app的需求分析

    随着网络时代的发展,人们对于网络的依赖越来越大,网上购物便成了一个很大的消费者市场.. 如何分析一个综合的移动销售端app的需求我认为首先要确定用户,从用户的角度一个一个功能过,评估每一个功能的需求, ...

随机推荐

  1. Linux系统命令符01

    ##重启下虚拟机 [root@bogon ~]# ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKN ...

  2. 【Java】 剑指offer(38) 字符串的排列

    本文参考自<剑指offer>一书,代码采用Java语言. 更多:<剑指Offer>Java实现合集   题目 输入一个字符串,打印出该字符串中字符的所有排列.例如输入字符串ab ...

  3. 075 importSTV的使用,与bulkload的使用

    一:由HDFS将数据直接导入到HBase中 1.生成TSV文件 2.内容 3.上传到HDFS 4.运行 export HBASE_HOME=/etc/opt/modules/hbase-0.98.6- ...

  4. 【原创】ABP源码分析

    接口篇 IConventionalDependencyRegistra接口分析 待续.............. 模块篇 敬请期待...... 领域篇 敬请期待...... 消息篇 敬请期待..... ...

  5. STL中实现 iterator trail 的编程技巧

    STL中实现 iterator trail 的编程技巧 <泛型编程和 STL>笔记及思考. 这篇文章主要记录在 STL 中迭代器设计过程中出现的编程技巧,围绕的 STL 主题为 (迭代器特 ...

  6. python面向对象编程练习

    练习题 1.面向对象三大特性,各有什么用处,说说你的理解. 面向对象的三大特性: 1.继承:解决代码的复用性问题 2.封装:对数据属性严格控制,隔离复杂度 3.多态性:增加程序的灵活性与可扩展性 2. ...

  7. redis源码分析

    我阅读的源码版本是redis-2.8.19 src目录下总共96个.h,.c文件 1. 数据结构相关源码(15个左右)字符串代码: sds.h, sds.c字典:dict.h, dict.c链表: a ...

  8. Menu实现逻辑

        一.前奏 创建一个WS_EX_NOACTIVATE的窗体 创建窗体后注册Hook消息(鼠标在非Menu区域点击时关闭menu,接收键盘消息用于快捷键,接WM_SETFOCUS消息,当打开新窗体 ...

  9. android ndk-build 编译静态库libxx.a 以及Android studio openssl 静态库配置(cmake)

    android ndk-build 编译静态库libxx.a 需求场景: 目前有安卓编码好的现在的openssl的两个.a,我们需要调用openssl的函数,并把功能再封装成.a; 这样使用时,在an ...

  10. Fix Corrupt Blocks on HDFS

    来自:http://centoshowtos.org/hadoop/fix-corrupt-blocks-on-hdfs/ How do I know if my hadoop hdfs filesy ...