中国科技核心期刊      中国指挥与控制学会会刊     军事装备类重点期刊
工程实践

基于机器学习的舰艇网络入侵检测技术

  • 徐文良 ,
  • 张永胜 ,
  • 程健庆
展开
  • 江苏自动化研究所, 江苏 连云港 222061

作者简介: 徐文良(1993-),男,山东海阳人,硕士研究生,研究方向为网络安全。

张永胜(1979-),男,硕士,高级工程师。

Copy editor: 张培培

收稿日期: 2018-12-29

  要求修回日期: 2019-01-22

  网络出版日期: 2022-04-28

版权

版权所有,未经授权,不得转载、摘编本刊文章,不得使用本刊的版式设计。

Ship Network Intrusion Detection Technology Based on Machine Learning

  • XU Wen-liang ,
  • ZHANG Yong-sheng ,
  • CHENG Jian-qing
Expand
  • Jiangsu Automation Research Insitute, Lianyungang 222061, China

Received date: 2018-12-29

  Request revised date: 2019-01-22

  Online published: 2022-04-28

Copyright

Copyright reserved © 2019

摘要

针对舰艇网络所面临的安全威胁,提出了结合舰艇网络业务特征构造舰艇网络入侵检测数据集并基于机器学习开展舰艇网络入侵检测的方法,构造了一个具备45维特征舰艇网络训练和测试数据集,设计了5种舰艇网络入侵检测机器学习算法,并完成了各算法的试验及对比分析,通过实验验证,DBN-SVM算法是一种可靠的入侵检测算法,可为舰艇网络入侵检测提供有效支撑。

本文引用格式

徐文良 , 张永胜 , 程健庆 . 基于机器学习的舰艇网络入侵检测技术[J]. 指挥控制与仿真, 2019 , 41(2) : 137 -140 . DOI: 10.3969/j.issn.1673-3819.2019.02.026

Abstract

Aiminging at the security threats faced by the ship network, this paper proposes a method of constructing ship network intrusion detection data set which combines ship network service characteristics and carrying out ship network intrusion detection based on machine learning. This paper constructs a 45-dimensional characteristic ship network training and test data set, then five kinds of machine learning algorithms for ship network intrusion detection are designed, and the experiments and comparative analysis of each algorithm are completed. Through experiments, DBN-SVM algorithm is a reliable intrusion detection algorithm, which can provides effective support for ship network intrusion detection.

舰艇网络作为舰载作战系统信息传输、交换的核心枢纽,已逐步由单个系统向全艇一体化网络,甚至是编队一体化网络的方向发展。舰艇网络在保障水面舰艇、潜艇内部及对外信息交互的同时,也面临着来自舰艇网络内部以及外部的各种安全威胁,作战舰艇作为军事力量前沿存在,一旦舰艇网络被敌成功攻击,轻微情况下可导致内部信息的泄露,严重情况下可造成目标情报、作战指令被非法截获、篡改、伪造,从而造成不可估量的损失,因此发展安全高效的舰艇网络入侵检测技术是十分重要的。
传统的基于规则匹配的入侵检测方法误报率高、检测时间较高,难以应对未知的网络威胁,并且一般的、通用的入侵检测技术也无法有效地结合舰载业务特征,为了适应舰艇网络安全发展的需要,本文提出了一种针对舰艇网络入侵的检测模型,介绍了入侵检测的工作流程、评价方法,设计了舰艇网络数据集构造方案及多套舰载网络数据入侵检测的机器学习算法,并完成了各算法的实验及对比分析。

1 入侵检测

1.1 入侵检测基本概念

入侵检测是指从计算机网络的若干节点或计算机系统收集数据并对其进行分析,从中发现网络或系统中是否存在违反安全策略的行为和被攻击的对象。入侵检测系统可以分为信息采集、信息分析、系统响应三大部分。 其中,信息采集部分主要负责收集计算机系统日志信息和网络流量数据;信息分析部分负责对信息采集部分收集的数据进行分析建模并通过数据识别网络入侵行为;系统响应部分负责接收信息分析部分的数据分析结果,并对该结果做出系统响应,系统响应包括断开计算机网络连接、对该数据行为进行告警或记录相关数据留作证据等。入侵检测的具体过程如图1所示。
图1 入侵检测工作流程

1.2 入侵检测评价指标

