计算机系统应用  2023, Vol. 32 Issue (4): 94-103   PDF    
基于注意力机制的CNN-LSTM的ADS-B异常数据检测
刘浪, 时宏伟     
四川大学 计算机学院, 成都 610065
摘要:广播式自动相关监视(ADS-B)是民航新一代空中交通管理系统的重要组成部分, 由于协议没有数据加密和认证, 导致容易受到数据攻击. 为了准确检测ADS-B数据攻击, 基于ADS-B数据的时序性, 提出了一种基于注意力机制的卷积神经网络-长短期记忆网络(convolutional neural networks-long short-term memory, CNN-LSTM)异常数据检测模型. 首先, 利用CNN提取ADS-B数据的特征, 然后以时序形式将特征向量输入到LSTM中, 最后使用注意力机制进行网络参数优化, 实现对ADS-B数据的预测, 通过计算预测误差, 来进行异常检测. 实验表明, 该模型能够很好地检测出模拟的4种类型的异常数据, 与其他机器学习方法相比, 具有更高的准确率和F1分数.
关键词: 广播式自动相关监视    异常检测    卷积神经网络 (CNN)    长短期记忆网络 (LSTM)    注意力机制    
ADS-B Anomaly Detection Based on Attention Mechanism for CNN-LSTM
LIU Lang, SHI Hong-Wei     
College of Computer Science, Sichuan University, Chengdu 610065, China
Abstract: Automatic dependent surveillance-broadcast (ADS-B) is an important part of the new generation air traffic management system of civil aviation. As the protocol does not have data encryption and authentication, it is vulnerable to data attacks. To accurately detect ADS-B data attacks, based on the timing of ADS-B data, this study proposes a convolutional neural networks-long short-term memory (CNN-LSTM) anomaly detection model based on attention mechanism. Firstly, CNN is adopted to extract the features of ADS-B data, and then the feature vectors are input into the LSTM in the form of time series. Finally, the attention mechanism is applied to optimize the network parameters to realize the prediction of ADS-B data, and the anomaly detection is carried out by calculating the prediction error. Experiments show that the model can well detect four types of abnormal data and has higher accuracy and F1 score than other machine learning methods.
Key words: automatic dependent surveillance-broadcast (ADS-B)     anomaly detection     convolutional neural network (CNN)     long short-term memory (LSTM)     attention mechanism    

空中交通管理(air traffic management, ATM)系统是一个利用通信、导航和监视技术来管理空域和确保航空器的空中交通安全和秩序的系统. 随着空域密度的日益增加, 一次监视雷达(primary surveillance radar, PSR)、二次监视雷达(secondary surveillance radar, SSR)和广域多向定位(wide area multilateration, WAM)等技术已经无法满足未来空中交通管理的发展需求. 与传统的技术手段相比, 广播式自动相关监视(automatic dependent surveillance-broadcast, ADS-B)技术具有数据精度高、建设成本低、维护方便等优势, 已经成为空中交通管理系统的重要组成部分[1, 2], 数据安全方面更加不应被忽视.

ADS-B采用单向广播的方式传播数据, 接收端能够轻易地获取报文信息, 但却无法验证消息的准确性和可靠性, 这会导致容易受到窃听、干扰、删除、注入和修改等类型的攻击威胁. 相关研究已经证明了ADS-B系统存在安全漏洞[3, 4]. 因此, 随着空中交通的不断发展以及ADS-B技术的进一步普及, 快速地检测出上述类型攻击下形成的异常数据, 将有助于安全航空环境的建设.

