Graph Mining for Cybersecurity: A Survey——网络安全图挖掘:一项调查——全文翻译

当今恶意软件、垃圾邮件和入侵等网络攻击的爆炸式增长给社会造成了严重后果。保护网络空间已成为组织和政府最关心的问题。基于传统机器学习 (ML) 的方法广泛用于检测网络威胁,但它们几乎无法模拟现实世界网络实体之间的相关性。近年来,随着图挖掘技术的普及,许多研究人员研究了这些技术来捕获网络实体之间的相关性并实现高性能。有必要总结现有的基于图的网络安全解决方案,为未来的研究提供指导。因此,作为本文的关键贡献,我们对网络安全的图挖掘进行了全面的回顾,包括网络安全任务的概述、典型的图挖掘技术、将其应用于网络安全的一般流程以及各种解决方案。不同的网络安全任务。对于每个任务,我们都会探讨相关方法,并重点介绍建模中的图类型、图方法和任务级别。此外,我们还收集用于基于图形的网络安全的开放数据集和工具包。最后,我们展望了这个“未来研究领域的潜在方向”。

CCS 概念: • 概述和参考 → 调查和概述; • 信息系统→数据挖掘; • 计算数学→ 图算法; • 安全和隐私;


1 简介

随着互联网的发展,各种网络攻击不断发生,不仅给个人和企业带来巨大损失,而且对国家构成严重威胁。例如,[91]指出,2020年3月网络钓鱼攻击增加了600%。再比如,黑客曝光希拉里·克林顿的电子邮件造成了巨大的政治影响,甚至干扰了美国大选。网络安全已成为影响全球风险的关键因素,引起学术界和工业界的广泛关注。

为了对抗网络攻击,基于机器学习的方法已广泛应用于网络安全应用中。一般来说,网络安全问题可以建模为机器学习任务。早期基于 ML 的解决方案大多使用手动构建的特定于应用程序的特征作为输入,然后训练 ML 模型(例如支持向量机 (SVM) 和 K 最近邻 (KNN))来检测网络安全威胁。例如,应用程序编程接口(API)调用序列通常被用来构建行为特征,从而识别恶意软件的同源性[130, 217]。然而,早期的基于机器学习的方法严重依赖于特征工程,这既费时又费力。作为机器学习的关键组成部分,深度学习(DL)通过自动学习高级网络攻击特征以及相当高的学习能力缓解了这些限制,因此成为过去十年中理想的方法。年 [114, 137]。

尽管这些基于机器学习的网络安全应用方法取得了成功,但现实世界的网络实体之间仍存在许多显式或隐式的关联,例如Android应用程序(应用程序的简称)中的API调用关系,它可以表征网络犯罪分子的结构模式。不幸的是,传统的基于机器学习的方法很难捕获这些相关性,这极大地阻碍了某些任务的性能。近年来,随着图挖掘方法研究的兴起[54,60,86],越来越多的研究人员开始将图挖掘技术应用于网络安全。一般来说,图挖掘技术擅长挖掘网络实体的语义信息和空间相关性,以更好地检测网络攻击。例如,恶意软件往往具有高密度和强封闭性的API调用图[7];欺诈者倾向于具有类似的交互行为,可以通过基于元路径的图挖掘方法进行建模[69, 240]。目前,图挖掘技术已在许多网络安全任务中被证明是最先进的(例如,违约者检测[240]和谣言检测[10])。此外,许多方法已经作为核心组件集成到企业的安全产品中[69,70,101]。

尽管许多图挖掘技术已广泛用于解决网络安全任务,但据我们所知,目前还没有对基于图的网络安全应用程序进行全面的调查。然而,考虑到日益严峻的网络安全环境,这种调查是迫切需要的。可以为快速设计基于图的网络安全解决方案提供整体参考,也可以帮助后来的研究人员避免重复工作。我们还注意到,有一些关于网络安全中的 ML/DL 的调查 [104, 114, 219],以及一些关于其他“领域”的图挖掘技术的调查 [21, 116, 173, 216]。 [74] 提出了与我们最相关的调查仅总结了早期用于捕获恶意软件传播模式的图挖掘解决方案,相反,我们的调查涵盖了用于各种网络安全任务的各种现有的基于图的解决方案。

在本次调查中,我们对网络安全中使用的图挖掘技术进行了全面的回顾。我们给出了各种网络安全任务的详细分类和描述,以及它们应用的图挖掘技术。我们还制定了设计基于图形的网络安全应用程序的一般步骤以供指导。

之后,介绍了详细的基于图的网络安全解决方案。具体来说,我们主要根据所应用的图挖掘技术对网络安全任务进行分类,以突出图方法在解决当前热点安全问题方面的独特优势。此外,对于每个网络安全任务,我们提出了典型的图类型和图挖掘技术,以指导新型网络安全解决方案的开发,并促进与现有解决方案的对比。此外,我们“首先收集网络安全中使用的典型的基于图的公共数据集和工具包,以促进基线实验。通过系统分析现有研究,我们阐述了设计基于图的网络安全解决方案的要点,以及一些有前途的方向。

本次调查的其余部分组织如下。在第 2 节中,我们给出了网络安全任务的分类和描述。第 3 节介绍了网络安全任务中使用的典型图挖掘技术。

第 4 节介绍了网络安全图挖掘的一般过程。第 5 节详细阐述了使用图挖掘技术的网络安全解决方案。第 6 节提供了典型的基于图形的网络安全公共数据集和工具包。在第 7 节中,我们指出了未来的方向。最后,第 8 节是本次调查的总结。

图 1. 本次调查中的网络安全分类(“左”两个主要类别和右侧四个子类别)。对于每个子类别,我们列出了通过图挖掘技术建模的典型任务。


2 网络安全基础知识

网络安全是保护网络资产的工具、政策、行动和技术的集合。这些资产包括用户、网络基础设施、应用程序、系统以及网络环境中传输和存储的总信息。网络安全旨在确保这些资产的可用性、完整性和保密性以抵御网络攻击[179]。考虑到其重要性,人们提出了许多先进的网络防御策略来确保网络空间的安全。据报道,人工网络的市场网络安全情报将从 2016 年的 10 亿美元增长到 2025 年的 348 亿美元[169]。然而,网络攻击正在不断发展并不断采取对抗性行动,对网络安全构成持续威胁。例如,作为攻击者为破坏网络安全而实施的关键威胁,恶意软件由于自动生成其变体的技术而迅速发展以避免检测,导致新的恶意软件样本呈指数级增长[219]。

因此,网络攻击和防御的一些重要任务应该被建模并持续受到研究人员的关注。在本节中,我们首先介绍网络安全的分类,然后概述这些网络安全任务。

2.1 分类

从不同的角度来看,网络安全任务的分类是不同的。在本次调查中,我们主要关注通过图挖掘技术广泛建模的网络安全任务。网络安全的详细分类如图1所示。具体来说,我们将网络安全任务分为两大类,即应用安全和网络基础设施安全。网络基础设施安全重点保护互联网的关键基础设施和组件,例如域名系统(DNS)、网络流量和路由器,以确保互联网在可信赖的环境中运行[200],我们在网络和系统层面进一步对网络基础设施安全进行分类,其中包括特定的网络和系统。安全任务(例如僵尸网络检测和区块链安全)。应用安全旨在保护运行在网络基础设施之上的各种应用程序的安全,例如社交媒体和“金融业务”。它进一步分为认知安全和交易安全。认知安全主要关注各种网络应用影响人类认知的安全问题(例如假新闻、垃圾评论),而交易安全则强调在线交易中威胁人类资产和“金融秩序”的安全问题(例如“金融欺诈”)和地下市场)。值得注意的是,大多数网络安全任务可以抽象为异常检测,其目的是检测样本中罕见的情况[4]。由于本次调查重点关注特定的网络安全任务,因此我们不单独介绍异常检测,而是描述特定任务中的相关方法。

2.2 网络安全任务概述

基于网络安全的分类,我们对这些网络安全任务进行概述。

2.2.1 交易安全。近年来,互联网的快速发展促进了在线交易和数字金融的蓬勃发展,但也成为攻击者进行恶意交易牟利的温床,造成巨大的人力资产损失。破坏了正常的“金融市场运作”。通过互联网,既可以在表层互联网上进行交易,也可以在暗网上进行交易,后者的规模预计远大于前者。表层互联网上的交易受监管机构的监管。政府和“金融机构”。然而,恶意交易仍然不断发生,即所谓的“金融欺诈”[128]。暗网上的交易形成地下市场[41],不受监管,成为执行非法交易的理想平台。

金融欺诈。金融欺诈旨在利用“金融市场”的规则漏洞,以不道德、非法的方式获取利益。它是损害个人日常生活和“金融市场”的重要问题,已成为交易安全的主要威胁。例如,在美国,保险领域的欺诈活动导致了3000亿美元的“金融损失”一年[128]。我们主要关注通过图挖掘技术建模的四种典型应用,即洗钱、追逃、贷款违约和保险欺诈。

地下市场。地下市场可以被定义为在称为暗网的互联网部分上运行的非法、免税和不受监管的交易市场[62]。与我们日常使用的地面互联网不同,暗网是一个加密的网络隐藏 IP 地址并使用几乎无法追踪的加密货币(例如比特币)的互联网网络,促进匿名交易[233],地下市场发生的大量非法交易(例如毒品贩运、武器走私)对“金融秩序。例如,据透露,一群网络犯罪分子每年可以通过租用分布式拒绝服务(DDoS)攻击来获利8.64亿美元[234]。为了打击这些犯罪分子,提出了许多关键任务基于地下论坛(或黑客论坛)分析,例如关键行为者检测[235]、帐户链接[233]、非法产品识别[41]和网络威胁情报(CTI)收集[143]。

2.2.2 认知安全。网络空间的各种内容中,存在着虚假或恶意的信息。这些信息通过社交媒体迅速传播,误导人们的观念和决策,进一步损害国家的民主和经济[57]。例如,广泛传播的巴拉克·奥巴马在爆炸中受伤的假消息使市值蒸发了130亿[244]。认知安全是指信息对人类认知的潜在影响,包括网络垃圾信息、虚假新闻、垃圾评论信息、虚假账户等,成为近年来的热门话题。下面介绍认知安全的典型威胁。

网络垃圾邮件。网络垃圾邮件是指互联网上旨在误导人类和搜索引擎的超链接页面[58]。通过内容和链接操纵(例如,在网页内容中插入关键字或故意将网站连接到大量其他网站),网络垃圾邮件获得搜索引擎返回的较高排名,从而降低了搜索引擎提供商的产品质量。此外,这些排名靠前的网络垃圾邮件通常用作传播恶意软件和“shing 攻击”[158]的手段,这种攻击是通过已知的路过式下载攻击来执行的。也就是说,用户可能会关注网络垃圾邮件并被诱导单击重定向统一资源定位器(URL)来访问受感染的网站 为了解决这些问题,网络垃圾邮件检测的研究已成为一场军备竞赛,尤其是对于搜索引擎行业而言[148]。

假新闻。如今,假新闻的爆炸性增长威胁着政治和公共利益,因为假新闻所涉及的信息影响着一般的认知偏好[57]。 Twitter和Facebook等社交媒体已成为传播假新闻的理想平台。因此,检测来自社交媒体的假新闻已成为保护认知安全的一项重大任务。请​​注意,假新闻目前还没有一个通用的定义。在这项调查中,与[244]的广义定义类似,我们将假新闻定义为假新闻是社会成员发布的假新闻。这样的定义意味着“假新闻”一词应该涉及整个信息生态系统。因此,我们也将一些相关概念(例如虚假信息[88]和谣言[17])纳入假新闻“领域”。

虚假在线评论。在线评论是影响人们对当前电商平台商品态度的重要因素。欺诈者利用这一资源误导人们的购买决策,重塑企业,甚至实施“金融欺诈”。垃圾评论有两种,即个人垃圾评论和集体垃圾评论。集体垃圾评论(也称为垃圾评论群体[196])是指与个人垃圾评论相比,集体垃圾评论对电子商务平台的危害更大,并且由于更复杂的群体间动态而更难被发现[32]。 ]。

假账号。随着社交媒体的蓬勃发展,大量用户注册了在线帐户来进行交流、分享知识和娱乐。然而,也存在大量虚假账户(也称为 Sybils),它们与真实用户不对应,损害了社交网络的可信度。

例如,如果用户开始怀疑个人资料信息的真实性,他们可能会削弱网络的可信度[205]。攻击者经常创建这些虚假帐户来出于特定目的执行虚假社交活动,例如添加页面喜欢的数量或假 Twitter 关注者来宣传服务和产品 [66]、政治政治图谋 [134],甚至操纵投票结果 [19]。因此,检测和删除虚假帐户对于保护合法用户和维护社交网络的可信度至关重要。

2.2.3 网络安全。网络持续遭受来自外部和内部的安全威胁,例如DDoS攻击、恶意扫描等。网络安全重点是保护整个网络环境免受网络攻击,保证网络基础设施的可靠运行。各项网络安全任务为互联网上各项活动的开展提供安全通信保障。网络流量分析是完成这些任务的基本方法[137]。因此,我们回顾了网络安全中基于网络流量分析的三个典型任务,即僵尸网络检测、恶意域检测和入侵检测。

