基于大数据的网络异常行为建模方法

2018-03-20 15:28:49 电力信息与通信技术  点击量: 评论 (0)
随着网络技术的发展,网络攻击方式复杂多变,传统检测技术无法应对未知的攻击模式,因此异常检测技术被提出。文章介绍了目前常见的异常检测技术,并分析了这些技术的优缺点,在此基础上提出了基于大数据的网络异常行为建模方法并分析了可行性。通过聚类算法识别偏离正常的流量,并对偏

0 引言

随着网络技术的快速发展,网络空间安全形势严峻,攻击方式复杂多变,如各种病毒、木马、拒绝服务、欺骗等攻击。同时,随着大数据时代的到来,恶意攻击行为被掩盖在数量庞大的正常网络访问行为之下。若想从海量数据中检测识别出隐藏的攻击行为,首先要能够快速、准确地区分正常网络行为和异常网络行为。

传统的检测技术是基于特征签名或规则的,对于已知的攻击行为能够高效、精确,但无法应对新出现的未知攻击模式。因此,基于误用和基于异常的检测技术被提出,即通过对网络行为进行建模来区分正常的网络访问和异常的网络攻击。这2类技术的核心均是对某类网络访问行为建模,本文将这2类技术统称为网络行为建模与异常检测技术。行为建模与异常检测技术可以弥补传统基于特征签名或规则检测技术在未知攻击识别方面的不足,此外,大数据时代下所积累的数据量也有利于对网络行为建模。

 1 网络异常行为检测技术

1.1 基于核心算法的异常检测方法

异常检测是从数据中发现与预期的正常行为不符合的行为模式,而安全异常则可能是由攻击者采取的恶意行动所造成的。根据采用的核心算法不同,异常检测可分为以下6种方法。

1)统计方法。将给定的数据(通常为正常行为数据)拟合成一个统计模型,对新观察项应用假设检验等统计检验手段来判断其是否符合统计模型。如果计算结果低于阈值,则异常。该方法的优点是无需正常网络行为的经验知识而能自主学习,缺点是假设检验方法和参数选择较为困难,易被将攻击模拟成正常流量的伪装绕过等。典型的方法包括有HIDE[1]、LERAD[2]、PAYL[3]等。

2)基于分类的方法。通过构建一个显式或隐式的分类模型,将网络流量模式划分成若干类,它的突出特点是需要标注数据进行行为模型的训练,这个过程对资源的需求较高。这类方法通常使用包括k-近邻、决策树、支持向量机器等机器学习分类算法。该方法的优点是能够使用新数据灵活更新扩展检测系统,缺点主要是训练所需的成本较高,且对新攻击模型无检测能力。典型的方法包括有ADAM[4]、DGSOT[5]、DNIDS[6]等。

3)基于聚类和离群点的方法。聚类是指将对象划分成组(称为簇)的过程,目标是使得位于同一个簇内的对象相似度高,而位于不同簇内的对象相似度低。常用的聚类算法包括K-Means、DBSCAN等。基于正常网络访问行为量远大于异常行为量的假设,这些离群点和一些包含数据点较少的簇被认为是异常。聚类算法的优点是不需要标注数据,计算开销,且性能表现稳定,缺点是动态更新的复杂度较高,距离量度方式对结果影响大,且大多仅适用于连续性数值属性(如实数型)。这类方法的典型代表有MINDS[7]、ADMIT[8]、PAIDS[9]等。

4)基于软计算的方法。基因遗传算法、人工神经网络、模糊逻辑、蚁群算法、人工免疫算法等都在此类方法之列,这些方法的不确定性和不精确性与网络异常检测问题的特征恰好符合,能够良好应对数据样本中存在的不一致性问题,而缺点在于大多数方法存在可扩展性问题。这类方法的典型代表包括GBID[10]、RT-UNNID[11]、FIRE[12]等。

5)基于知识的方法。每起网络事件都会与一系列预先定义的规则或攻击模式进行匹配检查,目标是能够将已知攻击使用一种泛化式的表达来覆盖,这类方法包括有专家系统方法、基于本体的方法、基于逻辑的方法、基于规则的方法和状态转移分析方法等。这些方法的优点是检测率高、健壮性高、灵活性高,主要缺点是需花费大量时间才能产生有价值的知识经验,对于有偏差的数据可能会产生大量误报,动态更新知识库难度大等。典型的代表方法包括Snort[13]、KBTA[14]等。

6)基于组合学习的方法。组合学习是指综合使用多种技术的方法总称,主要包含集成方法、融合方法和混合方法3个子类别。集成方法的基本思想是构建若干个独立的分类器,再对它们各自的结果进行加权组合得出最终的结论。组合的方法主要有3种,即装袋 、提升和叠加 。融合方法主要针对于多数据源的场景,可以对来自不同源的数据进行综合处理、分析与决策。典型代表方法包括有McPAD[15]、HMMPayl[16]、RT-MOVICAB-IDS[17]等。

1.2 基于HTTP流量的异常检测方法

