freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

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

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

FreeBuf+小程序

FreeBuf+小程序

关联图分析在反作弊业务中的应用
2021-05-18 15:26:13

移动互联网的兴起带来了巨大的流量,这些流量既可能造福广大普通用户群体,也可能成为黑产团伙的获利目标。

举个例子,某电商平台最近推出了新人优惠券,主要用于用户拉新,假如被黑产团伙盯上,那么他们就可能通过批量注册和登录,将这些新人优惠券一扫而空,以较低成本获取较大利益,让平台遭受巨大损失,同时普通用户也享受不到该有的福利。

那么,黑产团伙为什么可以如此轻而易举地进行攻击并获利?一方面是因为黑产攻击方式非常多样,同时可以攻击的操作节点也较多。一个常规的攻击链路大致是:

首先,利用群控机器、代理 IP、虚假账号等方式批量注册、登录;然后在注册、登录过程中遇到验证码环节则通过验证码打码平台进行绕过;最后登录成功便继续通过批量操作方式进行薅羊毛、刷点击、刷粉等操作。

另一方面是因为部分商家或平台本身的风控系统不够完善,有些平台甚至根本没有风控系统,才给了这些黑产团伙可趁之机。

随着黑产对抗愈演愈烈,为了更好地抵御黑产攻击,原本单一薄弱的风控系统慢慢转向为更加立体多维的风控系统,各模块互补构建更加完善的防护体系,接下来将介绍风控系统中常用的一些解决方案。

01 工具检测

黑产团伙进行攻击的时候大多是利用软件工具进行批量操作的,批量操作时候使用的账号、设备、IP 等资源一般都是有限的或者伪造的,因此直观上可以通过判断业务数据中哪些字段是被篡改工具修改的,从而对黑产攻击进行拦截。可以看出工具检测需要知己知彼,也就是一般情况下需要首先知道黑产用什么样的工具进行字段伪造,然后再针对这个工具进行针对性破解和识别,最后达到拦截黑产团伙的目的。

为了保证采集回来的字段尽可能不被黑产团伙修改,风控人员会通过各种加固方式提升字段的稳定性和唯一性,其中最典型的例子就是设备指纹,设备指纹是用来标识手机或者浏览器唯一性的ID。因为黑产团伙最常批量操作的主要有账号、设备和IP,为了能精确定位到设备,就有了设备指纹,设备指纹在接下来我们要提到的几种方案中也扮演着非常重要的角色。

02 规则引擎

规则引擎无疑是非常有效的一种黑产数据拦截方式,具备配置灵活、响应速度快等优点,在各大互联网公司中应用非常广泛。

规则引擎在发展早期一般都是单点接入,也就是来一个业务就接入指定规则,但随着业务规模的增长,需要改变原来单点接入的方式,因此提炼出通用接入节点,提升接入效率。此外,随着业务场景复杂度的不断提升,规则引擎的规则数量不断增长,复杂场景的规则接入数量可能高达成百上千个,为了实现快速接入,慢慢衍生出通用规则组搭配定制规则的方式,提升维护和接入效率。

黑产团伙在执行攻击行为时一般都具备重复性,间隔时间差异极大,例如某个账号在今天进行攻击后,可能在接下来几秒钟之内有会再次攻击,也可能在几天之后才会进行攻击。为了提高对黑产重复攻击的响应速度和保证召回率,在规则引擎之外一般还会维护一套黑白名单库,用于沉淀业务的历史黑白名单,配合规则引擎实现更加完善的拦截效果。

03 异常检测

黑产团伙由于需要在指定时间内完成大量攻击操作,其行为与正常用户相比存在一些差异,因此通过异常检测算法进行黑产团伙挖掘是比较常见的一种做法。异常检测本质上也是分类,只不过正负样本数量差异较大,也就是我们常说的数据类别不均衡。

异常检测算法整体上也可以分为有监督、半监督和无监督这 3 种类型,当可以获取到数据标签时,可以采用有监督的算法实现异常检测;当只能获取到部分数据标签时,可以采用半监督的算法实现异常检测;当获取不到数据标签时,则需要用无监督的算法实现异常检测。

因为在现实场景中有标签的异常数据获取难度较大,所以无监督类型的异常检测算法得到了较为广泛的应用,接下来介绍其中比较有代表性的孤立森林算法。

孤立森林(isolation forest)是应用非常广泛的一种异常检测算法,大致思想如下:对于一批样本数据,假如要通过 N 次划分超平面将其中某个点孤立出来,那么将一个正常点(图一(a))孤立出来的 N 和将一个异常点(图一(b))孤立出来的 N 有明显差别,因为正常点所在空间的数据密度要大一些,所以所需要划分的次数 N 要大一些;异常点所在空间的数据密度要更小一些,所以所需要划分的次数 N 要小一些(图一(c))。

