谭明强(中国移动通信集团贵州有限公司,贵阳 550001)
基于分类器联合的分布式安全威胁检测
谭明强
(中国移动通信集团贵州有限公司,贵阳 550001)
本文对异常流量检测技术和云计算技术的结合进行了相关研究,提出了一个基于云计算技术的网络异常流量数据分类算法,该系统基于Hadoop技术框架实现了无监督的模糊K-means分类算法和有监督的朴素贝叶斯分类算法的并行计算,然后采用这两个分类器对数据中心海量流量数据进行联合检测,基于的联合分类算法在检测准确率和处理速度上有极高的效率,可以实现对数据中心的海量网络流量实时检测,以及发现网络安全威胁,保障业务健康稳定运行。
Hadoop;云安全;大数据;异常流量;安全威胁
1.1框架说明
本文提出了一种基于Mahout技术的分布式异常流量检测技术,它基于模糊K-均值和朴素贝叶斯分类算法,使用检测探针在海量网络数据处理平台的网络出口位置对流量数据进行探测分析,实现对大型云计算平台的网络流量近实时异常检测。分布式异常流量检测技术使用检测探针对上下行流量数据进行检测,生成相应的流记录,并将其存入该平台的云存储中。异常流量检测技术对流量采用“流”的形式进行检测。本文提出的异常流量检测技术是一个适用于实际云计算环境的整套解决方案。同时,配合网络硬件监测设备,该系统可以适用于各大数据中心的异常流量近实时检测。结合云存储的相关技术,可以实现网络流量的存储及再分析。
当前,基于大数据Hadoop的海量网络数据处理平台的安全防御体系是由一系列的安全服务构成,包括传统的防火墙、IDS、流量控制、网关等安全设备,也包括本文介绍的异常流量检测技术。通过与海量网络数据处理平台的需求紧密结合,云安全技术体系可以为其提供立体化全方位的安全保护,而基于云平台提供的海量存储能力和高性能计算能力,异常流量检测技术能够快速高效地检测出各类网络攻击和网络异常行为,达到快速可靠地保障云平台安全的目的。
1.2分类算法选择和实现
基于分类器联合的分布式异常流量检测技术基于大数据Hadoop的MapReduce运算机制,并作为海量网络数据处理平台的一个模块,实现对云平台网络流量的检测和异常流量的判定。算法的基本思想是利用历史测量数据构建训练模型,对新测量数据与模型进行匹配,利用串联式多级判别算法来判定新测量数据是否是异常数据。图1是本算法的整体流程图。本文基于历史流量数据构建模型并进行训练,然后进行该模型对检测到的流记录进行判定分析。
收稿日期:2015-11-16
图1 分类器联合检测算法流量
1.2.1 模糊K-均值算法
模糊K-均值算法是一种常用的聚类算法,其基本原理是通过从原始数据中提取出K组的模糊矩阵再计算出最开始的聚类中心向量矩阵。然后再通过特定的目标函数,使用多次迭代的方法找到最合适的分组和中心,使得目标函数最小,并按照最大隶属的原则进行分类。在处理大数据时,模糊K-均值算法具有较高的效率和伸缩性,适合本文中对海量网络数据流的处理。
1.2.2朴素贝叶斯分类
朴素贝叶斯分类器需要假设用于分类的各个属性值之间是条件独立的。该假设条件如果成立,则朴素贝叶斯分类器具有优于其它分类器的准确度。因此在本文,我们采用流量特征选择算法从流统计特征指标中提取出合适的特征指标集合,保证选取的特征指标与类属性既有较强的相关性,同时各个指标之间又不相关。
1.2.3基于Mahout的并行分类算法
Mahout是一个运行在Hadoop上的用于进行数据分析和机器学习的分布式软件框架,它采用MapReduce机制实现了一系列可扩展的数据挖掘算法。本文对模糊K-均值和朴素贝叶斯分类算法进行实现,改进后的基于Mahout的分类算法可以在MapReduce框架上的并行化运行,具体算法实现流程如下。
(1)基于Mahout框架模块K-均值算法实现流程。首先在提交作业时配置数据输入信息,将需要分类数据转换为量向数据并将数据进行分散化(计算中心点与向量数据之间的欧式距离)。在重新计算中心点向量时,将样本数据重新分割到Map任务模块,让各个Map任务并行算出向量的累加和,然后当Reduce任务模块开始运算后,让Reduce任务对各个Map任务输出的中间结果进行累加并计算出新的中心点,最后返回该算法运算结果。
(2)基于Mahout框架模块朴素贝叶斯分类实现流程。该算法同样需要对样本数据进行序列化的预处理,然后完成数据的训练和分类运行。在进行数据的训练时,该算法需要在训练样本数据中累加各个Y标志相对应的xj=k,算出P(xj=k|y=1),P(xj=k|y=0)和P(y)。然后在Mahout数据分析框架中配置该算法的Map运算任务,用于计算公式(1)~(4)最后由Reduce任务模块对Map任务产生的中间结果进行累加获取最后的运算结果。
1.3分类器联合判定算法
本节对于基于分类器联合判定算法进行详细说明。首先描述了本文提取的原始网络流记录的特征指标值,然后利用特征选择算法进行特征指标提取,从中选取较为有用的一些特征指标值,最后对本文提出的分类联合算法进行描述。
1.3.1流统计特征描述
基于流统计特征的异常流量检测方法适应海量网络流量数据的检测。基于流形式的检测,并将云计算技术引入异常流量检测系统中,不仅能克服模式匹配固有的缺点,更能提高系统检测性能。
1.3.2流统计特征提取
本文根据上一节的分析选取合适的流统计特征指标来对海量网络数据处理平台的流量进行检测,并基于Mahout技术对流量记录进行快速分类,检测其中的异常流量,提高海量网络数据处理平台的安全性。
本文首先使用流统计特征指标选择技术来找到上述特征指标中识别度最高的一组集合,然后再使用分类器对其进行学习训练。流统计特征指标的选择如图2所示。
图2 特征指标选择流程
在本文我们使用CFS (Correlation-based FeatureSelector)算法来进行特征指标子集的选取。CFS算法的特征指标选取公式如公式(5)所示。其中Ms是采用CFS算法运算得到的特征指标子集s的值,n为该子集所包含的指标数量,rcf表示选取的指标与类的相关性的平均值,rff表示选取的指标之间的相关性的平均值。
对于特征指标的相关性,本文可以采用Symmetrical Uncertainty方法进行计算。假设X和Y为特征指标,则Y的熵如公式(6)所示,在X条件下Y的熵如公式(7)所示。从公式中可以看出,指标X和Y相关性可以表示为X对Y的信息增益,定义如公式(8)所示。
结合CFS算法和指标相关性计算,本文可以从流统计特征指标中提取出合适的特征指标集合,保证选取的特征指标与类属性既有较强的相关性,同时选取的特征指标集合不存在冗余,又恰当地反映出分类属性。
1.3.3联合判定算法
联合判定算法采用计算当前流量统计样本与历史数据样本临近度的方式来进行分析,综合了模糊K-均值和朴素贝叶斯分类构建的模型,具体包含两部分,对历史数据的离线学习和对流量数据的在线分类。同时,为了验证联合分类算法的准确性,我们在后续使用采集到的样本流量数据进行实验分析。综合判定算法的流程图如图3所示。
图3 综合判定算法流程图
计算该流量数据的统计信息,包括均值和均值标准偏差等。根据流量数据的统计信息对其进行预处理。
基于Mahout实现模糊K-均值算法和朴素贝叶斯分类器同时对流量数据进行检测;其中模块K-均值算
(表示第i个样本对类别J的隶属度,x为样本值, K为聚类数,b为参数)计算出样本中各个数据对于各个聚类中心的隶属度函数值,并根据计算值,采用公式(m为各个聚类中心,b为控制模糊程度的一个常数,值大于l)。更新各个聚类中心,重复迭代计算直到结果稳定。模糊K-均值算法对流数据的异常系数的计算公式如公式(9)所示。其中,Ps为初始得到的该簇的异常系数,F为需要判定的流量数据点)表示需要判定的流量数据点到k个簇中心点的欧式距离之和,di为F至该簇聚类中心的欧式距离。如果得到的异常系数Pf值小于0.5,则判定该数据点为正常数据,否则为异常数据。而训练后的朴素贝叶斯分类器通过对流量数据中各个流进行判定,根据先验概率计算出其所属类的后验概率,判定流量是否为异常流量。
综合模糊K-均值和朴素贝叶斯分类器的异常流量检测结果,我们对流量进行综合判定。当模糊K-均值和朴素贝叶斯分类器的判定结果一致时,则该结果作为最终判定结果。若不一致,则采用KNN最近邻原则来重新进行判定,从样本流量数据中找出k个与等待最终判定的数据流特征指标最为接近的样本数据流,使用公式(10)来进行相似度计算,根据与待判定数据最为相似的多数样本流量类型来决定待判定流量的类型。
2.1实验环境
基于Hadoop的海量网络数据流处理平台系统部署架构图如图4所示。
表1是本文实验中用到的6个数据,数据中标记了流量的各维统计信息,如此大的真实网络数据保证了本文研究的价值。
2.2实验方法及结果分析
在本实验中,本文对流量测试数据采用了多次十折交叉验证的方法进行测试。我们将采集到的流量数据分成10份,每次使用其中的9份作为训练样本,剩余一份作为测试样本,循环10次求均值。
图4 云计算异常流量检测系统部署图
由于本文采用MapReduce技术实现分类器算法的分布式并行运算,因此本文的分类器在性能上有较大的提升,其性能随着云计算集群计算能力的提升而不断提高,所以本文主要关注点在与分类器的检测准确率。在该分布式异常流量检测系统中,准确率是该分类器检测出正确的正常流量和异常流量数占全部样本流量数的比率。异常流量检测分类结果实例如表2所示。
从表2中我们可以计算出分类器的准确率指标,即正确判定出的正常流量数和异常流量数占所有样本流量总数的比率。同时,结合上述指标中的误报率和漏报率,我们可以对单个模糊K-均值、单个朴素贝叶斯分类器,以及联合分类器的异常流量检测效果作对比分析。
我们对样本数据流使用3种分类算法分别进行训练测试,样本数据流A1、A2和A3是连续3天,每天从早8点到晚20点连续12 h采集的流量数据,因此使用
表1 实验数据
这3组数据作为一个组进行分析。异常流量的检查效果可以用误报率、漏报率和准确率来衡量。在保证越低的误报率和漏报率的基础上,我们希望能够获得尽可能高的检测准确率。通过这3组数据的测试,从中我们可以看出分类器联合的异常流量检测效果优于单一的模糊K均值和朴素贝叶斯分类器。分类器联合检测算法可以在判定过程中很好地降低对数据的误判率,同时漏判率也有大幅度的降低。这表明本文提出的算法,可以有效地避免单一算法的缺陷,较为全面的对网络流量进行异常检测,具有很高的可行性。
表2 流量检测分类结果实例
从A4和A5的实验结果我们可以看出随着数据量的增长,基于分类器联合的分布式异常流量检测算法的准确率略有下降。但是由于采用了多种分类算法的联合判决,其检测的准确率和稳定性均优于采用单一算法的检测结果。此外,在实验结果中模糊K-均值算法的准确率虽然均高于贝叶斯算法,但其误判率也高于贝叶斯算法。因此本文提出的基于分类器联合的异常流量检测算法可以克服单一检测算法的缺陷,通过联合无监督的模糊K一均值分类算法和有监督的朴素贝叶斯分类算法,使得对于海量的网络流量数据异常检测结果更加准确,同时通过MapReduce技术来对分类算法进行实现,可以极大地提高检测速率,实现对云平台的安全保障工作。
海量网络数据处理平台中存储着大量重要的移动互联网流量数据。因此我们除了采用传统的网络安全设备来保障该平台的安全外,还需要尽力提高其安全性。同时传统的入侵检测技术己经无法满足云计算环境下的海量数据流信息的安全防护。本文提出的应用于云计算平台的异常流量检测技术具有以下优点。第一,基于MapReduce技术的异常流量检测技术,通过采用分布式并行计算模式来对数据进行处理,可以实现对海量数据流的高效检测,避免传统入侵检测技术的效率问题。第二,引入了特征选择技术,从流量数据中提取有价值的流量分类数据,为后续更加有效地检测出异常流量提供帮助。第三,基于分类器联合的检测技术,模糊K-均值算法是无监督的分类算法,朴素贝叶斯分类是有监督的分类算法,通过结合有监督和无监督的分类算法,本文可以更为全面的对网络异常流量进行检测,以提高海量网络数据处理平台的安全性。
Distributed security threat detection based on classifier combination
TAN Ming-qiang
(China Mobile Group Guizhou Co., Ltd., Guiyang 550001, China)
It is necessary to carry out the research work of the data center cloud computing and virtualization of network security technology, to strengthen the information security capabilities of cloud computing environment, to prevent data centers being attacked by hackers, data theft and other risks. In this paper,we study the anomaly traffic detection technology and cloud computing technology, and propose a data classification algorithm based on cloud computing technology. The system is based on Hadoop technology, which is based on the unsupervised fuzzy K-means classification algorithm and Naive Bayesian's supervised classifi cation algorithm. Then the two classifi ers are used to detect the data center.
Hadoop; cloud security; big data; abnormal fl ow; security threat
TN918
A
1008-5599(2015)12-0021-05