APP下载

卫星导航系统监测站加密流量检测方案

2018-05-10姚旭

现代导航 2018年2期
关键词:分类器加密机器

姚旭

(中国电子科技集团公司第二十研究所,西安 710068)

0 引言

卫星导航系统主要由空间段、地面控制段、用户段三大部分组成。地面控制段是卫星导航系统的核心组成部分,主要任务是对在轨卫星进行信号收发与观测。地面控制段由数据中心、地面天线、监测站和通信系统组成。其中监测站是卫星导航系统地面控制段的重要组成部分,监测站的主要任务是跟踪监测导航信号,接收导航卫星电文,测量监测站相对导航卫星的伪距、载波相位和多普勒等观测数据和采集监测站周围的气象数据。监测站通过互联网与数据中心连接,将采集到的原始卫星观测数据按一定的文件格式进行记录,并采用加密算法对数据进行加密后,通过互联网传输至数据中心,为导航系统的体制验证、技术试验、关键技术验证评估以及导航相关产品的研发提供基础数据。

然而,随着网络应用的种类和数量不断增加,网络流量急剧增加,使网络带宽超载。如何有效、高速地在巨大的网络流量中识别加密流量,去除冗余流量,从而能快速地找到加密后的卫星导航原始观测数据,就成了一个亟待解决的重要问题。

本文提出一种基于机器学习的网络加密流量识别技术,其优点是针对加密协议未知、应用负载未知的网络应用,不依赖端口和应用协议的解析识别网络加密流量,而是利用网络流量传输时表现出的各种统计特征来进行识别,相比基于端口和 IP地址的网络加密流量方法,本文从识别效率、稳定性、可扩展性方面都有很大提高。

1 相关研究工作

国内外许多学者在网络加密流量识别方面做了许多研究工作。罗丞等[1]提出了PCA算法在P2P加密流量识别中的研究与应用;王变琴等[3]提出了一种新型的基于数据挖掘的应用识别方法;吴震等[4]提出了基于信息熵的流量识别方法;刘悦等[5]研究了基于小波支持向量机的P2P网络流量识别算法;王珊等[7]针对应用层协议和内容分析,采用了状态机的研究方法;王蛟等[8]根据可信任列表,研究出了一套了具有启发式优点的流量监测模型;Y.Zhang等[12]在研究后门技术时,也提出了如何检测加密流量的方法。机器学习相比较上述方法而言,具有不依赖端口、应用协议和负载的优势,在网络加密流量识别方面得到了广泛的应用。

机器学习是根据对人类学习机理的了解建立人类学习过程的认识模型,发展各种学习方法,研究通用的学习算法并进行理论上的分析,建立面向任务的具有特定应用的学习系统。机器学习是一门多领域交叉学科,广泛应用于计算机视觉、生物特征识别、医学诊断、机器人运用和数据挖掘领域等,其中数据挖掘被广泛运用于计算机网络领域中。图1所示是简单的学习模型。

应用于网络流量分类的机器学习模型中[6]时,环境指网络环境,提供的信息机网络数据包或数据流,知识库部分代表通过学习建立的分类规则,具有判别流量类型的能力,执行部分代表对未知流量的分类,基本结构如图2所示。

图1 机器学习模型

图2 基于机器学习的网络流量识别基本架构

机器学习算法是机器学习建立知识库,对输入信息进行学习的原理依据,是基于机器学习的网络流量识别系统的重要部分。按学习形式的不同,机器学习分为:

(1)有监督学习(Supervised Learning),通过对有类型标记的样本进行模型训练,获得样本与流量类型之间的映射关系,再对未知样本进行预测,分类识别率较高。

(2)无监督学习(unSupervised Learning),其学习样本的类型未标记,样本中类型的个数也未知,通常使用聚类学习方法,得到相应的聚类模型,再对未知样本与各聚类的距离来进行分类,该方法不需要标记样本数据,但分类准确率低于有监督的分类方法。

(3)半监督学习(Semi-Supervised Learning),介于有监督和无监督学习之间,根据少量已标记样本和大量非标记样本进行训练模型后,对未知样本进行分类识别。

本文从流量识别的准确率角度考虑,采用有监督学习算法对网络加密流量进行分类研究。

2 基于机器学习的网络加密流量检测模型

本文针对协议未知的加密流量的检测,采用单个数据包特征属性,提出一个基于机器学习的网络加密通信流量检测模型,该模型采用有监督机器学习的方法。主要包含三个部分:数据预处理、机器学习建模、分类器测试评估。如图3所示。该模型的工作流程图如图4所示。

图3 基于机器学习的网络加密流量检测模型

图4 基于机器学习的网络加密流量检测流程图

数据预处理:

(1)数据采集:主要从离线网络数据文件中解析数据包,常见的离线数据包文件有pcap文件、dump文件,然后把数据集分为机器学习建模要用的训练数据和机器学习分类要用的测试数据。

(2)PBF特征集:采用基于单个数据包特征的 PBF特征集,设特征属性集其中代表第i个属性。特征属性集中有效分类的特征属性越多,分类的准确性和效率将越高,本文针对协议未知、负载未知的加密流量的识别,在避免提取IP地址和端口等易于伪装和变化的属性的前提下,在基于数据帧的结构上定义一种用于机器学习的特征属性集——PBF特征属性集。