僵尸网络。僵尸网络是指受感染的网络,有大量受感染的设备,每个设备都是一个机器人并由僵尸主机控制。僵尸网络的活动主要分为3个阶段。首先,犯罪分子将恶意软件和病毒传输到受感染的设备。然后,犯罪分子监督少数僵尸主机通过命令与控制(C&C)渠道操纵大量僵尸程序。最后,机器人对网络发起分布式攻击。很大一部分网络问题,例如DDoS攻击、木马、恶意比特币挖矿等都与僵尸网络有关。僵尸网络已经成为流行的工具,未来可能会被用来执行新的网络攻击。

恶意域。域名系统 (DNS) 是互联网上的一项重要服务,它将域名映射到相应的 IP 地址。域名作为网络通信的重要角色,也是不法分子发起网络攻击的重要资源,如钓鱼网站、垃圾邮件、僵尸网络等。检测恶意域名已成为网络安全的重要课题。更严重的是,攻击者利用域名进行攻击。例如,攻击者通过不断更改映射 IP 地址来掩盖恶意服务的真实位置[164]。攻击者的行为给恶意域检测带来了巨大的挑战。

入侵检测。入侵检测系统(IDS)是一种主动保护特定网络和系统免受非法攻击的网络安全措施。它收集和分析来自系统或网络的信息,检测任何试图破坏完整性、保密性和安全性的行为。计算机资源的可用性,即检查是否存在违反安全策略和攻击的迹象,并做出相应的操作反应。对于 IDS 来说,网络威胁来自外部和内部。外部威胁主要是指网络通信和主机中的恶意行为,如异常网络流量、漏洞攻击等。内部威胁大多是由组织内部员工的恶意行为造成的,例如恶意登录[129],给组织带来巨大损失。

2.2.4 系统安全。系统安全是网络基础设施安全的重要组成部分。它旨在保护网络空间的各种系统免受内部和外部的攻击或隐患。恶意软件和漏洞检测作为安全系统的两个关键组成部分,已成为保障网络系统安全、稳定、长期运行的重要措施。近年来,区块链作为一种新兴的实现点对点价值交换和可信数据共享的网络系统,尤其是随之而来的安全问题也受到了工业界和学术界的广泛关注。

恶意软件。根据[219],恶意软件(也称为恶意软件或恶意代码)是指所有有害的软件程序,包括病毒、蠕虫、木马、间谍软件、僵尸程序、rootkit、勒索软件等。

这些程序被用作发动网络攻击的武器,例如窃取信息、破坏计算机、破坏关键基础设施,从而对信息系统造成严重破坏。据报道,一种恶意软件可能会泄露受害者的隐私数据或永久阻止他们的访问,除非在 2017 年支付超过 50 亿美元的赎金[40]。通常,Windows系统中的可移植可执行(PE)恶意软件是恶意软件样本的大部分,基于Android的恶意软件也占据了很大一部分[219]。因此,我们主要关注这两类恶意软件。此外,恶意软件检测和恶意软件家族分类是与恶意软件相关的两个主要任务。为了方便起见,我们将这些和其他与恶意软件相关的任务统称为恶意软件分析。

系统漏洞。系统漏洞是指软件或操作系统设计过程中的缺陷或错误,可能被不法分子利用,通过植入木马、病毒等方式攻击或控制整个系统。近年来,系统漏洞的数量呈爆炸式增长。据 MITRE 公司报道,截至 2022 年 6 月 19 日,常见漏洞披露(CVE)记录已达 17,8581 条。探索高精度的漏洞检测方法已成为系统安全亟待解决的问题。系统漏洞通常表现在程序代码中,例如众所周知的结构化查询语言(SQL)注入漏洞。因此,源代码分析是漏洞检测任务的基础[183, 208]。

区块链安全。区块链是一种去中心化、不可篡改的系统,为数字世界建立信任并实现可信交易。基于区块链的架构,近年来很多应用涌现,比如大家所熟知的比特币。以太坊是当今最大的区块链系统之一,它的出现代表着区块链2.0时代的到来。智能合约是在以太坊之上自动运行的程序。它可以由开发人员设计来实现管理数字资产的任意规则,从而使合同条款的自动执行成为可能[108, 109]。然而,由于智能合约的编程语言是新出现的,可能会暴露出许多容易受到攻击的漏洞。例如,2016年,攻击者利用去中心化自治组织(DAO)合约的重入漏洞窃取了360万个以太币[108]。此外,由于区块链系统的匿名性和高度自治性,洗钱、钓鱼诈骗等犯罪活动不断发生,给区块链数字资产带来巨大风险。因此,我们主要关注两种区块链安全威胁的图挖掘解决方案:(1)设计的区块链系统本身的漏洞(例如智能合约漏洞)。 (2)区块链中的犯罪活动(例如恶意用户利用区块链进行洗钱活动)。


3 图挖掘技术概述

在本节中,我们将首先介绍图挖掘技术的一些基本概念。然后,介绍网络安全中使用的典型图挖掘技术的详细分类和描述。

3.1 基本概念

许多现实世界的网络安全数据可以自然抽象或手动构建为图表,旨在对网络组件之间的关系和复杂交互进行建模。形式上,图的定义如下。

定义 1. 图。图表示为 G = (V, E),其中 V是节点集,E是边集。图中定义了节点类型映射函数FA:V→A和边类型映射函数FR:E→R,其中A为节点类型集合,R为边类型集合。

图的基本拓扑信息可以通过一些属性来描述,这也是识别网络威胁的重要特征。例如,作为衡量图互连程度的基本属性,密度也广泛应用于恶意软件分析和僵尸网络检测。这里我们在表 1 中列出了典型的图属性及其描述。请注意,这些通用属性可用于表征所有类型的图。

表 1. 典型的图形属性(基于结构的统计特征)及其描述。

广义上讲,现实中的网络安全图大多是异构的,例如流量图[81]和代码属性图[208],其中图中的节点或边包含多种类型。我们对异构图和同构图的定义如下。

定义 2。同质/异质图 [166]。如果节点类型集|A|,则图称为异构图> 1 或边类型集 |R| > 1,否则称为同质图。

同质图(左!)[125] 和异质图(右)[40] 的示例。同质图是Android程序的API调用图,其中节点表示API,边表示API调用关系。异构图是 Windows 可移植可执行 (PE) 文件的文件依赖关系图。它包括多种类型的节点(存档、文件和 API)和边(例如,存档包含文件和文件调用 API)。

图 3. Android 恶意软件检测的网络模式 (a) 和元路径 (b) [218]。带有上标-1的符号表示逆关系(例如,퐼-1表示“invoked-by”)。

示例 1. 图 2 展示了恶意软件检测任务中同构/异构图的示例。齐次图(左)是一个 Android API 调用图,其中节点表示 API,边表示 API 之间的调用关系。异构图(右)描述了系统实体之间更复杂的交互,包括四种类型:存档、文件、API 和 DLL(动态链接库的缩写)。

对于齐次图,基本结构信息可以通过一阶邻近度和二阶邻近度来捕获[172]。 “一阶邻近”的基本思想是互连程度高的节点应该紧密地嵌入在一起。例如,两个具有调用关系的应用程序接口(API)可能实现相似的功能。但是,在某些情况下,互不相连的节点也可能具有相似的功能。类似的行为。

以欺诈检测任务为例,恶意账户之间的交易往往使用正常的中间账户作为桥梁。一阶邻近度无法对这些断开连接的恶意帐户的相似性进行建模。

为了弥补这一限制,二阶邻近度通过比较两个节点的邻居结构来表征两个节点的相似性,即如果两个节点有更多的共同邻居,那么它们的二阶邻近度就会更高。

对于异构图,基本模式可以表示为网络模式[167],可以将其视为反映节点类型和链接关系的元模板。而图的高级语义被证明对下游任务更有用,可以通过元路径捕获[167]。

如果相邻节点类型之间不存在多种关系类型,我们可以将元路径 P 的表示简化为 P = (A1A2 ···Ai+1)。对于节点类型 퐴A和 Ai+1 之间的关系 푅,表示为 Ai → Ai+1,逆关系 R−1 对于 Ai+1 → Ai 自然成立。一般来说,R 不等于 R−1,除非 R 是对称的。

示例 2. 为 Android 恶意软件检测设计的元路径示例如图 3 所示。图 3 (a) 描述了一个网络架构,其中包括“5 个实体类型和 6 个关系类型”。图 3 (b) 呈现了 4 个实体类型和 6 个关系类型。从网络模式中提取的元路径捕获图的不同语义信息。两个Android应用程序调用相同的API,M4中的语义表示这两个应用程序由同一开发人员开发。

3.2 方法分类

根据网络安全中使用的图挖掘技术,我们将现有方法分为两大类。(1)统计特征。此类别中的方法基于手动构建的统计特征,这些特征具有高维性和稀疏性。根据是否利用图的属性信息,统计特征进一步分为结构特征和属性特征。(2)图嵌入[52,191]。与统计特征不同,图嵌入将特征向量从稀疏转换为密集,并自动保留结构和属性信息。我们从三个角度对图挖掘方法进行了分类:结构/属性(是否使用属性信息)、浅层/深度(是否使用深度学习)和同质/异构(是否关注异构图)。这些分类法可以从综合的角度反映不同网络安全任务的特点。例如,一些网络安全任务(例如,僵尸网络检测)对结构特征很敏感,而其他任务(例如,欺诈检测)则更关注归因信息;地下市场分析通常在异构图上进行,而恶意软件分析中的函数调用关系通常构建为同构图。图 4 给出了网络安全中使用的图挖掘技术的详细分类。

图4.网络安全中图挖掘技术的分类。符号×表示Hadamard乘积,这意味着来自不同视图的子类别可以进行任意组合。因此,图嵌入方法属于多个子类别(例如,Node2vec [54]属于Str+Sha+Hom嵌入)。

3.2.1 统计特征。大多数统计特征是从图手动构建的,反映了图结构和属性的一般统计特征。其他一些统计特征是针对特定的网络安全应用而定制的,这些特征可能有效但难以推广。事实证明,统计特征在描述一些基本图属性(例如,计算子结构)方面可以实现可比甚至更优越的性能,与先进模型(例如图神经网络(GNN))[26,48,206]相比,我们将统计特征分为两大类:结构特征和属性特征,介绍如下。

结构特点。结构特征描述了图的基本属性,并已广泛应用于早期的网络安全解决方案中。例如,进/出度是区分僵尸网络的显着特征;社区检测算法在识别网络威胁的社区结构模式中发挥着至关重要的作用[111,187,202,208]。这里我们在表1中列出了典型的结构特征及其描述。尽管通过流行的图嵌入技术进行了自动学习,但结构特征仍然可以作为检测许多潜在威胁的有效指标[143]。此外,一些先进的网络安全解决方案也是受到图结构统计特征的启发[102, 107]。

图 4. 网络安全中图挖掘技术的分类。符号×表示Hadamard乘积,这意味着来自不同视图的子类别可以进行任意组合。因此,图嵌入方法属于多个子类别(例如,Node2vec [54]属于Str+Sha+Hom嵌入)。

属性特征。节点属性、边权值等属性特征是结构特征的重要补充,尤其是在结构特征区分性较差的场景下。例如,在智能家居物联网漏洞检测任务中, tra$c %ow 图可能呈现相似的结构,这很难识别漏洞,而边(%ows)中的属性可以揭示漏洞风险,例如“密码”和“令牌”[78]。功能是为特定的网络安全任务构建的。以评论垃圾邮件发送者组检测为例。平均评论时间和评分方差是识别垃圾邮件发送者群体的两个关键的基于属性的特征,因为垃圾邮件发送者群体经常在短时间内发布虚假评论并倾向于评分相似的分数[195]。置信传播 (BP) 算法通常用于在连接的节点之间传递这种同质性 [87, 170]。此外,属性特征通常被纳入图嵌入模型中并用作初始化的节点向量

3.2.2 图嵌入。一般来说,假设数据位于低维流形中,图嵌入算法的目的不仅是降低非关系数据的高维性,而且还捕获图的结构和属性信息[15]。每个节点都嵌入到一个密集向量中,然后执行下游任务。因此,从利用信息的角度来看,图嵌入可以分为结构嵌入和属性嵌入。此外,从模型架构的角度来看,采用了许多浅层方法(例如基于矩阵分解[209]和随机游走[126]的方法)和基于高级深度学习的方法(例如GNN)来学习图嵌入。此外,从图数据的组织形式来看,图嵌入方法要么关注同构图,要么关注异构图。我们将图嵌入方法从这三个视图中划分出来,每个视图上的分类可以涵盖所有图嵌入方法。

现将典型方法介绍如下。

结构与属性。结构嵌入旨在在嵌入中保留图的结构信息。直观地讲,如果两个节点相连或它们的局部结构相似,则它们的节点嵌入应该具有更近的距离。因此,许多工作使用随机游走来采样局部节点序列以进行节点相似性学习。DeepWalk [126] 将拓扑信息纳入随机游走,并使用 SkipGram [115] 来最大化相邻节点的概率。LINE [172] 进一步引入了加权节点分布,并提出了“一阶邻近度”来对具有可观察链接的节点的联合概率进行建模。 Node2vec [54] 通过使用二阶随机游走程序对节点序列进行采样并同时学习“一阶邻近度”和“二阶邻近度”,从而对 DeepWalk 进行了推广。为了对结构身份进行建模,Struct2vec [138] 设计了一个遍历分层图的加权随机游走。结构嵌入方法广泛应用于结构敏感的网络安全任务,例如恶意软件检测中的函数调用图结构分析[39,125],社交网络中虚假新闻传播的模式学习[46],金融欺诈检测中的交易行为建模[111]等。

