freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

电商业务活动风控概述
2024-08-05 12:34:39

随着互联网电商的崛起,各种电商小程序、app也快速的崛起,受到疫情的影响实体确实越来越不好干了,以及目前的大环境,各种电商平台也在不断的进行打折促销和拉新活动。但是盲目的拉新和活动会给羊毛党提供极大程度的便利,很多商品都会随着1元购等活动被羊毛党随手薅走,转脸卖出商品原本的价格或者二手价,从而赚取高额的差价。这其实本是无可厚非的事情,但是会给企业造成一定程度的舆论压力。我认为薅羊毛和企业活动本身是一个平衡状态,如果因为薅羊毛太狠导致企业不敢因此做活动,羊毛党也会减少甚至没有受益。而企业也是同理,如果防薅羊毛过度会导致成本过高,得不偿失。所以本文会从生态角度进行描述,以小程序HTTP/S协议为例,阐述如何通过成本可控的方式进行防薅行动。

首先我们需要明确场景,电商的促销场景一般分为以下几种:拉新活动、通知营销活动、抢购活动、任务活动、其他。这里的环节也可以分为:注册、登录、订阅信息、浏览/购买商品、做任务等。上述环节都需要进行业务风控。以及整个业务需要一个综合场景的风控。

注册登录进行限制的原因是为防止僵尸号过多导致的一系列问题,以及主流小程序登录一般是快捷静默登录,每一次快捷登录实际上都是一次成本的考量,限制登录也是控制业务成本的一个有效方法之一。此处限制的手段可以是登录接口访问限频、访问熔断、无痕验证滑块、设备参数验证、网络参数验证、动态签名、封号等。具体手段如有不明可以私信详聊。

从业务订阅信息的维度来讲,一般有重大活动时,运营都会给所有订阅用户发推送消息通知,正常来说这个步骤是必不可少的。但设想如果用户体系中10%以上都是僵尸号,推送给这部分用户除了增加运营成本以及增加薅羊毛的概率外,其他正向的作用几乎没有,如何控制这部分的运营成本也是企业极为头疼的一件事儿。营销场景主要是依靠其他环节的限制来降低成本的,比如在登录注册环节的限制可以降低300w的用户注册量,这里就能省下300w用户的营销成本,这部分会放在后面讲如何通过综合场景的风控降低运营成本,这里只做一个概念的阐述。

商品的抢购是业务风控的核心,羊毛党是来抢低价/溢价商品的,正常用户通过正常逻辑基本是不可能抢的过自动化的工具的。那么如何在抢购场景中实施防御是我们重点要进行的。首先羊毛党在自动化抢购中需要知道几个逻辑,抢的是什么商品、什么时间开始抢、怎么抢、有没有抢购的资格、是否限购。通过正常商品的试探,可以知道抢购的必备参数,大概可能包括了商品ID、开售时间、限购数量等。然后通过一连串的并发请求完成整个抢购流程。在这里我们可以通过往常商品的数据实时分析来确定哪些用户是非正常用户。因为自动化程序在进行调试时总会有各种各样的错误,比如参数错误、用户验证错误、签名错误等。通过调试阶段可以确定一些特征然后进行封禁或者其他防御手段,比如弹验证滑块等。另外我们也可以根据接口进行限频熔断,这可以防御一些比较低级的脚本进行频繁访问。也可以通过使用一些进阶的验证,比如瑞数科技的动态签名、腾讯的微信网关对请求进行加密。他们的核心是保证每次请求都是真实用户的请求,具体原理不在这里阐述,有需要了解的可以私信。

上述是业务参数的特征,当然也会有网络行为的特征以及业务场景的特征。比如网络行为可以结合referer、UA,虽然这部分参数是可以篡改的,但一般工具党是不太会考虑篡改的,本质工具是能用即可,所以在网络特征上不会过分在意,尤其是referer。小程序开发人员可能知道每一次版本的上传referer就会发生递增,所以除非是实时监控小程序变化的工具开发者,一般的工具是不会变化referer的,这样就可以识别出一大部分的工具党从而达到通过网络行为特征发现/阻断羊毛党的效果。网络行为上还可以通过前端埋点定义蜜罐,这部分不在这里详聊,有兴趣的可以私信。业务场景特征可以查看这个用户1天或者指定一段时间的访问模型。看模型分布是否符合正常用户的业务行为特征,这里比较复杂,讲简单一点就是看一个用户的行为在不在正常范围内,比如这个用户一天就在不断的下单/访问同一个商品,别的什么都没做,99.99%是个异常用户。这是比较简单的模型,还有相对来说比较复杂的,得需要和运营探讨具体场景具体分析。

如果采用微信网关的防御方式,要防进阶的羊毛党,那就需要进行小程序加固了,因为微信网关是通过微信私有协议加密,破解不了加密就意味着无法通过拦截请求改包的方法进行数据篡改。这种篡改参数一般就会从前端入手,通过hook前端参数的方式在请求发起前就进行篡改,是比较进阶的薅羊毛手段。比较适用的防御手段是小程序加固,但需要注意的是,小程序是有包体限制的,主包和分包的大小限制都在2M,所以如果要进行小程序加固还需要评估小程序各个包体的大小在加固完毕后是否能上传发版。这里不推荐加固厂商,如果有需要可以私信。

以上方式综合下来大概能防御90%的异常请求,在实战中这套东西的实战效果成功率/拦截率在99.73%。还是那句话,我认为薅羊毛和企业活动本身是一个平衡状态,如果因为薅羊毛太狠导致企业不敢因此做活动,羊毛党也会减少甚至没有受益。而企业也是同理,如果防薅羊毛过度会导致成本过高,得不偿失。大环境如此,且行且珍惜。大家都不要过度防御/薅羊毛,万事万物有阴阳,平衡才是万物发展的本质。

# 企业安全
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者