社群编码识别黑灰产攻击实践

导读:所谓黑灰产,包含网络黑产、灰产两条产业链,随着互联网的飞速发展,网络黑灰产也在不断演变,当前网络黑灰产已经趋于平台化、专业化、精细化运作。基于黑灰产攻击特点,我们提出了一种基于社群编码的黑灰产攻击识别方法,社群发现部分基于图关系,编码部分引入大规模的图嵌入表示学习。相比于传统的图谱关系挖掘,可以更好的识别和度量未知攻击。而且我们还提出了基于异步准实时的工程化实现,对频繁变化的黑灰产攻击有更强的应变灵活性。

全文 4424 字,预计阅读时间 12 分钟。

一、背景

所谓黑灰产,包含网络黑产、灰色两条产业链,随着互联网的飞速发展,网络黑灰产也在不断发展,当前网络黑灰产已经形成了一个平台化、专业化、精细化,相互独立又紧密协作的产业链。从近几年多起重大网络安全事故看,黑灰产已经不再局限在半公开化的纯攻击模式,而是转化成为敛财工具和商业竞争的不良手段,据不完全统计,当前网络黑灰产的市场规模已经超过千亿元人民币,在这千亿级的市场规模下,发展出了非常多的细分领域,如木马病毒,养号刷单,薅羊毛,电信诈骗,知识盗版,流量劫持等。

各互联网平台为了防止被网络黑灰产攻击,开发了很多防御及识别技术,最常被广大用户感知到的验证码技术就是其中之一,在验证码技术背后,还有非常多的识别方法,例如通过规则引擎依据防攻击规则进行分析拦截,通过行为序列建模对单次请求进行黑灰产行为判定,通过图谱关系挖掘用户之间的相关性以识别黑灰产团伙,基于层次聚类、均值聚类、高斯混合等聚类模型对黑灰产攻击进行无监督识别,这些方法均能在不同程度上对黑灰产起到识别和防御作用。

基于以上黑灰产攻击特点,我们提出了一种基于社群编码的黑灰产攻击识别方法,社群发现部分基于图关系,编码部分引入了大规模的图嵌入表示学习方法,相比于已有的图谱关系挖掘,可以更好的识别和度量未知攻击,而且我们也提出了基于异步准实时的工程化算法实现,对频繁变化的黑灰产攻击有更强的应变灵活性。

二、社群结构

基于社群编码的黑灰产攻击识别方法,在原有图谱挖掘的基础上,引入了大规模的图嵌入表示学习技术,除了能挖掘出黑灰产本身的关联关系,还能识别出潜在的黑灰产网络结构,让识别过程更加准确稳定。

该方法基于的关联图有两种,分别是同构图和异构图,这也是黑灰产挖掘过程中经常会遇到的关联图结构。

同构图表示网络图中所有节点的类型都相同,如对于一个账号关联而言,网络图中的节点有都是用户的账号 ID。异构图则表示网络图中所有节点的类型可能是不同的,如在账号关联网络中,网络图中的节点除了账号 ID 外,可能还有 IP 地址,设备号,手机号等其他类型的节点。

下图表示了同构和异构的两种示意图,同构图表示所有账号 ID 组成的网络结构,异构图表示由账号 ID、设备 ID、手机号和 IP 地址组成的网络结构。

对于图结构网络,除了边关系,节点自身也会很多固有属性,如对于一个账号 ID 的 UGC 场景,会有不同的活跃时间,不同的业务场景(如浏览图文,浏览视频,发表图文等),不同的操作类型(如发文、评论,点赞,转发等)。这类节点自身属性如下图中表格所示。

为了便于说明一般情况,后文说明中默认全是异构图结构,因为同构图作为异构图的一种特殊情况,即使是实际推广中是同构图,也不影响使用异构图的方法进行分析。实际场景中图网络关系如下图例所示。