与结构嵌入仅考虑结构信息不同,属性嵌入同时捕获图结构和节点属性信息(例如,社交网络中的欺诈者资料)。[209]首先证明了DeepWalk等同于矩阵分解,并提出了文本关联的DeepWalk(TADW)将节点属性合并到嵌入中。许多高级图嵌入方法还支持合并属性信息(例如,GraphSAGE [60]和图注意网络(GAT)[177])。属性嵌入更适合结构特征无法区分的复杂网络安全任务,例如暗网威胁分析[233,235]和恶意软件检测中的系统实体关联建模[40]。

浅层与深层。在早期阶段,大多数图嵌入方法都基于浅层模型,其可训练参数仅为节点嵌入[59]。这些应用于网络安全的浅层模型很大程度上受到矩阵分解和随机游走技术的启发。矩阵是表示图(例如邻接矩阵和拉普拉斯矩阵)的自然工具。因此,我们可以通过矩阵分解轻松获得节点嵌入。此外,学习节点嵌入还可以通过矩阵乘法重建整个图结构 [113]。与使用确定性方式学习节点嵌入的矩阵分解相比,随机游走方法更加灵活,并且主要包含在结构嵌入中,例如 Node2vec、Deepwalk 和 LINE。

深度学习的快速发展促使人们将深度学习应用于图嵌入,即图神经网络 (GNN) [203, 241]。GNN 是一种通过邻居聚合来更新节点嵌入的深度模型,它提供了一种更方便、更可扩展的学习图嵌入的方法。这些深度模型可分为谱方法和空间方法。图卷积网络 (GCN)[86] 是一种著名的谱方法,它将卷积运算推广到图数据。空间方法,即消息传递神经网络 (MPNN) [50],根据节点之间的空间关系定义卷积运算。为了捕捉来自不同邻居的消息的重要性,图注意力网络 (GAT) [177] 在消息传递过程中引入了注意力机制。GraphSAGE [60] 进一步采用邻居采样来实现可扩展性。它设计了小批量传播来支持归纳学习。为了对图的时间变化进行建模(例如,网络流量图),时空图神经网络 (STGNN) 将顺序模型合并到传统的 GNN 中,这在某些实时应用中是有效的(例如,入侵检测系统 [27])。

同质与异质。同质嵌入已被广泛研究,用于学习同质图的表示。许多著名的嵌入方法,从基于随机游走的方法 Node2vec、Deepwalk 和 LINE,到流行的 GNN 方法 GCN、GAT 和 GraphSAGE,都是为同质图设计的。这些方法中有相当一部分是基于同质性假设,即具有相似标签的节点倾向于相互连接,因此应该具有相似的嵌入。许多网络安全任务也持有这一假设 [20, 145]。例如,网络链接图中连接的网络可能具有相同的标签(正常或垃圾邮件)。相应地,这些同质图通常用于对节点之间的相关性或相似性进行建模。另一类同构图旨在对依赖关系进行建模,例如用于恶意软件检测的函数调用图 [71]、用于异常流量检测的网络流量图 [33] 等。 这些图不是基于同质性假设构建的,因此目标通常是获得图级任务的嵌入。

为了对图的异构性进行建模,许多工作集中于研究异构图嵌入 [191]。 在异构图场景中,语义信息更为重要。例如,两个经常使用相同协议发送数据包的主机可能具有相似的目的,因此应该具有相似的表示 [237]。提出了元路径引导的随机游走来捕捉这种语义相似性 [40, 227],它沿着预定义的元路径继续游走。此外,许多先进的异构嵌入方法依赖于聚合来自异构邻居的消息,主要由两种解决方案组成。 一种是通过类型特定的映射函数将不同类型实体的属性转换到同一空间 [107, 212, 225]。通过聚合特定类型的邻居获得目标节点表示后,可以应用多种融合方法(如连接)来获取最终的节点嵌入。另一种解决方案是使用元路径引导的邻居聚合 [69, 188, 192]。该解决方案的典型架构如图 5 所示。请注意,聚合函数有多种选择。例如,它是基于异构图注意网络(HAN)[192]中的注意机制设计的,这也是许多网络安全解决方案中的普遍选择 [69, 180, 234]。最后,可以通过多视图融合技术融合不同元路径下的节点表示 [131, 192]。

图 5. 网络安全中使用的异构嵌入的典型架构(以恶意软件检测为例)。 它包括两个过程:(1)基于元路径的邻居聚合。针对特定的基于元路径的邻居构建多个同构图(视图),然后在每个视图中执行邻居聚合以获得节点表示。(2)多视图融合。融合不同的基于元路径的节点表示以获得最终的特征向量。


4 网络安全图挖掘的一般流程

基于图的网络安全解决方案的一般流程主要包括五个步骤。首先,我们应该在各种网络攻击中专注于一项特定的网络安全任务(例如,僵尸网络检测),并分析任务属性以给出明确的任务定义。然后,针对混合了各种实体的复杂网络空间,我们应该收集和处理支持任务属性的数据。基于任务定义和处理后的数据,可以构建特定于应用程序的图,以捕获相关网络实体之间的丰富交互。接下来,应该为这项任务精心设计一个优化模型。最后,将通过相应的指标评估所提出的模型,并进一步部署到实际场景中。在本节中,我们将介绍设计有效网络安全解决方案的这些关键步骤。

4.1 任务定义

任务定义步骤需要对网络安全任务有深入的了解,从而为设计合适的模型提供详细的任务属性。任务定义主要包括两个关键步骤:(1)确定网络安全任务是否可以通过图挖掘技术有效地建模。直观地说,如果现实世界的网络实体或事件呈现出明确的图结构(例如,僵尸网络[90,237],交易[27,198])或隐式关系(例如,由同一终端主机查询的两个域往往高度相关[94]),那么相关任务可以通过图挖掘技术建模。 (2)将网络安全任务转化为高级图相关任务(例如,僵尸网络检测可以抽象为节点级分类任务 [118])。请注意,此过程还为图的构建提供了指导。例如,在节点级网络流量分类任务中,节点表示流量百分比 [239];而如果将任务建模为图级,则节点可以表示数据包,整个图表示流量百分比 [153]。

4.2 数据收集

网络安全数据可以从各种来源收集。在网络基础设施安全领域,流量和日志记录是两个重要的数据源,因为它们反映了实时网络状况或系统行为。此外,被动 DNS 数据库(或其他数据源,例如 WHOIS 记录)存储 IP 和域之间的映射关系。可以利用各种工具进行流量监控和收集,例如 Wireshark 和 Netflow。应用安全领域包括更多的数据源,例如社交媒体、黑客论坛、源代码等。从多个数据源获取这些原始数据后,许多数据需要预先处理以供进一步利用。例如,原始流量数据通常以 pcap 格式存储,需要通过网络流量分析工具(例如 tshark、Tstat)进一步处理;在恶意软件检测中,如果 PE 文件被压缩,则需要先使用专门的工具(例如反汇编程序和内存转储工具)对其进行解包。除了手动收集的数据集外,还有许多基于图的公共网络安全数据集,我们在第 6 节中对它们进行了总结。

4.3 图的构造

 基于任务定义和收集到的数据集,可以构建图来明确地模拟数据的内部关系。通常,任务定义给出了构建图的高级指导方针,而收集到的数据集决定了节点集和属性集。边捕获节点之间的关系,应根据先验知识和特定任务谨慎添加。 就图的性质而言,我们可以将构建的图分为同构图和异构图。 同构图的构建主要基于数据的显式关系或手动设计的指标。例如,节点表示主机、边表示网络流量的图可以模拟简单的网络通信行为 [187, 190]。[142] 中的传感器图是 KNN 图,基于成对节点相似性的度量构建。异构图的构建更为复杂。例如,恶意域检测任务需要多个实体(例如域、IP、帐户、CNAME 记录)和关系(例如映射、查询、注册)[164]。在这些情况下,可以先设计网络模式,然后构建具体的图实例。 从应用场景来看,某些图可能只适合特定的网络安全任务。许多先前的工作已经为不同的应用设计了有效的图类型。为了避免从头开始,我们在表 2 中总结了典型的图类型、相应的节点和边集以及应用场景。我们还给出了基于网络实体(例如文件和新闻)的粗粒度图类型分类法。例如,文件依赖图和文件分布图都归类为文件关系图。请注意,[208] 中提出的代码属性图 (CPG) 是融合 AST、CFG 和 PDG 的联合数据结构,因此它结合了它们的节点和边类型。

4.4 模型设计

模型设计旨在通过深入分析任务属性和构建的图来设计优化模型。其核心思想是找到犯罪线索并选择适当的图挖掘技术来过滤它们。传统方法手动构建判别图特征并将其输入到ML分类器中。然而,在某些情况下,可疑模式很难发现,特别是随着对抗性和更复杂的犯罪行为的出现。因此,已经提出了图嵌入技术来自动挖掘复杂的可疑模式。我们可以根据任务属性设计这些模型。例如,为了捕获僵尸网络的结构模式,可以使用基于随机游走的图嵌入方法[118];对于无人机(UAV)动态图的时间模式,STGNN被认为更有效[27]。值得注意的是,传统的统计分析仍然是激发高级图模型设计的基本手段[107]。

表2. 典型应用特定图表及其应用场景。

4.5 模型评估

基于图的网络安全解决方案的有效性由模型评估程序来衡量。 这些模型大多是基于分类的。例如,恶意软件检测是一个二分类任务,用于将程序分类为恶意或非恶意,或是一个多类分类任务,用于识别恶意软件家族。这些基于分类的模型可以通过基于分类的指标(例如,准确性、Micro-F1)进行评估。特别是,IDS 更加注重减少错误警报,因此误报率 (FPR) 是评估 IDS 有效性的重要指标。除了基于分类的模型外,还有一些基于聚类的无监督模型,例如无监督恶意软件家族聚类 [39],可以通过基于聚类的指标(例如,调整后的相互信息 (AMI))进行评估。代码相似性搜索是恶意软件检测的基本程序,其评估类似于推荐系统,因此可以使用 Rank-n 和平均倒数排名 (MRR) 作为评估指标。此外,基于图的模型的实际部署需要很高的时间效率,这通常通过运行时间来衡量 [38, 207]。可视化也是一种重要的模型评估手段,尤其是当任务无法通过传统指标进行评估时,例如分析混合网络流量中的不同应用程序组件 [81]。

表 3. 交易安全中使用的典型图形方法。

5 使用图挖掘的网络安​​全解决方案

图挖掘技术已广泛应用于网络安全任务。在本节中,我们将根据 2.1 节中的分类法总结和阐述这些基于图的网络安全解决方案。

5.1 交易安全

在交易安全保护策略中,基于图的方法可以同时对交易的行为和属性进行建模,近年来受到越来越多的关注。表3列出了典型论文和对应的图方法。

5.1.1 金融欺诈。传统方法大多依赖于先验知识或个人特征,而忽略了用户之间的丰富互动。金融欺诈者的普遍特征是社区结构,即包含欺诈者的网络通常是密集连接的,这促使图挖掘技术应用于金融系统(例如支付宝2)[106,107,111]。[111]提取高风险密集子图,并基于同质图嵌入获得风险评分以进行进一步筛选。[107]观察到的聚集和爆发现象表明,短时间内大量欺诈者登录同一设备往往具有高风险。它通过时间活动统计初始化用户节点向量,并利用 GNN 聚合本地邻居。然而,正常帐户也可能登录同一设备,因此上述基于 GNN 的模型会产生较高的误报率。[106]通过引入自适应接受路径解决了这个问题。除了这些通用的解决方案之外,图挖掘技术最近也已成功应用于金融风险管理的许多具体任务。我们在下面介绍这些任务和相应的解决方案。

洗钱。洗钱是一种金融行业行为,使非法收入合法化。据报道,自 2006 年以来,墨西哥贩毒集团杀害了 150,000 多人;每年有 700,000 人被贩卖到人口贩卖行业[198]。这些非法活动都依赖于复杂的洗钱行动。政府和金融机构在反洗钱 (AML) 方面投入了大量资源,但收效甚微。传统的交易监控系统 (TMS) 主要依赖于基于规则的阈值协议和分析师的审查,可扩展性较低,误报率较高。图模型最近出现在 AML 中,因为它可以在统一的图中捕获现金流结构和账户属性。人们可以使用账户[30, 198]或交易[199]作为节点,边表示现金流,以模拟可疑的洗钱行为。 [30] 强调了社交网络指标(例如中心性得分)对于识别罪犯的重要性。可扩展性和效率是设计基于图的 AML 模型的两个关键因素,因为交易和账户在动态增长 [98, 198]。 因此,现有研究利用可扩展和动态的 GNN(例如 fastGNN [198]、EvolveGCN [199])来执行 AML。此外,尽管有几个手动构建的数据集 [198, 199],但用于 AML 社区研究的公共数据集仍然很少。

套现。套现是另一种主要的金融欺诈行为,其目的是通过非法手段获取利润,例如购买预付卡并转售 [69]。传统的套现检测主要基于单个用户的统计特征,但很少充分利用用户丰富的交互关系 [236]。从统计上看,套现欺诈者的行为往往与基于元路径的邻居保持一致。这一观察促使研究人员构建一个以账户、商家和设备为节点的属性异构信息网络 (AHIN),并提出多个元路径来模拟登录和资金转移关系 [69]。该异构嵌入模型的架构如图 5 所示。请注意,类似的架构也用于许多“金融欺诈检测任务 [70, 180, 240]。此外,考虑到可用标记数据的稀缺性,[76] 反过来在单步交易图中检测密集子图。它通过一类指标从四个角度捕获可疑信号:时间、资本、周期性和拓扑性。

