在线社交网络中异常帐号检测方法研究

2024-03-01 14:10

本文主要是介绍在线社交网络中异常帐号检测方法研究,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

作者 张玉清 吕少卿 范 丹

一.引言

在线社交网络已经成为人们生活、工作、交流的重要平台.
异常帐号 (虚假帐号和被盗用的帐号),严重危害到在线社交网络的信誉评价体系以及用户的信任关系.
异常帐号检测主要涉及3方面的内容:
(1)异常帐号的表现.帐号具有形态各异的表现,并且帐号的表现是一个动态过程,在不同的阶段具有不同的行为特征;
(2)检测方案的设计.选择合适的特征和算法来设计既满足准确率又满足效率的检测方案;
(3)检测方案的验证.设计的检测方案只有采用真实数据验证后才能够证明有效.
本文结构
第2节介绍在线社交网络中异常帐号的表现形式以及异常帐号检测所面临的挑战;
第3节分类分析探讨异常帐号检测方法的关键技术和研究现状并总结在异常帐号检测实验中数据获取、数据标识和结果验证的主要方法;
第4节展望未来的发展趋势;
第5节为总结.

二.社交网络中异常帐号及挑战

2.1 异常帐号分类

根据异常帐号的不同表现形式,我们将在线社交网络中异常帐号的状态变化分为3个阶段
(1)创建阶段.攻击者通过自动化工具利用虚假个人信息创建大量虚假帐号.
(2)发展阶段.社交网络帐号之间需要建立联系才能够传播消息,攻击者为了使恶意消息传播更广泛需要与其他正常帐号建立联系;同时攻击者为了快速增加异常帐号的可信程度,会与其他异常帐号建立联系。
(3)应用阶段.当异常帐号与其他正常帐号及异常帐号之间建立一定联系后,攻击者就会通过这些异常帐号执行各种恶意行为,如发布广告、钓鱼、 色情消息等,或通过这些帐号来恶意增加其他帐号的信誉,如批量关注、恶意点赞等。有些攻击者还会通过盗用正常用户的帐号来执行这些恶意行为。
根据3个不同阶段以及检测时的不 同侧重将异常帐号分为以下5类
(1)僵尸帐号( Social Bot).即由攻击者通过自动化工具创建的虚假帐号,能够模拟正常用户的操作如发布消息、添加好友等。僵尸帐号是攻击者创建的异常帐号在创建阶段的表现,主要侧重于自动化的创建过程,而不去考虑这些帐号被创建的目的,针对僵尸帐号的检测也主要利用帐号创建时的特征,如帐号昵称的命名规则等。
(2) Sybil 帐号. 社交网络中描述在网络结构中攻击者所创建的虚假帐号。Sybil 帐号相当于异常帐号在发展阶段的表现,针对 sybil 帐号的检测主要通过图结构方面的异常。
(3)Spam 帐号.Spam 帐号是攻击者创建的虚假帐号在应用阶段的统称,即这些帐号主要用来发 布广告、钓鱼、色情等信息,或用来恶意改变社交网络中的信誉,如恶意互粉、添加好友、点赞等行为.针 对Spam 帐号的检测主要侧重于恶意行为和恶意内容的特征。
(4) Compromised 帐号.即被劫持帐号.这些帐号原本是正常帐号,但被攻击者劫持来执行恶意行为.正常帐号拥有大量的正常用户好友,且具有正常的行为特征,所以攻击者往往通过各种方法盗取正常帐号进行恶意行为.由于Compromised帐号是由正常用户创建,没有帐号创建以及发展阶段的特征,因此针对Compromised帐号的检测主要利用帐号行为的突变来进行.
( 5) SpamCampaign.即攻击者创建的大量虚假帐号以及盗用的 Compromised帐号在集中时间段来传播恶意信息或执行其他恶意行为,称其为 SpamCampaign.针对SpamCampaign的检测主要通过这些帐号在同一时间段内的群体行为,如同时发布相同消息或者同时点赞某个页面等

2.2  异常帐号检测主要挑战

(1)异常帐号的多种表现形式
(2)异常帐号特征的动态变化
(3)社交网络巨大的用户数据
(4)网络空间的复杂性
将一般异常检测或图中异常检测的研究成果直接应用到在线社交网络中异常帐号检测无法取得令人满意的效果

三 社交网络中异常帐号检测方法

基于行为特征和基于内容的检测方案将异常帐号检测看为一个分类问题,即分别利用帐号的行为特征和帐号发布的内容来区分正常帐号和异常帐号.
基于图的检测方案是利用正常帐号和异常帐号在所形成的图中具有不同的结构模式或连接方式,将异常帐号检测问题转化为图中异常检测问题,再利用图挖掘的相关算法来区分正常帐号和异常帐号
无监督学习的方法是基于正常帐号有相同的特征或者符合一定的模型,通过特征的聚类或者建立模型来检测异常帐号
这里写图片描述

3.1  基于行为特征的检测方案

利用异常帐号与正常帐号在行为特征方面的不同来检测异常帐号.
基本流程 : 首先在社交网络中获取数据训练集,然后从数据中抽取相应的行为特征,再利用分类算法对这些特征进行训练形成分类器,最后利用测试样本集对分类器进行测试并判断分类结果.

3.2  基于内容的检测方案

检测的重点放在判断用户发布的消息是否为恶意消息.基于内容的检测方案能够在用户发布消息时即可判断该消息是否为恶意消息, 与基于行为特征的检测方案相比更加及时
根据不同的消息内容利用对象,将基于内容的检测方案分为
利用单个帐号的内容特征
利用群体帐号的内容特征

