对于移动端 App,虚拟机注册或类似作弊行为有何应对良策?
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 来源:知乎 1)、采用ADSL、3G/4G、Proxy、VPN或IP池端等方式获取动态IP,规避对IP地址的反欺诈限制 反欺诈手段:IP黑名单、Proxy 检测、GeoIP等等 2)、伪造IMEI、GUID/UUID、MAC地址等硬件设备信息 反欺诈手段:没什么好的手段,只能通过建立用户数字指纹库、黑名单库,结合访问规则、行为特征等其他策略进行防护。 3)、篡改虚拟机特征信息(例如user-agent、ROOT/越狱),伪装为真实系统 反欺诈手段:只能尽量多研究各种虚拟机的特征信息,对这些特征信息进行检测,抓住攻击者疏漏的信息。 例如陌陌曾经对安装的bluestacks上的陌陌进行提示:你当前的设备存在安全隐患而无法登录,建议使用正规手机或Pad来使用陌陌,或提示为盗版等。 其原理在于:检测是否存在/data/Bluestacks.prop 文件,如果存在,则可以判定为bluestacks 虚拟机。 4)、篡改GPS位置等动态信息,例如针对微信、陌陌的mock gps等软件 反欺诈手段:只能采用GPS模拟检测、用户访问规则、行为特征等综合策略进行防护。 5)、对虚拟机进行ROOT或越狱,配合WIFI、DNS/MAC攻击等攻击手段,对服务器端漏洞进行攻击 典型例子是iOS上的IAP支付欺诈问题,使用IAP Tracker和IAP Free这样的越狱插件伪造交易凭证。 iOS游戏使用苹果的IAP支付,客户端回调服务器之后,服务器收到之后如何做校验? - 梁川的回答 6)、页面安全攻击 对采用webview的页面进行XSS、SQL注入等攻击,尤其是结合虚拟机及自动化软件(例如篡改user-agent) 反欺诈手段:与虚拟机关系不大,本质上是服务器端的安全问题。 7)、本地安全攻击 对虚拟机进行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