入侵检测的主要性能评估指标有入侵检测准确率Acc(Accuracy)、误报率FA(False Alarm Rate)、漏报率MR(Missing Rate)和检测时间等。其中,准确率表示入侵检测结果准确的样本数量与所有样本比值。准确率越高,则说明入侵检测系统性能越好,反之,则性能越差。误报率表示入侵检测系统将正常样本错误地标记为入侵样本的数目与正常样本总数比值。误报率越低,说明入侵检测系统性能越好,反之,则性能越差。漏报率表示入侵检测系统将异常样本识别为正常样本的数目与异常样本总数的比值。漏报率越低,说明入侵检测系统性能越好,反之,则性能越差。检测时间表示为检测一定数量的数据所需要的时间。检测时间越短,说明入侵检测系统性能越好,反之,则性能越差。
准确率计算公式为
Acc= TP + TN TP + TN + FP + FN
漏报率计算公式为
MR= FP FP + TN
误报率计算公式为
FA= FN TP + FN
其中,TP表示正常样本中被判别为正常行为的样本数量,TN表示入侵样本中被判别为入侵行为的样本数量,FP表示入侵样本中被判别为正常行为的样本数量,FN代表正常样本中被判别为入侵行为的样本数量。

2 基于机器学习的舰艇网络入侵检测模型

2.1 舰艇网络入侵检测模型

基于机器学习的舰艇网络入侵检测模型如图2所示。该模型总体分为三个模块:数据采集及预处理模块、特征降维模块和入侵检测模块。
图2 舰艇网络入侵检测模型
数据采集及预处理模块负责从舰艇网络空间采集特定特征的数据,并将该数据中的字符串按照一定的规则转换为数字,之后将数据进行归一化处理,得到标准数据。
舰艇网络入侵检测数据集中存在大量的字符串数据,无法直接进行数值运算,需要将字符串转换为数字。本文采用one-hot方法对字符串进行处理,以协议类型特征为例,在舰艇中通讯方式有tcp、udp、icmp三种,通过one-hot方式对其处理,将该特征拓展为3维特征,其中tcp表示为[1,0,0],udp表示为[0,1,0],icmp表示为[0,0,1]。
由于各个数据特征的单位不同,为了减少各个数据特征量纲之间的影响,对不同数据特征的数据进行标准化处理是十分必要的。本文采用数据归一化方式对数据进行标准化处理,数据归一化公式如下:
x'= x - MIN MAX - MIN
其中,x是特征值,MIN为该特征所有数据的最小值,MAX为该特征所有数据的最大值。
特征降维模块负责分析并学习标准数据中的规律,并通过一定算法将标准数据从高维空间映射到低维空间,降低数据的维度,减少数据计算的空间复杂度和时间复杂度,提高计算效率。
入侵检测模块负责对网络入侵进行检测,该模块可以分为三个过程:算法训练过程、算法检测过程和算法使用过程。算法训练过程是指通过训练数据集对采用的机器学习算法进行训练,调整算法参数。测试过程是指使用测试数据集对入侵检测算法的准确率、误报率和漏报率进行测试,若达到一定要求则该算法合格,若未达到要求则继续对入侵检测算法进行训练或采取其他机器学习算法。

2.2 机器学习算法

