基于流量特征建模的网络异常行为检测技术
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第8卷第4期2019年7月Vol. 8 No. 4Jul. 2019网络新媒体技术
基于流量特征建模的网络异常行为检测技术*
*本文于2018 -05 -09收到。
*中科院率先行动计划项目:端到端关键技术研究与系统研发(编号:SXJH201609)。
黄河▽邓浩江3陈君I
C 中国科学院声学研究所国家网络新媒体工程技术研究中心北京100190 2中国科学院大学北京100190)摘要:基于流量特征建模的网络异常行为检测技术通过对网络流量进行特征匹配与模式识别,进而检测岀潜在的、恶意入侵 的网络流量,是网络异常行为检测的有效手段。
根据检测数据来源的不同,传统检测方法可以分为基于传输层信息、载荷信 息、主机行为特征等三类,而近年来兴起的深度学习方法已经开始应用于这三类数据,并可以综合应用三类数据,本文从技术 原理与特点、实验方式、取得的成果等方面对上述技术路线进行了综述,并分析了存在的主要问题和发展趋势。
关键词:网络异常行为,异常检测,模式识别,流量特征建模,深度学习
Network Abnormal Behavior Detection Technologies
Based on Traffic - feature Modeling
HUANG He 1'2, DENG Haojiang 1'2, CHEN Jun 1
(1 National Network New Media Engineering Research Center, Institute of Acoustics , Beijing, 100190, China ,
2University of Chinese Academy of Science , Beijing, 100190, China)
Abstract : The network abnormal behavior detection technology based on traffic - feature modeling can detect potential and malicious intrusion of network traffic by feature matching and pattern recognition of network traffic , and is an effective measure of network abnor - mal behavior detection. According to the different sources of detection data , traditional detection methods can be classified into three categories based on transport layer information , on load information , and on host behavior characteristics. In recent years , the deep learning method that has emerged has begun to be applied to these three types of data , and can be comprehensively applied. This paper summarizes the above technical routes in terms of technical principles and characteristics , experimental methods , and achievements , and analyzes the major problems and development trends..
Keywords : Network abnormal behavior, Anomaly detection , Pattern recognition , Traffic - feature modeling, Deep learning 0引言
“互联网是第一种由人类建造,但不为人类所理解之物,它是有史以来我们对无序状态最疯狂的实 验。
”⑴Google 公司前首席执行官Eric Schmidt 在2010年的这段公开谈话直观揭示了因特网的混沌性与复 杂性,其背后的逻辑在于因特网用户行为的多元化。
时至2018年,全球因特网的接入用户数量与数据总量 和2010年相比已经不可同日而语⑵,网络安全牵涉到信息社会中公共安全和个人隐私、财产的方方面面,网 络安全问题正成为学术研究和工程应用中亟待解决的难题。
本文涉及的是基于流量特征建模的网络异常 行为检测技术,这是网络安全技术的一个分支,它的核心思想是通过对网络流量进行特征匹配与模式识别,
12网络新媒体技术2019 年进而检测出潜在的恶意入侵的网络流量。
Chandola 等人[3]在2009年将该类技术面临的挑战总结为以下 几个方面:①对入侵者的检测准确率往往不能适配应用的需求,这是因为一方面入侵者往往将自己伪装为 正常访问的用户,另一方面数据中所包含的噪音和异常入侵数据有一定相似性,这都影响了检测准确率的 提升;②在许多应用领域中,网络正常行为的定义不断变换,当前正常行为概念在接下来的时间段可能不再 具有典型性,需要提升检测技术对网络行为变化的快速适应能力;③定义一个涵盖所有可能的正常行为的 定义域是非常困难的;④对于不同的应用领域,异常的确切概念是不同的,需要根据具体领域设计功能细化 的异常检测器。
总而言之,以上4点可以依次归纳为异常检测的准确性、实时性、自适应性、兼容性等4个方 面,其中前两点是当前检测技术的研究重点。
Buczak 等人于2016年总结的一份近年来基于机器学习和数 据挖掘的入侵检测方法报告⑷指出,其详细列表比较的43项工作中,有39项重点在于检测准确性提升,14 项重点在于检测实时性提升,两点都涉及的有10项,两者都不涉及的为0项;而自适应性和兼容性在该报告 中没有体现。
在学术研究中,“准确性”的提高可以通过选择特定模型、特征工程、增加迭代深度来实现,但这些工作 会使得模型复杂度提升,反过来抑制了“实时性”的提高,两者相互制约,是该问题的技术瓶颈之一。
自80 年代以来,世界各地的研究者从传输层到应用层各种各样的数据入手,采用的工具从专家系统到深度学习, 逐渐提高了该类检测技术的各项性能。
近年来深度学习算法等自学习工具的应用,保障了准确性、实时性 的同时,也使得自适应性和兼容性得到了较大的改善。
1传统的网络异常检测方法
对流量特征进行建模,研究的对象即为流量数据本身,需要根据合适的目标数据选用具体检测方法。
从目标数据的角度出发,国内外的传统研究可按提出的时
间和性能的提升顺序,分为基于传输层数据、基于流量载 荷和基于主机行为信息3种循序渐进的方式。
1.1 基于传输层IP 、端口映射
基于传输层IP 、端口映射检测方法将根据网包传输层
的端口号映射到应用层协议类型⑸,也能把具体IP 与具体
的服务提供者/攻击者相联系,它是最早被提出并投入应 用的检测方法。
最简洁的实现方式便是建立有关IP 信息和入侵可能
性的映射的专家系统。
这一方法的首次实现在1988年, Lunt 等人[6]在此思想指导下,结合网络实时审计记录设
计了实时的异常检测专家系统,这种使用预定义规则的方
法能够实现实时检测以及精细到用户级别的调参,如图1
所示。
系统会同步监听并保存每个用户的行为记录并定
期更新,以此决定该用户的行为是否异常。
然而基于规则
的专家系统的3个缺点:①规则之间层次关系不透明;②面 对大量规则时的低效搜索;③没有学习能力,制约了该方
法的进一步发展,具体体现在当异常规则和用户数目过多 时,基于规则的专家系统面临的计算复杂度使得其难以应
用。
为了对IP 信息的先验知识进行层次化梳理,Kumar 等 人[7]采用了 Petri 图进行表征学习,该结构不但能在一定
程度上具有对未知流量的检测作用,也有利于设计异步的、多点并发的高性能检测系统,但其面对复杂特征
异常行为检测监听得到原始数据解析出数据收器用户更新管理者界面二)异常行为记录-1 -监听记录用户记录显示器图1 Lunt
的异常检测专家系统
4期黄河等:基于流量特征建模的网络异常行为检测技术13
的计算复杂度较高。
随着启发式算法在80年代的研究热潮,也被用到该类检测算法中。
Sinclair:8]采用遗传算法与决策树结合的方法,可从较为复杂的IP与端口数据集中学习出用于异常流量诊断的决策树。
Li的相关工作⑼只采用了遗传算法,但加入了网络日志中包含的流量时间特征,提高了检测能力。
然而这些方法的实验均集中在有限的实验室自身流量数据集上,在实时场景中的大多表现未予阐述。
采用基于传输层IP和端口映射的检测方法最大的优点是分类的快速,只需要根据网包包头的字段进行分类。
但随着网络应用的增加,基于Web的应用越来越丰富,企业和运营商也有将社会网络、网页邮件等基于Web的应用进行细粒度分类的需求,这都是基于传输层的方法无法满足的,也会给检测带来极高的时间
复杂度。
根据Moore和Papagiannaki[10]在2005年的调查与对比实验,基于传输层IP和端口映射的方法只能达到不超过80%的准确率,长达十年,难以突破,网络异常检测需要引入对IP端口信息以外的非普适性的网络数据的分析才能进一步得到提高。
基于传输层IP 和端口映射检测方法准确率如表1所示。
表1基于传输层IP和端口映射的检测文献方法意义
Lunt⑹基于规则的专家系统开创之作
Kumar[7]Petri图引入了状态图方法,提升了自适应性Sinclair,厂遗传算法与决策树73%准确率,KDD
口⑼遗传算法78%准确率,KDD
Moore字符串匹配80.84%准确率,真实数据集
1.2基于流量载荷信息
随着网络用户在2000年之后的大幅增长,网络应用百花齐放,网络流量载荷中含有的信息也越来越丰富,一定程度上能够代表用户的行为特征,基于载荷信息的检测方法也应运而生。
基于流量载荷信息的分类方法将流量的载荷与预定义的一组特征规则匹配,每条特征规则代表一种应用层协议。
特征规则通常采用精确字符串、正则表达式以及协议解析器描述,通过流量匹配的特征规则可以判断流量的应用,并据此进行流量甄别I例如,匹配正则表达式规则“"ssh-[12]\.[0-9]”的是安全通道(secure shell,SSH)协议。
与特征已经预定义好的基于传输层IP和端口映射方法不同,基于载荷信息的网络异常行为检测可以解耦为应用特征提取和基于特征的流量甄别两个问题。
应用特征提取问题主要基于人工完成,近年来也有一些研究者提出了一些自动提取协议特征的方法,如Park等人[12]采用了改进的最长公共子串算法,可从一系列类似网包中自动提取共同部分作为特征。
该算法可简化描述如下:①假设恶意网包长度为m,所带的规则为“abed”,当且仅当待测网包拥有“abc”、“bcd”、“abcd”其中之一时将会被检测为恶意网包;②待测网包长度为n,内容为“ABbcda”或“ABbcab”。
对图2所示的动态规划转移图进行线性遍历,遍历规则是:若勺的横纵坐标对应的字符相同,则勺=+1;否则勺=0。
若任何一个格子出现“3”或“4”就会宣布待测网包为恶意,可见第一个待测网包为恶意而第二个不是,该检测可以在O(nxm)时间内完成。
图2动态规划转移图
现有的研究大多数集中在使用统计工具提升特征匹配算法本身的性能,其中Hua等人[13]采用改进的状态机区块的正则表达式匹配算法,大大减少了搜寻过程中的内存重复应用,但状态机构建的复杂度相应
14网络新媒体技术2019 年上升;Krugel [14]设计了一种特殊的度量衡,即对请求类型、请求长度和载荷特殊字符的加权平均,来测度异 常流量,这样可以略过异常程度较低的流量,将计算资源集中在异常量检测中;Ye [15]利用了卡方分布的有 偏性质设计了一种快速检测方法;Shyu [16]第一个使用主成分分析法(principal component analysis , PCA)来 对流量进行无监督分类,可摆脱对流量分布类型的依赖,获得极快的训练速度,其降维之后的变量含义模糊 且不利于调参,即无法基于此进一步提升检测性能。
另外一个重要的研究思路:利用网络流量的特性以及规则特点降低分类的复杂度,进而提高系统的性 能。
基于此类思路的方法主要集中在入侵检测系统中,利用实际网络流量中大部分不会匹配入侵检测的任 何规则这一特性提岀优化方案。
针对字符串匹配的入侵检测系统,Sourdis 等人[17]提出了一种两步匹配的 预过滤方案,如图3所示。
首先将所有网包切分成头部和载荷,对不同特征进行不同的预处理,提取匹配规 则必须出现的四字节长的子字符串,与字节规则匹配,则以这些四字节的子字符串对流量进行预过滤。
然 后,通过流量匹配的子字符串的不同,流量可能匹配的特征规则数量大大减少。
基于流量载荷信息的检测 方法归纳如表2所示。
图3 Sourdis 的载荷预处理方式
1.3基于主机行为统计特征
基于载荷的检测方法有两个固有的缺点:①需要对海量
载荷进行筛选特征的计算,这在网络流量较大的时候是不可 取的;②难以抵抗伪装性的攻击。
这就需要对主机行为进行 统计,以还原出对应的流量的真实目的。
基于统计信息的流 量甄别多采用机器学习(Machine Learning )的方法,根据流量
的统计特征(比如网包的平均包长、平均到达的时间间隔等) 进行分类。
基于统计信息的流量甄别方法使得我们能够对
表2基于流量载荷信息的检测文献方法Park t ,2]
载荷最长公共子串匹配Hua [I3]空间优化的全包字节正则表达式匹配
Krugei [,4]载荷字符频率统计与传输层信息结合
Ye®】
卡方分布匹配Shyu 〔⑹载荷字符PCA
Sourdis I"〕载荷与头部分别字符串匹配
私有协议、加密协议进行在线分类,尤其是当前互联网应用的私有化、加密化趋势加快,机器学习强大的自 动学习与分类性能使得该方法得到了持续的研究和关注。
基于统计信息进行流量甄别的基本想法是不对网包的载荷进行匹配,仅仅利用网络流级别的统计信 息,通过机器学习的方法对流量进行分类。
作为该类方法的鼻祖,Moore 等人[18 ]提出用贝叶斯分类器进行 流量甄别的方法,贝叶期分类器用带标签的样本集进行训练,对样本流量进行人工标注。
Moore 提出的方法 中采用的统计特征有TCP 端口号、网流持续的时间、网包到达的时间间隔、网包载荷的长度等,通过贝叶斯 分类器将流量分为了网页、邮件、数据库、P2P 、文件传输、多媒体几大类。
进一步,在高维数据分类中性能更 强大的支持向量机(support vector machine , SVM)和决策树受到了研发者的青睐。
支持向量机迭代过程如 图4所示,图4(a)是分类平面为无斜率的初始态,图4(b)通过线性计算将分类平面调整到合适角度,虚线 为支持向量平面,图4(c)在有需要的情况下加入一些非线性步骤以抗噪声。
决策树的原理如图5所示。
Heller : 19]首先将SVM 应用到了 Windows 系统注册表异常值检测中,SVM 能够将高维的注册表信息在核中 进行分类,进而迭代求出正常异常值的分类平面。
针对SVM 不抗噪声的弱点,Hu [20]提出了一种鲁棒SVM 的方法,采用对类别中心进行数值平均的方式,使得分类表面更加平滑且自动控制正则化,同时减少了支持 向量的数量,这样可抗噪声并降低运行时间,但检测准确性受到一定损失。
彭飞也[
提出了一种使用推荐系
4期黄河等:基于流量特征建模的网络异常行为检测技术15
统协同过滤原理对网络服务质量(quality of service,QoS)进行预测的方法,这样预评估特定服务的可信程度,进而对其流量做检测预判,降低检测系统负担。
由于各种基于统计信息
的方法都只对部分协议准确
度和识别率较高,因此研究者
们提出了多种分类器组合的
方法,对同一网络流量同时用
多个监督机器学习的分类器
进行分类:Williams[22]将一
路流中网包到达时间间隔的
信息(最小间隔、最大间隔、
均值方差等)应用在贝叶斯
树、C4.5决策树等机器学习
方法中,取得了93%以上的
图5基于决策树的检测示例
准确率;Auld[23]在此基础
上加入了大量IP、端口信息与载荷的信息进行特征重新组合,用于贝叶斯神经网络和SVM的组合中,实现了对大范围种类的数据流量的检测。
这类方法基于的假设是不同应用产生流量的可观察统计特征不同。
Szabo[24]采用的是决策树和SVM的组合,实现了高维处理能力和大型数据集处理能力的统一;Gaddam[25]和Muniyandi[26]等人结合无监督的k-means以及有监督的决策树,简化了决策树的特征工程,其中后者使用C4.5决策树在KDD99数据集上达到了99.6%的准确率,在优化了大量处理时间的前提下接近该数据集的历史最佳值;Shon[27]则将遗传算法和SVM相结合,展现了对真实环境数据集的广泛适用性。
其他的基于主机行为的分类方法包括:Trestia讥28]提出了一种利用Google搜索进行网络异常行为检测的方法,通过查找主机IP地址在网络中的“足迹”信息,结合关键词抽取技术完成流量甄别,但是此方法在部分国家和地区受到一定限制。
谢逸在其工作⑺)中提出了应用隐马尔科夫模型(Hidden Markov Model, HMM)来对用户行为进行分析的实用模型,通过对被攻击端的观测值计算网络流量向量的最大似然函数值,进而推测出主机执行的调用是否符合正常操作的hmm,最终判断是否入侵流量,这种方法已经达到98%以上的检测准确率,但是其计算时间复杂度过高,制约了它在实际场景中的应用。
为了提高检测速度,即“实时性",Feng[30]首先应用启发式算法来最小化SVM的迭代训练数据集,并成功在检测速率和时间消耗方面实现更好的性能,然而SVM固有的不抗噪声的缺点制约了该快速模型的准确率,只能达到85%左右,制
16网络新媒体技术2019年约了它的应用。
基于主机行为统计特征的检测方法如表3所示。
1.4传统技术路线的问题与趋势
以上三种技术路线,尤其是基于主机行为统计特征的路线,对维护网络安全起到了突出的作用,但随着近年来网络应用的多样化和异常数据集的大型化,传统路线仍有以下问题需要进一步研究。
(1)对大型、新型数据集的检测准确性。
前文提到的各类方法准确率大多在90%以下,较低的准确率意味着,含有大量不同类型流量的大型流量数据集将会有更多的异常流量绕过检测,受到影响的设备与应用数目显然将远超以往。
而且在应用多元化的网络场景中,流量多分类检测也有着越来越重要的意义,多分类问题的准确性要求更高。
因此,随着网络应用的蓬勃发展和接入设备数目的爆发式增长,检测准确性的要求将会越来越高。
表3基于主机行为统计特征的检测文献工具
Moore1⑻贝叶斯
Heller t,9]SVM
H u[20]抗噪SVM
WiUiams[22]贝叶斯、C4.5决策树等多种方法平行测试比较Auld贝叶斯+SVM
Szabo(241决策树+SVM
Muniyandi K-means+C4.5决策树
Shon t27]遗传算法+SVM
TrestianS]Google搜索
谢逸3】隐马尔科夫模型
Feng⑶]粒子群算法+SVM
(2)对未知网络数据集的特征工程。
从前文提供的数据来看,检测的准确性在数据集的所有特征均被提取出来并以适当格式输入后才能得到突破性的提升[22'25'261o如今的真实网络环境存在着大量的流量类型与数据特征,逐一对其进行细致的特征工程并不现实,各种特征交叉、训练时调试将大大降低检测器的构建效率。
因此,如何在保证一定准确性的前提下,尽可能简化对数据的特征工程,仍然是网络异常检测的重要课题。
(3)与其他学术方法的融合。
可以在现有的卓有成效的工作基础上,在网络异常检测中融合图像、声音信号检测的成熟方法,将对该领域的研究有着开创性的意义。
随着计算机性能的提升和机器学习方法的兴起,深度学习作为机器学习方法的一个重要分支,也逐渐被应用到网络异常检测中。
基于人工神经网络的深度学习方法不但在多分类问题中拥有着出色的分类准确性⑶〕;也由于其表征学习的特性能够自动进行数据集的特征提取,极大简化了特征工程;再者,已有的图像、自然语言方面的深度学习应用有相当多的成熟工作是数据分类与异常检测⑶[,可以在网络异常检测研究中借鉴。
使用深度学习方法的网络异常检测是当下研究的热点。
2基于深度学习的网络异常检测方法
基于主机行为统计特征的检测方法所采用的数据的结构化程度较低,因此擅长在非结构化数据中做模式识别的深度学习方法可应用在该类数据上;进一步地,传输层数据和载荷数据经过一定特征工程后也能够通过深度学习方法取得准确性和自适应性的提升。
深度学习技术一定程度上打破了各个域之间不同数据的藩篱,以下概述的研究所使用的输入数据不局限于第1节中提到的3种数据的任何一种,因此在主机行为特征的基础上加入了其余两种数据。
Javaid等人于2015年提出了一种依托深度学习框架进行异常流量检测的方法®他们设计了一种基于模糊神经网络(fuzzy neural network,FNN)的自主学习系统(self-taught learning system),能够对无标签的流量数据进行非监督的特征学习,然后将学习到的深层表达式存储在一个新的FNN中,应用于有标签的NSL-KDD数据集进行分类,在准确率(accuracy)、精确率(precision)、召回率(recall)±获得了相对于传统机器学习方法的明显优势。
进一步的工作分别将深度学习方法扩展到了软件定义网络(software defined network,SDN)、安卓恶意软件、网页数据等领域中,Tang[34]使用双层深度神经网络(deep neural network, DNN)对KDD99数据集中精选的6个主要特征进行分类,实验表明,DNN方法无论是准确率还是其接收者
4期黄河等:基于流量特征建模的网络异常行为检测技术17
操作特征(receiver operating characteristic,ROC)曲线的AUC值都显著超过了专门设计的决策树和SVM,证明了深度学习方法在流量检测中的巨大潜力。
Dong[35]设计了全面的实验来对比受限玻尔兹曼机和传统机器学习方法,如决策树、SVM之间在应用层入侵检测方面的性能,并证明了该深度学习方法在更大尺度的数据集上的性能优势。
Yuan[36]将深度信念网络应用到Android恶意软件的动态与静态检测中,在对超过250个Google Play Store上的安卓应用的恶意软件集进行测试后,取得了超过93%的准确率,远超传统机器学习的78%-80%。
在计算机视觉以及自然语言处理中表现优异的卷积神经网络(convolutional neural network,CNN)与循环神经网络(recurrent neural network,RNN)也逐渐被迁移到网络异常检测中。
CNN的优点在于发现数据的空间特征,因此其处理出现大量异常网包的异常状况时得心应手,例如网络入侵检测。
如图6所示,将待测的网包做成二维图片形式即可直接为CNN所用。
Yu[37]将CNN与聚类方法相结合,实现了半监督的检测方法,在基于真实网络环境的网络会话的数据集上取得了超过95%的多分类准确率。
Hodo等人使用CNN来检测物联网网络的拒绝服务攻击并获得了99%以上的准确率。
这样做的依据是物联网系统的网包尺寸较小,而且大小较为规整,便于做成轻量级的基于CNN的网络流量分类器。
在Malware(恶意软件,通常是蠕虫、木马等)检测中,由于恶意软件产生的流量格式化较强,能体现出一定的视觉效果,可视为是图片从而使用图像处理算法来研究,王伟[39]和Yakura[40]等人的工作均围绕着这类数据展开,取得了高达96%以上的准确率和召回率。
更进一步,针对新型的基于机器学习方法生成的恶意流量(这种流量的统计性质往往不同于传统恶意流量,难以辨别,欧阳锋等人提出的Cyber Effects攻防模型即为示例),Wang[42]提出了一种针对敌对恶意软件样本的基于生成性对抗网络(generative adversarial nets,GAN)的方法,取得了高达95%的检测准确率以及70%的生成型流量抵抗性,表明对抗性的深度学习方法能够在新型网络安全事件中实现出色的性能。
本文作者正在运用深度学习方法在流量特征数据上进行异常流量检测,并为相关深度学习模型设计了针对“检测准确度和训练速度之间的平衡”的改进方案削。
卷积核K:3x3
图6CNN简化模型
RNN主要用于网络行为序列的建模,可用于一些具有固定工作序列的系统中,如互联网+中得到大力推进的信息物理系统(cyber-physical system,CPS)o Goh等人在污水处理厂的CPS中试验了基于RNN的网络异常检测系统⑷),该系统很好地对一个时间周期内水位水温等参数进行了正常模型建模,并同时监控了传感器工作情况,获得了高达95%的检出率和相当低的假阳性率(false positive)o Kim等人在KDD99数据集上测试了RNN的长短时记忆(long short term memory,LSTM)结构,证实了RNN的在解决入侵检测问题上的较强能力⑷),但输入模式不如CNN方便。
郝怡然等人[46]将RNN类似结构的递归神经网络用于网络。