贷款违约。如今,蚂蚁金服3的蚂蚁花付等在线信用支付服务盛行,在方便人们交易的同时,也滋生了新的贷款违约风险。违约检测作为在线信用风险管理的核心组成部分,近年来备受关注。它旨在预测用户未来是否会违约。传统方法提取与个人用户相关的特征,例如用户资料、交易历史和社会关系。然而,违约的相关行为非常复杂,仅靠个人用户特征无法完全建模。一般来说,违约者有以下几个特征需要考虑:(1)内在属性,即上述与个人用户相关的特征。(2)与其他实体的互动。违约者经常表现出与外界的一些可疑的互动模式。例如,违约者可能与他人有频繁的资金交易[70]。(3)对抗行为。一些违约者可能会故意构建复杂的行为,例如进行较长的资金转移路径[240]。为了捕捉这些特征,还可以使用 AHIN 对这些实体及其之间的复杂交互进行建模。 基于 AHIN,应用了典型的异构图嵌入[70, 180, 240]。[240] 设计了多个元路径来捕获实体之间的语义相关性,并应用多视图信息融合技术进行聚合不同类型的邻居[70,180]。

保险欺诈。保险欺诈是指投保人故意隐瞒实际情况,诱导保险公司接受保险,然后骗取保险金的行为。保险欺诈不仅降低了保险公司的利润,而且影响了社会和经济效益。据报道,2007年加拿大汽车保险欺诈导致损失约5.42亿加元[194]。最近,图挖掘技术已被证明是打击这种欺诈行为的有用工具。以阿里巴巴的退货运费保险欺诈为例,[102]发现设备共享图可以有效区分正常账户和欺诈账户,并使用GeniePath模型[106]与图嵌入和机器学习方法相比取得了最佳性能。现实世界中的应用表明,每月可以节省一万多美元。

除了上述金融欺诈中利用图挖掘的典型任务外,还有许多其他我们没有列出的任务(例如,在线拍卖[123]和零售控股[176])。如今,基于图的异常检测已成为金融欺诈检测的典型方法。然而,大多数方法严重依赖领域知识[128],导致适应性和泛化性能不佳。建议研究人员努力设计基于图的解决方案,而无需任何领域或专家知识,例如以无监督的方式自动识别异常节点/子图

图 6. 使用黑客论坛进行地下市场分析的典型工作流程。首先,根据用户个人资料及其在黑客论坛中发布的内容构建 AHIN(黑客论坛图)。然后提出多个元路径或元图来模拟黑客论坛实体之间的语义相关性。接下来,利用图嵌入方法(例如基于元路径的随机游走、邻居聚合和多视图融合)获取特征向量。 最后,使用特征向量执行三个关键任务,即关键参与者检测、产品识别和帐户链接。

5.1.2 地下市场。为了打击犯罪分子,安全分析师需要不断观察地下市场活动的最新状态和变化 [235],这既费时又费力。当然,黑客论坛中的各种实体(例如供应商和买家)及其交互(例如开发或销售产品)可以建模为异构图。因此,最近,研究人员开始利用 AHIN 来模拟黑客论坛中的用户活动(例如评论和帖子),并提出各种属性和异构嵌入方法来解决地下市场分析中的关键任务 [41, 233, 234]。这些方法的典型工作流程如图 6 所示。

从图 6 可以看出,地下市场分析有三个关键任务。第一个任务是关键参与者检测,这是在 [235] 中首次提出的。关键参与者是指在价值链中发挥重要作用的一组用户(例如,有能力发起网络犯罪)。因此,识别黑客论坛中的关键参与者非常重要。为了实现这一目标,仅分析用户发布的帖子是不够的,用户之间的互动更为重要。IDetective [234] 是一个自动识别黑客论坛中关键参与者的系统。它构建了一个 AHIN 来模拟黑客论坛中各个实体之间的复杂交互。基于 AHIN,应用元路径引导邻居聚合和多视图融合来获得最终的用户表示。 规范贸易活动的另一项重要任务是将不同的账户链接到同一个人[233]。 犯罪分子通常在地下市场拥有多个账户,自动链接这些账户对于追踪犯罪分子是必要的。毒品贩子的账户链接任务首先由[233]解决。它将账户链接建模为模拟监督链接预测任务(即两个账户之间是否存在链接),并使用基于元路径的 AHIN 模型来获取两个账户的相似性。识别地下市场私人合同中非法交易的产品也是一项重要且具有挑战性的任务[41]。尽管黑客论坛中的大多数交易都是私密的,但交易中的卖方和买方的信息是可以访问的。基于这一观察,人们可以利用用户个人资料及其在黑客论坛上的帖子来识别交易的产品[41]。

除了将黑客论坛中的用户活动建模为异构图之外,还构建了一些其他类型的图来执行地下市场分析。[143]基于黑客论坛构建了一个动态词共现图,以主动分析新出现的帖子。由于黑客论坛也是网络威胁情报 (CTI) 的重要来源,通过监控词嵌入的演变,专家可以根据流行度和功能性来精确定位新出现的威胁。[36]在交易图中明确地模拟了买家和卖家之间的毒品交易。结构统计特征(例如密度和中心性)和社区检测分析用于挖掘犯罪联盟和合作的结构。[51]构建了一个主机 KNN 图,其边权重是主机嵌入之间的余弦相似度。提出了一种基于图的聚类方法来“查找可疑的协作子图”。

目前,黑客论坛是基于图形的地下市场分析的主要数据来源。另一个重要来源是网络流量。然而,由于暗网既没有托管生产服务也没有托管客户端主机[51],用于分析流量的信息有限。一些研究已经展示了他们使用图形挖掘技术分析暗网流量的努力[51]。此外,图形挖掘技术主要用于模拟地下市场的“金融活动”,而其他一些更糟糕的活动(如谋杀和恐怖主义)仍未得到很好的解决。图形挖掘技术有望挖掘这些无法追踪的活动的不显眼的线索。

5.1.3 总结。大量研究证明,基于图的方法尤其是 AHIN 在解决交易安全任务方面具有巨大潜力。考虑到交易的性质,设计基于图的解决方案时应关注三个方面:(1)丰富的属性。交易中实体和关系的丰富属性对于识别犯罪分子非常重要 [240]。如何选择有用的属性并将其合并到图模型中是一项具有挑战性的任务。(2)可扩展性。与交易相关的图大小很大,并且随着时间的推移而增加。因此,关注的重点不仅是模型的有效性,还有内存高效的图表示 [198]。(3)鲁棒性。针对欺诈者新出现的对抗行为,迫切需要基于图的鲁棒交易安全解决方案。

5.2 认知安全

传统的认知安全保护方法主要依赖于内容分析(例如语言特征提取)和参与者特征(例如身份和评论时间)[65, 244]。然而,它们忽略了参与者与内容之间的丰富交互。近年来,基于图的方法来捕获这些交互,并被证明在识别恶意信息方面更有效、更稳健[95, 120]。 在本节中,我们介绍了基于图的认知安全任务解决方案,主要包括四类,即网络垃圾邮件、评论垃圾邮件、虚假新闻和虚假账户。此外,我们还在表 4 中总结了这些方法的主要特点。

表 4. 认知安全中使用的典型图形方法。

5.2.1 Web 垃圾邮件。现有的 Web 垃圾邮件检测方法可分为两类:基于内容和基于链接。基于内容的特征包括网站的主机和域、网页源代码等。 然而,有时网站上的内容很少,因此除了一些恶意 URL 之外,恶意页面与良性页面几乎相同。基于链接的方法通过分析 Web 链接结构来识别 Web 垃圾邮件,从而成为基于内容的方法不可或缺的补充。具体而言,Web 链接图 [155] 和 Web 重定向图 [235] 是两种最常用的图,用于对 Web 垃圾邮件的结构特征进行建模。

图 7. 使用重定向链识别网络垃圾的典型工作流程。恶意重定向链从受感染的网站开始,以网络垃圾结束。基于重定向图,构建重定向特征和良性/恶意重定向模板,以形成网络垃圾检测的特征向量。

低质量网页。对于排名高、质量低的网页,有观察发现,基于 PageRank 的搜索引擎排名算法会凸显网站的等级,使得不法分子添加大量指向目标网站的超链接来提高排名。基于这一观察,研究人员构建了网页链接图来分析网页垃圾的结构模式。 [8]从网页链接图中提取了一些结构统计特征,如入/出度、PageRank值等,并进行了节点级的网页分类。[144]进一步融入了基于内容的特征。[20]发现链接的网站倾向于属于同一类(恶意的或良性的),因此应用聚类算法来细化分类结果。[1]通过引入属性统计特征(如加权链接)丰富了网页链接图,并通过添加图调控项来表征网站之间的相似性。考虑到不同的链接条件,[185]进一步根据链接条件自适应地调整链接的权重。结果表明,该方法有效地降低了垃圾页面的排名。

驱动式下载攻击。Web 链接图也用于检测执行驱动式下载攻击的 Web 垃圾邮件。[160] 分析了 Web 垃圾邮件的拓扑结构和频率,发现 Web 垃圾邮件具有不同类型的邻居结构(例如,多个着陆站点链接到单个分发站点)。[171] 从 Web 链接图中提取结构特征并使用它们进行分类。为了执行驱动式下载攻击,重定向是犯罪分子常用的一种技术,因为多次重定向会使检测更加困难。与基于内容的特征相比,重定向链更强大,因为它们不易混淆 [162]。然而,区分良性 Web 和垃圾邮件之间的重定向是一件很有挑战性的事情。[162] 首先发现垃圾邮件的 Web 重定向图在属性和结构上与良性 Web 不同。为了捕捉这种差异,构建了一些判别性统计特征(例如,最后一页上的国家多样性和自循环[162])或重定向链模板[154]。图7描述了这些方法的典型工作流程。它从Web重定向图中提取重定向链并构建良性和恶意重定向链模板。未知重定向链和现有模板之间的相似性向量被输入到分类器中以检测Web垃圾邮件。

尽管在网络垃圾检测方面取得了巨大成功,但搜索引擎行业仍在努力应对这一威胁。基于链接的方法被广泛应用,并被证明是网络垃圾检测不可或缺的手段,尤其是在某些情况下无法获取网页内容时。然而,这些方法只能捕获一些相对简单的结构,而这些结构很容易被更聪明的犯罪分子规避。未来应该探索恶意网站更复杂的结构和语义特征,例如元路径中网站之间的语义关系。

图 8. 使用图挖掘技术检测集体评论垃圾评论的典型工作流程。从评论图中推导出共同评论图,以归属评论者为节点,以集体度为边权重。基于共同评论图,使用各种基于图的方法(例如社区检测)提取具有高集体度的候选垃圾评论组。每个候选组将被分配一个垃圾评论分数,以执行组排名和垃圾评论组识别。

5.2.2 垃圾评论。检测垃圾评论/评论者的尝试大致可分为两类:基于内容的和基于行为的。基于内容的方法直接在欺诈者留下的评论中找到线索。早期的垃圾评论具有重复性特征,因此许多研究侧重于内容相似性挖掘方法。为了打击使用更复杂方法生成评论的垃圾评论者,许多方法构建了手动制作内容特征(例如,评论者的情绪)作为输入,然后使用机器学习算法进行文本分类。然而,这些基于内容的方法在评论的对抗性行为下性能会下降。例如,垃圾评论通过替换一些字符将自己伪装成良性评论[79]。基于行为的方法模拟评论者、评论和项目之间的交互,不需要检查内容,因此更具鲁棒性。当前基于行为的方法主要侧重于检测两种类型的垃圾评论,即个人垃圾评论和集体垃圾评论。

个别评论垃圾信息。自然地,在线评论交互可以抽象为以评论、评论者和项目为节点的异构评论图 [181],这是个别评论垃圾信息检测的基础。 基于评论图提出了各种归因统计特征。[181, 182] 首先给出了评论者的可信度、评论的诚实度和项目的可靠性的计算方法。[3, 146] 进一步使用信念传播和聚类方法获得这些实体的异常分数。[135] 同时考虑内容和行为特征,提出了一个统一的垃圾评论检测框架。他们还结合了评论的元数据,例如评论者的身份、发布评论的时间和评论的评分。[121] 提出了一些新的内容和结构特征,并使用多迭代垃圾邮件检测算法来提高准确性并降低复杂度。为了明确地模拟评论\评论者之间的关系并捕获垃圾邮件活动的更深层次的语义信息,[95]提出了一种基于GNN的反垃圾邮件(GAS)模型,包括异构评论图和同构评论图,具有高度的可扩展性和鲁棒性。

集体评论垃圾邮件。描述评论垃圾邮件发送者群体的关键因素是评论时间间隔和评分偏差 [195]。因此,大多数现有工作都构建了共同评论图,其节点表示评论者,边表示集体行为(例如,在短时间窗口内对项目有相似的评分)。基于共同评论图,评论垃圾邮件组检测的典型工作流程是“首先将图切割成子图(候选垃圾邮件组),然后进行排名和识别垃圾邮件组,如图 8 所示。具体而言,这些方法可以分为(1)结构统计特征。 [215]“首先提取不符合社交网络常见结构模式的可疑子图,然后进行层次聚类,检测垃圾邮件组及其嵌套层次结构。(2)归因统计特征。共同评论图可以通过节点或边属性进一步丰富。例如,将边权重设置为评论的常见产品数量[196];在设计垃圾邮件指标时考虑了评论时间间隔和评分偏差[195,228]。(3)Str+Sha+Hom图嵌入。它主要使用基于随机游走的方法(例如node2vec)来学习评论者的潜在结构模式[32,83,133]。学习到的嵌入进一步用于执行聚类以挖掘垃圾邮件发送者群体。(4)Att+Dee+Het图嵌入。评论者节点的特征向量由该评论者的评论初始化[151]。它提出了一个GraphRNN框架来捕获评论者的长程依赖关系。