在其他的研究中, 对于ADS-B数据的安全问题已经提出来很多的方法, 可以分为非机器学习方法和机器学习方法两类. 非机器学习方法主要有4种解决方案, 分别是加密技术、物理层信息、多点定位和数据融合. 加密技术在无线网络的通信安全领域是一种使用广泛的保证数据安全可靠传输的手段. 在之前的研究中, 通过使用对称密钥[5]、消息验证码[6]、非对称密钥[7]和签名[8]加密ADS-B数据或生成额外的安全信息. 攻击者发起攻击之前对ADS-B数据进行安全保护, 虽然可以有效地防止窃听等攻击[9], 但由于密钥管理的复杂性, 以及需要对标准的ADS-B协议进行修改, 导致加密在空中交通管理系统中难以得到应用. ADS-B数据在通信过程中会附加一些物理层信息, 可以通过这些物理层信息来进行异常检测. 根据接收信号强度与距离的负相关关系[10]、分析具有特定ADS-B应答器的两个ADS-B消息之间的时间分布[11]来检测ADS-B数据的异常. 但是当攻击者通过统计分析获取物理层信息, 来构造虚假数据进行注入攻击时, 就很难检测出异常数据. 多点定位技术是通过将到达时间差计算出的位置与解调后的位置进行比较, 来识别ADS-B数据是否受到攻击[12, 13]. 作为空中交通管理系统的一种备份技术, 多点定位技术需要设备较多, 成本高、工作机制较为复杂, 工作覆盖范围受限, 需要多个地面站协同工作, 实际应用范围受限, 主要部署在机场和主要航线上. 还可以利用ADS-B数据和传统的PSR数据、SSR数据[14-16]、WAM数据[17]进行融合分析, 来检查ADS-B数据是否合法. 当ADS-B数据与其他监控数据的差值超过阈值时, 可以检测到异常数据. 但由于时间同步和监视精度的差异, 基于数据融合的方法存在局限性和不足, 实际应用受限. 由于ADS-B数据是典型的时间序列数据, 具有时间依赖性, 过去的数据暗示了现在或将来数据发展变化的规律, 具有趋势性、周期性和不规则性. 随着机器学习的不断发展, 可以通过一些深度学习方法, 对ADS-B时间序列数据进行重构或者预测, 来进行异常检测. 例如, 使用RNN来进行ADS-B数据异常检测[18]; 使用LSTM对ADS-B数据进行训练来检测数据的合法性[19]; 使用LSTM编解码器模型重构ADS-B数据, 通过分析重构误差来检测数据异常[20]; 使用Seq2Seq模型重构ADS-B数据, 利用重构误差来进行异常检测[21]; 分别使用BiGRU[22]、变分自编码器[23]对ADS-B数据进行数据重构, 然后使用SVDD来分析重构值与真实值之间的差值进行异常检测. 利用高斯差分法获取位置数据的细节信息, 然后利用LSTM模型对位置数据进行重构, 利用重构误差检测异常数据[24].

在当前的研究中, 基于深度学习的方法能够在不改变ADS-B协议框架的基础上, 基于已有的航迹信息, 检测出数据是否存在异常. 于是, 我们基于深度学习方法, 提出了一种检测ADS-B异常数据的解决方案. 模型首先利用CNN处理ADS-B数据, 然后将处理后的数据以时序形式的特征向量输入到LSTM网络中, 最后使用注意力机制进行参数优化, 实现对ADS-B数据的预测, 计算预测值与真实值之间的可决系数. 输入正确的ADS-B数据, 可决系数将在一定的范围内, 若输入的数据包含异常, 可决系数将变小, 达到异常检测的目的. 在本文中, 实验使用的异常数据是指经过一定规则操作后的模拟攻击数据.

1 相关工作 1.1 ADS-B

ADS-B是利用空地、空空数据通信完成交通监视和信息传递的一种航行新技术, 如图1所示. 具有数据更新率快、信息丰富、精度高、成本低、支持信息共享等优点. 根据相对于航空器的信息传递方向, 机载ADS-B应用功能可分为发送(OUT)和接收(IN)两类.

ADS-B OUT是指航空器向外发送信息, 机载发射机以一定的周期发送航空器的各种飞行信息, 是机载ADS-B设备的基本功能. 地面系统通过接收机载设备发送的ADS-B OUT信息, 监视空中交通状态. ADS-B发送的航空器水平位置一般源于GNSS系统, 具有比雷达设备更高的监视精度.

图 1 ADS-B系统结构

ADS-B IN是指航空器接收其他航空器发送的ADS-B OUT信息或地面服务设施发送的信息, 为机组提供运行支持. ADS-B IN可使机组在驾驶舱交通信息显示设备(cockpit display of traffic information, CDTI)上“看到”其他航空器的运行状况, 从而提高机组的空中交通情景意识.

1.2 ADS-B受攻击的类型

ADS-B系统以明文格式来广播数据, 使飞机容易受到以下5种类型的数据攻击.

(1)窃听: 由于缺乏信息加密和以广播的方式传播, 使得攻击者能够轻易地通过设备进行窃听, 从而使攻击者能够掌握我方的飞行信息[25], 是其他攻击的基础.

(2)干扰: 普遍存在于所有的无线通信方式中, 攻击者通过在1090 MHz频率上发送高功率的干扰信号来实现攻击[26]. 或是通过发送一些易识别的简单攻击数据, 降低ADS-B系统的可靠性, 扰乱空中交通管理系统.

