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

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

相关文章

Nginx安全防护的多种方法

《Nginx安全防护的多种方法》在生产环境中,需要隐藏Nginx的版本号,以避免泄漏Nginx的版本,使攻击者不能针对特定版本进行攻击,下面就来介绍一下Nginx安全防护的方法,感兴趣的可以了解一下... 目录核心安全配置1.编译安装 Nginx2.隐藏版本号3.限制危险请求方法4.请求限制(CC攻击防御)

python生成随机唯一id的几种实现方法

《python生成随机唯一id的几种实现方法》在Python中生成随机唯一ID有多种方法,根据不同的需求场景可以选择最适合的方案,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习... 目录方法 1:使用 UUID 模块(推荐)方法 2:使用 Secrets 模块(安全敏感场景)方法

MyBatis-Plus通用中等、大量数据分批查询和处理方法

《MyBatis-Plus通用中等、大量数据分批查询和处理方法》文章介绍MyBatis-Plus分页查询处理,通过函数式接口与Lambda表达式实现通用逻辑,方法抽象但功能强大,建议扩展分批处理及流式... 目录函数式接口获取分页数据接口数据处理接口通用逻辑工具类使用方法简单查询自定义查询方法总结函数式接口

MySQL深分页进行性能优化的常见方法

《MySQL深分页进行性能优化的常见方法》在Web应用中,分页查询是数据库操作中的常见需求,然而,在面对大型数据集时,深分页(deeppagination)却成为了性能优化的一个挑战,在本文中,我们将... 目录引言:深分页,真的只是“翻页慢”那么简单吗?一、背景介绍二、深分页的性能问题三、业务场景分析四、

JAVA中安装多个JDK的方法

《JAVA中安装多个JDK的方法》文章介绍了在Windows系统上安装多个JDK版本的方法,包括下载、安装路径修改、环境变量配置(JAVA_HOME和Path),并说明如何通过调整JAVA_HOME在... 首先去oracle官网下载好两个版本不同的jdk(需要登录Oracle账号,没有可以免费注册)下载完

Linux在线解压jar包的实现方式

《Linux在线解压jar包的实现方式》:本文主要介绍Linux在线解压jar包的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux在线解压jar包解压 jar包的步骤总结Linux在线解压jar包在 Centos 中解压 jar 包可以使用 u

Java中读取YAML文件配置信息常见问题及解决方法

《Java中读取YAML文件配置信息常见问题及解决方法》:本文主要介绍Java中读取YAML文件配置信息常见问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要... 目录1 使用Spring Boot的@ConfigurationProperties2. 使用@Valu

Linux系统性能检测命令详解

《Linux系统性能检测命令详解》本文介绍了Linux系统常用的监控命令(如top、vmstat、iostat、htop等)及其参数功能,涵盖进程状态、内存使用、磁盘I/O、系统负载等多维度资源监控,... 目录toppsuptimevmstatIOStatiotopslabtophtopdstatnmon

Java 方法重载Overload常见误区及注意事项

《Java方法重载Overload常见误区及注意事项》Java方法重载允许同一类中同名方法通过参数类型、数量、顺序差异实现功能扩展,提升代码灵活性,核心条件为参数列表不同,不涉及返回类型、访问修饰符... 目录Java 方法重载(Overload)详解一、方法重载的核心条件二、构成方法重载的具体情况三、不构

SQL中如何添加数据(常见方法及示例)

《SQL中如何添加数据(常见方法及示例)》SQL全称为StructuredQueryLanguage,是一种用于管理关系数据库的标准编程语言,下面给大家介绍SQL中如何添加数据,感兴趣的朋友一起看看吧... 目录在mysql中,有多种方法可以添加数据。以下是一些常见的方法及其示例。1. 使用INSERT I