基于HTTP流量的异常检测方法主要是基于对提取出的HTTP数据包的分析,可以分为两大类:一类是基于知识的方法,也就是将已知的攻击使用某种方式进行有效表达,检测过程即为知识库匹
[18];另一类是基于分类或软计算的方法,主要是使用一些机器学习算法或软计算方法对提取出的HTTP数据包特征进行分类检测模型的训练构建[19]。对HTTP流量提取这些特征后,基于标注数据集使用决策树、支持向量机、人工神经网络、模糊逻辑等算法进行检测分类模型的离线训练构建,即可用于在线的异常检测。

1.3 基于NetFlow流量的异常检测方法

基于NetFlow流量的异常检测中最简单同时也最常用的方法就是基于阈值的方法,只要统计的结果超过预先设定的阈值,则认为是异常流量。阈值的设定直接影响检测的效果,不适当的设置可能会造成大量漏报或误报。为了减少错误,通常辅助以基于特征比对的方法和基于连接状态的方法。

1)基于特征比对的方法通过观察每一种异常行为并归纳其攻击特征,从而指导设定相应的阈值。如当某个IP地址符合特征的数量超过预设的阈值时,即判定为异常。

2)基于连接状态的方法是指对网络整体的连接状态进行分析,其出发点是蠕虫、病毒和DDoS 攻击等都会在短时间内产生出大量的连接以实现传播感染,而在新主机遭受感染后又会重复同样的传播行为再次产生大量连接,因此可以利用这个整体连接特征进行分析,找出网络中存在的异常流量。

1.4 自适应的异常检测方法

自适应可以分为两大类,分别是指阈值自适应和模型自适应。前者是指根据实际的网络环境动态调整异常判定的阈值,而后者是指检测模型可以根据新出现的攻击行为进行自适应学习和更新。

1)阈值自适应方法的主要出发点是网络流量动态多变,一个网络不同时段的流量是不同的,但是各个时段又呈现出一定的周期性。阈值自适应方法的典型代表是基于时间序列的方法[20],包括有自回归和移动平均模型ARIMA、Hot-Winters线性平滑模型、卡尔曼滤波平滑模型等。

2)模型自适应方法的主要特点是检测模型可以根据网络流量数据进行自学习和更新,从而能够适应动态变化的网络环境,提高对新攻击的检测能力[21],因此,所有基于学习的方法均可划分到这个类别中。

 2 网络行为大数据异常行为建模

2.1 建模流程

网络行为大数据异常行为建模检测分若干个阶段连续运行,分析在固定长度的连续时间窗口内抓取的网络流量。

2.1.1 数据收集

1)首先是使用部署在网络中的设备对网络流量进行抓取,并根据HTTP流量、NetFlow记录等数据格式的不同需求进行数据包的解析或汇总。为了适应大数据处理的需要,抓取的网络流量数据将直接输出到分布式处理平台(如Apache Hadoop)以便后续的高效计算处理。同时网络流量数据是一种数据流,可以借助如Apache Kafka等工具对其进行组织,形成从数据源(流量采集设备)到分布式处理平台的数据管道。

2)抓取到原始流量数据后,将按连续的固定长度时间窗口对数据进行多分辨率流聚合。以NetFlow数据为例,Flow将在不同级别进一步聚合,从粗粒度到细粒度可以包含的级别有:时间窗口内的所有流量、同源端网络前缀、同目的端网络前缀、同源端IP地址、同目的端IP地址等。对聚合后的数据采用基于时间序列分析的技术,即变化检测(change detection)算法来判断某个时间窗口是否存在异常。

2.1.2 特征提取

在上一步骤中被判定为存在异常的时间窗口包含的所有流量数据将作为后续步骤的输入,按照源端IP地址和目的端IP地址2种聚合键对流量数据进行聚合及特征提取,且这2个聚合键的选取对应着两大类的网络异常:“1-to-N”异常和“N-to-1”异常。

对于每种聚合的网络流量数据,定义并计算提取的特征分别为:对于HTTP流量,可以是HTTP请求/响应数、请求参数个数/长度、请求参数字符分布熵等;对于NetFlow,可以是源/目的IP地址数、数据包数、数据包总字节数、数据包长度分布熵等。为适应大数据场景,采用分布式计算引擎(如MapReduce或Spark)来完成这些特征的计算提取。

2.1.3 网络行为建模

提取特征后,即可应用聚类算法处理以形成网络流量的分簇并计算相应的异常度值,从而完成对正常网络行为和异常网络行为的建模。本文将采用子空间聚类算法来产生不同的数据划分,再在子空间上应用基于密度的聚类算法,在离群点的排序中采用证据积累聚类技术。

2.1.4 异常检测

在得到各个离群点的不相似性度量及排序之后,异常检测将通过基于阈值的方法完成,阈值的确定可以采用如下方法。

1)选用固定不相似性度量值,即通过经验设置某个预定的不相似度量值作为阈

大云网官方微信售电那点事儿

责任编辑:售电衡衡

免责声明:本文仅代表作者个人观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
我要收藏
个赞