在当前的垃圾评论检测系统中,整合评论的内容和行为特征是最有效和最强大的。虽然图挖掘技术已成功应用于行为建模,但很少有研究将评论内容建模为图。例如,一些字符变体可以建模为字符变体图 [80],这可以处理垃圾评论发送者的伪装。此外,内容可以用不同的语言呈现。图形结构可以链接不同语言的相同含义,这可能是多语言垃圾评论检测的有力工具。

5.2.3 假新闻。传统的假新闻检测方法包括人工事实核查和基于证据的方法,需要外部事实核查人员或知识数据库的帮助。然后使用机器学习算法根据基于内容的特征自动检测假新闻,但忽略了假新闻的传播模式。早期对假新闻传播的研究基于社交网络分析[28,175]。它们侧重于定量分析社交网络中新闻传播的性质和特征。目前最先进的模型大多基于用户新闻交互图,因为它们捕获了用户与新闻之间的交互特征,这是当今假新闻传播过程的重要组成部分。根据上述不同的关注方面,我们将现有的基于图的假新闻检测方法分为三类,分别侧重于用户关系、新闻关系和用户新闻交互的分析。

用户关系分析。用户之间的潜在社会关系对于假新闻检测很有用。直观地说,假新闻可能会在社区结构中迅速传播。因此,[202] 在给定的社交图中基于社区检测算法学习了用户节点的结构嵌入。[110] 进一步考虑了现实世界中的用户隐私。它认为推特用户的关注关系等社交关系图属于用户隐私,不能被模型利用。因此,它构建了一个完全连接的用户图,其中边权重表示用户特征的相似性。使用 GNN 训练节点嵌入以捕获用户之间的潜在关系。这些方法仅使用图来捕获用户关系,但使用顺序模型来捕获用户和新闻之间的行为。

新闻关系分析。新闻关系分析包括两个方面,内部关系分析和相互关系分析。内部关系分析捕捉的是新闻内部的内容依赖关系,而相互关系分析则旨在捕捉不同新闻内容之间的相似性。对于内部关系,[193]将新闻的多模态信息整合到一个统一的图中,包括单词、新闻图片中的对象以及来自外部知识库的实体概念。他们使用逐点互信息 (PMI) 作为边权重来建模单词之间的长距离依赖关系。然后应用异构嵌入模型来获得图形表示以执行假新闻检测。对于相互关系,[5​​6] 提出了一种归因统计方法。它基于 L2 度量构建新闻 KNN 图,然后进行信念传播以获得未知新闻的标签。与用户关系分析类似,新闻关系分析也未能考虑用户与新闻之间的丰富互动。

用户-新闻交互分析。当前的先进方法不是独立地对用户关系和新闻关系进行建模,而是考虑用户和新闻之间的交互。直观地看,用户对新闻的行为(例如评论和转发)可以反映用户和新闻的可信度。[82] 收集了有关一条新闻的推文并构建了推文图。采用可信度传播方法来获得新闻的可信度。其他方法通过捕捉新闻传播模式来建模用户和新闻之间的行为 [10, 189, 243]。他们预先定义或自动学习假新闻传播模式[10,189]。最近,为了明确地模拟用户和新闻之间的互动,构建了用户-新闻互动图。[156]探讨了发布者-新闻、用户-新闻和用户-用户的互动。它提出了一个三重关系的假新闻检测框架。一些工作进一步捕捉到了互动之间更微妙的层次关系[155,223]。[223]使用基于注意的异构嵌入来捕捉源新闻和转发之间的局部相关性,以及新闻和相关用户之间的全局相关性。[155]分别构建了微观评论图和宏观新闻传播图。[120]发现用户的参与时间性对于假新闻来说是独特的,因此在用户-新闻交互图中添加了立场节点,并使用序列模型来捕捉这一特征。 尽管基于图的假新闻检测解决方案非常广泛,但也存在以下问题。 (1)可解释性。可解释性在假新闻检测中非常重要,因为它可以增强公众的信任[110]。希望通过图挖掘技术挖掘出更多识别假新闻的因果因素。(2)无监督。新闻的真实性高度依赖于时间,因此假新闻检测数据集主要依赖于人工注释,这既费时又费钱。近年来出现了无监督的假新闻检测方法,但准确率相对较低[46,211]。

5.2.4 虚假账户。虚假账户检测的研究方向有两个:账户属性分析和社会网络分析。前者侧重于收集虚假账户的属性特征,如账户资料和发布的信息。然而,当属性信息不可用时,这些方法是不可行的[100]。社会网络分析将各种社交实体建模为一个图,其中节点表示实体(例如,账户和帖子),边表示用户行为(例如,友谊和转发),侧重于捕捉虚假账户的异常结构模式。我们介绍这些社会网络分析方法如下。

早期,虚假账户具有一些简单的结构特征。许多归因统计特征被提出来结合这些结构特征。[18]发现,在社交网络中,虚假账户和正常账户之间的联系通常很稀疏。因此,从正常账户开始的随机游走序列最有可能落在正常账户上,而不是虚假账户上,反之亦然。他们提出了一种信任传播方法来对这种概率进行建模并对其进行排序以获得可疑账户。锁步行为也是虚假账户的典型特征,其中一组虚假账户在大约同一时间链接到另一个账户(例如,页面点赞的突然增加)[9]。[9]提出了一种迭代聚类方法来识别虚假账户组。[100]发现虚假账户在范围和规模上都呈现出适度的度分布。他们利用局部谱图扩散在种子节点附近进行聚类,实现大型社交网络中的可扩展搜索。 [93] 分析了 Twitter 社交网络的结构和内容特征(例如网络密度、用户资料等)。根据这些特征,识别出三类细粒度的虚假账户。

为了逃避检测,聪明的欺诈者可能会采取伪装行为。例如,他们添加热门商品或著名明星的链接,使其看起来与正常账户相似 [66]。为了应对这种对抗现象,一些研究侧重于虚假账户的早期检测,即在这些账户刚出现(例如,在注册时)且尚未执行对抗操作时检测出这些账户 [14, 103, 224]。[14] 发现了新的虚假账户向其他账户发送请求时的一些分布特征。新账户是假的概率是通过 (1) 请求其他账户的选择和 (2) 目标的响应获得的。[103, 224] 专注于分析虚假账户注册时的特征。他们提取了同步特征(例如,虚假账户通常具有相同的 IP)和异常特征(例如,地理位置不一致)。基于这些特征,构建账户相似性图,并将密集子图识别为虚假账户。其他工作侧重于鲁棒的虚假账户检测 [12, 66, 145, 214]。早期旨在寻找密集子图的方法可能会忽略对抗性的小规模群体。为了解决这个问题,[66] 提出了一些鲁棒指标(例如,边密度),[145, 147] 转而检测重建度较差的节点。[12] 放宽了 [123] 中提出的稀疏连接假设。它使用账户级特征来获得边权重,然后执行随机游走,优先选择权重较高的路径。[97, 214] 中使用了归因异构图嵌入,它包含更多的节点类型(例如,评论和主题标签)和边类型(例如,帖子和回复),使得伪装变得困难。 [214]进一步提出了一种基于强化学习的邻居搜索机制来感知新的虚假账户的伪装。

基于社交网络分析的虚假账户检测目前已经得到了很好的研究。然而,只有少数专注于检测虚假账户的研究才刚刚出现[14,103,224]。由于检测难度较大,且随着时间的推移,损害越来越严重,因此有必要尽早发现或预防,这也是本研究关注的方向。然而,新账户的信息有限,因此可以利用基于图挖掘技术的跨媒体信息。此外,目前的图挖掘技术主要侧重于检测流行社交媒体(如Twitter和Facebook)上的虚假账户。随着智慧城市的发展,虚假账户已经侵蚀了智能交通、物联网和其他新兴领域,可能造成巨大损失[61]。图挖掘技术有望在这些更复杂的环境中检测虚假账户。

5.2.5 总结。基于图的认知安全解决方案提供了一个统一的框架,该框架考虑了包括语言信息和传播模式、用户特征和行为以及新闻和社交网络背景等外部知识在内的综合特征。随着认知攻击手段越来越智能[213](例如伪装和社会工程攻击),认知安全应借助认知科学、心理学和神经科学等跨学科知识来增强[57]。在这方面,基于图的认知安全解决方案仍处于早期阶段。

5.3 网络安全

网络流量分析已广泛用于解决网络安全问题 [114, 230]。通常,一个流量包可以用一个五元组 {源 IP、目标 IP、源端口、目标端口、协议} 表示,一个流量由多个具有相同五元组的数据包组成。众所周知的深度包检测 (DPI) 技术通过检查数据包的有效载荷来分析流量。然而,基于有效载荷的方法不能用于加密流量。为了克服这个限制,利用报头特征(例如,IP、数据包长度、协议)和统计特征(例如,平均持续时间、最大到达间隔时间)来提取恶意特征。然而,以上两种方法都忽略了流量的图结构特征。自然地,网络流量组件(例如流量、域、IP 等)组成企业网络,或者整个互联网可以抽象为网络流量图 (NTG)。与传统方法相比,基于 NTG 的图挖掘方法可以避免检查有效载荷并促进网络安全分析 [33]。在本节中,我们明确说明了三个主要网络安全任务的基于图的解决方案,即僵尸网络检测、恶意域检测和入侵检测。 这些解决方案的特点总结在表 5 中。

5.3.1 僵尸网络。早期的僵尸网络是集中式的,主要目标是检测集中式 C&C 服务器。因此,许多研究基于流量分析 C&C 服务器活动 [55, 141, 161]。后来出现了基于 P2P 的去中心化僵尸网络来规避检测。此外,僵尸网络开始使用更灵活的 C&C 通道或模仿正常主机的通信模式 [187, 190]。因此,传统的基于流量的方法不足以表征僵尸网络。当然,集中式僵尸网络呈现出相对简单的图形结构,而去中心化僵尸网络则更为复杂。这一观察促使研究人员研究僵尸网络的流量拓扑 [118, 187, 190, 237]。

僵尸网络拓扑分析。许多基于结构的统计方法都是基于对僵尸网络拓扑特征的分析而提出的。由于机器人需要与许多节点进行通信,一个明显的拓扑特征是僵尸网络通常呈现出密集的内部连接结构 [29, 150, 186, 187]。入/出度是描述这一特征最直接的统计特征 [29, 150, 186]。[190] 认为正常节点的度遵循幂律分布,并使用局部自我网络分布来识别机器人。[187] 使用基于模块度的社区检测算法来“找到密集的连接结构”,并将整个图切割成僵尸网络节点和正常节点。[186] 更进一步。它“首先”识别出关键节点(一组高度交互的节点),然后提出了一种基于模块度的改进社区检测算法。直觉是机器人可能与关键节点有密集的连接,与正常节点有稀疏的连接。僵尸网络的另一个拓扑特征是其快速混合特性 [118],即僵尸网络的图可以在相对较短的时间内达到平稳分布。因此,[118] 在主机图中进行均匀随机游走,然后使用获得的节点概率与平稳分布之间的偏差来区分机器人。

除了可以观察到的结构信息(如进出度),无监督异常检测算法还可以捕捉到僵尸网络与正常结构之间的一些隐含的结构差异。[186,187]通过监测图的度分布来检测异常图。[29]使用自组织映射(SOM)算法过滤大型正常簇,以减少僵尸网络的搜索空间。[150]收集了更多的结构统计特征。它使用7个特征与一类SVM和其他异常检测算法进行异常检测。[90]使用图编辑距离来模拟流量结构差异,平均距离较大的图将被归类为僵尸网络。与以前的方法不同,他们在图级别检测僵尸网络,因为图被定义为整个僵尸网络的一小部分(例如,流量会话)。

与上述仅利用结构特征的方法相比,将流量特征结合到僵尸网络拓扑分析中将更有效、更稳健。将这些特征结合起来的方法有两种。一方面,在网络流量图中,节点通常表示具有丰富流量属性(例如 IP、端口和持续时间)的主机,因此可以同时结合流量特征和结构特征。另一方面,我们可以分别训练基于流量的模型和基于结构的模型,然后将它们整合起来做出最终决策。在第一种方法中,基于属性的统计模型 [90, 150] 从主机图中提取了多个基于流量和结构的特征,并将它们一起输入到聚类/分类模块中。在 [237] 中,首先设计了多个元路径和元图来捕捉主机之间的相似性。然后应用经典的同质嵌入 [86] 来获得最终节点表示以执行分类。至于第二种方法,即集成方法,常用的方法是分别对基于流量和基于结构的特征进行建模。[190] 发现机器人的流量序列具有相对稳定的长度,而正常的流量在传递过程中经常发生变异。因此,在“过滤机器人流量”时添加了基于稳定性的分析。提出的模型 BotMark 以集成的方式分析流量和结构特征。大量实验证明,该模型可以大大降低假阳性率。