3.3  基于图的检测方案

基于图的检测方案关键是构造一个图,在图中异常帐号与正常帐号具有不同的结构或者连接方式,然后利用图挖掘的相关算法找到图中具体的异常结构或者异常节点。
社交网络中的图结构,显性:好友关系图, 隐性图结构:访问关系、分享关系、URL 共享关系。
(1)好友关系图
(2)其他关系图

3.4  无监督学习的检测方案

有监督学习的方法需要花费大量的时间来标记异常帐号,而且标记的样本数量与质量对于检测结果有较大的影响.基于图的检测方案尽管是无监督学习的,但是需要构建图结构。无监督学习的检测方案不需要提前对数据进行标记,因此能够更快的形成检测系统。根据具体的算法我们将无监督学习的方案分为两类:基于聚类和基于模型。
(1)基于聚类
(2)基于模型

3.5 检测方案的对比

3.6 实验方法总结

3.6.1 数据获取方式
  1. 爬虫获取
  2. 公开数据集
  3. 与社交网站合作
3.6.2 数据标识方式
  1. 人工标识
  2. URL黑名单检测工具
  3. 蜜罐系统
  4. 地下市场购买
  5. 社交网络自身功能
3.6.3 结果验证方式
  1. 人工验证
  2. 与社交网站合作
  3. 社交网站自身的功能

这篇关于在线社交网络中异常帐号检测方法研究的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/762711

相关文章

Linux换行符的使用方法详解

《Linux换行符的使用方法详解》本文介绍了Linux中常用的换行符LF及其在文件中的表示,展示了如何使用sed命令替换换行符,并列举了与换行符处理相关的Linux命令,通过代码讲解的非常详细,需要的... 目录简介检测文件中的换行符使用 cat -A 查看换行符使用 od -c 检查字符换行符格式转换将

SpringBoot实现数据库读写分离的3种方法小结

《SpringBoot实现数据库读写分离的3种方法小结》为了提高系统的读写性能和可用性,读写分离是一种经典的数据库架构模式,在SpringBoot应用中,有多种方式可以实现数据库读写分离,本文将介绍三... 目录一、数据库读写分离概述二、方案一:基于AbstractRoutingDataSource实现动态

Linux系统配置NAT网络模式的详细步骤(附图文)

《Linux系统配置NAT网络模式的详细步骤(附图文)》本文详细指导如何在VMware环境下配置NAT网络模式,包括设置主机和虚拟机的IP地址、网关,以及针对Linux和Windows系统的具体步骤,... 目录一、配置NAT网络模式二、设置虚拟机交换机网关2.1 打开虚拟机2.2 管理员授权2.3 设置子

揭秘Python Socket网络编程的7种硬核用法

《揭秘PythonSocket网络编程的7种硬核用法》Socket不仅能做聊天室,还能干一大堆硬核操作,这篇文章就带大家看看Python网络编程的7种超实用玩法,感兴趣的小伙伴可以跟随小编一起... 目录1.端口扫描器:探测开放端口2.简易 HTTP 服务器:10 秒搭个网页3.局域网游戏:多人联机对战4.

Java中的String.valueOf()和toString()方法区别小结

《Java中的String.valueOf()和toString()方法区别小结》字符串操作是开发者日常编程任务中不可或缺的一部分,转换为字符串是一种常见需求,其中最常见的就是String.value... 目录String.valueOf()方法方法定义方法实现使用示例使用场景toString()方法方法

Java中List的contains()方法的使用小结

《Java中List的contains()方法的使用小结》List的contains()方法用于检查列表中是否包含指定的元素,借助equals()方法进行判断,下面就来介绍Java中List的c... 目录详细展开1. 方法签名2. 工作原理3. 使用示例4. 注意事项总结结论:List 的 contain

macOS无效Launchpad图标轻松删除的4 种实用方法

《macOS无效Launchpad图标轻松删除的4种实用方法》mac中不在appstore上下载的应用经常在删除后它的图标还残留在launchpad中,并且长按图标也不会出现删除符号,下面解决这个问... 在 MACOS 上,Launchpad(也就是「启动台」)是一个便捷的 App 启动工具。但有时候,应

SpringBoot日志配置SLF4J和Logback的方法实现

《SpringBoot日志配置SLF4J和Logback的方法实现》日志记录是不可或缺的一部分,本文主要介绍了SpringBoot日志配置SLF4J和Logback的方法实现,文中通过示例代码介绍的非... 目录一、前言二、案例一:初识日志三、案例二:使用Lombok输出日志四、案例三:配置Logback一

Python实现无痛修改第三方库源码的方法详解

《Python实现无痛修改第三方库源码的方法详解》很多时候,我们下载的第三方库是不会有需求不满足的情况,但也有极少的情况,第三方库没有兼顾到需求,本文将介绍几个修改源码的操作,大家可以根据需求进行选择... 目录需求不符合模拟示例 1. 修改源文件2. 继承修改3. 猴子补丁4. 追踪局部变量需求不符合很

mysql出现ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost‘ (10061)的解决方法

《mysql出现ERROR2003(HY000):Can‘tconnecttoMySQLserveron‘localhost‘(10061)的解决方法》本文主要介绍了mysql出现... 目录前言:第一步:第二步:第三步:总结:前言:当你想通过命令窗口想打开mysql时候发现提http://www.cpp