(3)消息注入: 利用ADS-B系统没有认证机制, 攻击者通过ADS-B发射器发送生成的ADS-B消息, 来实现攻击. 由于攻击消息的注入, 使得空中交通管理系统中出现了大量的虚假航迹, 影响系统的正常工作.

(4)消息删除: 使飞机航迹在空中交通管理系统中消失, 但由于需要严格的时间同步, 单一的消息删除很容易在SSR或WAN的支持下检测到.

(5)消息修改: 通过向实际的ADS-B数据中注入偏差来实现, 一般通过消息删除和消息注入来实现. 符合飞行规则的消息修改, 会使空中交通管理系统对飞机航迹产生错误的判断, 严重影响空中交通安全和秩序.

2 模型

由于ADS-B是典型的多特征时间序列数据, 预测当前时刻的特征信息需要考虑过去一段时间的数据. 因此, 本文选择使用深度学习的方法来分析飞行路线和检测异常, 这种方法不需要修改ADS-B系统当前的协议架构, 并且能够自主、独立地分析ADS-B消息来进行异常检测.

2.1 卷积神经网络(CNN)

CNN可以通过对数据逐层卷积和池化来操作数据. 其中卷积层利用权重共享和局部连接对输入数据进行卷积提取深层特征. 池化层通过一定的规则, 对卷积层处理后的数据进行池化操作, 减少参数量, 保留主要特征, 防止过拟合.

CNN能够很好地提取出数据的隐藏特征, 并逐层融合, 生成高层抽象特征. 但因为其缺乏记忆功能, 不具备对时间序列数据中的时间相关性的要求. 因此, 本文将LSTM网络与之结合, 将CNN的输出作为LSTM的输入.

2.2 长短时记忆神经网络(LSTM)

递归神经网络(recursive neural network, RNN)是最早用于时间序列预测的机器学习模型之一. 而LSTM则是RNN的一个改进版本, 能够很好地解决RNN存在的梯度消失问题. LSTM通过引入门控结构控制信息传递的路径, 从而有效的记忆保存时序数据特征. LSTM的单元结构如图2所示.

图 2 LSTM单元结构

LSTM的循环单元结构主要包括遗忘门 ${{{f}}_{{t}}}$ 、输入门 ${i_t}$ 和输出门 ${o_t}$ 这3个门控结构.

LSTM的计算过程如下.

(1)遗忘门

$ {f_t} = \sigma ({W_f} \cdot [{h_{t - 1}}, {x_t}] + {b_i}) $ (1)

其中, ${f_t}$ 代表遗忘门的输出; ${W_f}$ 代表系数; ${b_i}$ 代表偏倚.

(2)输入门

$ {i_t} = \sigma ({W_i} \cdot [{h_{t - 1}}, {x_t}] + {b_i}) $ (2)
$ {\tilde C_t} = \tanh ({W_C} \cdot [{h_{t - 1}}, {x_t}] + {b_C}) $ (3)

其中, ${i_t}$ ${\tilde C_t}$ 分别是 ${{\sigma}}$ 激活函数和 $\tanh $ 激活函数的输出; ${W_i}$ ${W_C}$ 代表线性关系系数; ${b_i}$ ${b_C}$ 代表偏倚量.

细胞状态:

$ {C_t} = {f_t} \odot {C_{t - 1}} + {i_t} \odot {\tilde C_t} $ (4)

其中, ${C_t}$ 代表细胞的状态; $ \odot $ 代表哈达玛积.

(3)输出门

$ {o_t} = \sigma ({W_o} \cdot [{h_{t - 1}}, {x_t}] + {b_o}) $ (5)
$ {h_t} = {o_t} \odot {\text{tanh}}({C_t}) $ (6)

其中, ${o_t}$ 代表输出门的输出; ${h_t}$ 代表隐藏层的输出.

LSTM特殊的门控结构可以控制时间序列数据特征的保留与遗忘, 但在单独处理长时间序列时, 仍然会出现丢失重要特征的可能. 因此, 本文采用首先通过CNN处理时间序列数据, 然后将输出作为LSTM网络的输入, 从而提高模型的预测的精度.

2.3 注意力机制(Attention)

分析ADS-B数据得知, 航迹序列长度一般相对较长, 最长的航迹包含了超过了2000条ADS-B数据, 引入注意力机制, 能够很好地提高模型的预测能力.

注意力机制能够将模型的注意力放在需要重点关注的时间序列数据上, 减少其他数据的权重. 使用注意力机制能够将更大的权重分配给重要数据, 提高模型精度, 能够改进CNN-LSTM因数据过长而忽略重要信息的情况, 有效地提高预测模型的准确性[27].

