舰船科学技术  2022, Vol. 44 Issue (14): 147-150    DOI: 10.3404/j.issn.1672-7649.2022.14.031   PDF    
基于数据挖掘的船舶通信网络流量异常识别方法
魏建行1,2, 衣龙洋2, 魏俊甫2     
1. 河北大学 信息技术中心,河北 保定 071002;
2. 新疆科技学院 网络与实验管理中心,新疆 库尔勒 841000
摘要: 以提升船舶通信网络流量异常识别效果,提出基于数据挖掘的船舶通信网络流量异常识别方法。通过统计频率和K-means聚类算法得到网络流量特征;通过拐点综合判决机制确定聚类截断阈值和误差截断阈值,特征数量低于聚类截断阈值以及识别误差大于误差阈值为可疑通信网络流量集合,同时存至2个集合内的通信网络流量即异常通信网络流量。实验证明,该方法可有效确定聚类截断阈值与识别误差截断阈值,识别异常通信网络流量精度高。
关键词: 数据挖掘     船舶通信     网络流量     异常识别     特征选择     K-means聚类    
Abnormal traffic identification method of ship communication network based on data mining
WEI Jian-hang1,2, YI Long-yang2, WEI Jun-fu2     
1. Information Technology Center, Hebei University, Baoding 071002, China;
2. Center for Network and Laboratory Management, Xinjiang University of Science and Technology, Korla 841000, China
Abstract: In order to improve the identification effect of abnormal traffic in ship communication network, a method of abnormal traffic identification in ship communication network based on data mining is proposed. The characteristics of network traffic are obtained by statistical frequency and K-means clustering algorithm. The cluster truncation threshold and error truncation threshold are determined by the inflection point comprehensive decision mechanism. If the number of features is lower than the cluster truncation threshold and the recognition error is greater than the error threshold, the traffic set of suspicious communication network is defined. The communication network traffic stored in the two sets at the same time is the abnormal communication network traffic. Experiments show that this method can effectively determine the clustering truncation threshold and the identification error truncation threshold, and has high accuracy in identifying abnormal communication network traffic.
Key words: data mining     ship communication     network traffic     anomaly recognition     feature selection     K-means clustering    
0 引 言

船舶航行安全的关键是通信网络,船舶通过与基站间的通信网络,完成信息传递,接收船舶航行指令,确保航行安全[1]。当通信网络流量中存在异常时,便会导致船员接收错误指令,影响航行安全。

为解决这一问题,需研究船舶通信网络流量异常识别方法,精准识别异常网络流量[2,3],避免接收错误指令,确保船舶航行安全。有学者利用小波分析在通信网络流量内提取特征,输入支持向量机,利用支持向量机完成通信网络流量异常识别,可有效识别通信网络异常流量[4]。但该方法需要很多输入样本,在输入样本较少时,便无法保证通信网络流量异常识别效果。有学者在残差网络内添加多头自注意力,降低通信网络流量特征维度,通过解码器融合特征,根据融合特征,输出通信网络流量异常识别结果,该方法可有效缩短通道网络流量异常识别时间,具备较优的实际应用价值[5]。但该方法的复杂度较高,实际操作难度高。

数据挖掘可在大量数据内得到隐性的有价值的信息,最常用的方法为聚类算法,聚类算法可通过分析数据间的关联性,精准划分数据类别[6],为此提出基于数据挖掘的船舶通信网络流量异常识别方法,提升船舶通信网络流量异常识别效果。

1 船舶通信网络流量异常识别方法 1.1 基于统计频率的船舶通信网络流量特征选择

