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

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

相关文章

Android 12解决push framework.jar无法开机的方法小结

《Android12解决pushframework.jar无法开机的方法小结》:本文主要介绍在Android12中解决pushframework.jar无法开机的方法,包括编译指令、框架层和s... 目录1. android 编译指令1.1 framework层的编译指令1.2 替换framework.ja

在.NET平台使用C#为PDF添加各种类型的表单域的方法

《在.NET平台使用C#为PDF添加各种类型的表单域的方法》在日常办公系统开发中,涉及PDF处理相关的开发时,生成可填写的PDF表单是一种常见需求,与静态PDF不同,带有**表单域的文档支持用户直接在... 目录引言使用 PdfTextBoxField 添加文本输入域使用 PdfComboBoxField

SQLyog中DELIMITER执行存储过程时出现前置缩进问题的解决方法

《SQLyog中DELIMITER执行存储过程时出现前置缩进问题的解决方法》在SQLyog中执行存储过程时出现的前置缩进问题,实际上反映了SQLyog对SQL语句解析的一个特殊行为,本文给大家介绍了详... 目录问题根源正确写法示例永久解决方案为什么命令行不受影响?最佳实践建议问题根源SQLyog的语句分

使用Python实现IP地址和端口状态检测与监控

《使用Python实现IP地址和端口状态检测与监控》在网络运维和服务器管理中,IP地址和端口的可用性监控是保障业务连续性的基础需求,本文将带你用Python从零打造一个高可用IP监控系统,感兴趣的小伙... 目录概述:为什么需要IP监控系统使用步骤说明1. 环境准备2. 系统部署3. 核心功能配置系统效果展

Java 中的 @SneakyThrows 注解使用方法(简化异常处理的利与弊)

《Java中的@SneakyThrows注解使用方法(简化异常处理的利与弊)》为了简化异常处理,Lombok提供了一个强大的注解@SneakyThrows,本文将详细介绍@SneakyThro... 目录1. @SneakyThrows 简介 1.1 什么是 Lombok?2. @SneakyThrows

在 Spring Boot 中实现异常处理最佳实践

《在SpringBoot中实现异常处理最佳实践》本文介绍如何在SpringBoot中实现异常处理,涵盖核心概念、实现方法、与先前查询的集成、性能分析、常见问题和最佳实践,感兴趣的朋友一起看看吧... 目录一、Spring Boot 异常处理的背景与核心概念1.1 为什么需要异常处理?1.2 Spring B

判断PyTorch是GPU版还是CPU版的方法小结

《判断PyTorch是GPU版还是CPU版的方法小结》PyTorch作为当前最流行的深度学习框架之一,支持在CPU和GPU(NVIDIACUDA)上运行,所以对于深度学习开发者来说,正确识别PyTor... 目录前言为什么需要区分GPU和CPU版本?性能差异硬件要求如何检查PyTorch版本?方法1:使用命

Qt实现网络数据解析的方法总结

《Qt实现网络数据解析的方法总结》在Qt中解析网络数据通常涉及接收原始字节流,并将其转换为有意义的应用层数据,这篇文章为大家介绍了详细步骤和示例,感兴趣的小伙伴可以了解下... 目录1. 网络数据接收2. 缓冲区管理(处理粘包/拆包)3. 常见数据格式解析3.1 jsON解析3.2 XML解析3.3 自定义

SpringMVC 通过ajax 前后端数据交互的实现方法

《SpringMVC通过ajax前后端数据交互的实现方法》:本文主要介绍SpringMVC通过ajax前后端数据交互的实现方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价... 在前端的开发过程中,经常在html页面通过AJAX进行前后端数据的交互,SpringMVC的controll

Java中的工具类命名方法

《Java中的工具类命名方法》:本文主要介绍Java中的工具类究竟如何命名,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录Java中的工具类究竟如何命名?先来几个例子几种命名方式的比较到底如何命名 ?总结Java中的工具类究竟如何命名?先来几个例子JD