2.2.1 深度信念网络
随着大数据时代的来临,我们需要处理的数据越来越多,这些数据不仅规模庞大,数据的维度也在不断提升,处理这些数据会消耗很大的计算时间以及计算空间。对于舰艇网络入侵检测而言,数据维度过高会导致入侵检测计算量大,从而提高入侵检测时间,导致入侵检测效率低下。
神经网络具有极其丰富的特征分析、表达及学习能力,被广泛应用于图像识别、自然语言处理以及入侵检测等领域;深度信念网络[1] (Deep Belief Network,DBN)是一种典型神经网络,广泛应用于特征降维领域,可以通过学习分析数据,自主调整自身参数,建立从高维空间到低维空间的映射,从而达到数据降维的目的。
从网络结构而言,深度信念网络由多层受限玻尔兹曼机(Restricted Boltzmann Machine,简称RBM)和一层BP神经网络构成。网络结构如图3所示。
图3 深度信念网络
DBN训练过程由预训练和微调两阶段构成。
在预训练阶段,DBN将采取逐层训练方式从底层向高层对各个RBM进行训练。首先输入原始数据训练第一个RBM,训练完成后,将该RBM输出作为上一层RBM的输入,训练上一层的RBM,重复以上过程至整个DBN训练完成。
在微调阶段,采用监督学习的方法对整个DBN进行训练,将原始数据输入DBN得到输出数据,然后采用反向传播算法将实际输出数据与预期输出数据之间的误差进行逐层反向的传播[2],从而实现对整个DBN权值进行微调。实际上,DBN的预训练阶段可以理解成对多层BP神经网络的神经元权重和偏置进行初始化的过程。
2.2.2 支持向量机
舰艇网络入侵检测系统的目的是将输入的舰艇网络数据分为入侵数据和正常数据两大类,然而舰艇网络数据构成复杂,简单分类器效果并不理想,因此本文采用支持向量机[3,4](Support Vector Machine,SVM)对数据进行分类,通过训练数据寻找分类超平面,该超平面能够使舰艇网络数据分离间隔尽可能大,因此通过支持向量机算法对舰艇网络的数据进行分类,准确率较神经网络、K近邻算法更高。
支持向量机的目的根据给定数据求解特定超平面的数据表达式,该超平面可以表述为公式(5)。
y x=wTx+b
其中,w是系数向量,b是偏置,x为输入数据向量或矩阵,y x表示输出数据或输出向量。
这本质上是一个约束优化问题,通过化简可以将该问题表述成如下约束优化表达式,如公式(6)所示。
\begin{array}{ll}\min_{w,b,ξ} & \frac{1}{2}\|\boldsymbol{w}\|^{2}+C \sum_{i=1}^{N} \xi_{i} \\ \text { s.t. } & y_{i}\left(\boldsymbol{w}^{T} \boldsymbol{x}_{i}+b\right) \geqslant 1-\xi_{i} \\ & \xi_{i} \geqslant 0, i=1,2, \cdots, n\end{array}
其中,C为可调参数,ξ为松弛变量。
对该优化约束问题,可以采用拉格朗日乘子法进行化简,化简后该问题的约束优化表达式变为公式(7),通过求解公式(7)最终可求得超平面表达式:
min α 1 2 i = 1 N j = 1 N α i α j y i y j x i · x j - i = 1 N α i s . t .   i = 1 N α i y i = 0 0 α i C , i = 1,2 , , n
其中,α是拉格朗日乘子。
在使用支持向量机对数据进行分类时,绝大部分情况下无法通过线性方法对数据进行分类,解决这种问题的方法除了加入松弛变量,还可以引入核函数[5],将低维数据映射到高维空间,从而使高维数据线性可分。常用的核函数如下:
线性核函数:
K u , v=u·v
多项式核函数:
K u , v=(ku·v+1)d
高斯径向基核函数:
K u , v= exp ( - u - v 2 ) 2 σ 2
Sigmoid核函数:
K u , v=tanh(δ u · v+ε)
其中,uv表示输入向量,kσδε表示可调参数。

3 舰艇网络入侵检测实例

3.1 舰艇网络数据集构造

舰艇网络无法通过完全开放其网络空间来收集、获取网络扫描探测、拒绝服务攻击、病毒入侵以及漏洞、弱口令攻击等机器学习所需的原始数据,为了能深入结合舰载业务的特征开展入侵检测,构造符合舰艇网络空间的入侵检测的训练和测试样本,本文在深入研究舰艇网络的时统、导航、通信、预警探测、指控、武器以及平台、动力等业务特征基础之上,并借助CUP99数据集支持,根据舰艇网络空间的数据业务类型、周期、时序等特征,通过对舰艇网络业务数据的标记及对CUP99数据的扩维处理,构造了一个45维既包括舰艇网络业务特性又含有入侵样本的数据集,并将构造的舰艇网络数据集随机切分为两份得到舰艇网络入侵检测训练集和测试集。
舰艇网络数据集的数量数据见表1
表1 舰艇网络入侵检测数据数量表
攻击类型 训练集数据数量 测试集数据数量
Normal 10210 5987
Probe 8725 4685
DoS 14953 7359
U2R 9621 5540
R2L 7351 6483

3.2 舰艇网络入侵检测算法