这种划分操作可以通过树结构实现,一棵树通过枝干分叉实现数据拆分,划分次数等于树的深度。因为每棵树做枝干分叉时候的节点都是随机的,所以可以对一批数据用多棵树分别进行划分,并将多棵树的平均深度作为最终结果,故称之为孤立森林。

755e5ea6-8710-4d79-9a33-b2a3238d1c04.png

图1 | 孤立森林算法原理

从原理上来看,孤立森林是非常直观的,一般来说正常数据基本都大同小异,因此在特征空间中是比较聚集的,而异常数据则相对更容易远离聚集区域,从而能够被更快地孤立出来。由此可见,如果业务数据中异常数据占比相对较小,且正常数据和异常数据的特征差异较大,那么孤立森林会是非常有效的一种异常检测算法。

孤立森林主要有 2 个优势点:1、稳定性强。算法在构建每棵树的时候都会从数据集中随机选择一批样本进行构建,同时在选择划分特征和划分点时也是随机的,最后集成多棵树的结果进行判定,因此算法稳定性较强,从图一(c)可以看出当树的数量为 50 以上时,基本上结果都比较稳定。2、速度快。因为不像大部分聚类算法需要计算距离等指标,所以孤立森林本身速度较快。此外,每棵树的构建过程都是独立的,可以进行分布式部署,从而加快运算。

04 关联图

黑产团伙本质上是黑产所控制的一系列账号、设备等,因为单次攻击获利较少,所以黑产团伙的规模一般较大,而且习惯在短时间内进行高频操作。这些特点使得黑产团伙的数据之间存在错综复杂的联系,这种联系是他们要实现低成本攻击所不可避免的,而正常人群的数据之间是较难出现这样的联系,因此能不能利用这种联系来挖掘出黑产团伙呢?答案是肯定的。

我们会很自然地想要用图来描述数据之间的关系,图由节点和边构成,主要分为有向图和无向图两种,如图二所示:

7b974796-dc01-44c2-84f1-8aaf22db0ebb.png

图2 | 有向图与无向图

因为我们主要关心图中存在哪些节点,以及哪些节点之间存在联系,因此无向图就能满足需要。假如我们将每条数据用一个无向图来表示,那么合并数据之间复用的节点之后就可以得到一系列的闭合子图,我们将这样的闭合子图称之为关联图,如图三所示:

932b242f-0014-4476-abd1-182810dbf95d.png

图3 | 关联图样例

在得到一系列的关联图之后,接下来就要判断哪些关联图是黑产团伙,哪些关联图是正常人群,这里还是从黑产团伙的行为角度出发进行分析。黑产团伙由于物理设备(硬件设备)、网络资源(IP地址,账号)的成本约束,往往倾向于在多次攻击中复用设备、账号、IP 地址等资源,因此资源复用是黑产团伙非常重要的一个特征。如图四所示是某个黑产团伙的关联图,在该图中设备资源被复用数百次,属于典型的黑产团伙行为。

8fe8be1c-2882-4d5a-a0f1-2735df6b54f5.png

图4 | 资源聚集明显的关联图

其次,黑产团伙往往需要在约定时间内完成刷量、引流等任务,倾向于在一定时间内 操控大量资源进行相关操作,不同账号/设备在活跃时间上具有同步性和聚集性,因此时间聚集是黑产团伙另一个非常重要的特征。如图五所示是某个黑产团伙关联图所对应的账 号活跃时间分布图,可以看出不同时间段活跃的账号非常固定,该团伙每隔一段时间就会切换一批账号进行攻击,规律性非常强。

529c9143-4295-4606-93bf-81cb311f3706.png

图5 | 某关联图的账号活跃时间分布

黑产团伙的这些特征既可以通过手动构造实现,也可以通过神经网络进行训练学习,最后通过分类器实现分类即可。

关联图分析从黑产团伙行为特点的角度出发,通过图来构建数据之间的联系,主要有 3 个优势点:

1.能够以较低的成本发现黑产团伙,对黑产团伙所采用的攻击工具不大敏感。

2.可以以团伙为单位进行更加完整地拦截,减少出现漏网之鱼的概率。

3.即使异常数据占比较大,仍然能够有效拦截黑产数据,而且效果更好。

因此,关联图分析可以和前述 3 种风控方案互相补充,相辅相成,实现更准、更全的作弊拦截。

05 总结

风控是一项非常复杂的工程,黑产团伙的攻击手段也丰富多样,不断变化,和黑产的、攻防对抗是一个长期的过程,从单独一个维度进行拦截往往容易在长期对抗中处于被动地步,因此需要从不同的角度出发挖掘有效的信息,从而构建起更加立体、全面的风控体系。(作者:算法专家无涯)

# 业务安全 # 反作弊 # 关联分析
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录