为了识别出关联结构图中的社群,目前已经有比较多的识别方法,常用的有基于节点的统计特征,基于节点出入度的分布变化,基于关联边的自定义权重,人工标注等方法,此类方法能识别很多关联社群,但是由于图谱关联中难以定义边的权重,会存在较多误召,所以我们在实践中基于已有社群挖掘结果进行编码以提升黑灰产识别效果,同时嵌入式图编码还可以基于节点的邻居关系进行相似性的无监督学习。

三、图嵌入式编码

图嵌入式编码是一种将节点编码成向量的 node2vec 方法,我们采用的图嵌入式编码方法为斯坦福大学 William L. Hamilton、Rex Ying 和 Jure Leskovec 等人在 2016 年提出的 GraphSAGE,与 node2vec 相比较而言,node2vec 是在图的节点级别上进行嵌入,GraphSAGE 则是在整个图的级别上进行嵌入。GraphSAGE 同时利用节点特征信息和结构信息得到 Graph Embedding 的映射,相比之前保存映射结果的方法,GraphSAGE 保存了生成 embedding 的映射,可扩展性更强,对于节点分类和链接预测问题的表现也更加突出。

GraphSAGE 算法流程包含三个步骤:

(1)对图中每个节点邻居节点进行采样,因为每个节点的度是不一致的,所以为了计算高效,为每个节点采样固定数量的邻居。

(2)根据聚合函数聚合邻居顶点蕴含的信息。

(3)得到图中各顶点的向量表示供下游任务使用。

下图为该算法作者在论文中提供的采样和聚合示意图。

使用下图所示的方法进行节点采样。每一层的 node 由上一层生成,与本层无关,如此,1 层的账号 ID 1 已经聚合了 0 层设备 ID 1 和手机号 2 的信息,在二层,手机号 2 再聚合 IP 地址 1 的信息,经过两层采样,就可以扩展到账号 ID 1 的 2 阶邻居包含设备 ID 1、手机号 1、设备 ID 2、手机号 2、账号 ID 2 和 IP 地址 1 的所有信息。

采样过程中固定采样层数(本实践使用 2 层)和每层采样点的节点数(如邻居节点数上限为 200 个),可以控制每次采样过程对内存的消耗和运算耗时,该方法适用于大规模数据集,对大数据集下的黑灰产社群挖掘非常有效。

我们采用的聚合函数为均值聚合,直接对目标节点和所有邻居 emebdding 中每个维度取平均,后再非线性转换,原论文中相应函数表达式如下:

其主要思想是将目标顶点和邻居顶点的第 k−1 层向量进行拼接,然后对向量的每个维度进行求均值的操作,将得到的结果做一次非线性变换产生目标顶点的第 k 层表示向量。不同的聚合函数计算方法不同,除均值聚合函数外,还有池化聚合器、LSTM 聚合器等可选,经过测试,对于黑灰产社群挖掘而言,不同的聚合函数差异并不明显。

如此,经过以上对黑灰产社群的采样与邻居聚合,可以得到每一个节点在网络图上的向量表示。如上面采用图示中账号 ID 1 的向量就包含了设备 ID 1、手机号 1、设备 ID 2、手机号 2、账号 ID 2 和 IP 地址 1 的网络结构信息,同时包含了这些 ID 在不同时间点、不同业务场景、不同操作类型上的行为特征。

四、模型训练

基于上面的采样和聚合函数,开始进行参数学习,GraphSAGE 不同的损失函数代表了不同的参数学习方法,如下所示损失函数就是一种无监督的损失,倾向于使得相邻的顶点有相似的表示,相互远离的顶点的表示差异变大。

上式表示节点 u 和随机游走到的邻居节点 v 有相似的 embedding 表示,而与经过负采样得到的不相邻节点 vn 有不相似的 embedding 表示。

对于无监督损失学习到的节点 embedding,可继续供下游任务使用,本实践就是采用的该方法。当然,对于特定分类任务,也可以使用特定的损失函数,如使用交叉熵进行分类预测。