2.4 基于注意力机制的CNN-LSTM模型

LSTM具有不错的记忆非线性时间序列数据的能力, ADS-B数据又是典型的非线性时序数据, 因此我们选择LSTM作为基准模型. 但LSTM在特征提取方面的不足, 可能造成重要特征的丢失, 因此我们使用CNN对输入的ADS-B数据先进行特征提取, 然后将输出作为LSTM的输入. 本文首次将CNN-LSTM模型用于ADS-B异常数据的检测中, 为避免重要数据的丢失, 还将注意力机制引入模型, 避免由于时序数据过长导致的重要信息丢失的情况. 模型结构如图3所示, 共分为5层: 输入层、CNN层、LSTM层、注意力层、输出层. ADS-B数据输入模型后, 经过CNN层提取特征, 将输出作为LSTM层的输入, 在注意力层的帮助下, 进行数据预测, 最后经过输出层将结果输出.

图 3 基于注意力机制的CNN-LSTM模型结构

模型每层的叙述如下.

(1)输入层. 对长度为 ${{n}}$ 的ADS-B数据进行预处理, 将其作为该模型的输入, 表示为 $X = {[{X_1}, \cdots , {X_{k - 1}}, {X_k}, \cdots , {X_n}]^{\rm{T}}}$ .

(2) CNN层. CNN层主要用于提取时间序列数据的特征, 包括1层卷积层、1层池化层. 卷积层为一维卷积, 使用 ${{ReLU}}$ 激活函数, 池化层采用最大池化方法. 将时间序列数据通过CNN层, 通过 ${\textit{Sigmoid}}$ 激活函数得到的输出 ${H_C} = {[{h_{{C_1}}}, \cdots , {h_{{C_{t - 1}}}}, {h_{{C_t}}}, \cdots , {h_{{C_j}}}]^{\rm{T}}}$ 的表示如下:

$ C = {{ReLU}}(X \otimes {W_1} + {b_1}) $ (7)
$ P = \max (C) + {b_2} $ (8)
$ {H_C} = {\textit{Sigmoid}}(P \times {W_2} + {b_3}) $ (9)

其中, $C$ 为卷积层输出; $P$ 为池化层输出; ${W_1}$ ${W_2}$ 为权重; ${b_1}$ ${b_2}$ ${b_3}$ 为偏差; $ \otimes $ 是卷积运算.

(3) LSTM层. 建立LSTM层, 将CNN层输出 ${H_C}$ 的时间序列输入LSTM层, 输出 ${h_t}$ 表示如下:

$ {h_t} = {{LSTM}}({H_{C, t - 1}}, {H_{C, t}}), \; t \in [1, i] $ (10)

其中, ${h_t}$ $t$ 时刻的输出.

(4)注意力层. 将LSTM的输出 ${h_t}$ 作为注意力层的输入, 将权重以概率的方式进行分配, 计算出权重矩阵. 注意力层权重的表示如下:

$ {e_t} = u{\text{tanh}}(w{h_t} + b) $ (11)
$ {a_t} = \frac{{\exp ({e_t})}}{{\displaystyle\sum\nolimits_{j = 1}^t {{e_j}} }} $ (12)
$ {s_t} = \sum\nolimits_{t = 1}^i {{a_t}{h_t}} $ (13)

其中, $b$ 为偏置系数; $u$ $w$ 为权重系数; ${e_t}$ 为注意力层的概率分布; ${s_t}$ 表示注意力层 $t$ 时刻的输出.

(5)输出层. 该层的计算公式如下:

$ {\hat y_t} = {\textit{Sigmoid}}({w_o}{s_t} + {b_o}) $ (14)

其中, $ {\hat y_t} $ $t$ 时刻的输出; ${w_o}$ 为权重; ${b_o}$ 为偏差.

3 实验分析

为了评估提出的方法, 结合常见的攻击威胁类型, 本文进行了一系列的实验. 在一部分数据集中分别模拟可能受到的攻击威胁类型, 构造测试集中的异常数据, 使用本文的模型以及一些对比模型来检测异常数据, 通过模型预测值与真实值之间的可决系数, 对不同的特征设置不同的阈值, 可决系数低于阈值的, 可认定为异常ADS-B数据.

3.1 数据收集