目前基于图的僵尸网络检测解决方案主要基于统计特征。随着僵尸网络的复杂性不断增加(例如加密通信和自毁机制),统计特征难以构建。因此,预计更多的深度嵌入方法将被应用。同时,更多具有新类型的僵尸网络正在出现,而大多数现有方法仅适用于特定的已知类型。未来应进一步探索零日僵尸网络检测和可适应的基于图的模型。

5.3.2 恶意域名。黑名单是过滤恶意域名的一种基本且有效的方法。然而,犯罪分子使用域名生成算法(DGA)生成大量短时域名,这些域名很难被黑名单全部拦截。更糟糕的是,随着域名流转技术的发展以及基于 DNS 的 FastFlux 工具 [94] 的动态变化 IP 地址,黑名单机制远远不够。研究人员希望使用基于学习的方法自动检测恶意域名,这些方法可分为两类:基于内容和基于流量。基于内容的方法提取域名的字符特征,而基于流量的方法从 DNS 流量中提取静态和动态流量特征,例如生存时间 (TTL) 值和反向 DNS 查询结果 [11]。这些方法虽然有效,但容易被高级攻击规避。原因是现有方法仅考虑单个域的局部特征,而忽略了域之间的关系,从而使模型不够健壮。基于图的方法捕获域之间的全局关联,并挖掘域与其他网络组件之间的深层语义特征。域关联挖掘的典型工作流程如图 9 所示,下面介绍挖掘这些关联的详细解决方案。

域关联挖掘。域关联挖掘背后的见解是恶意域往往具有相似的行为。因此,主要挑战在于两个方面。(1)如何对域的关联进行建模。(2)如何使用这些关联来检测恶意域。要对域的关联进行建模,一个简单的想法是共享相同 IP 地址的域可能相似。这个简单的假设促使研究人员构建域解析图来捕获 IP 和域之间的映射关系 [64, 84, 174]。[117] 认为这种假设并不总是成立,两个域只有共享至少一个专用 IP,或共享来自不同托管服务提供商的多个公共 IP 时才会相关。[94] 进一步构建了另外两个二分图,即域-主机图和域-时间图。观察结果表明,如果两个域由同一主机查询,它们往往是紧密关联的;许多域表现出很强的时间相关性。为了对域之间的显式关系进行建模,[64, 84, 94, 117] 通过单模投影从域解析图中导出了域相似性图。域之间更复杂的关联由 [164] 中的流量活动图建模。如图 9 所示,构建该图的直觉是:(1) 域特征分布。(2) 受相同犯罪感染的受害者倾向于请求相同的域。(3) 恶意域的资源重用。

图 9. 恶意域检测中域关联挖掘的典型工作流程。数据源包括 LAN 中解析器的 DNS 日志和流量、被动 DNS (pDNS) 以及来自公共服务的 WHOIS 数据集 [164]。构建了两个主要图来执行域关联挖掘:(1)域解析图。它首先执行单模投影以推导出域相似性图,然后使用同质图表示方法执行节点级分类。(2)流量活动图。它使用基于元路径的邻居聚合和多视图融合来获取特征向量。

在构建图来捕获域之间的关联之后,许多图挖掘方法用于检测恶意域。(1)结构统计特征。[117, 174]直接在域解析图上运行信念传播算法并传播标签信息以获得未知域的恶意概率。 [75] 提取了 12 个行为特征,并使用随机森林算法作为分类器。给定一组已知恶意域节点(种子),[84] 使用基于路径的推理,根据这些节点与种子的距离计算未知节点的恶意程度。(2)同质嵌入。[94] 和 [64] 分别在领域相似性图上应用 LINE 和 DeepWalk,以获得更丰富的领域表示。(3)异构嵌入。为了捕获更多的领域语义关联,如图 9 所示,[164] 在构建的流量活动图上设计了多条元路径,聚合了由元路径引导的随机游走采样的邻居,并利用 GraphSAGE 实现归纳学习。[165] 进一步应用注意力机制来融合不同的语义信息。

图挖掘技术已广泛应用于恶意域检测。异构图嵌入被证明是最有效和最强大的方法,因为它们包含了更多的域特征和行为。然而,也有一些问题需要进一步探讨。首先是具有更强加密协议的DNS。现有方法假设所有DNS流量都是可用的,但DNS流量中已经有一些加密协议(例如,DNS over Transport Layer Security(TLS)(RFC 7858))[164]。为加密DNS设计基于图的方法是一项具有挑战性的任务。其次,缺乏基于图的基准数据集。参与收集和发布基准数据集对于推动该领域的发展非常重要。

5.3.3 入侵检测。根据入侵检测系统(IDS)所采用的技术,我们可以将IDS分为基于误用和基于异常的方法。基于误用的方法(也称为基于签名的方法)是基于规则的方法,它使用恶意活动的预定义签名来识别入侵行为,因此无法检测到零日攻击,并且需要手动更新数据库。传统的基于异常的方法可以检测到零日攻击,但误报率很高,因为所有分布外的行为都被归类为恶意行为。基于图的入侵检测方法几乎都是基于异常的,但包括更多的网络和系统的图建模,这有效地降低了误报率。我们根据应用场景对基于图的入侵检测方法进行分类,包括警报关联挖掘、IDS组件相似性挖掘和IDS动态分析。这些方法的典型工作流程如图10所示,下面将详细介绍它们。

告警关联挖掘。IDS每天都会产生大量的告警,但同时也会产生大量的误报。告警关联挖掘旨在通过捕获告警或系统行为之间的关联性来降低告警的误报率,提高告警质量。攻击图展示了网络中所有可被防御者发现的攻击路径,因此成为指导告警关联过程的有力工具。这些方法大多基于统计特征。[231]利用多源日志的频繁模式挖掘来构建攻击模式图。只有可疑攻击与攻击图匹配时才会触发警报。此外,通过引入攻击图,可以还原攻击过程以供进一步分析。攻击图还可以确定警报的优先级或找到新的警报关联性[139]。[122]直接在警报图中对警报之间的关联性进行建模,其中节点表示警报的不同属性,例如路径和过程,边表示共现权重。采用角色动态算法来监视节点的角色分布并确定是否生成警报。

IDS 组件相似性挖掘。IDS 组件相似性挖掘的目标是使用图表来捕获 IDS 组件之间的相似性。内部威胁检测任务就是一个例子。[45] 将内部威胁检测建模为节点分类任务,该任务使用用户设备二分图来表示用户的登录行为。恶意用户的行为模式由用户的 k 阶邻居的结构特征捕获。[13] 中也使用了类似的想法。上述方法仅对结构相似性进行建模,而忽略了属性相似性。在 [142] 中,为了检测网络物理系统中的入侵,构建了传感器的 KNN 图,并且边的权重结合了传感器的结构相似性(几何距离)和属性相似性(测量差异)。它假设测量遵循高斯马尔可夫随机场 (GMRF) 分布,从而将分布外的图识别为异常。

IDS 动态分析。IDS 中按时间顺序排列的事件可以建模为图形。因此,IDS 动态分析可以抽象为动态图异常检测 [4],旨在识别图序列中的异常图或节点。在外部威胁检测方面,基于图的解决方案的基本流程是通过实时监控动态 TAG 来发现异常的结构模式。现有方法主要利用统计特征。[33] 将主机图分解为与会话相对应的子图。通过比较新流量图和历史图之间的结构差异,它们为每个子图提供异常概率分数。[92] 对主机图进行了静态和动态分析。静态特征(例如节点度和度分布的熵)对单个结构的异常进行建模。图编辑距离用于对动态结构异常进行建模。 [77]通过多层自编码器重构邻接矩阵,并根据重构误差识别异常流量。[78]通过引入边缘属性进一步丰富TAG,并通过分析这些属性得到异常分数。

对于内部威胁检测,[129] 构建了一系列设备登录图来模拟用户日常远程登录行为。给定一系列历史设备登录图,[129] 使用角色提取算法获取每个节点的角色向量,然后根据角色向量的重构损失检测异常登录节点。在无人机 (UAV) 网络中,[27] 构建了 UAV 图来模拟 UAV 之间的通信。节点的空间关系通过同质嵌入捕获。它使用 SVM 分类器执行节点级异常检测。除了这些节点级异常检测之外,图级异常检测已在 [85] 中得到解决。为了保持增量图嵌入并实时检测异常图,图的表示基于称为标签结构的子图结构,并采用图编辑距离来检测异常。 虽然这些基于图的入侵检测方法在网络管理和保护方面已经达到了预期的目标,但它们都没有为通用 IDS 提出一个统一的基于图的框架,这在当前复杂多样的网络环境中是必不可少的。此外,检测异常流量是 IDS 的一项重要但具有挑战性的任务,因为高级持续性威胁 (APT) 攻击和垃圾邮件等网络攻击、网络管理员的操作以及短时间内增加的页面浏览量都可能导致异常流量。因此,应该更加重视强大的 IDS。此外,时间和空间复杂度也是基于图的入侵检测系统中需要考虑的重要指标,只有几篇论文对其进行了分析[85,142]。

5.3.4 总结。基于图的流量分析同时考虑了流量属性和结构,与单纯基于流量的方法相比,这种方法更有效、更稳健。僵尸网络拓扑分析和域关联挖掘是基于图的流量分析的两个典型应用。入侵检测使用流量分析和内部组件关系挖掘来确保安全稳定的网络环境。事实上,异常流量很可能是严重网络攻击的信号,例如僵尸网络、端口扫描和网络蠕虫。因此,检测异常流量的能力对于 IDS 来说已变得不可或缺。需要注意的是,流量分类也是网络安全的一项基本任务,其目的是根据不同的标准(例如协议和应用程序)对流量进行分类 [137, 153]。通过更细粒度的流量表示,网络安全中的这些关键任务有望实现更高的性能。此外,目前的网络管理系统大多基于规则指导或统计特征,这在低容错环境中远远不够。需要将具有可扩展性和可解释性的高级图嵌入方法集成到这些系统中。

表6.系统安全中使用的典型图形方法。

5.4 系统安全

传统的系统安全保护方法忽略了对系统组件之间潜在关系的建模,因此可能得到不令人满意的结果。例如,在恶意软件检测中,一个总是与许多木马同时出现的未知文件可能是恶意的木马下载器[40]。传统方法仅利用文件内容,无法识别此类恶意软件。这些限制可以通过基于图的方法改进。因此,在本节中,我们回顾了现有的基于图的恶意软件和漏洞检测,以及广受关注的区块链系统安全解决方案。我们在表6中列出了相关论文和相应的图方法,并将在下文中详细描述它们。

图 11. 恶意软件检测中文件级分析的典型工作流程。首先,通过反汇编工具从 Android 包(APK)中获取 Dalvik 字节码。然后使用 FCG 捕获 Dalvik 字节码中的函数调用关系。 基于 FCG,基于模板的方法首先构建敏感模板(例如敏感节点、路径和子图),然后进行模式匹配以获取特征向量,而基于学习的方法则通过图挖掘算法(例如 Node2vec)直接学习特征向量。特征向量用于恶意软件检测或家族分类。

5.4.1 恶意软件。利用图挖掘技术,可以捕获不同粒度的恶意软件结构信息。基于此划分,我们将现有的基于图的恶意软件分析方法分为四类,包括功能级、文件级、系统级和网络级分析。从功能级来看,可以通过控制流图捕获功能内不同块之间的关系;从文件级来看,代码文件中存在多个函数,可以通过函数调用图捕获函数之间的调用关系;从系统级来看,可以通过文件依赖图捕获代码文件与其他系统组件(例如,进程)之间的关系;从网络级来看,可以通过文件分布图捕获网络中分布式文件的关系。

功能级分析。控制流图 (CFG) 广泛应用于功能级代码分析,如二进制代码相似性搜索任务 [207, 222]。作为恶意软件家族分类的基本过程,代码相似性检测旨在在数据库或其他平台中找到相似的代码。[207] 通过同质嵌入对来自不同平台的代码的 CFG 进行编码,然后使用连体架构来检测它们是否相似。[222] 进一步考虑了块的语义和顺序信息。基于 CFG 的代码表示是一种针对功能级任务的细粒度方法,但忽略了功能之间的关系。此外,提取和分析 CFG 非常耗时 [96]。

文件级分析。文件级恶意软件分析的目标是对文件(例如 Android 应用程序)中的函数(API)调用关系或函数依赖关系进行建模。典型的工作流程如图 11 所示。我们可以看到,文件级恶意软件分析主要有两种方法,即基于模板的方法和基于学习的方法。基于模板的方法首先定义一些恶意软件模式,然后在未知文件和已知模式之间进行模式匹配。这个过程主要利用结构统计特征。[71] 首先为两个 FCG 定义近似图编辑距离以加速恶意软件相似性搜索。[210] 提出了两层 FCG,其中上层对 Android 主要组件(如广播接收器)之间的交互进行建模,下层对上层组件内的 API 调用关系进行建模。为了降低模式匹配的复杂性,它只提取敏感节点的调用模式。受社交网络分析的启发,[37] 使用社区检测方法提取敏感子图,并在这些子图中进行聚类,以获得恶意软件家族的结构模式。基于模板的方法简单方便,但容易被规避,无法检测零日恶意软件。

