1、小 型 微 型 计 算 机 系 统 :年 月 第 期 收稿日期:收修改稿日期:基金项目:国家自然科学基金项目()资助;(,)资助 作者简介:刘 亚,女,年生,博士,副教授,会员,研究方向为网络分析、密码学、区块链;林明洁,女,年生,硕士研究生,研究方向为图表示学习、网络安全;曲 博,男,年生,博士,助理研究员,研究方向为网络分析、网络安全图表示学习在网络安全领域的应用研究综述刘 亚,林明洁,曲 博(上海理工大学 光电信息与计算机工程学院,上海)(鹏城实验室 新型网络研究部,广东 深圳):摘 要:近年来,图表示学习由于其能够更全面地捕捉网络数据的特征,在与各种网络异常检测方法结合后能获得更好的检
2、测结果等特点,逐渐引起网络安全领域的关注 为进一步理清使用图表示学习进行网络安全检测相关工作的研究脉络,本文首先研究了图表示学习的定义,并从基于降维、随机游走和深度学习三类分别介绍目前被广泛使用的图表示学习算法;其次,对公开可用的网络安全数据集按照日志和网络流量、可执行文件、社交和交易网络分类,给出其具体的数据内容;再次,总结了近年来将图表示学习方法应用到网络安全领域的研究成果,给出了模型的基本流程和优缺点分析;最后探讨了目前研究的局限性和未来研究的方向关 键 词:网络安全;图表示学习;网络异常检测;新技术发展趋势中图分类号:文献标识码:文 章 编 号:(),(,)(,):,:;引 言随着网络
3、技术和规模快速发展,网络设备及其承载的业务种类逐渐增多,网络中存储的数据也呈爆发式增长,黑客可利用的漏洞和技术手段日益丰富、对抗愈加激烈,这些促使网络中的软件、硬件及其信息更易受到来自内部和外部的安全威胁 譬如:年黑客利用 “永恒之蓝”漏洞传播的勒索病毒“”波及到 多个国家和地区;年僵尸网络“”入侵上千台华硕、路由器并进行破坏;年多家俄罗斯银行遭受大规模的 攻击,导致部分服务无法正常使用 因此,为了保护网络环境免受非法攻击,对系统进行网络安全异常检测是非常重要的异常检测是指在数据中发现不符合预期行为的工作模式,这些不合格模式在不同应用领域中的名称各不相同而 年 等人提出的定义是目前最被广泛接受
4、的一种,即异常现象是与其它观察结果大相径庭的观察结果,以致引起人们怀疑它是由不同的机制产生的 异常由于能够代表重要且罕见的情况,并可以促使在广泛的应用领域中采取关键措施,在网络安全领域扮演着非常重要的角色 根据使用的检测技术,现有的网络安全异常检测主要可分为 类:第 类,基于统计分析的检测,如:等人提出的基于迭代局部统计方法的异常检测方法,等人提出的基于卡方统计的异常检测技术;第 类,基于签名的检测,如 等人提出的基于实时签名的短信僵尸网络检测方法,等人提出一种基于签名的物联网入侵检测系统;第 类,结合人工智能技术的检测方法,主要有基于机器学习的,如 等人提出的基于粒子群算法优化支持向量机()
5、的实时入侵检测系统,提出的基于加权 阶邻近()分类器的拒绝服务攻击()的实时异常检测系统;基于深度学习的,如 等人提出的基于自编码器()和的深度信念网络()的恶意代码检测方法,等人提出的使用生成对抗网络()的无监督异常检测方法当前,异常检测方法大多通过分析网络数据本身的属性特征进行检测 然而许多现实世界中的数据都具有相互依赖关系,能够自然地用图模型的边来表示 此外,网络安全威胁也往往表现出相关依赖关系,如与异常点相近的点也很可能是异常的 因此,通过处理和分析图数据来进行检测是可行的,例如将主机和文件看作节点,将文件存在于主机的关系看作边,则可以通过恶意文件易聚集的特点进行检测为了便于处理使用图
6、模型表示的网络数据,图表示学习相关方法被广泛研究和应用 这类方法首先将现实中数据建模成图,接着视下游任务的需求,将图中的节点、边或部分图结构等,转换成一组低维嵌入向量,在降低计算复杂度的同时尽量捕获图的拓扑结构、顶点和顶点之间的关系以及图、子图和顶点的其它相关信息 在网络安全领域,图表示学习方法能够与各种检测思想结合,找出网络中的异常以保护其能正常运行 当前,已有大量综述分别介绍网络安全和图表示学习领域的相关工作,如 等人、等人、等人和 等人分别总结各类使用机器学习和深度学习的网络安全检测模型,等人和 等人分别对图表示学习方法进行不同的分类并介绍具体算法 然而,对图表示学习方法在网络安全领域的
7、应用的讨论较少,且上述综述侧重于按照使用的技术种类对相关异常检测工作进行分类介绍,此分类方法能够更深入了解技术的实现过程,但无法区分现实中各类网络场景的特点本文旨在提供图表示学习在网络安全领域的综述 考虑到相同网络场景所遭受到的安全威胁具有一定相似性,检测模型往往根据其特点进行设计等原因,本文对不同的网络场景进行分类来介绍相关检测模型,突出图表示学习的应用在现实情况下的针对性和实用性,并且不同网络场景中的数据特性差距较大,由此构造的图和检测思想也不尽相同,按照网络场景来介绍检测模型更符合现实 在此基础上,通过纵向对比不同网络场景下检测模型的优劣点,也能更深入了解图表示学习是如何进行应用的 除此
8、之外,文章亦简单介绍目前具有代表性的图表示学习算法作为补充知识和公开可使用的网络安全数据集供相关研究人员参考 具体来说,首先简述了图表示学习的一般定义和主流的图表示学习技术等;然后分日志和网络流量、可执行程序、社交和交易网络 种类别,列举了可用图表示学习分析且和网络安全相关的代表性数据集接下来,按照应用场景进行分类,全面总结了图表示学习算法在网络安全领域应用的相关研究 最后,探讨使用图表示学习用于设计网络安全检测模型的局限性,以及未来可能的研究方向本文的主要贡献如下:)概述了图表示学习的主要内容,总结了图表示学习方法解决网络安全问题的一般框架 更进一步,将图表示学习技术分为基于降维、随机游走和
9、深度学习 类,分别介绍其中具有代表性的算法,使读者能够快速了解图表示学习的相关知识,为更深入了解图表示学习应用于检测模型打下理论基础)列举了与图表示学习相关的公开可用网络安全数据集,涵盖网络流量、应用程序和社交网络等内容,并对数据集的样本类型和规模等进行了详细描述,可供相关研究人员进行参考,用于评估其设计的检测模型的性能)重点归纳总结了近年来将图表示学习方法应用到网络安全领域的研究成果,并将这些研究成果按照不同的应用场景分为异常事件检测模型、恶意软件检测模型、恶意域检测模型和恶意账户检测模型四种,以梳理最新研究进展 通过对比和分析了各研究之间的优劣和差异,探讨了未来研究的方向,为后续研究的开展
10、提供思路下面将介绍论文的组织结构,第 节概述图表示学习定义、一般框架、名词定义和相关技术,第 节从日志和网络流量、可执行文件、社交和交易网络 个方面介绍了网络安全数据集,第 节根据不同网络安全场景分类阐述了网络安全模型,第 节提出了局限性和未来研究,第 节总结了全文 图表示学习概述 一般定义图表示学习是指将一个图中的节点或者整(子)图映射到低维向量空间的过程,其主要目的是使低维向量空间中的几何关系能够反映原始图中的结构信息 优化后的低维向量空间所学习到的嵌入向量能够作为特征输入来处理下游任务 在解决特定任务时,使用图表示学习技术进行学习的对象也有所不同,例如进行社区发现时需要学习子图特征,而处
11、理节点分类问题时只需针对图中的各个节点 因此根据学习的对象不同,可以将图表示学习分为以下 种:)节点嵌入:图数据中的节点往往表示了各类重要实体,如网络流量中的 地址、应用程序中的 等 这些节点本身具有大量的属性作为其特征,通过捕捉节点的属性,对其进行表示学习以获得更低维度的节点嵌入,能够对现实中的实体进行更有效的分析)边嵌入:实体间存在的或紧密或疏远的关系,可借助于图中的边来表示 边所表示的不同依赖关系存在着重要性大小的差异,使得部分边自带有权重属性 因此,在对边进行表示学习时,可获得边本身的属性特征及所关联节点的特征来进行补充表示)子图嵌入:子图嵌入即将子图作为一个整体进行表示学习,获得低维
12、嵌入向量 该方法首先需要根据一定的规则构造适当的子图,接着在子图中捕捉图中节点的属性和结构特征 在处理的数据量较大时,子图有时用于代替整图,能够大大减少计算成本 图表示学习解决问题的一般框架在解决网络安全问题过程中,图表示学习方法一般会经过数据采集、图构造、特征提取和下游任务这 个过程 具体如下:)数据采集:从目标系统中采集原始数据并进行清洗等处理,得到建模所需数据 期 刘 亚 等:图表示学习在网络安全领域的应用研究综述)构造图:设计图模型,将收集到的数据加以表示,这些图模型可以是同构图、异构图、时序图等)特征提取:使用图表示学习技术将图中复杂的高维数据在保留所需性质的条件下以低维的嵌入向量表
13、示,提取出数据特征)下游任务:进一步进行节点分类、链接预测、聚类和可视化等后续任务 名词定义这一小节将定义一些重要的名词,这些名词将用于本文接下来的讨论)图:给定一个图 ,表示节点的集合,表示边的集合,表示属性矩阵 函数:和:分别对节点和边进行映射,其中 表示节点类型的集合,表示边类型的集合 若 ,则 是一个同构图 若 ,则 是一个异构图)图表示学习:设 是节点 的嵌入向量,图表示学习的目的是找到这样一个映射:,其中嵌入维度)元路径:给定一个图 ,一个元路径 被定义为节点类型 和 之间的组合关系 将 表示为 ,或者当不产生歧义的时候,简要地写成 如果 ,则 是对称元路径)一阶相似度:对于每个节
14、点对(,),如果(,),那么 和 之间的一阶相似性由两节点之间的边权重决定;否则 和 之间的一阶相似性为 一阶相似性捕捉了节点之间的直接邻居关系)二阶相似度和高阶相似性:二阶相似度捕捉每对节点之间的两步关系 对于每个节点对(,),二阶相似度是由两个顶点共有的相同的邻居节点数决定的,它同样可以用 到 的两步迁移概率来度量 进一步,高阶相似度捕捉每对节点之间的 步关系(),能更好地保留图的全局结构 对于每个节点对(,),高阶相似度是由 到 的 步迁移概率来度量的,这也可以通过 和 之间 步路径()的数量来表示 图表示学习相关技术这一小节将从基于降维、随机游走和深度学习三个角度介绍图表示学习技术中具
15、有代表性的算法 有关图表示学习的综述文献已经很多,本文仅简要回顾网络安全领域中常见的图表示学习方法,为第 节的内容提供理论补充,更详细的介绍可参考其它文献,)基于降维的方法传统的降维方法,即将高维向量降为低维的嵌入向量,同时保持原始数据的期望特征,亦可用于图数据,比如将图数据以矩阵形式表示,将矩阵的每一行视作一个待降维向量这类方法的代表性算法有主成分分析法()、线性判别分析()、等距特征映射()和多维度标记法()其中主要的主成分分析法指将和较大方差相关的主成分用来表示重要的结构信息,较小的方差视为噪声,将数据方差最大化来计算低维表示;线性判别分析指假设每个类别都呈现高斯分布,通过特征分解最大化
16、类间映射和类内映射得到线性投影矩阵)基于随机游走的方法基于随机游走的方法通过对初始节点的随机游走在图上进行采样建立路径,然后使用概率模型来学习节点表示,以捕捉全局和局部结构信息 下面将简要介绍 种基于随机游走的方法:是目前最流行的基于随机游走的图嵌入方法之一 如果目标节点 能够在一定的步数中到达序列 ,中的任意一个节点,那么它就属于该序列,并且会在随机游走中被采样 节点集 ,是窗口大小为 的中心节点 的上下文,是一个可以设置的超参数 的目标是最大化随机游走序列 中所有节点上下文对的平均对数概率 ,()()其中,()是一个 激活函数是 方法的改进 该方法提出了一种概率模型,该模型具有特定的随机游
17、走概率来重新访问遍历过的节点和参数 来控制遍历全局结构的能力 当参数 很小的时候,访问刚刚访问过的节点的概率会很高 当参数 很小的时候,随机游走变得像深度优先采样策略,因此 能够在嵌入空间中保持全局结构是一种用于异构信息网络的顶点嵌入方法,能够捕捉不同类型节点之间的语义和结构联系 使用基于元路径的随机游走来构建节点的异构邻居,然后通过自然语言处理中的经典算法 训练模型 其它类似的方法还有,等)基于深度学习的方法基于深度学习的图表示学习方法,如图神经网络等,是目前最广泛使用的方法图卷积网络()通过在图上进行卷积运算,对局部图结构和节点属性进行编码,并迭代聚合节点的邻居嵌入来学习隐藏层表示 其核心
18、思想是学习一个函数映射(),通过该映射,图中的节点 可以聚合它自己的特征 和它的邻居特征()来生成节点 的表示 它在层与层之间的传播规则是:(),)()()()()()()其中,()是节点在第 层的特征向量,是具有强制自循环的邻接矩阵来获得自身的节点特征 ,是单位矩阵,是 的对角节点度矩阵,()是第 层卷积的参数,是激活函数注意力机制也已经被广泛运用到图表示学习模型中,由于图中节点的重要性并不是都相同的,加入注意力机制能够给不 同 节 点 分 配 不 同 的 注 意 力 系 数 图 注 意 力 网 络()是一种基于空间的带有注意力机制的图卷积网络,在聚合特征信息时,将注意力机制用于确定节点邻域
19、的权重 中重要一步是计算注意力系数:小 型 微 型 计 算 机 系 统 年()()其中,是前馈神经网络 的参数,是初始线性变换的权重矩阵,是激活函数 相比较,注意到了不同节点之间的重要性,优化嵌入向量的生成,并且 还可以用于动态图和有向图自编码器()是一种无监督的神经网络模型,由编码器和解码器两部分组成 编码器对输入数据降维,学习其中的隐含特征 解码器根据学习到的特征能够重构出原始输入数据 自编码器利用反向传播算法使得输出值等于输入值,能够学习到数据中最重要的特征 进一步的,图自编码器()能够学习无标签信息所构建的图中的节点表示 根据采用的不同降维方法,属于 的算法有稀疏自编码器()、结构化的
20、深度网络嵌入()等是一种能够并行处理输入节点的新型图表示学习模型 它使用一种基于图的亲密度矩阵 获得目标节点及其上下文节点,具体的计算公式为:()(,)()其中,的计算公式为:()?)()这里 是一个,之间的超参数,?,为图的邻接矩阵,为对应的对角矩阵接着,将目标节点及其上下文节点作为输入,使用不同的映射函数获得 种表示向量,并将其在 编码器中聚合,形成节点的最终表示用于下游任务基于深度学习衍生和扩展的类似 模 型 还 有、等,此处限于篇幅原因,不再一一介绍 值得一提地是,以往大多工作研究静态图的表示学习,而随着技术的发展,越来越多的研究转向动态图,例如尝试捕捉动态图中事件和时间的依赖关系来分
21、析数据 因此,亦可将图表示学习技术分为静态图表示学习和动态图表示学习两类 网络安全数据集这一节将分别从日志和网络流量、可执行文件、社交和交易网络 个方面介绍与网络安全相关的具有代表性的数据集,可用于设计和训练应用于网络安全领域的图表示学习模型 通过描述数据集中的主要内容和用途,旨在为后续相关工作提供数据参考 日志和网络流量互联网系统的日常运行会产生日志和网络流量,这些数据记录着正常和恶意的活动行为 因此,使用该类别的数据集能够进行与网络安全直接相关的检测工作,如恶意行为和恶意域名等的检测 下面将介绍 个日志和网络流量的数据集):该数据集基于 生成,在入侵检测系统中被广泛使用 其中包含利用 收集
22、到的 周网络连接和系统审计数据,这些数据仿真各种用户类型、不同的网络流量和 种不同的攻击手段(如 和缓冲区溢出),共计 万个数据 是 的升级版,移除了其中的重复记录,并解决了数据集中概率分布不平衡的问题):该数据集记录了超过 年的 万次会话数据,每个会话包含 个属性,其中 个属性描述与 相似,其余 个为典型的流数据属性,如 地址(以匿名形式)、端口和持续时间等):该数据集由 国家实验室网络在 天内捕获的数据组成,包含约 亿条基于单向流的网络流量和基于主机的日志文件,数据没有进行标记,并且网络流量被高度匿名化):该数据集捕捉了某(互联网服务供应商)环境中 个月内的 亿个单向流量,攻击场景包括僵尸
23、网络、和端口扫描,并且大部分流量都有标签),:该 数 据 集 基 于、和电子邮件协议构建了 名用户在 天内的抽象行为,涵盖全面的常见攻击,如 暴力破解、僵尸网络等 除此之外,类似的还有 和 数据集等):该数据集由 个用户在 天内的超过 亿次操作组成,其中包含 种攻击场景和 个用户的 个恶意操作,是一个检测网络内部威胁的综合数据集):该数据集是洛斯阿拉莫斯国家实验室提供的全面网络安全事件数据集 该数据集是在 公司的内部计算机网络中,收集了 个用户和 台计算机 天内的数据,包括约 亿个日志条目,涉及到 次恶意登录和 个被盗账户 可执行程序很多网络攻击都是从程序后门开始的,而诸如主机或移动端等的可执
24、行程序,往往可根据它们的系统调用或接口等关系,进行构图,从而使用图表示学习进行检测 本小节将介绍 个具有代表性的可用图表示学习进行恶意软件检测的数据集),:该数据集由 万个良性和 万个恶意软件样本组成,其中恶意软件样本包含 种不同的类别,如广告软件、后门程序、勒索软件等 数据集提供了可用于静态分析的信息如系统功能、请求的权限、元数据等,以及用于动态分析的信息如内存、调用、进程等):该数据集从多个来源收集了约 个 样本,包含广告软件、银行恶意软件、短信恶意软件、风险软件和良性软件,并完整地提供了静态和动态特征,包含权限、服务、调用、复合行为等信息):通过在智能设备上安装 个 应用程序,包含 个广
25、告软件、个一般恶意软件和 个良性软件,并捕获其网络流量产生该数据集):该数据集首先收集 年 月 年 月间 个应用程序的初始数据,接着将这些应用程序发送到 服务进行病毒扫描,删除标记为广告软件的程序后,最终数据集包含 个良性应用程序和个恶意软件样本,它也是目前用于评估 恶意软件检测方法的最大数据集之一):该数据集由 年 年间 个恶意软件所产生,这些恶意软件被分为 种类别,包括木马、勒索软件、后门程序等 期 刘 亚 等:图表示学习在网络安全领域的应用研究综述:社交和交易网站社交和交易网络中存在着大量的恶意账户,这些恶意账户可以用来进行非法交易、散播恶意消息,为网络安全环境带来威胁 由于涉及到用户隐
26、私等一些敏感信息,此类数据集大多是非公开可用的,如支付宝、微博中的用户注册信息、购买记录、发表的内容等,但可通过一些公开可用的相似数据集,来研究相关问题,比如公开的比特币交易信息可用于基于图表示学习的交易账户分类等)比特币交易数据:比特币的交易数据可通过“比特币区块探索者”()提供的 获取,同样也有网站供比特币交易账户的常见类别标签,可以使用其中的哈希地址、交易时间、交易金额等信息构建图表示学习模型进行账号分类):该数据集包含 年 月 月期间大量用户以及其社交图、评论和回复信息 社交图中的用户连接数约为 个,跨越约 个用户 故事、评论和回复的总数分别约为、和 数据集中的总条目数约为 万个,可用
27、于研究以主题为中心的信息传播和社区演化):这是一个收集了各种类型的大型网络数据集的项目,覆盖了多个领域如社交网络、超链接网络、物理网络等,可用于计算网络统计、实现各种链路预测算法等):该数据集是一个社交网络数据集,收集自加州大学欧文分校学生的在线社区 在构建的动态图中,每个节点表示一个用户,每个边表示两个用户之间的一条消息在表 中,本文列举了部分代表性数据集,以方便读者了解相关数据集和工作表 网络安全数据集总结表 类别数据集内 容数据集内 容 万个网络连接和系统审计数据,名用户在 天内的行为数据日志和网络流量 万次会话数据 数据集 次用户操作数据约 亿条网络流量和日志文件数据 数据集约 亿个日
28、志条目 亿个单向流量数据,万个良性和 万个恶意软件数据 个恶意软件数据可执行程序约 个安卓样本数据 个应用程序数据 数据集 个良性和 个恶意软件数据社交和交易网络比特币交易数据交易数据和部分账户标签数百个各种类型的网络数据集约 万个社交网络条目数 在线社区的社交网络数据集 网络安全检测模型网络安全检测模型种类繁多,本节根据图表示学习应用于不同网络安全场景的相关工作,将其分为以下 种类型:)异常事件检测模型:在现代信息网络中,异常事件检测能够发现网络威胁,从而保护企业网络和计算机系统 根据不同系统,异常事件检测模型又可分为计算机系统模型和信息物理系统()模型)恶意软件检测模型:恶意软件是指在没有
29、许可的情况下对计算机系统进行渗透或者破坏的软件 根据不同的平台,恶意软件检测模型又可分为 恶意软件和物联网()恶意软件模型)恶意域检测模型:由于域名系统()在互联网中的关键作用,对恶意域进行有效检测能够阻止以域名为攻击媒介的网络犯罪行为 根据分析数据的不同类型,恶意域检测模型又可分为基于被动()数据模型和其他)恶意账户检测模型:在社交和购物等在线网站中,恶意账户检测通过发现恶意账户来保护网络免受非法活动的攻击 根据检测的具体对象,恶意账户检测又可分为社交、交易账户和其他由恶意账户引起的恶意行为检测模型按照网络安全场景进行分类论述的依据在于,首先,不同场景所产生的数据差异较大,需要根据特定场景中
30、数据的特点来构建适当的图模型,提高后续学习和检测的效率;其次,通过纵向分析同一网络安全场景中构建的检测模型,对比其中的相似和不同之处,能够更全面深入地了解图表示学习是如何应用的;再者,在特定场景下进行讨论,使得图表示学习的应用更具针对性和实用性 由于现实世界中,网络安全威胁的目标大多是计算机软图 图表示学习在网络安全领域中的应用概述图 硬件、系统和移动设备等,因此如图 所示,本小节将重点阐述基于日志和流量的异常事件检测和恶意软件检测的相关工作 此外,还对恶意域及恶意账户的检测工作进行介绍,为后续研究提供基础和思路 小 型 微 型 计 算 机 系 统 年 检测模型性能评估指标为了便于说明,本文提
31、及的常见模型评估指标描述如表 所示,其中正样本指模型任务中需要识别的类别,反之为负样本表 检测模型性能评估指标表 评估指标解 释被模型检测为正样本的正样本被模型检测为负样本的负样本被模型检测为正样本的负样本被模型检测为负样本的正样本准确率,模型正确检测的样本()占总样本的比例召回率,模型正确检测出的正样本 占所有正样本()的比例精确率,模型正确检测出的正样本 占预测为正样本的样本()的比例横轴为负正样本率 (),纵轴为真正样本率 ()的曲线 曲线下面积,介于 之间精确率和召回率的一个加权平均,异常事件检测模型随着检测技术的不断发展,越来越多的研究人员使用机器学习的方法对异常事件进行系统和准确的
32、检测,如 等人使用数据增强算法与混合神经网络来检测异常流量;等人提出一种集成 聚类和自编码器的 入侵检测方法 而图表示学习更侧重于挖掘事件与事件之间的关系,能发现复杂的多步骤攻击或关联威胁等考虑到不同系统中的数据特征不同,分析和处理数据的方法亦随之变化,本小节将回顾和总结使用图表示学习在计算机系统和信息物理系统()中代表性的检测模型 进而根据目前的研究进展和构图类型,将此类检测模型分为使用静态图表示学习和动态图表示学习)计算机系统中的异常事件检测 年,等人将不同系统日志中的各类实体(如用户、日期、源进程等)构建异构网络并通过嵌入查找表获得节点的嵌入向量,计算其之间的成对交互可能性,将具有不寻常
33、低可能性的事件标记为异常 然而该模型不易过度拟合,且只考虑异构网络中的结构信息,这显然是不够的 年,等人在此基础上利用多层感知器和自动编码器分别学习异构网络中节点的属性嵌入和二阶嵌入,并计算混合嵌入向量之间的成对交互可能性,这能够更加全面、深入地检测异常事件随后,通过分析系统日志来检测异常的相关工作不断涌现,如 等人和 等人分别提出的模型 与之不同的是,年,等人提出构建企业网络中日志条目的异构信息图来检测网络威胁的模型 如图 所示,将日志作为节点,日志中包含的属性关系作为边进行构图 接着基于定义的 组边类型,使用 生成节点的路径作为其邻居节点,得到节点嵌入 最后对嵌入向量聚类排序,并设置阈值来
34、识别恶意聚类 在 数据集和 数据集(分别包含 和 个恶意操作)上进行的实验表明,该模型的准确率分别为 和,皆优于对比的其它方法 将日志条目作为节点,减少了图的容量,提高了处理效率 更重要的是,它能够获得更加精细的日志关系图 模型流程图 年,等人从与日志文件有密切联系的实体对象出发,提出的检测模型 对日志中的安全对象和它们之间的关系进行构图,并根据对象属性进行不同类型的编码 最后将编码后的节点放入自编码器()和不同类型的损失函数中用于检测具体的异常边 无需数据中含有标签,其在 数据集上的表现并不逊于其对比的有监督方法以上几种检测模型着眼于对系统中的数据构建静态图以捕捉数据间长久的相互依赖性和稳固
35、的属性 然而在现实中,系统数据中的属性会随时间产生变化,它们之间的连接随着新数据的到来或增加或删减,数据的动态特征亦能为异常检测提供另一维度的分析 例如,当事件中的两个实体在原先的一段时间内没有依赖关系,而突然在某个时间段内频繁关联,则它们间的关联极有可能是异常的 下面将阐述基于动态图异常事件检测相关研究:年,等人提出了一种端对端的异常边检测模型 该模型使用 提取每个时间戳内图的内容和结构特征,基于上下文注意机制()的模型提取短期内的时间特征,最后使用门控循环单元()将其结合,计算每条边的异常分数进行检测 同时通过负采样和边缘损失函数来应对现实数据仅有少量标签的问题 年,等人对动态图进行表示学
36、习,提出了模型 用于检测给定时间窗口内动态图中的异常边 该模型首先提取以目标边为中心的子图,并利用节点标记函数确定子图中每个节点的作用 在使用 和池技术提取子图特征之后,来处理每个时间戳的特征用于异常边检测实验在由 台主机组成的真实企业网络中进行,其中包括正常网络事件记录约 万条,攻击记录 条 实验结果表明,期 刘 亚 等:图表示学习在网络安全领域的应用研究综述 的准确率可达 以上介绍的用动态图检测异常事件的方法在考虑了时间特征后,在其实验数据上均能达到较好的结果 但大多研究在网络安全数据集上采用现有通用技术,而如何针对网络安全数据的特点,设计更具针对性和实用性的方法,仍需要深入研究除了上述代
37、表性研究外,近年来将图表示学习用于分析日志和网络流量等相关研究还有较多,比如 等人提出了一种分层的基于注意力的新型图神经网络()进行 检测;等人提出了无监督的基于异常检测的方法用于网络内部威胁检测;实时主机入侵检测系统 构建流图的直方图来记录主机的系统执行过程,通过对比直方图的一些特征进行入侵检测;等人设计了一个针对分布式系统的、可扩展的、基于审计日志的网络安全监控系统 限于篇幅原因,此处不再一一详细展开更多工作)信息物理系统中的异常事件检测随着互联网技术的不断发展,传统工业领域和互联网的结合越发密切,使得近年来越来越多的研究将图表示学习应用于 等信息物理系统的异常事件检测中 年,等人针对 中
38、的分布式拒绝服务()等网络攻击的传播特性,提出了一种分布式检测方法 该方法将 网络中的 地址、协议、持续时间等进行建图,然后使用 聚合、提取节点和边的特征,再使用两个图多层感知器()用于预测节点异常同年,等人利用 传感器的位置信息构建邻接矩阵,使用二阶非线性多项式图滤波器()来描述和重构传感器数据之间的关系,以及二阶反图傅里叶变换()来对传感器数据重构模型进行频域分析,再将新采集到的传感器数据应用到数据重构模型中作为输入图信号,计算重构误差作为异常值进行检测同样地,在信息物理系统中事件和时间的依赖关系仍扮演着重要角色 年,等人利用多元时间序列,提出了一种基于图偏差网络()的异常检测方法,该方法
39、对传感器数据降维得到的嵌入向量计算其之间的内积,并基于此构建有向图,然后将形成的邻接矩阵用于学习图中相邻传感器的注意力函数,预测传感器的未来行为,最后与已知良性传感器的行为比较,进行检测和解释同年,等人提出了一种多元时间序列的检测模型 该模型使用动态二部图结构来编码时间序列之间的相互依赖关系,图中节点由时间序列和事件组成,两种节点间的边表示事件在该时间序列中发生 该建图方法大大地减少了在多元时间序列中对时间编码的复杂性 实验在 个公共数据集(服务器数据集)、(火星科学实验室漫游者)、(土壤湿度有源被动卫星)中进行,其中在 数据集上,该模型的精确率达到 ,分数则为,优于对比的其他它算法 恶意软件
40、检测模型随着移动互联网和物联网()的高速发展,恶意软件对智能手机和物联网设备也开始产生严重危害 过去,大多数反恶意软件产品使用基于签名的检测方法,但容易被恶意软件攻击者通过代码混淆、多态和加密来规避 也有一些研究,如 等人对恶意软件中的代码进行动静态分析来检测;等人提出基于语义的恶意代码行为特征提取和检测方法 和这些不同的是,使用图表示学习方法,可以识别应用程序在运行中所产生的数据之间的相互依赖关系,从而比其它特性更好地捕捉应用程序的行为,比如软件和设备的关系、软件的接口和系统调用的关系等由于不同平台的恶意软件差别较大,因此,这一小节将根据恶意软件所针对的平台或设备,对使用图表示学习检测安卓(
41、)恶意软件和物联网()恶意软件两方面的相关工作进行讨论 进一步地,应用程序分析又可分为利用源代码和利用实体关系 另一方面,本小节尽可能在有限的 恶意软件检测文献中提取代表性的工作,理清该领域的发展脉络)恶意软件检测 恶意软件有木马类、病毒类、后门类等 它们通过重打包、诱导点击、恶意负载等方法窃取软件信息、致使软件无法使用 常用的检测有基于特征值和启发式的 然而,前者需要不断更新,具有滞后性,无法检测未知恶意软件;后者为了到达更高的检测率,规则设置更为灵活,导致了一定程度上的误报 近年来,图表示学习方法从数据之间的依赖关系出发,被广泛地应用于 恶意软件检测中 根据所构建的图,恶意软件检测模型又可
42、以分为基于源代码和基于实体关系两种类型 前者着眼于软件的实现代码,并基于此构建系统调用图、调用图等,后者关注应用程序运行时的实体,如文件、设备、进程等,并将实体及其之间的关系构建成图)基于源代码的 恶意软件检测模型 年,等人采用两个堆叠自动降噪编码器()分别对程序的函数调用图和 调用图进行学习,然后将两个图的表示向量合并成一个组合特征向量后使用 回归模型进行分类和检测 然而该方法由于只能检测少量数据中的异常,在数据量较大的情形下,很难有优异的表现随着 技术的流行以及该领域的研究逐渐转向动态分析,年,等人开始应用 对 恶意软件进行动态检测 其核心思想是将动态行为数据以有向数据流图的形式表示以保存
43、更多关于恶意软件交互的信息,接着使用基于 的方法用于训练该图获得恶意软件检测结果 年,等人为了简化动态检测的过程,通过对 应用程序进行伪动态分析,构建包含所有执行路径的 调用图,并结合卷积层发现的所有复杂局部特征来进行检测 但由于不同用户所执行的方法调用各不相同,该模型只分析了应用程序中基本调用块,可能会导致错误的识别结果与大多仅检测恶意软件的工作不同,年,等人提出了一种使用图神经网络检测恶意软件并将其分配到已知家族的模型,如图 所示,其核心思想是对应用程序中的静态特征(来自许可信息、组件和可疑的 调用)建图并使用 进行整图嵌入,然后利用独立递归神经网络()和图卷积网络()对学习嵌入向量 小
44、型 微 型 计 算 机 系 统 年的特征,并对每个节点的所有相邻节点特征聚合后进行检测和分类 实验使用 数据集,当正负样本达到 时,分数可达 该方法能够捕获特征之间的长期依赖关系,并且具有极好的可扩展性图 模型流程图 随着技术不断发展,越来越多的模型以减小检测的复杂度和提高检测效率作为重要目标 年,等人提出了一种基于 的轻量级静态分析的 恶意软件检测新方法 该方法使用基于 的近似调用图提取算法代替构建精确调用图,避免了资源消耗和效率低下的问题为了获得应用程序中细粒度更小的特性表示,同年,等人从 应用程序的函数调用图中提取带节点属性和结构特征的函数调用子图,并将其作为 的输入训练以检测和分类 该
45、模型直接将函数调用图作为 的输入,对图进行分类,在完整保留图结构信息的同时,仍存在数据冗余的问题上述模型关注 应用程序的源代码,对其静态特征进行分析和建图 另外,还有一些研究根据 应用程序交互的实体构建异构图)基于实体关系的 恶意软件检测模型 年,等人提出了一个基于 的恶意软件检测模型 如图所示,该方法对文件、机图 模型流程图 器和档案实体和它们之间不同的关系类型构建异构信息网络 接着提出了基于元图的嵌入模型 来学习其中节点的低维表示 最后将多视图融合算法用于融合基于不同元图方案所学习到的表示进行检测 在 云安全中心的真实样本集上进行了验证,其中良性样本为 个,恶意样本为 个,个为未知软件用以
46、训练和测试 实验结果表明,该方法的准确率可达 ,分数为 中元图能够捕捉实体之间复杂的关系,从而增加检测的准确性 目前,已经并入 杀毒软件的扫描工具之中 年,等人提出了一个异构图匹配网络模型 用于 恶意软件检测 该模型对程序中的进程、文件和网络套接字及其交互关系构建异构图,并使用分层注意图神经编码器学习程序表示,接着输入到孪生神经网络中对未知程序和已知的良性程序进行相似性学习,得出评分来识别恶意程序除上述代表性工作外,等人设计了大规模 恶意软件检测的异构信息网络()解纠缠表示学习方法 ;等人提出的一种基于图表示学习的软件功能级源代码漏洞自动识别检测方法)恶意软件检测与 恶意软件相比,恶意软件样本
47、所构造的图具有较少的节点和大量的边信息,这表明其具有更丰富的流结构和更高的复杂性 现有关于 恶意软件检测的文献有限,下面将介绍一些应用图表示学习技术检测 恶意软件的方法 年,等人将应用程序可能的执行路径构建成控制流图,并在此基础上使用字典法将其转化为有字符信息组成的图,最后使用 方法提取局部子图特征,检测 恶意软件过多的检测过程可能会影响模型的性能,因此,年 等人提出了直接将控制流图用于 恶意软件分析和检测的方法 该方法通过将 和 恶意软件样本抽象成一个控制流图,从中提取应用程序的代表性静态特征来分析它们的拓扑特性 进一步地,将上述方法和传统的机器学习方法等分类技术结合检测恶意软件 在实验中使
48、用 个 恶意样本和 个 恶意软件把样本进行分析比较 并且,该实验在 个良性 样本中检测 恶意软件的准确率为 ,正确分类 恶意软件家族的准确率为 同年,等人提出一种新的基于行为的深度学习框架()以保护 免受本地计算机攻击 该框架构造 调用的动态行为图,使用 模型从行为图中自动获取恶意行为的高级表示,其特点在于能够提取出更有意义的抽象特征,提高了检测的平均精度为了更有效率地检测恶意软件,不断有新模型被提出 然而,这些模型可能较易被经过精心设计的训练集污染,导致检测不准确 因此,有一些工作,如 等人通过设计对抗性软件来研究恶意软件检测模型对对抗攻击的鲁棒性,篇幅原因,本文不进一步展开这类工作因涉及恶
49、意软件检测的相关工作较多,本文对以上总结成表 的形式展示 期 刘 亚 等:图表示学习在网络安全领域的应用研究综述 表 恶意软件检测模型总结表 作 者最实验样本数量(良性 恶意)构图类型检测方法最佳性能 等人函数调用图,调用图,回归函数 等人 数据流图 等人静态特征图 (数据集)等人 调用图 等人 调用图 等人函数调用图,调用图 (卷积层)等人实体图(文件、机器和档案),多视图融合算法 等人实体图(进程、文件和网络套接字)相似性度量 等人控制流图 等人控制流图,(模型)等人 调用图,()恶意域检测模型(,域名系统)是一项重要的网络服务,它主要负责易于记忆的域名到 地址之间的转换传统的恶意域名检测
50、方法是基于 相关的局部特征来构建分类器,但这类方法存在一些致命问题,比如许多本地特征往往会被攻击者改变,攻击者以此来逃避检测 为解决这个问题,等人提出了基于多元属性的恶意域检测方法,等人提出基于组行为特征的恶意域检测方法 而主机、域名、地址之间的关系可以用图来表示,为恶意域名检测提供了新的角度,故图表示学习在恶意域名检测领域应用亦十分广泛 所产生的数据有 流量、日志、被动()数据、数据等 目前恶意域的检测工作大多通过在不同数据上构建对应的图来进行分析检测,因此,本小节按照检测模型所分析的不同数据集对相关工作进行分类介绍 年,等人就提出了运用图分析方法来检测恶意域,该文中观察到与已知恶意域有强烈