我们通过节点的统计特征,人工标注确定了正负样本,使用节点的编码向量作为特征进行分类模型训练,下图所示即为部分数据的挖掘结果可视化。

直观而言,对于社群团伙的挖掘还是比较合理的,总体分为三类,红色为一社群,黄色为一社群,其余(绿色)自动归为一类。

五、工程化实现

为了在实际应用中发挥编码的价值,我们提出了一种异步准实时的黑灰产识别方案。下图表示了这种识别方案的流程结构。

一个用户开始请求客户端,可以采集到用户的关键因子信息,如账号 ID、IP 地址、设备号、手机号等,将这部分日志信息写入暂存区,暂存区存储着所有在过去 10 分钟(也可以是其他某个时间段,一般而言,日志量越大,暂存区时间越短,反之越长)内请求过该客户端的用户的关键因子信息。

超过 10 分钟的关键信息则存入离线的分区日志库,基于分区日志库进行图谱构建,黑灰产社群挖掘,社群编码,以及使用向量表示训练分类模型,分类模型可以不用实时训练,定期使用过去一段时间的分区日志训练即可。

对于还在暂存区的关键因子,会对请求的用户进行实时图谱构建,以该用户为中心进行节点采样并做向量表示,使用已经训练好的分类模型对该用户的表示向量进行黑灰产预测,如果预测为正常用户,则允许用户在客户端上的操作,如果预测该用户为黑灰产用户,则拒绝该用户进行客户端操作。

下图是训练部分较详细的过程:

下图是预测部分的较详细过程:

六、创新点

本实践提出的一种基于社群编码的黑灰产攻击识别方法,主要创新技术点包括:

基于社群编码对黑灰产进行有监督识别的方法,相比于既有图谱挖掘算法,该方法不直接依赖于单个节点属性,而是将整个社群的关联结构编码到一个表示向量中,对黑灰产的表示更加准确,而且对于历史上未出现的黑灰产账号,也能通过网络结构之间的相似性,通过向量表示进行识别。同时可以有效避免因为噪声关系(如黑灰产账号连接了商场 wifi)导致的错误识别。

由于图编码结果本身就具备邻居之间的强相似性,非邻居之间的弱相似性。故使用编码后的向量进行无监督学习(如密度聚类和层次聚类),也可以识别出部分黑灰产在 IP、账号 ID、手机号及设备号之间的内在关系,挖掘出相似黑灰产组成的聚类簇。

使用暂存区将大规模的图嵌入表示学习方法与小数据集的异步预测结合在一起,并使用编码后的有监督模型进行快速预测,为实际工程化应用提供了参考方法。

七、部分实践效果

搭建的因子编码模型包含有 ip(IP 地址)、cookie_id xie.infoq.cn(cookie 信息)、device_id(设备 ID)、userid(用户 ID)、mobile(手机号)等共计 5 个关键因子,编码的特征包含 scence(业务场景), page(页面), risk(风险程度)等信息(编码特征需依据具体场景而定)。

按 10 分钟为一个暂存区窗口,获取因子数量百万量级,编码的关系数量近千万,编码的向量长度 300 左右。经过人工校验,对 embding 结果使用有监督方式例行化产出 ip 维度的风险,使用其他策略交叉校验,该策略准确率能达到 95%左右。无监督模型实践中效果较差,没有实际使用。

八、发展与思考

基于以上实践发现,社群编码方法在黑灰产识别中具有较好的正向效果,但在实际生产过程中,仍然面临一些问题,以下作简要探讨。

计算问题:图计算非常消耗计算资源,而且完整过程中需要短时间进行大量预测,当前结合 mini batch 训练预测,在独立的 GPU 环境中,完整计算一个日志分区约需要半小时。