与基于模板的方法不同,基于学习的方法同时执行模式学习和检测/分类。[38] 提出了一些敏感的结构统计特征,例如敏感主题实例的数量和总敏感距离。[49] 将属性统计特征(函数中的操作)合并到函数调用图中,并使用带有邻域哈希图核的 SVM 进行图分类。它还为每个子图分配了一个可学习的权重以获得可解释的结果。为了在 API 调用之间获得更高级的语义,[68] 进一步提出了多个元路径(例如,API-Package-API)来制定 Android 应用程序的相似性度量。结构嵌入技术(例如 node2vec 和 struct2vec)也用于表示 CFG [39, 125]。CFG 的密集向量表示大大降低了时间复杂度。最近,[16, 96] 使用 GNN 结合 CFG 结构特征以及函数属性(即函数名称),这使得 CFG 的表示更加有效和稳健。

系统级分析。系统级恶意软件分析侧重于对文件关系以及文件与其他系统组件之间的依赖关系进行建模。系统内的组件交互是识别恶意软件的重要行为特征,尤其是对于基于 PC 的恶意软件分析。[220] 明确地对文件关系进行了建模。它构建了一个文件共现图,其中使用 Jaccard 相似性作为边权重。系统组件之间的文件依赖关系通常由文件依赖图建模。基于这种异构图,传统的基于模板的方法用于执行基于 PC 的恶意软件分析 [204]。此外,许多高级图嵌入模型也被广泛应用。为了考虑 API 调用和系统实体之间的语义相关性,[40] 为基于 PC 的恶意软件检测任务设计了多个元路径,然后执行元路径引导的随机游走以获得节点嵌入。在未知恶意软件检测方面,[188] 使用 GNN 和多视图融合技术获取“文件”嵌入。未知“文件”的恶意性由其嵌入与已知良性“文件”之间的相似性决定。此外,[218] 使用 GNN 和 k 阶邻居的表示来更新节点嵌入以进行归纳学习。

网络级分析。上述方法通过检查程序内容(例如函数和包)取得了理想的性能。然而,随着重新打包和混淆技术的发展,基于内容的方法在识别恶意软件方面表现出很大的局限性。因此,研究人员开始研究与内容无关的恶意软件分析方法。在恶意软件分发网络中发现了一些有用的特性。首先,恶意软件通常彼此保持相对较近的距离,例如,网站内文件的恶意性可能相同。其次,网络中良性和恶意文件下载行为之间的模式是可以区分的。这些文件在网络中的分布和下载特性激发了网络级恶意软件分析。现有的方法主要基于统计特征。 为了对分布特征进行建模,在 [170, 178] 中构建了文件-网站二分图,并应用信念传播进行恶意软件检测。 [5, 73] 考虑了更多的网络实体,并构建了图,其中节点包括文件、IP、URL 等。基于此图,[73] 计算了未知文件与恶意软件之间的最短路径长度,[5] 结合了与内容无关的属性特征和网络拓扑信息来进行恶意软件检测。为了对下载特征进行建模,[89] 构建了一个文件下载者图,并总结了用于识别恶意软件的判别特征(例如域名、下载时间、文件行为等)。

恶意软件自计算机出现以来就一直存在。静态分析通过对其固有的图结构进行建模(例如,CFG 和 FCG)得到了广泛的应用。通常,细粒度分析的方法考虑了更丰富的语义信息,但计算成本更高。应仔细考虑基于图的解决方案的复杂性以适应恶意软件家族的快速发展。同时,新兴的各种对抗技术(例如,混淆和加密)可能使恶意软件无法通过静态分析区分,但它们很难逃避动态分析。然而,动态分析更耗时。因此,利用图挖掘技术进行高效的动态分析具有挑战性。

5.4.2 系统漏洞。传统的漏洞检测技术根据是否需要运行系统,分为静态和动态两种方法。静态方法侧重于从源代码中提取词法、控制流、数据流等特征来检测漏洞,但误报率高,准确率低。模糊测试、污点分析等动态分析在真实系统或仿真器中执行代码,通过监视运行状态来检测漏洞,但存在可扩展性问题。目前,静态分析仍然是检测漏洞的主要方法[99]。传统静态分析的主要局限性在于它们仅对代码的顺序特征进行建模[245]。事实上,源代码包含丰富的结构和语义信息,可以通过抽象语法树(AST)和程序依赖图(PDG)等图形来描述。因此,基于顺序的静态分析远远不足以对各种漏洞进行建模。因此,近年来出现了基于图的方法。在本节中,我们总结了现有的基于图的静态漏洞挖掘工作,可分为两个方面:关系间挖掘和关系内挖掘。

漏洞关联挖掘。在评估漏洞威胁时,传统方法对漏洞进行逐个分析,忽略了漏洞之间的关联性。例如,攻击者经常利用多个漏洞从不同的路径进行多步骤攻击。应识别出关键漏洞并赋予其高风险值,以进一步保护所有后续漏洞乃至整个系统。因此,在评估漏洞威胁时,必须考虑漏洞之间的关联性。

漏洞之间的相互关系可以建模为漏洞依赖图 (VDG),该图由攻击图推导而来。[136] 提出了一种基于 VDG 和风险矩阵的漏洞关联危险评估方法。该方法不仅利用了漏洞的特征,而且还考虑了 VDG 中漏洞之间的相关性来评估漏洞的威胁程度。通过聚合漏洞的风险可以评估系统的整体安全性。通用漏洞评分系统 (CVSS) 是衡量漏洞严重程度的标准。然而,CVSS 也无法建模漏洞之间的相互关系。针对该问题,[184] 提出了一种基于 VDG 和 CVSS 的改进系统安全度量算法。它将漏洞的依赖关系聚合到 CVSS 的基本度量算法中,并根据系统被攻击的概率和影响程度获得分数。

漏洞关系内挖掘。程序的表示有三种典型的图,即控制流图 (CFG)、抽象语法树 (AST) 和程序依赖图 (PDG)。关系内挖掘旨在基于这些图对程序的空间结构和其他属性进行建模。早期的方法大多基于属性统计特征。例如,[43] 使用 CFG 表示程序,并将原始特征 (CFG) 转换为高级数值向量以执行可扩展的漏洞搜索。代码属性图 (CPG) [208] 将上述三个图合并为一个统一的图,其中包含有关程序的更丰富信息。[208] 在 CPG 上定义了遍历算法。这种遍历可以表征大部分代码漏洞并发现新的漏洞。[221] 使用 CPG 上的图遍历执行污点分析并基于约束求解方法检测服务器端请求伪造 (SSRF) 漏洞。 CPG 包含丰富的程序结构特征,但忽略了代码顺序特征。许多增强型 CPG 通过添加额外的边来模拟代码的顺序特征和其他信息 [245]。 基于增强型 CPG,先进的方法主要利用异构图嵌入来执行漏洞检测 [245]。

与恶意软件检测类似,系统漏洞检测也基于代码分析,尤其侧重于功能或文件级分析。这两项任务的主要区别在于,由于漏洞检测侧重于检测编程缺陷,因此它更注重代码的语义。因此,除了第 5.4.1 节中提出的一些见解之外,语义保留漏洞检测也是应用图挖掘技术的关键点 [104]。现有的研究已经将一些语义保留图构建到代码分析中,例如 AST 和 CPG [208, 245],并且预计将出现更多相关的图类型和方法(例如,特定语义信息的元路径)。更细粒度的漏洞检测是另一个研究趋势。从应用程序级别、文件级别到功能级别,希望图挖掘技术能够更准确地定位漏洞,例如段级别。

5.4.3 区块链安全。为了应对区块链安全风险,区块链社区和研究人员做出了许多努力。传统的网络攻击是网络系统的常见威胁,许多定制的入侵检测模型被提出[157]。基于规则的方法在改进区块链设计的缺陷方面占主导地位。例如,研究设计了新的交易规则来防止典型的 51% 攻击[149]。对于区块链中的犯罪活动,传统方法主要侧重于分析活动的重要属性(例如,转账金额)。除了上述努力之外,考虑到区块链本质上是一个对等网络,图挖掘技术在描绘区块链的各种结构模式方面具有独特的优势。在本节中,我们介绍了区块链安全的两个主要威胁,即智能合约漏洞和区块链中的犯罪活动,以及相应的基于图的解决方案。

智能合约漏洞。为了检测智能合约漏洞,比如我们在 5.4.2 节中讨论的漏洞内关系挖掘,当前基于图的方法主要将智能合约建模为代码图。[72] 中使用了基于结构的图嵌入。它首先通过模拟智能合约的字节码执行构建 CFG,然后使用 graph2vec [119] 获取代码表示。异构 GNN 进一步用于建模代码图的复杂语义 [108, 109, 246]。它们将源代码建模为合约图,其节点表示调用或变量,边表示多种语义关系(例如,控制流和数据流)。基于合约图,[246] 提出了一个时间消息传播网络(TMP)来捕获不同程序元素的时间关系。[108, 109] 进一步集成专家漏洞模式(例如,对 call.value 的调用与可重入漏洞相关)以提高准确性。

区块链中的犯罪活动。通过在交易图中对区块链活动进行建模,当前基于图的解决方案专注于识别区块链系统中账户、交易和智能合约的异常。另一项相关任务是账户身份推断(也称为去匿名化),旨在推断区块链中账户的可能身份,例如交易所、网络钓鱼账户、矿工等 [242]。我们将根据构建的交易图的格式介绍这些解决方案。

基于交易图(其节点表示账户、边表示交易),[44, 127] 使用结构统计特征(例如 PageRank 和聚类系数)来识别可疑账户。[25] 进一步采用时间结构分析来证明比特币的市场操纵。[201] 在交易边上添加时间戳和金额,并结合这些语义信息来学习节点嵌入。[197] 首先定义节点的信任值,然后通过 GNN 传播信任值。为了执行账户身份推断,[152] 提取账户子图(k 跳邻居),然后使用 GNN 获取账户表示。另一种交易图(其节点表示交易、边表示支付百分比流)用于异常交易检测 [6, 127]。此外,一些工作将更多的区块链实体和复杂关系纳入交易图 [24, 105, 132]。具体来说,[24] 构建了三种图,分别对货币(以太币)交易、智能合约创建和调用进行建模。基于这些图,提出了结构统计特征来检测异常并识别以太坊中的账户。 [105] 在统一的异构图中对这些区块链实体进行建模,并使用异构图变换网络(HGTN)来检测异常智能合约。

区块链作为一种新兴的网络系统,对现有的系统安全提出了巨大的挑战。智能合约漏洞和犯罪活动已被先进的图嵌入技术广泛解决。然而,增强隐私保护能力仍然是构建区块链系统的痛点。 随着去中心化应用(DApps)和在线交易的不断增长,迫切需要隐私保护图算法,并结合一些典型的隐私技术,如混合和同态加密。同时,希望在算法的效率、有效性和隐私保护之间取得良好的平衡。

5.4.4 总结。上面介绍的三个典型的系统安全任务主要基于基于图的代码分析。因此,一个精心设计的代码表示算法对于这些下游任务非常重要。考虑到各种高级攻击(例如,新的恶意软件家族和漏洞)的快速发展,健壮的代码表示是当前的研究热点。一些工作已经为基于图的代码表示模型设计了攻击和防御手段[2,67]。此外,应该探索更多的图类型来提高系统安全解决方案的有效性和稳健性。例如,[23]构建了用户界面图(UIG)来区分良性和恶意代码,而无需检查其内容。除了区块链系统之外,随着物联网设备的爆炸式增长,基于图的物联网系统安全解决方案也是一个主流研究方向[219]。

6 开放数据集和工具包

在本节中,我们总结了基于图的网络安全解决方案的现有开放数据集和工具包。

6.1 开放数据集

多年来,许多基于图的网络安全数据集已向公众发布以供进一步研究。 我们在表 7 中总结了这些资源,包括 URL、出版年份、标签和相关论文。我们根据第 2.1 节中的网络安全任务分类法组织这些数据集。请注意,由于隐私原因,某些任务(例如“金融欺诈和地下市场”)的数据集很少。这里我们介绍其中的代表性数据集。

Elliptic。Elliptic 公司为反洗钱/区块链安全任务发布了此比特币交易数据,其中包含超过 200K 比特币交易(节点)、234K 定向支付 %ows(边)和 166 个节点特征。4,545 个节点(2%)是非法的,42,019 个节点(21%)是合法的。其余节点未标记。它使用基于启发式的推理方法进行标记。例如,非法交易倾向于执行输入数量较少的交易 [199]。

WEBSPAM-UK2007。此数据集用于研究网络垃圾邮件检测任务。这是志愿者标记的带注释的垃圾邮件/非垃圾邮件主机的大型集合。此外,数据集还包含超链接和 HTML 页面内容。在标记的数据集中,5.19% 为“垃圾邮件”,88.33% 为“非垃圾邮件”。其余的被标记为“未定”。

Twitter15&Twitter16。这两个数据集包含 2015 年和 2016 年的源推文及其相应的转发和回复的集合。有四种不同的标签:虚假谣言 (FR)、非谣言 (NR)、未经证实 (UR) 和真实谣言 (TR)。源推文通过引用它们所属事件的标签进行注释。

LIAR。LIAR 是一个大型虚假新闻检测数据集,包含 12,836 条简短声明,包括主题、背景/地点、发言人、州、政党和先前历史。它是从 POLITIFACT.COM 的 API4 收集的,具有扎实而自然的背景,例如政治辩论、电视广告。LIAR 考虑了六个“细粒度标签”:pants-re、false、bare-true、half-true、mostly-true 和 true。POLITIFACT.COM 编辑会评估这些标签的真实性。

