当今恶意软件、垃圾邮件和入侵等网络攻击的爆炸式增长给社会造成了严重后果。保护网络空间已成为组织和政府最关心的问题。基于传统机器学习 (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 是对称的。<