船舶通信网络流量特征集合为 $ A = \left\{ {{A_1},{A_2}, \cdots ,{A_t}} \right\} $ ,特征数量为t;流量类别集合为 $ W = \left\{ {{W_1},{W_2}, \cdots ,{W_q}} \right\} $ ,类别数量为q;流量样本集合为 $ X = \left\{ {{X_1},{X_2}, \cdots ,{X_N}} \right\} $ ,样本数量为NX内属于第i个类别的样本数量为 $ {N_{{W_i}}} $ ;第j个船舶通信网络流量特征 $ {A_j} $ 离散后的取值数量为 $ {N_{{A_j}}} $ $ {A_j} $ 的第l个值为 $ {v_{jl}} $ $ {v_{jl}} $ 属于第k个类别Wk的样本数量为 $ {N_{jlk}} $ Wk的样本数量为 $ {N_{{W_k}}} $ $ {N_{jlk}} $ $ {N_{{W_k}}} $ 内的占比是船舶通信网络流量样本统计频率pjlk,2个类别中,同一船舶通信网络流量特征各自取值频率差的平方和是类分布差异jkiWk和其余类别中Aj的分布差异和的均值是船舶通信网络流量特征选择系数bjk[7]。统计频率法选择船舶通信网络流量特征,分别是求解f与寻找最佳特征子集,求解f步骤如下:

1)输入AX

2)遍历X内各个样本,求解 $ {N_{{W_k}}} $ $ {N_{jlk}} $

3)求解pjlkdjkibjk

通过船舶通信网络流量的全部b,建立一个 $ t \times q $ 维矩阵B,记作特征选择矩阵,F内各列均代表某个船舶通信网络流量特征对于某类的划分效果。寻找船舶通信网络流量特征子集时,各类别船舶通信网络流量均需选取一个和其关联性较高的特征,确保精度的同时,还能够加强少部分类别的召回率[8]。寻找船舶通信网络流量特征子集的具体步骤如下:

1)输入船舶通信网络流量特征矩阵B

2)遍历船舶通信网络流量特征矩阵B

3)在B内去掉被选取的特征,防止2个类别船舶通信网络流量选取相同的特征,降低特征子集的冗余性;

4)输出船舶通信网络流量最优特征子集X′。

1.2 船舶通信网络流量特征聚类 1.2.1 船舶通信网络流量特征数据记录的距离

二分法的K-means聚类依据是船舶通信网络流量特征数据记录的距离,距离度量公式如下:

$ d'\left( {i',j'} \right) = \sum\limits_{h = 1} {\gamma \left| {{{X'}_{i'h}} - {{X'}_{j'h}}} \right|} 。$ (1)

式中:分别为第 $ i' $ 和第 $ j' $ 个第h维船舶通信网络流量特征;γ′为常数, $ d'\left( {i',j'} \right) $ $ {X'_{i'h}} $ $ {X'_{j'h}} $ 间的曼哈顿距离[9]

为提升船舶通信网络流量特征聚类效果,在 $ d'\left( {i',j'} \right) $ 内添加特征权重w,公式如下:

$ d''\left( {i',j'} \right) = \sum\limits_{h = 1} {{w_h}\gamma \left| {{{X'}_{i'h}} - {{X'}_{j'h}}} \right|}。$ (2)

其中,Wh为第h维船舶通信网络流量特征权重。

1.2.2 船舶通信网络流量特征聚类流程

步骤1 令目前船舶通信网络流量特征簇集是S,簇数是 $ k' $ ,设 $ k' = 1 $

步骤2 在S内选择一个船舶通信网络流量特征最多的簇;

步骤3 以随机选择初始聚类中心的K-means算法,划分 $ X' $ ,将 $ X' $ 分成2个部分,初始聚类中心选取M次;

步骤4 经过二分聚类后,求解各次二分聚类内子簇正确的误差平方和J,对应Jmin的子簇存在至S内,设置 $ k' = k' + 1 $

步骤5 以 $ k' = K $ 为结束条件,输出船舶通信网络流量特征的K个聚类结果 $ {Y_K} $ ,如果 $ k' \ne K $ ,那么反复操作步骤2~步骤5。

1.3 船舶通信网络流量异常识别判决方法

分类的K-means聚类算法聚类后的船舶通信网络流量特征,各船舶通信网络异常流量特征均会独自聚成一个小簇,可按照聚类簇Yk积大小衡量船舶通信网络流量是否异常[10]。船舶通信网络流量特征聚类结果Yk为离散序列,该序列呈指数型下降趋势,则Yk在区间 $ \left\{ {a,a + 1} \right\} $ 的斜率是 $ o_a^{a + 1} $ $ a = 1,2, \cdots ,K $ Yk在区间 $ \left\{ {1,2, \cdots ,a} \right\} $ 的平均变化率是 $ o_1^a $ $ \dfrac{{o_a^{a + 1}}}{{o_1^a}} $ $ {Y_k} $ 在第a个聚类簇中的趋势变化幅值, $ \dfrac{{o_a^{a + 1}}}{{o_1^a}} $ 可呈现Yk的趋势变化速度。趋势变化最大幅值是 $ \max \left( {\dfrac{{o_a^{a + 1}}}{{o_1^a}}} \right) $ ,与 $ \max \left( {\dfrac{{o_a^{a + 1}}}{{o_1^a}}} \right) $ 相应的横坐标是 $ tp\left( {{Y_K}} \right) = \arg \max \left( {\dfrac{{o_a^{a + 1}}}{{o_1^a}}} \right) $ $ tp\left( {{Y_K}} \right) $ 为拐点,即变化最快的位置,属于Yk由突变至稳定临界点。

识别船舶通信网络流量特征异常主要包含确定截断阈值与判断船舶通信网络流量特征正异。通过拐点综合判决机制,确定聚类簇体积大小的截断阈值,再通过拐点确定识别误差截断阈值,确保船舶通信网络流量突变时,正常船舶通信网络流量划分至较大簇内。船舶通信网络流量异常识别的输入是二分类的K-means聚类算法的聚类结果Yk,船舶通信网络流量异常识别误差序列 $ {R_\Delta } = \left[ {\Delta {r_1},\Delta {r_2}, \cdots ,\Delta {r_z}} \right] $ ;输出船舶通信网络流量异常识别结果,具体步骤如下:

步骤1 降序排列Yk内的船舶通信网络流量特征数量序列与 $ {R_\Delta } $ ,同时去掉重复值,获取有关船舶通信网络流量特征数量序列 $ Y_{}^* = \left[ {Y_1^*,Y_2^*, \cdots ,Y_{K'}^*} \right] $ 与识别误差序列 $ R_\Delta ^* = \left[ {\Delta r_1^*,\Delta r_2^*, \cdots ,\Delta r_{z'}^*} \right] $ $ Y_{}^* $ $ R_\Delta ^* $ 均呈指数级下降趋势;

步骤2  计算 $ Y_{}^* $ $ R_\Delta ^* $ 的拐点 $ tp\left( {Y_{}^*} \right) $ $ tp\left( {R_\Delta ^*} \right) $

步骤3 选择与 $ tp\left( {Y_{}^*} \right) $ 相应的船舶通信网络流量特征数量 $ Y_{}^*tp\left( {Y_{}^*} \right) $ ,以 $ Y_{}^*tp\left( {Y_{}^*} \right) $ 为聚类截断阈值T,选择与 $ tp\left( {R_\Delta ^*} \right) $ 相应的识别误差 $ R_\Delta ^*tp\left( {R_\Delta ^*} \right) $ ,以 $ R_\Delta ^*tp\left( {R_\Delta ^*} \right) $ 为识别截断阈值 $ T' $

步骤4 根据T确定Yk内船舶通信网络流量特征数量低于T的簇,将其当成小体积簇,簇内的船舶通信网络流量特征为可疑通信网络流量集合β,在 $ R_\Delta ^*tp\left( {R_\Delta ^*} \right) \geqslant T' $ 情况下,说明该船舶通信网络流量特征为大误差流量,组成通信网络流量集合μ

步骤5 选择船舶通信网络流量值 $ {\sigma _{i'}} \in \left( {\beta \cup \mu } \right) $ ,如果 $ {\sigma _{i'}} \in \left( {\beta \cap \mu } \right) $ ,那么认为 $ {\sigma _{i'}} $ 是异常船舶通信网络流量;反之继续步骤6;

步骤6 认为 $ {\sigma _{i'}} $ 是正常船舶通信网络流量,如果 $ {\sigma _{i'}} \in \mu $ ,那么判定与 $ {\sigma _{i'}} $ 相应识别误差 $ \Delta {\sigma _{i'}} $ 在误差容许区间中,反之,判定与 $ {\sigma _{i'}} $ 相应 $ \Delta {\sigma _{i'}} $ 很大;

步骤7  如果 $ \left( {\beta \cup \mu } \right) $ 内全部船舶通信网络流量特征遍历结束,那么船舶通信网络异常识别终止,输出船舶通信网络流量异常识别结果,反之,返回步骤5。

2 实验结果分析

以某海运公司内的船舶通信网络流量数据集为实验对象,共存在5个类别的船舶通信网络流量,其中正常船舶通信网络流量类别是1个,其余24个类别均为异常船舶通信网络流量,利用本文方法识别该数据集内的异常船舶通信网络流量,确保船舶通信安全。该数据集内的船舶通信网络流量具体信息如表1所示。

表 1 船舶通信网络流量的具体信息 Tab.1 Specific information of ship communication network traffic

对的船舶通信网络流量特征进行聚类,聚类结果如图1所示。可知,本文方法可有效聚类船舶通信网络流量特征,聚类结果共包含5个类别,与实际情况相符,说明本文方法具备较高的船舶通信网络流量特征聚类精度,同时本文方法聚类获取的5个聚类结果边界较为清晰,未出现边界混淆不清情况。

图 1 船舶通信网络流量特征聚类结果 Fig. 1 Clustering results of ship communication network traffic characteristics

识别异常船舶通信网络流量前,需确定聚类截断阈值与识别截断阈值,确定结果如图2所示。可知,当聚类簇编号为2时,对应的簇内船舶通信网络流量特征数量低于设定阈值,此时趋势变化幅值突变,迅速上升至最高点,说明2为拐点,即聚类截断阈值;当船舶通信网络流量特征编号为6时,识别误差接近设定阈值,此时趋势变化幅值突变,迅速上升至最高点,说明6为拐点,即识别截断阈值。实验证明,本文方法可有效确定聚类截断阈值与识别截断阈值,防止船舶通信网络流量识别误差很大情况下,正常船舶通信网络流量划分至小体积簇内,提升船舶通信网络流量异常识别效果。

图 2 聚类截断阈值与识别截断阈值确定结果 Fig. 2 Clustering truncation threshold and identification truncation threshold determination results

确定聚类截断阈值与识别截断阈值后,继续利用本文方法识别该数据集内船舶通信网络异常流量,识别精度高达98.7%,识别漏检率仅有0.01%,具备较优的船舶通信网络流量异常识别效果。

3 结 语

因为船舶航行环境的特殊性,所以其通信网络流量的安全性非常重要,通信网络流量安全直接影响船舶航行安全,为此研究基于数据挖掘的船舶通信网络流量异常识别方法,精准识别船舶通信网络异常流量,确保船舶通信安全,保证船员可接收正确指令安全航行。

参考文献
[1]
董书琴, 张斌. 基于深度特征学习的网络流量异常检测方法[J]. 电子与信息学报, 2020, 42(3): 695-703.
Dong Shuqin, Zhang Bin. Network Traffic Anomaly Detection Method Based on Deep Features Learning[J]. Journal of Electronics & Information Technology, 2020, 42(3): 695-703. DOI:10.11999/JEIT190266
[2]
张波, 李素红, 杨树靖. 海上光纤信号衰减造成网络延时的Modbus异常响应研究[J]. 船舶工程, 2019, 41(S1): 356-359.
Zhang Bo, Li Suhong, Yang Shujing. Research on Modbus Abnormal Response of Network Delay Caused by Decay of Optical Fiber Signal at Sea[J]. Ship Engineering, 2019, 41(S1): 356-359. DOI:10.13788/j.cnki.cbgc.2019.S1.088
[3]
麻文刚, 张亚东, 郭进. 基于LSTM与改进残差网络优化的异常流量检测方法[J]. 通信学报, 2021, 42(5): 23-40.
Ma Wengang, Zhang Yadong, Guo Jin. Abnormal traffic detection method based on LSTM and improved residual neural network optimization[J]. Journal on Communications, 2021, 42(5): 23-40.
[4]
杜臻, 马立鹏, 孙国梓. 一种基于小波分析的网络流量异常检测方法[J]. 计算机科学, 2019, 46(8): 178-182.
Du Zhen, Ma Lipeng, Sun Guozi. Network Traffic Anomaly Detection Based on Wavelet Analysis[J]. Computer Science, 2019, 46(8): 178-182. DOI:10.11896/j.issn.1002-137X.2019.08.029
[5]
杨月麟, 毕宗泽. 基于深度学习的网络流量异常检测[J]. 计算机科学, 2021, 48(S2): 540-546.
Yang Yuelin, Bi Zongze. Network Anomaly Detection Based on Deep Learning[J]. Computer Science, 2021, 48(S2): 540-546. DOI:10.11896/jsjkx.201200077
[6]
黎佳玥, 赵波, 李想, 等. 基于深度学习的网络流量异常预测方法[J]. 计算机工程与应用, 2020, 56(6): 39-50.
Li Jiayue, Zhao Bo, Li Xiang, et al. Network Traffic Anomaly Prediction Method Based on Deep Learning[J]. Computer Engineering and Applications, 2020, 56(6): 39-50. DOI:10.3778/j.issn.1002-8331.1910-0243
[7]
董书琴, 张斌. 面向不平衡数据的网络流量异常检测方法[J]. 系统仿真学报, 2021, 33(3): 679-689.
Dong Shuqin, Zhang Bin. Network Traffic Anomaly Detection Method for Imbalanced Data[J]. Journal of System Simulation, 2021, 33(3): 679-689. DOI:10.16182/j.issn1004731x.joss.19-0573
[8]
孙旭日, 刘明峰, 程辉, 等. 结合二次特征提取和LSTM-Autoencoder的网络流量异常检测方法[J]. 北京交通大学学报, 2020, 44(2): 17-26.
Sun Xuri, Liu Mingfeng, Cheng Hui, et al. Anomaly detection method based on LSTM-Autoencoder and double feature extraction method[J]. Journal of Beijing Jiaotong University, 2020, 44(2): 17-26.
[9]
蒋彤彤, 尹魏昕, 蔡冰, 等. 基于层次时空特征与多头注意力的恶意加密流量识别[J]. 计算机工程, 2021, 47(7): 101-108.
Jiang Tongtong, Yin Weixin, Cai Bing, et al. Encrypted Malicious Traffic Identification Based on Hierarchical Spatiotemporal Feature and Multi-Head Attention[J]. Computer Engineering, 2021, 47(7): 101-108. DOI:10.19678/j.issn.1000-3428.0058517
[10]
苏阳阳, 孙冬璞, 李丹丹, 等. 基于聚类和流量传播图的P2P流量识别方法[J]. 计算机应用研究, 2019, 36(11): 3448-3451+3455.
Su Yangyang, Sun Dongpu, Li Dandan, et al. P2P traffic identification method based on clustering and traffic dispersion graph[J]. Application Research of Computers, 2019, 36(11): 3448-3451+3455. DOI:10.19734/j.issn.1001-3695.2018.06.0328