关键因子和编码特征的选择问题:图算法的结果非常依赖于图结构和特征属性,这为前期的因子选择和特征工程带来巨大挑战。

识别过程的自动化问题:GraphSAGE 算法本身具备无监督识别的能力,但黑灰产识别过程中发现这非常容易受到中心节点的影响(这可以通过权重优化得到一定程度解决),故当前仍然需要提前做部分社群定义,而该过程需要人工或其他建模方法介入,难以实现完全自动化。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/61332.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

直播鉴黄?直播商城开发是如何实现的

截图鉴黄配置的方式有哪些? 直播商城开发最重要的一步,就是实现直播鉴黄的功能,那么接下来就和我一起看看直播鉴黄是如何实现的吧。 方式:1,通过API设置;2,在【控制台】【功能模板】进行配置。…

超千人围观,普及 “反诈” 常见场景及应对手段,还有黑灰产攻防手段

10 月 26 日,由软件绿色联盟举办的 “反诈” 主题直播活动已圆满落幕。本次直播我们特邀了两位 360 的资深技术专家,对《电信网络诈骗趋势解读与应对》、《黑灰产攻防手段及关联产业链》两大议题进行了精彩分享。本次直播吸引了 1000 名线上观众观看&am…

记一次财经直播系统渗透

1、网站搜索关键词: 牛昆财经直播系统 牛昆喊单直播系统 牛昆微交易系统开发 2、sql注入漏洞 下载源代码进行分析,对站点进行本地搭建,测试sql注入点如下: 位置: sys\updsd.php 参数: $_GET[id] sql注入POC: ?…

值得收藏!教你如何在火星直播中使用分享码

火星直播是一个极其简洁又好用的电视直播软件,拥有我平时经常会收看到的中央电视台、湖南卫视、浙江卫视等海量频道。界面、操作简单便捷,还能使用它的分享码功能,看到一些有趣的海外电视直播频道。今天我就给大家推荐火星直播这款应用&#…

直播电商开发,源码无加密

随着直播电商的流行,很多企业开始使用商场电商直播系统,该企业使用电商直播系统的优势具体体现在哪里?下面由零七科技小编为您总结企业电商直播系统的优点。 使用电商直播系统的优点: 1、全面展示商品风格和效果。 与在线平台…

智能钱包系列新一期来了!解读 Devcon VI:Ambire 的创始人为大家带来重要信息!

Twitter Spaces 特别版:为大家带来波哥大这一周的见闻和故事! Ambire 的家人们,你们好!🙌 我们从 Devcon VI 回来了,这真的是一次精彩的行程!💥,不仅收获了大量的乐趣&am…

如何抓住用户痛点进行短视频文案创作?三个小方法可运用

如何抓住用户痛点进行短视频文案创作?三个小方法可运用 众所周知,短视频的文案创作,其实也是需要抓住用户痛点的,而只要能够做到这一点,吸引用户其实就非常简单了。所谓抓住用户痛点,简单点来说就是知道用…

短视频运营创作方案教程

在了解新媒体短视频运营之前,先介绍一下新媒体短视频运营的概念。事实上,我们大多数人都认为,新媒体短视频运营的目的是在短时间以视频的形式完成可传播的视频内容。。例如,新媒体短视频运营可以发布15秒或一分钟。新媒体短视频运…

C罗和梅西谁在西甲和欧冠中表现更佳?

C罗和梅西是当今球坛的两大超级球星,分别效力于皇家马德里(C罗现效力于尤文图斯)和巴塞罗那足球俱乐部。下面的数据可视化展现了两位球星效力于西班牙足球甲级联赛时的进球数和助攻数的对比(2009-2018)。 Cristiano Ro…

【博球一看,记录疯狂】卡塔尔世界杯四强诞生,谁是你心中的冠军得主?

感想 前段时间出于工作的原因,一直没来得及去看今年的卡塔尔世界杯,如今,世界杯马上即将迎来结束,这几天大概看了几场我比较关注的球队的比赛,今天一起带大家期待一下四强之后世界杯会发生什么事情! 阿根…

