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

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

相关文章

Java中流式并行操作parallelStream的原理和使用方法

《Java中流式并行操作parallelStream的原理和使用方法》本文详细介绍了Java中的并行流(parallelStream)的原理、正确使用方法以及在实际业务中的应用案例,并指出在使用并行流... 目录Java中流式并行操作parallelStream0. 问题的产生1. 什么是parallelS

MySQL数据库双机热备的配置方法详解

《MySQL数据库双机热备的配置方法详解》在企业级应用中,数据库的高可用性和数据的安全性是至关重要的,MySQL作为最流行的开源关系型数据库管理系统之一,提供了多种方式来实现高可用性,其中双机热备(M... 目录1. 环境准备1.1 安装mysql1.2 配置MySQL1.2.1 主服务器配置1.2.2 从

Python版本信息获取方法详解与实战

《Python版本信息获取方法详解与实战》在Python开发中,获取Python版本号是调试、兼容性检查和版本控制的重要基础操作,本文详细介绍了如何使用sys和platform模块获取Python的主... 目录1. python版本号获取基础2. 使用sys模块获取版本信息2.1 sys模块概述2.1.1

Python实现字典转字符串的五种方法

《Python实现字典转字符串的五种方法》本文介绍了在Python中如何将字典数据结构转换为字符串格式的多种方法,首先可以通过内置的str()函数进行简单转换;其次利用ison.dumps()函数能够... 目录1、使用json模块的dumps方法:2、使用str方法:3、使用循环和字符串拼接:4、使用字符

Python版本与package版本兼容性检查方法总结

《Python版本与package版本兼容性检查方法总结》:本文主要介绍Python版本与package版本兼容性检查方法的相关资料,文中提供四种检查方法,分别是pip查询、conda管理、PyP... 目录引言为什么会出现兼容性问题方法一:用 pip 官方命令查询可用版本方法二:conda 管理包环境方法

Linux云服务器手动配置DNS的方法步骤

《Linux云服务器手动配置DNS的方法步骤》在Linux云服务器上手动配置DNS(域名系统)是确保服务器能够正常解析域名的重要步骤,以下是详细的配置方法,包括系统文件的修改和常见问题的解决方案,需要... 目录1. 为什么需要手动配置 DNS?2. 手动配置 DNS 的方法方法 1:修改 /etc/res

JavaScript对象转数组的三种方法实现

《JavaScript对象转数组的三种方法实现》本文介绍了在JavaScript中将对象转换为数组的三种实用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友... 目录方法1:使用Object.keys()和Array.map()方法2:使用Object.entr

SpringBoot中ResponseEntity的使用方法举例详解

《SpringBoot中ResponseEntity的使用方法举例详解》ResponseEntity是Spring的一个用于表示HTTP响应的全功能对象,它可以包含响应的状态码、头信息及响应体内容,下... 目录一、ResponseEntity概述基本特点:二、ResponseEntity的基本用法1. 创

java中判断json key是否存在的几种方法

《java中判断jsonkey是否存在的几种方法》在使用Java处理JSON数据时,如何判断某一个key是否存在?本文就来介绍三种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的... 目http://www.chinasem.cn录第一种方法是使用 jsONObject 的 has 方法

java中ssh2执行多条命令的四种方法

《java中ssh2执行多条命令的四种方法》本文主要介绍了java中ssh2执行多条命令的四种方法,包括分号分隔、管道分隔、EOF块、脚本调用,可确保环境配置生效,提升操作效率,具有一定的参考价值,感... 目录1 使用分号隔开2 使用管道符号隔开3 使用写EOF的方式4 使用脚本的方式大家平时有没有遇到自