本文在舰艇网络入侵检测模型的基础上,设计了5种舰艇网络入侵检测算法,并通过舰艇网络入侵检测训练数据集训练这些算法,然后使用舰艇网络测试数据集测试这些算法,得到各算法入侵检测准确率、误报率和漏报率。入侵检测算法及其数据流程如下:
PCA-SVM算法:数据集→主成分分析算法→SVM算法→结果;
IG-SVM算法:数据集→信息增益算法→SVM算法→结果;
DBN-SVM算法:数据集→DBN算法→SVM算法→结果;
SVM算法:数据集→SVM算法→结果;
DBN算法:数据集→DBN算法→结果。
其中主成分分析[7](Principal Component Analysis,PCA)是一种线性的特征降维方法,其目的是寻找最大方差意义下最能代表原始数据的投影方法,通过PCA方法可以消除数据之间的相关性,从而减少数据量,提高数据处理效率。信息增益(Information Gain,IG)是依据信息量进行特征选择的一种特征降维方法,通过选取信息量大的数据特征,舍弃信息量小的数据特征,从而达到数据降维的目的。

3.3 舰艇网络入侵检测实验结果分析

为了检验3.2中提到的5种算法在舰艇网路入侵检测中的性能,本文通过实验来验证各个算法在舰艇网络入侵检测中的准确率、误报率和漏报率,并使用以上述指标来对比分析算法的优劣。其中:支持向量机作为分类器时选取径向基(RBF)核函数,设置核函数的参数gamma=0.00001,设置支持向量机的惩罚因子C=1000;DBN将采用3层RBM,DBN每层神经元数量从底层到高层依次为126、86、47、23和5;信息增益选择特征数量为15。
入侵检测算法对比实验结果如表2所示。
表2 入侵检测算法对比实验结果
入侵检测算法 准确率 误报率 漏报率
DBN 90.57% 5.46% 10.42%
SVM 86.96% 9.09% 14.02%
DBN-SVM 93.14% 2.87% 7.85%
PCA-SVM 81.75% 14.31% 19.23%
IG-SVM 77.41% 18.67% 23.56%
通过以上实验结果分析可知:
1)通过DBN-SVM算法、SVM算法和DBN算法的结果对比分析可知,DBN-SVM算法在入侵检测准确率、误报率和漏报率方面,由于其单独的SVM和DBN,显著提高了舰艇网络入侵的识别能力。
2)通过DBN-SVM算法、PCA-SVM算法和IG-SVM算法的结果对比分析可知,PCA和IG算法较DBN算法在特征降维过程中会丢失部分对入侵检测重要的数据,从而降低入侵检测准确率,提高误报率和漏报率。DBN算法较PCA和IG算法更适用于舰艇网络特征降维。
总之DBN-SVM算法在舰艇网络入侵检测中具有更优异的性能,更能适用于舰艇网络入侵检测。

4 结束语

本文针对舰艇网络入侵检测技术发展的需要,提出了一个舰艇网络入侵检测模型,构造了一个45维的舰艇网络入侵检测数据集,并设计了5种入侵检测算法,并通过实验对算法进行测试,发现DBN-SVM算法具有最高的入侵检测准确率和最低的入侵检测误报率和漏报率。
本文在构造舰艇网络入侵检测数据集方面,只增加了类型、周期、时序等少量特征,为检测提供的信息量偏少,下一步将提取更多的舰载业务特征,为舰艇网络入侵检测提供更多的高质量的标记数据,进一步提高模型对舰载网络环境的适应性,同时本文采用的是一种离线、事后的检测方式,为了提高入侵检测效率,将研究适合舰艇网络海量数据的在线、实时检测方法。
[1]
逯玉婧. 基于深度信念网络的入侵检测算研究[D]. 石家庄:河北师范大学, 2015.

[2]
Rumelhart D E, Hinton G E, Williams R J. Learning representations by back-propagating errors[J]. Nar, 1986, 323(6088): 533-536.

[3]
王淇艺. 基于机器学习的入侵检测算法研究[D]. 北京:北京邮电大学, 2018.

[4]
张夏. 基于机器学习算法的网络入侵检测[J]. 现代电子技术, 2018(3): 124-127.

[5]
初金涛. 基于支持向量机的网络入侵检测研究[D]. 青岛:青岛大学, 2007.

[6]
陈佩. 主成分分析法研究及其在特征提取中的应用[D]. 西安:陕西师范大学, 2014.

文章导航

/