基于孤立森林算法的移动警务网络流量监测方法研究

来源 :软件 | 被引量 : 0次 | 上传用户:whhdgcr
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘  要: 本文针对移动警务网络复杂多变、数据量大的特点,提出一种基于孤立森林算法的网络流量监测方法。该方法以网络IP数据流为基础,通过对IP数据流提取特征参数,并将特征参数作为输入向量,利用孤立森林算法进行训练以实现监测。这种方法能够快速、有效地检测出移动警务网络中的异常流量,精确率高,在一定程度上对移动警务网络的智能运维和安全防护起到重要作用。
  关键词: 孤立森林,算法,移动警务,网络,流量监测
  中图分类号: TP391.0    文献标识码: A    DOI:10.3969/j.issn.1003-6970.2019.12.051
  本文著录格式:袁艺芳,李雁,陈绪,等. 基于孤立森林算法的移动警务网络流量监测方法研究[J]. 软件,2019,40(12):229232
  Research on Mobile Police Network Traffic Monitoring Method
  Based on Isolated Forest Algorithm
  YUAN Yi-fang1, LI Yan2, CHEN Xu2, GAO Yong-long2, XI Xin2
  (1. Science and Technology Information Bureau of the Ministry of public security 100005, China;
  2. Tianjin Public Security Bureau Science and Technology Information Office 300393, China)
  【Abstract】: Mobile police network is complicated and changeable, and it has a very large amount of data to be handled. According to these characteristics, a network traffic monitoring method based on isolated forest algorithm is proposed in this paper. This method is based on the IP network data. Feature parameters are extracted for each IP data flow, and the feature parameters are taken as the input vectors for isolated forest algorithm to train isolated trees and achieve monitoring. This method can detect abnormal traffic in mobile police network quickly and effectively, which can play an important role in intelligent operation and security protection of mobile police network.
  【Key words】: Isolated forest; Algorithm; Mobile police; Network; Traffic monitoring
  0  引言
  2002年以来,公安部對公安信息移动接入及应用系统安全建设进行不断完善,全国公安系统信息化得到了很大的提升。2017年初,天津市公安局新一代移动警务系统开始建设,目前已建设完成投入运行。新一代移动警务平台体系相对复杂、运维成本高且难度大,平台中一旦出现问题,往往需要大量的专业人员参与,协同诊断问题,耗时长,代价高。为缓解以上问题,我们对移动警务平台中网络流量数据进行分析,利用一种基于孤立森林算法的网络流量监测方法对网络流量异常检测。目的是可以及时发现网络攻击行为和网络结构问题引起的异常流量,从而增强网络态势感知能力和安全防护能力,对移动警务平台的智能化运维有重要推进作用。
  网络流量异常是指网络的流量行为偏离正常行为的情形,引起的原因有网络设备异常、网络操作异常、闪现拥挤异常、网络攻击行为等。目前,国内外学者已经提出了多种网络流量异常检测方法,通常可分为基于分类、基于统计、基于聚类及基于信息论的网络流量异常检测方法等[1-4]。这些网络流量异常检测方法,通常首先需要对正常和异常的网络行为、网络流量模式分别进行定义和分析,其次通过特征分析、数据建模等方式对网络流量数据进行检测。大多方法局限性较强,对特定模式或者特定特征的网络异常行为才有较好的检测效果,而且前期数据分析和建模工作量大,部分方法复杂度也很高[5,6]。
  移动警务网络复杂多变、数据量大,未知的网络结构或者网络行为模式时有发生,而且在移动警务网络流量分析中异常流量具有随机性、孤立性和稀疏性,因此获取网络异常流量的难度较大。因此很多情况需要在无监督下进行检测,在执行监测任务中,对时效性要求往往也比较高,这进一步对我们选择的方法提出了更高的要求。孤立森林算法是一种基于集成的快速无监督异常检测方法,具有线性时间复杂度和高精准度[7]。本文基于孤立森林算法提出了一种网络流量监测方法,可以快速、有效地进行网络流量异常检测,对于未知网络结构或者网络行为的情况有较好的检测效果,可适用于移动警务网络流量监测中。
  1  孤立森林(iForest,Isolation Forest)算法原理   孤立森林算法由刘飞、陈开明、周志华在2008年首次提出[8]。不同于其他异常检测算法通过距离、密度等量化样本间疏离程度的方式,孤立森林算法利用一种被称为孤立树(iTree,Isolation Tree)的二叉搜索树结构来孤立样本,通过对样本点的孤立来检测异常值。由于异常值的数量较少,而且与大部分样本疏离,因此异常值会被更早地孤立出来。
  iForest 由t个iTree组成,每个iTree是一个二叉树结构。实现步骤如下[9]:
  训练阶段:
  (1)训练数据集, 。从中随机选择个样本点构成的子集,放入树的根节点。
  (2)从个维度中随机指定一个维度,在当前节点数据中随机产生一个切割点,切割点产生于当前节点数据中指定维度的最大值和最小值之间,即:
  。
  (3)以此切割点生成一个超平面,将当前数据空间划分为2个子空间:把指定维度小于的样本点放入当前节点的左子节点,大于等于的样本点放入当前节点的右子节点。
  (4)递归步骤(2)和(3),不断构造新的子节点,直到所有的子节点中只有一个样本点(无法再继续切割),或孤立树已到达指定高度。
  检测阶段:
  把所有的iTree树构建好之后,就可以对测试数据进行检测了。
  对于测试集中的每一个数据样本点,令其遍历每一棵孤立树iTree,计算点在森林中的平均高度,并对所有点的平均高度做归一化处理。点在iTree上的高度,即点在iTree树上从根节点沿对应的条件分支往下走,穿过中间的节点,直至到达叶子节点,在此过程中经过的路径长度,或者说所走过的边的数量。图1中是4个测试样本(a,b,c,d)遍历一棵iTree的示意图。可以看出,b和c在这棵iTree的高度为3,a的高度是2,d的高度是1。而d最有可能是异常,因为其最早就被孤立(isolated)了。
  图1  测试样本遍历一棵iTree示意图
  Fig.1  Test sample traversing an iTree schematic
  异常分数的计算公式如下:
  (1)
  其中
   (2)
  是二叉搜索树的平均路径长度,用来对结果进行归一化处理。而其中的是调和级数,可以通过公式来估计,是欧拉常数,其值为0.5772156649。
  异常分数的使用,通常根据以下原则:
  (1)异常分数越接近1,则其是异常点的可能性越高;
  (2)如果异常分数远小于0.5,那么基本可以确定为正常数据;
  (3)如果所有异常分数都在0.5附近,那么数据不包含明显的异常样本。
  在移动警务网络流量中,绝大部分是正常流量,正常的业务流量相对集中于若干种业务类型。如果对业务流进行适当的特征提取和特征筛选,得到能够表征业务流特点的特征向量,使正常业务流与异常流有较好的区分度,然后使用孤立森林算法进行异常流量检测,则异常流量将与大部分样本有较高的疏离度,异常值更容易被孤立出来。我们以对IP数据流的检测为例,提出了基于孤立森林算法的网络流量异常检测方法。
  2  基于孤立森林算法的网络流量监测方法
  本文提出的基于孤立森林算法的网络流量监测方法流程如图2所示。
  图2  基于孤立森林算法的网络流量监测方法流程图
  Fig.2  Flow chart of network traffic monitoring method based on isolated forest
  我们首先采集大量IP数据包,得到每个IP数据包的源IP地址、目的IP地址、协议号、源端口、目的端口、时间戳、包长、序列号、确认号、FLAGS标识等数据。然后根据IP包的这些数据,按会话区分出IP数据流(同属于同一个会话数据包分为一个流)。流是指符合特定的流规范(specification)和超时(timeout)约束的一系列数据包的集合[10]。对于每个IP数据流提取出一组特征,包括流内的数据包数量、数据包平均长度、数据包最大长度,长数据包数量、短数据包数量、流的总延时,数据包最大延时、数据包平均延时、长延时数据包数量、单向数据包数量、数据包重发数量等参数。其中在统计长数据包数量和短数据包数量时,可以把数据包的长度与设定的阈值相比较,长度大于和小于该阈值的数据包分别作为长数据包和短数据包。在判定长数据包和短数据包时,也可以分别使用不同的阈值,具体阈值根据数据的情况设定。数据包的延时由该数据包与流中上一个数据包的时间戳之差换算得到,将第一个数据包则延时设为0。长延时数据包数量则是指流中数据包延时大于设定阈值的数据包的数量。单向数据包数量是指流中由同一个源IP地址和源端口发出的数据包的数量。数据包重发数量则是指流中数据包的序列号与前面数据包序列号相同的情况发生的次数。这些特征参数反映了流的规模、大小分布、到达时间间隔、网络质量等情况。
  整个方法流程分为训练阶段和检测阶段,简述如下:
  在训练阶段,利用大量数据作为训练数据集,对于訓练数据集提取出各个流的特征参数后,把每个流的一组特征参数组成一个向量,然后根据孤立森林算法训练阶段的步骤进行训练,构建所有的孤立树iTree。
  在检测阶段,对于测试数据集提取出各个流的特征参数并组成向量,然后根据孤立森林算法测试阶段的步骤,把测试集中的每个特征向量,遍历每一棵孤立树,计算其在森林中的平均高度,以及计算异常分数,根据异常分数判断测试样本是否属于异常数据。
  3  实验结果
  3.1  实验数据集
  使用DPDK网络数据包加速技术[11]对限定范围内的移动警务网络的IP数据包进行采集,通过用户态协议栈libnids对数据包进行前期处理[12],然后从获取的1.06亿左右的IP数据包中分离出182639个IP数据流作为训练数据集,另外将分别来自5个服务器的数据作为测试数据集,其中来自每个服务器的IP数据流大约14000条。对训练数据集和测试数据集中的每个流提取出一组特征参数,其中在统计流中长数据包数量和短数据包数量时,分别使用了不同的阈值进行判断,长度大于500的数据包判定为长数据包,长度小于100的数据包判定为短数据包。统计流中长延时数据包数量时,延时的阈值设定为流中数据包平均延时。