机器学习:此部分是模型的核心部分。机器学习训练的过程亦是对样本数据进行训练构建分类模型的过程,根据样本类型已知的样本数据与其向量取值的对应关系,通过机器学习后,形成对应模式分类方法的一系列参数,形成了流量分类模型,即分类器。所以机器学习算法在建模过程中作用至关重要,机器学习算法性能好坏将直接影响分类器的性能。在研究对比了C4.5决策树算法和AdaBoost算法后,提出了一种将这两种算法相结合的AdaBoost-C4.5的算法,提高了分类器的性能。

分类及评估:利用已经建立的分类模型对样本类型未知的测试数据集进行分类。若测试数据集已标记了样本类别,则该过程可以用于测试分类器的分类性能,若分类效果较好,则可以考虑将该分类模型运用到实际中。

2.1 PBF特征集

本文选取的基于数据包的属性集是以数据帧为对象提取各协议层首部中的字段组合而成[2][10][11],由 37个特征和一个类别属性组成,主要针对帧、IP层、传输层(UDP头、TCP头)头部进行特征字段进行提取,并将该特征集命名为PBF(Packet header Based Features),部分属性见表1。PBF特征属性集是基于单个报文提取的特征,在进行加密网络通信的流量识别时,可以对数据包进行早期的、实时的识别,而且该特征集具有通用性,可以运用到任何加密通信流量的识别。

表1 部分特征属性集

2.2 AdaBoost_C4.5分类器模型

通过对提高机器学习模型的分类性能,综合C4.5决策树算法[9]与 AdaBoost算法,本文提出了一种AdaBoost_C4.5算法,即AdaBoost算法中的弱分类器采用C4.5决策树分类器,所以可知AdaBoost的每一个弱分类器都是一颗决策树。图 5显示了AdaBoost_C4.5分类器的模型。

结合C4.5决策树算法与AdaBoost算法的分类优势,提高加密流量的分类准确率。图 6显示了AdaBoost与C4.5算法相结合后的模型训练过程,t指弱分类器的级数,T指AdaBoost的迭代次数。首先标记样本,第一次出初始化样本权重,得到的样本根据提取的特征属性与 C4.5决策树算法来建立“C4.5弱分类器”,而后根据分类结果增加分类错误样本的权重,降低分类正确样本的权重,使下一轮训练弱分类器时更关注错误样本,得到一个新的样本,再重复上述步骤,以此循环类推,循环次数t以 C4.5弱分类器的分类准确率来判定,若 C4.5弱分类器的分类准确率低于某一个下限值,就将停止循环。最后生成T个弱分类器。再将这T的弱分类器计算每个弱分类器的权重,投票生成AdaBoost_C4.5强分类器。

图5 AdaBoost_C4.5分类器

图6 AdaBoost_C4.5分类模型建立过程

3 实验与分析

3.1 实验评估标准

评价流量识别最直观的性能指标是样本的分类准确率。以分类2种加密流量A和非加密流量B为例,分类结果矩阵如表2。

表2 分类结果矩阵

其中TP表示加密流量被正确分类的样本数,FN表示加密流量被错误分类为非加密流量的样本数,FP表示非加密流量被错误分类为加密流量的样本数,TN表示非加密流量被正确分类的样本数。

根据以上概念,定义衡量分类模型的3个常用指标,加密流量的召回率Recall(记为R),正确率Precision(记为P)如下:

在以上评价指标中,准确率P衡量属于加密流量的样本被正确分类的比例。召回率R衡量了本应是加密流量的实例被正确分类的比例。

3.2 实验数据

本文实验如表3所示。选择PBF特征集中38个特征数进行分类。分类算法由 WEKA 实现。

表3 实验数据

3.3 实验结果

用本实验的样本同时应用于C4.5分类器算法,和 AdaBoost分类器算法,将测试结果与本系统进行比较,结果如表3所示。分类器测试结果表4为三个分类器在各数据集上表现。

表4 三个分类器在各数据集上表现

从表4中,我们可以得出以下结论:

(1)准确率:AdaBoost_C4.5分类器具有较高的分类准确率,平均准确率都在99%以上。

(2)分类时间代价:由于AdaBoost_C4.5算法较为复杂, AdaBoost_C4.5分类器耗费较多的时间来建立模型。

(3)模型分类性能:AdaBoost_C4.5分类器在分类正确率,分类错误率以及总体准确率上均高于C4.5分类器和AdaBoost分类器。

(4)稳定性:AdaBoost_C4.5分类器具有良好的稳定性,适宜用于实际网络环境进行测试

4 结论

本文通过分析网络数据包的特征,总结出了PBF特征集,建立了以AdaBoost-C4.5算法为分类器的机器学习加密流量识别模型,通过机器学习从大量训练数据集中挖掘并自动生成加密流量识别规则,实验得到了较好的识别性能,为数据中心快速检测出卫星导航加密的原始观测数据做出了贡献。

猜你喜欢

分类器加密机器
机器狗
一种新型离散忆阻混沌系统及其图像加密应用
机器狗
一种基于熵的混沌加密小波变换水印算法
未来机器城
基于差异性测度的遥感自适应分类器选择
基于实例的强分类器快速集成方法
加密与解密
基于层次化分类器的遥感图像飞机目标检测
一种基于置换的组合分类器剪枝方法