足球世界中最明亮的一颗星——C罗

一.C罗简介 克里斯蒂亚诺罗纳尔多(Cristiano Ronaldo),1985年2月5日出生于葡萄牙马德拉岛丰沙尔,葡萄牙足球运动员,司职边锋/中锋,简称C罗,效力于西甲皇家马德里足球俱乐部,并身兼葡…

你期待c罗在本周欧冠中有什么表现呢?

北京时间2月18日凌晨4点,意甲豪门尤文图斯将在欧冠1/8决赛首回合率先客场挑战波尔图,央视5套将对本场比赛进行现场直播。 本场比赛最大的看点就是两位前皇马球员的直接对话:佩佩vsC罗,这也是两位葡萄牙国家队队友之间的较量。赛前…

C语言代码实现卡塔尔世界杯球员管理系统

一、需要实现的功能 1、球员录入:可以将球员的相关信息录入系统,如球员姓名、国家,进球数等。 2、球员信息存储 :对于录入的球员信息,可以保存至文件中。 3、球员信息读取:可以实现将文件中的球员信息输…

c罗说什么语言,C罗会说几种语言? 揭金球奖给梅西内马尔当翻译趣事

“本文系十点十四授权尚之潮网独家发布,未经允许不得转载,如需转载请联系作者支付稿酬,违者将追究法律责任” 随着C罗在点球大战中罚进制胜一球,皇家马德里俱乐部成为2015-2016赛季的欧冠冠军,这是俱乐部历史上第11次捧…

【搜索】:罗纳尔多和C罗是一个人吗?

1.开题 最近在学习基于知识图谱的搜索相关知识,发现两个有趣的问题: 1.1. 搜索罗纳尔多,不同的搜索引擎给出的知识卡片不尽相同: 1.1.1 google: 会有一个知识卡片专门展示google的知识图谱搜索结果。 为什么说这个知识卡片是…

三年三次倒在决赛,梅西将告别国家队,球迷为何喊C罗?

北京时间27日上午,2016百年美洲杯决赛中,阿根廷和智利在120分钟比赛中战成0-0平,点球大战中,梅西罚失点球,智利4-2击败阿根廷夺冠。 梅西挥洒下了泪水,跪倒在球场,无数球迷为他心碎 当球迷…

【wpf,C#】wpf运行输出时伴有控制台应用程序窗口的设置

有时候wpf运行时,需要调出它的控制台应用程序窗口, 但是默认是没有的,所以需要我们设置一下,设置步骤如下: 打开一个wpf项目,点击最上面的项目等,依次是: “项目”——“XXX属性”—…

期中考试

期中考试 第一题 #include<iostream> #include<cstdlib> using namespace std; class Dice {public:Dice(int n);friend int cast(Dice &p1);private:int sides; }; Dice::Dice(int n) {sidesn; } int cast(Dice &p1) {return rand()%p1.sides; }int main(…

2022版分组平台(支持全国各城市)及大数据分析平台简介及部分城市分组数据分析

2022版分组平台及大数据分析平台系统&#xff0c;目前已升级为2.0版本&#xff0c;在运行效率&#xff0c;整体风格上都进行了调整&#xff0c;完全CSS架构&#xff0c;直接拷贝无需任何配置即可运行&#xff0c;程序云端自动更新&#xff0c;运行环境windows framework461以上…

maven引入本地jar 打jar包

没搭建私服的情况下引入本地的jar&#xff0c;并把本地jar打包进项目的run jar 以打包引入hadoop-common-2.7.5.jar为例 引用 复制jar包所在的路径 打开cmd命令提示符 切换路径到jar所在的目录 e: cd E:\迅雷下载\hadoop-2.7.5\share\hadoop\common 把jar包加入本地仓库 mvn in…