其他文献
语言是人类文明发展的一个重要标志,更是人与人进行交流的重要方式。在婴幼儿成长过程中,语言能力是身心发育的重要部分。中国是一个多民族多方言的国家,普通话是中华民族的共同
燃烧是将燃料的化学能转化成热能的过程,是柴油机运行的核心过程,是决定柴油机的效率及污染物排放的最重要的一环.
2007年9月17日,中共中央政治局召开会议,研究拟提请十六届七中全会讨论的十六届中央委员会向中国共产党第十七次全国代表大会的报告稿和《中国共产党章程(修正案)》稿。中共中央总书记胡锦涛主持会议。   会议认为,党的十七大是在我国改革发展关键阶段召开的一次十分重要的大会,对于鼓舞和动员全党全国各族人民开创中国特色社会主义事业新局面具有重大意义。全党同志要坚持以邓小平理论和“三个代表”重要思想为指导
建设社会主义和谐社会,是我们党从全局出发提出的一项重大任务。组织部门作为党委的重要职能部门,必须把工作放到构建社会主义和谐社会中思考和研究,找准着力点和切入点,牢固
“七一”前夕,中共中央总书记、国家主席、中央军委主席胡锦涛在中央党校省部级干部进修班发表重要讲话,深刻阐述了事关党和国家工作全局的若干重大问题,提出了四个“坚定不
2007年3月8日,胡锦涛总书记在参加十届全国人大五次会议重庆代表团的审议时强调,越是形势好了,越要保持清醒头脑;越是条件好了,越要发扬优良传统。各级干部特别是领导干部要
李厚杉原名(李厚山),1941年出生于山东临沂,50年代初被中国著名画家王小古收为入室弟子,后又受教于崔祝生、鄣仲选、刘海粟大师。近50年来,他不负众恩师所望,毫不懈怠地实践
新款波罗(Polo)轿车和宝来(Bora)轿车均采用了制动辅助系统,它可以缩短防抱死制动系统(ABS)起作用的时间。为了说明制动辅助系统的作用,不妨先看一下没有制动辅助系统和有制
期刊
今年以来,我们江苏省盐城市射阳工商局以“健康人生、忠诚卫士”教育为主题,以建立健全教育、制度、监督并重的惩防体系为重点,创造性地开展了廉政文化建设“五小”活动,取得
本文的研究属于专题性讨论,而非系统性的讨论。所选的专题都是我们在实际对外汉语教学中经常被遇到的难点。由于我们是非汉语母语者,因此本文所关注的问题和角度与汉语本体研究