实验使用的数据可公开获取, 来自飞常准ADS-B网站( https://flightadsb.variflight.com), 抽取了成都双流机场进出场飞机的6298条航迹数据组成数据集. 其中5398条航迹数据作为训练样本, 900条航迹数据作为测试样本. 其中每条航迹的ADS-B数据在200–2800条之间, 包含飞机的起飞、巡航和降落等全部阶段. 每条ADS-B数据包含时间(Time)、协调世界时(UTC Time)、飞机注册号(anum)、航班号(fnum)、高度(height)、速度(speed)、航向角(angle)、经度(longitude)、纬度(latitude)等信息.

3.2 模拟攻击数据

为了评估模型的性能, 表1描述了本文的测试集构建过程, 900条测试样本按照正负样本比6:1构建测试集, 对于其中的负样本分别使用干扰、修改、删除和注入4类常见攻击下的10种攻击方法, 包括速度信息删除、高度信息删除、航向角信息删除、速度高斯噪声、路线替换、航向角转向、高度偏移(+)、高度偏移(−)、速度偏移(+)、速度偏移(−). 每种攻击方式得到一个测试集, 得到10种测试集分别测试10种攻击下模型的异常检测能力.

表 1 模拟攻击方法

选取一组包含370条ADS-B数据的航迹, 具体的攻击数据生成方法如下.

(1)消息删除. 如图4(a)所示, 删除掉航迹信息的前15%数据.

(2)干扰. 如图4(b)所示, 前265条数据不做修改, 对后105条数据的速度信息添加含有高斯噪声的ADS-B报文.

图 4 模拟数据攻击

(3)消息注入. 如图4(c)所示, 前265条数据不做修改, 将另一架航迹的后105条ADS-B数据注入.

(4)消息修改. 如图4(d)所示, 前265条数据不做修改, 第266条数据的速度增加15 km/h, 第267条数据的速度增加30 km/h, 依次类推.

3.3 数据预处理

对于实验所需的数据, 需要进行一定的预处理操作, 以便于模型能够更好地学习.

3.3.1 数据缺失值处理

ADS-B数据具有一定的丢包率, 在进入模型训练前需要对ADS-B数据进行预处理操作. 本文采用插值方法对丢失的ADS-B数据进行补全, 具体操作如图5所示. 如果在 ${t_k}$ 时刻ADS-B数据 ${x_k}$ 丢失, 则数据 ${x_k}$ 的计算如下:

$ {x_k} = {x_{k - 1}} + \frac{{{x_{k + 1}} - {x_{k - 1}}}}{{{t_{k + 1}} - {t_{k - 1}}}} \times ({t_k} - {t_{k - 1}}) $ (15)

使用基于注意力机制的CNN-LSTM模型分别对原始ADS-B数据、数据预处理后的ADS-B数据进行预测, 分析预测值与真实值之间的可决系数, 图6(a)和图6(b)表示了数据预处理前后高度特征的可决系数分布情况变化, 图6(c)和图6(d)表示了数据预处理前后速度特征的可决系数分布情况变化, 可以看出经过预处理操作后, ADS-B数据两种特征的可决系数都得到了明显的提高. 其中, 高度特征的可决系数大于0.9的数据占比由69.34%提高到93.09%, 速度特征的可决系数大于0.8的数据占比由51.03%提高到75.90%. 可以看出, 对实验数据进行预处理操作, 能够降低ADS-B数据缺失对实验结果的影响, 有助于模型对ADS-B数据进行预测分析, 提高模型的检测精度.

图 5 缺失值处理

图 6 数据预处理前后ADS-B数据预测值与真实值的可决系数分布

3.3.2 归一化操作

在实验中, 本文选取经度、纬度、高度、速度、航向角分别作为训练特征. 为了后续数据处理的方便以及加快模型收敛速度, 本文对数据采用归一化操作. ADS-B数据是时间序列数据 $D = [{D_1}, {D_2}, \cdots , {D_k}, \cdots , {D_m}]$ , 归一化方程如下:

$ {X_k} = \frac{{{D_k} - \min (D)}}{{\max (D) - \min (D)}} $ (16)

其中, ${D_k}$ 表示时间序列 $D$ 的第 $k$ 个数据, $\min (D)$ 表示 $D$ 的最小值, $\max (D)$ 表示 $D$ 的最大值.

对ADS-B数据 $D = [{D_1}, {D_2}, \cdots , {D_k}, \cdots , {D_m}]$ 进行归一化操作, 得到时间序列 $X = [{X_1}, {X_2}, \cdots , {X_k}, \cdots , {X_m}]$ .

3.4 评价指标 3.4.1 阈值设置

本文对于模型预测值与真实值之间的比较, 采用可决系数, 计算公式如下:

$ {R^2} = 1 - \frac{{\displaystyle\sum\nolimits_i {{{({{\hat y}^{(i)}} - {y^{(i)}})}^2}} }}{{\displaystyle\sum\nolimits_i {{{(\bar y - {y^{(i)}})}^2}} }} $ (17)

其中, ${\hat y^{(i)}}$ 表示模型在 $i$ 时刻的预测值, ${y^{(i)}}$ 表示模型在 $i$ 时刻的真实值, $\bar y$ 表示真实值的平均值. R方值的结果表示模型的预测值和真实值之间距离, 通过对不同的特征设置不同的阈值, 来反映模型对于异常数据的检测能力.

3.4.2 模型评估

表2描述了样本分类结果. TP (true positive)是指正确分类的正样本数, FN (false negative)是指错误分类的负样本数, FP (false positive)是指错误分类的正样本数, TN (true negative)是指正确分类的负样本数. 为了评估模型的效率, 本文采用召回率(TPR)、检测率(TNR)、准确率(Acc)和F1分数(F1)作为评价指标, 具体定义如下.

表 2 样本分类结果

(1)召回率TPR, 它表示所有正类样本中, 有多少被正确分类, 即正确分类的正样本数占正样本总数的比例.

$ {{TPR}} = \frac{{{{TP}}}}{{{{TP}} + {{FN}}}} $ (18)

(2)检测率TNR, 它表示所有负类样本中, 有多少被正确分类, 即正确分类的负样本数占负样本总数的比例.

$ {{TNR = }}\frac{{{{TN}}}}{{{{FP + TN}}}} $ (19)

(3)准确率Acc, 它表示样本正确分类的百分比, 即正确分类的样本总数占总样本数的比例.

$ {{Acc = }}\frac{{{{TP + TN}}}}{{{{TP + FP + TN + FN}}}} $ (20)

(4) F1分数(F1), 它是用来衡量二分类问题模型精确度的一种指标, 是准确率和召回率的调和平均数.

$ {{F1= }}\frac{{{{2TP}}}}{{{{2TP + FP + FN}}}} $ (21)
3.5 实验结果

本次实验运行环境及参数配置: 电脑CPU为2.40 GHz, 内存为8 GB, 操作系统为Windows 10, 运算平台为CUDA 11.0, 编程语言为Python 3.7. 实验中经过反复测试, 基于注意力机制的 CNN-LSTM 模型中, CNN层采用ReLU激活函数, 其中卷积层有 32 个卷积核, 大小设置为 1×3, 步长为1, 池化层使用最大池化. LSTM 层的滑动窗口大小为15, 单元数为64, 训练次数(epochs)为50, 批尺寸(batch_size)为16, Dropout比率为0.2, 采用的损失函数为均方误差(MSE).

本文采用基于注意力机制的CNN-LSTM模型进行异常数据检测, 对于不同的特征, 设置了不同的阈值. 表3列出了异常数据检测的结果, 可以看出:

(1)在召回率结果上, 模型在航向角信息删除攻击下为82.9%, 在其他攻击下均为91%以上.

(2)在检测率结果上, 模型在航向角信息删除和路线替换攻击下分别为61.4%和60.4%, 在其他攻击下均为90%以上.

(3)在准确率结果上, 模型在航向角信息删除攻击下为80.2%, 在其他攻击下均在92%以上.

(4)在F1分数结果上, 模型在航向角信息删除攻击下为0.88, 在其他攻击下均在0.95以上.

(5)可以看出在大多数类型的攻击下, 模型都能够很好地检测出异常数据, 在高度偏移(+/−)、速度偏移(+/−) 4种攻击下, 检测率均能达到100%, 召回率和准确率也在98%以上, F1分数超过0.99, 表明模型能够很好地处理这几种类型的攻击.

(6)模型在航向角信息删除攻击下, 召回率为82.9%、检测率为61.4%; 在航向角信息转向攻击下, 召回率为91.9%, 检测率为96.9%, 说明航向角信息相对其他信息的时间相关性相对较弱.

表 3 基于注意力机制的CNN-LSTM模型的异常检测结果

通过计算, 在这10种攻击下, 使用基于注意力机制的CNN-LSTM模型进行ADS-B异常数据检测, 平均召回率为95.61%, 平均检测率为89.8%, 平均准确率为94.88%, 平均F1分数为0.97.

3.6 对比实验及分析

此外, 为了验证模型性能, 本文选择了7种深度学习模型作为对比, 来检测在以上10种攻击下产生的异常数据. 包括LSTM模型、GRU模型、基于注意力机制的LSTM模型、基于注意力机制的GRU模型、LSTM编解码器模型、CNN-LSTM模型和CNN-GRU模型进行对比实验. 表4给出了各模型和基于注意力机制的CNN-LSTM模型的召回率、检测率、准确率和F1分数的平均值. 可以看出:

(1) LSTM模型和GRU模型的召回率、检测率、准确率和F1分数较低. 这是因为这两种模型没有充分考虑ADS-B数据作为典型时间序列数据的相关特性.

(2)将注意力机制引入到LSTM模型和GRU模型中, 可以发现模型的召回率、检测率、准确率和F1分数均得到了提升. 但是幅度并不大, 以F1分数为例, LSTM模型和GRU模型分别提升了0.8%、2.8%.

(3)将CNN网络与LSTM模型、GRU模型相结合, 相比较引入基于注意力机制, 模型的召回率、检测率、准确率和F1分数提升幅度更大. 以F1分数为例, LSTM模型和GRU模型分别提升了23.9%、6.3%.

(4)与基于注意力机制的LSTM模型和CNN-LSTM模型相比, 基于注意力机制的CNN-LSTM模型的异常数据检测性能更好. 这是由于CNN网络能够有效提取数据特征, 引入注意力机制则能将网络权重分配到数据的重点区域, 解决由于ADS-B数据过长而忽略重要信息的情况, 提高检测精度.

(5)与LSTM编解码器模型相比, 基于注意力机制的CNN-LSTM模型的异常数据检测性能更好. 因为LSTM编解码器模型忽略了ADS-B数据作为典型的跨时非线性依赖数据的分布特点, 基于注意力机制的CNN-LSTM模型具有更好的适应性, 异常数据检测效果更好.

表 4 各模型异常检测均值

4 结论与展望

本文结合ADS-B数据的时间序列特点, 提出了基于注意力机制的CNN-LSTM模型, 用于异常数据检测, 将实验结果与其他7种模型进行对比. 结果表明基于注意力机制的CNN-LSTM模型的异常数据检测能力更好, 平均召回率达到95.6%, 平均检测率达到89.8%, 平均准确率达到94.9%, 平均F1分数达到0.97.

在未来的工作中, 将分3个方面继续努力: 第一, 将采用多特征学习的方法, 使模型的检测更加合理; 第二, 计划引入飞行规则, 通过验证数据的合理性, 辅助模型进行异常数据检测; 第三, 将结合常见攻击类型, 尝试采取更多类型的攻击, 以检测模型应对复杂攻击的能力.

参考文献
[1]
Li TY, Wang BH, Shang FT, et al. Dynamic temporal ADS-B data attack detection based on sHDP-HMM. Computers & Security, 2020, 93: 101789. DOI:10.1016/j.cose.2020.101789
[2]
邓晓波, 王飞, 杨光曜. 机载ADS-B技术现状与发展趋势. 航空工程进展, 2021, 12(1): 121-128. DOI:10.16615/j.cnki.1674-8190.2021.01.016
[3]
Costin A, Francillon A. Ghost in the Air (Traffic): On insecurity of ADS-B protocol and practical attacks on ADS-B devices. Las Vegas: EURECOM, 2012. 1–10.
[4]
Schäfer M, Lenders V, Martinovic I. Experimental analysis of attacks on next generation air traffic communication. Proceedings of the 11th International Conference on Applied Cryptography and Network Security. Banff: Springer, 2013. 253–271.
[5]
Yang HM, Zhou QX, Yao MX, et al. A practical and compatible cryptographic solution to ADS-B security. IEEE Internet of Things Journal, 2019, 6(2): 3322-3334. DOI:10.1109/JIOT.2018.2882633
[6]
Kacem T, Barreto A, Wijesekera D, et al. ADS-Bsec: A novel framework to secure ADS-B. ICT Express, 2017, 3(4): 160-163. DOI:10.1016/j.icte.2017.11.006
[7]
Lee SH, Kim YK, Han JW, et al. Protection method for data communication between ADS-B sensor and next-generation air traffic control systems. Information, 2014, 5(4): 622-633. DOI:10.3390/info5040622
[8]
Baek J, Hableel E, Byon YJ, et al. How to protect ADS-B: Confidentiality framework and efficient realization based on staged identity-based encryption. IEEE Transactions on Intelligent Transportation Systems, 2017, 18(3): 690-700. DOI:10.1109/TITS.2016.2586301
[9]
Wesson KD, Humphreys TE, Evans BL. Can cryptography secure next generation air traffic surveillance? http://radionavlab.ae.utexas.edu/images/stories/files/papers/adsb_for_submission.pdf. (2014-03-20).
[10]
Strohmeier M, Lenders V, Martinovic I. Intrusion detection for airborne communication using PHY-layer information. Proceedings of the 12th International Conference on Detection of Intrusions and Malware, and Vulnerability Assessment. Milan: Springer, 2015, 66-77. DOI:10.1007/978-3-319-20550-2_4
[11]
Strohmeier M, Martinovic I. On passive data link layer fingerprinting of aircraft transponders. Proceedings of the 1st ACM Workshop on Cyber-physical Systems-security and/or PrivaCy. Denver: ACM, 2015. 1–9.
[12]
Monteiro M. Detecting malicious ADS-B broadcasts using wide area multilateration. Proceedings of 2015 IEEE/AIAA 34th Digital Avionics Systems Conference (DASC). Prague: IEEE, 2015. 1–28.
[13]
颜可壹, 吕泽均, 时宏伟, 等. 基于TDOA/TSOA的ADS-B系统防欺骗技术. 计算机应用研究, 2015, 32(8): 2272-2275. DOI:10.3969/j.issn.1001-3695.2015.08.007
[14]
Zhang T, Wu RB, Lai R, et al. Probability hypothesis density filter for radar systematic bias estimation aided by ADS-B. Signal Processing, 2016, 120: 280-287. DOI:10.1016/j.sigpro.2015.09.012
[15]
王布宏, 罗鹏, 李腾耀, 等. 基于粒子群优化多核支持向量数据描述的广播式自动相关监视异常数据检测模型. 电子与信息学报, 2020, 42(11): 2727-2734. DOI:10.11999/JEIT190767
[16]
王振昊, 王布宏. 基于SVDD的ADS-B异常数据检测. 河北大学学报(自然科学版), 2019, 39(3): 323-329. DOI:10.3969/j.issn.1000-1565.2019.03.015
[17]
Cho T, Lee C, Choi S. Multi-sensor fusion with interacting multiple model filter for improved aircraft position accuracy. Sensors, 2013, 13(4): 4122-4137. DOI:10.3390/s130404122
[18]
Nanduri A, Sherry L. Anomaly detection in aircraft data using Recurrent Neural Networks (RNN). Proceedings of 2016 Integrated Communications Navigation and Surveillance. Herndon: IEEE, 2016. 5C2-1–5C2-8.
[19]
Li TY, Wang BH, Shang FT, et al. Online sequential attack detection for ADS-B data based on hierarchical temporal memory. Computers & Security, 2019, 87: 101599. DOI:10.1016/j.cose.2019.101599
[20]
Habler E, Shabtai A. Using LSTM encoder-decoder algorithm for detecting anomalous ADS-B messages. Computers & Security, 2018, 78: 155-173. DOI:10.1016/j.cose.2018.07.004
[21]
丁建立, 邹云开, 王静, 等. 基于深度学习的ADS-B异常数据检测模型. 航空学报, 2019, 40(12): 323220. DOI:10.7527/S1000-6893.2019.23220
[22]
罗鹏, 王布宏, 李腾耀. 基于BiGRU-SVDD的ADS-B异常数据检测模型. 航空学报, 2020, 41(10): 323878. DOI:10.7527/S1000-6893.2020.23878
[23]
Luo P, Wang BH, Li TY, et al. ADS-B anomaly data detection model based on VAE-SVDD. Computers & Security, 2021, 104: 102213. DOI:10.1016/j.cose.2021.102213
[24]
Wang ES, Song YS, Xu S, et al. ADS-B anomaly data detection model based on deep learning and difference of Gaussian approach. Transactions of Nanjing University of Aeronautics and Astronautics, 2020, 37(4): 550-561. DOI:10.16356/j.1005-1120.2020.04.006
[25]
McCallie D, Butts J, Mills R. Security analysis of the ADS-B implementation in the next generation air transportation system. International Journal of Critical Infrastructure Protection, 2011, 4(2): 78-87. DOI:10.1016/j.ijcip.2011.06.001
[26]
Wilhelm M, Martinovic I, Schmitt JB, et al. Short paper: Reactive jamming in wireless networks: How realistic is the threat? Proceedings of the 4th ACM Conference on Wireless Network Security. Hamburg: ACM, 2011. 47–52.
[27]
姚越, 刘达. 基于注意力机制的卷积神经网络-长短期记忆网络的短期风电功率预测. 现代电力, 2022, 39(2): 212-218. DOI:10.19725/j.cnki.1007-2322.2021.0108