CTU-13。CTU-13 是一个流行的僵尸网络流量公共基准数据集,来自 13 种场景(例如 ClickFraud、PortScan)。对于所有场景,CTU-13 数据集将捕获的 pcap 文件转换为 NetFlows 并发布处理后的流量。标签集中有三种类型,即背景、僵尸网络和正常。一些过滤器会分配正常标签,如果流量来自或知道受感染的 IP 地址,则会分配僵尸网络标签 [47]。

NSL-KDD。该数据集包括在军事网络环境中模拟的各种入侵。 该数据集中有四种主要攻击类型,即 DoS、探测、U2R 和 R2L。每个样本有 38 个数值特征和 3 个内容特征。这些特征主要基于基本的 TCP 连接,内容特征由连接内的领域知识收集。

亚马逊评论。该数据集专注于评论垃圾信息检测任务,涉及多条评论。亚马逊评论 1 数据集包含 1996 年至 2006 年的评论者信息以及相应的评论文本、评分、产品等。由于整个数据集非常庞大,许多研究仅从数据集中提取了书评数据。亚马逊评论 2 数据集包含 1996 年 5 月至 2014 年 7 月亚马逊的产品评论(评分、文本、有用性投票)和元数据(描述、类别信息等)。

SARD。该数据集包含近二十万个具有已记录漏洞的程序,且数量还在不断增加。这些漏洞有不同的代码形式(源代码或二进制代码)、不同的语言(C、Java、Python 等)和不同的类型(缓冲区错误、资源管理错误、注入等),涵盖了 150 多个类别的弱点。这些漏洞通过多种方式收集,例如手动注入和静态分析。

Drebin。此标记的移动恶意软件数据集是 Genome 项目数据集的扩展,包含 179 个不同的恶意软件家族。样本收集于 2010 年 8 月至 2012 年 10 月。VirusTotal 服务用于确定应用程序是恶意的还是良性的。请注意,VirusTotal 也广泛用于其他恶意软件数据集标记 [37]。
 

表 7. 典型的基于图的公共网络安全数据集。TS:交易安全;CS:认知安全;NS:网络安全;SS:系统安全

6.2 工具包

网络安全解决方案中的图形挖掘和数据收集都受益于公共工具包。然而,很少有调查总结这些资源。为了弥补这一差距,我们介绍了一些典型的图形挖掘和数据收集工具包。

6.2.1 图形挖掘工具包。图形模型实现是网络安全解决方案中的关键过程。为了促进这一过程,已经开发了许多工具包,使研究人员能够轻松地进行实验和构建应用程序。这些工具包为重要的基于图形的任务提供标准的训练和评估,包括节点分类、链接预测、图形分类等。这里我们列出了其中的典型示例以供参考。

PyG。PyG 是一个基于 PyTorch 构建的机器学习库,可轻松实现图神经网络和相关应用。它涵盖了广泛的最先进的 GNN 架构以及训练和可扩展性程序,可帮助用户轻松重现和设计 GNN 实验。PyG 的网站位于 https://www.pyg.org。

CogDL。CogDL 是一个用于图深度学习的广泛工具包。CogDL 中的大多数模型都是基于 PyTorch 开发的,具有高效率和可重复性。它提供了易于使用的 API 来运行实验,并利用经过优化的运算符来加速训练并节省 GNN 模型的图形处理单元 (GPU) 内存。该项目可在 https://github.com/thudm/cogdl 中找到。

深度图库 (DGL)。DGL 是一个基于当前流行框架 (Pytorch、MXNet 和 Tensor%ow) 构建的 Python 包。除了同构图之外,DGL 还支持许多异构图模型(例如 HAN、Metapath2vec)。该项目可在 https://github.com/dmlc/dgl 找到。

OpenHGNN。这是一个基于 DGL 的异构图神经网络 (OpenHGNN) 开源工具包。它提供了易于使用的接口,可用于运行许多流行的异构图模型的实验,包括 RGCN、HAN、KGCN、HetGNN、GTN 等。该项目可在 https://github.com/BUPTGAMMA/OpenHGNN 中找到,文档位于 https://openhgnn.readthedocs.io/en/latest/。

Gamma Graph Library (GammaGL)。GammaGL 是一个开源的图学习库,支持 TensorFlow、PyTorch、PaddlePaddle 和 MindSpore 作为后端。与 DGL 不同,GammaGL 的示例在不同的后端使用相同的代码实现。它允许用户在不同的硬件上运行相同的代码,并根据对不同框架的偏好使用特定的框架 API。该项目可在 https://git.openi.org.cn/GAMMALab/GammaGL 或https://github.com/BUPT-GAMMA/GammaGL 中找到。

6.2.2 数据收集工具包。考虑到网络空间安全形势的快速发展,网络安全中使用的许多数据集需要经常更新。数据收集从来都不是一个简单的过程,因为网络安全中的原始数据呈现各种形式(例如 pcap),应该提前处理。此外,现实世界中的阳性样本(例如恶意流量)很少见,这使得数据收集过程更具挑战性。 借助公共数据收集工具,人们可以避免从头开始收集数据。我们总结了典型的工具如下。

Twitter 搜索 API。该 API 允许我们查找和检索、参与或创建各种不同的数据源,包括推文、转发、评论等,这是收集虚假新闻数据集的重要工具,例如通过提供某些查询来检索感兴趣的推文。该 API 位于 https://dev.twitter.com/rest/public/search。

Snopes。Snopes 是一个事实核查网站,可用于标记谣言和非谣言样本。网址为 http://www.snopes.com/。

DNSDB Scout。DNSDB 是一个数据库,用于存储和索引 Farsight Security 的安全信息交换提供的被动 DNS 数据以及各个区域运营商提供的权威 DNS 数据。该数据库还保存域 IP 解析的“首次查看”和“最后查看”时间戳。此数据库中的 DNS 数据可通过网站的 API 获取:https://scout.dnsdb.info。

Semantic。Semantic 是一个用于解析、分析和比较源代码的 Haskell 库和命令行工具。它可以为源代码的每个函数生成抽象语法树 (AST),并支持十多种语言,包括 Python、Java、PHP 等。此工具可在 https://github.com/github/semantic 找到。

VirusTotal。VirusTotal 是一个分析可疑文件和 URL 以检测恶意软件类型并自动与安全社区共享的平台。它通常用于将样本标记为恶意或非恶意。网站位于 https://www.virustotal.com/en/。

Cuckoo Sandbox。Cuckoo Sandbox 是一个开源的动态恶意软件分析系统。它横跨四个操作系统平台(Windows、Android、Linux 和 Darwin),支持多种文件形式(可执行文件、Office 文档、PDF 文件、电子邮件等)。它可以跟踪 API 调用和文件的一般行为,这对恶意软件的动态分析非常有帮助。这个工具的网址是 http://www.cuckoosandbox.org/。

Wireshark。Wireshark 广泛用于分析网络流量。此工具可以捕获互联网上的数据包以及各种类型的流量特征,如 IP、端口、数据包长度和协议。这些特征可以进一步用于恶意流量检测。您可以在 https://www.wireshark.org 下载 Wireshark。

7 讨论和未来方向

尽管图挖掘技术在网络安全领域应用广泛,但提出理想的基于图的网络安全解决方案仍然具有挑战性。日益复杂的网络空间环境和不断发展的犯罪行为要求探索新的视角来设计基于图的模型。在本节中,我们讨论现有的基于图的网络安全解决方案并探索一些未来的研究方向。

7.1 图构建和数据集

网络安全任务高度依赖数据。然而,由于隐私以及访问真实网络环境的困难,基于图的公共基准数据集极其罕见。尽管最近有一些努力在开展这项工作(例如,标记的比特币交易数据集 [199] 和黑客帖子数据集 [143]),但创建和发布高质量的基于图的网络安全数据集还有很长的路要走。这个问题使得研究人员不得不从现实世界中收集数据。然而,现实世界网络空间数据的稀疏性、隐式关系和大量噪音使得图的构建成为一项不简单的任务。现有的工作主要依赖于领域知识和手动构建。以恶意域检测任务为例 [165]。挖掘隐式关系(例如,段和规范名称关系)以识别恶意域需要一些领域知识(例如,相邻的客户端容易被同一个攻击者感染,并且具有相同规范名称的域的属性相似)。此外,从 DNS 流量收集的数据充满了噪音(例如,不活跃的客户端和热门域名),应该应用一些图形修剪策略。事实上,手动构建的图形可能不是特定网络安全任务的最佳选择,因此未来需要如何从网络空间数据中自动学习最佳或更好的图形结构。

7.2 可信模型与鲁棒性

虽然现有的基于图的网络安全解决方案已经取得了很高的性能,但大多数都缺乏对模型可信度和鲁棒性的考虑。事实上,在复杂且对抗性的网络空间环境中,一个可信且鲁棒的模型是人们迫切需要的。可解释性(即解释训练模型所做决策的能力)对于可信模型非常重要。例如,可解释性可以增强公众对新闻事实核查结果的信任度;在流量分析中,可解释性可以为网络管理者提供恶意流量的明确特征。一些研究引入了注意力机制来分析节点邻居之间的重要性[180,240]。[180]根据注意力值选择了重要的应用程序进行默认预测,发现这些应用程序主要是金融应用程序,这很合理,但也增强了对所提模型的依赖。然而,在网络安全领域,现有的解释模型仅关注节点分类任务(例如,默认用户检测),但无法解释子图/图级任务(例如,恶意软件检测)。此外,还应探索图中子结构的重要性。

稳健性是当今基于图的网络安全解决方案的另一个理想特性。对抗行为在网络空间中无处不在,例如数据扰动 [53] 和伪装的欺诈者 [34]。许多现有模型在遭受这些对抗行为时都表现出弱点,因此迫切需要更稳健的模型。一些研究考虑了这个问题,但仅限于特定任务 [2, 67]。同时,保持良好的性能仍然是一个挑战。此外,现有的基于图的模型很少考虑零日威胁,而零日威胁在现实环境中更为常见 [137]。预计将采用无监督方法(例如聚类)来检测零日威胁,从而提高现有网络安全解决方案的稳健性。

7.3 数据安全与隐私

网络安全中的现实数据集通常包含大量隐私信息,例如用户帐户和密码,这使得深度和全面的数据共享变得困难。 因此,有必要研究适用于网络安全数据的图协作分析架构,同时保证敏感参数不被泄露。 近年来,出现了许多隐私保护的协作图挖掘技术,旨在在受信任的成员之间进行安全的数据共享 [63, 229]。 一些工作也探索了它们在一些网络安全任务中的应用。 例如,[168] 提出了一个联邦图学习平台,用于跨机构共享关键信息,以有效检测全球洗钱活动。 希望探索更多数据敏感的安全场景。 此外,引入隐私保护算法通常会造成额外的计算成本和性能下降。 因此,预计未来将进一步研究在保持高效计算和高性能的同时保护隐私的图挖掘。

7.4 大规模图与并行化

网络空间实体之间的实时交互使得构建的图具有动态性和大规模性。 例如,在线欺诈检测系统大约需要 1 小时才能对 2 亿客户进行评分 [70];物联网场景中有数百个网络节点和连接的参数 [159]。这意味着图模型应该具有足够的表现力来描述自适应行为并处理大规模图。 近年来提出了许多可扩展的图算法,包括图归纳学习 [60]、有效采样 [22]、图蒸馏 [232] 等。这些算法已成功应用于多项网络安全任务(例如恶意域检测 [164] 和欺诈检测 [199])。对于大规模图的实际部署,提出了分布式和并行图训练策略 [112, 226, 238]。 这些策略将图数据划分为一组机器,并以并行方式训练图模型。例如,蚂蚁图机器学习系统(AGL)[226]将原始图分解为子图(即K-hop邻域)以进行消息传递,这可以通过MapReduce [31]轻松实现,并高效地用于“金融风险控制”。随着网络空间实体之间的交互日益增多,有必要将可扩展的图模型和大规模部署策略纳入网络安全解决方案中。

7.5 攻击者关联分析与发现

目前,图挖掘技术在网络安全中的应用主要集中于对攻击元素之间的相关性进行建模以执行攻击检测或分类(例如,文件内的 API 调用关系由 API 调用图捕获)。然而,很少有研究者利用图挖掘技术在关联分析中的优势,对攻击者(或攻击组织)进行关联和发现。在数字取证和溯源过程中获得的攻击组织信息,包括其背景、工具、恶意样本等,已成为网络攻击防御的重要资源。同时,这种资源也揭示了组织之间的关联性。例如,据报道,朝鲜的攻击组织之间存在大量的代码重用,这表明拥有不同技能和工具的团体在合作实施大型攻击时,会执行他们所关注的网络攻击部分,同时也会并行工作[140]。因此,利用图挖掘技术在海量组织信息的基础上挖掘攻击组织之间的深层关联,并利用这些关联进行网络攻击溯源是一个很有前景的研究点。从更宏观的角度来看,预计未来应用图挖掘技术可以促进防御者之间的关联和协同。

8 结论

在本次调查中,我们对图挖掘技术在网络安全中的应用进行了全面概述。我们根据应用的图挖掘技术对典型的网络安全任务进行了新的分类。 我们总结了网络安全中使用的典型图挖掘技术,包括统计特征和图嵌入。我们还介绍了将这些技术应用于网络安全的一般步骤。然后,我们详细阐述了这些基于图的网络安全解决方案。此外,我们总结了公共网络安全数据集和工具包以供进一步研究。最后,我们提出了五个有前途的研究方向。

  • 19
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值