1 无人机C2链路模型
2 无人机C2链路DoS攻击场景分析
3 基于BiTCN的DoS攻击检测方法
3.1 数据准备
表1 网络特征及其含义Table 1 Network characteristics and their meanings |
| 网络特征 | 特征含义 |
|---|---|
| frame.len | 捕获帧的长度 |
| wlan.ta | 发射器的MAC地址 |
| wlan.sa | 源MAC地址 |
| wlan.ra | 接收器的MAC地址 |
| wlan.da | 目标MAC地址 |
| wlan.bssid | 接入点的MAC地址 |
| wlan.duration | 无线介质上传输帧的时间 |
| wlan.seq | 帧的序列号 |
| wlan.fc.type | 帧控制类型 |
| wlan.fc.subtype | 帧控制字段的帧子类型 |
| wlan.flags | 无线局域网数据帧中的帧控制字段 |
| wlan.fcs | 无线局域网数据帧中的帧校验序列字段 |
| wlan.fcs.status | 帧校验序列的状态 |
| wlan.ccmp.extiv | 无线局域网数据帧中的CCMP加密协议的扩展初始化向量 |
| data.len | 数据包中数据部分的长度 |
| radiotap.hdr_length | Radiotap协议头的长度字段 |
| radiotap.signal_quality | Radiotap协议中的信号质量 |
| wlan_radio.datarate | 无线局域网数据帧的传输速率字段 |
| wlan_radio.channel | 无线局域网数据帧中无线射频的信道信息 |
| wlan_radio.SNR (db) | 无线局域网数据帧中无线射频的信噪比字段 |
| wlan_radio.preamble | 无线局域网数据帧中无线射频的前导码字段 |
| timestamp_c | 网络特征时间戳 |
表2 物理特征及其含义Table 2 Physical characteristics and their meanings |
| 物理特征 | 特征含义 |
|---|---|
| pitch | 无人机向前方向的倾斜 |
| roll | 无人机向后方向的倾斜 |
| yaw | 无人机绕z轴的旋转 |
| vgx | 无人机沿x轴的速度 |
| vgy | 无人机沿y轴的速度 |
| vgz | 无人机沿z轴的速度 |
| flight_time | 无人机飞行的持续时间 |
| height | 无人机的高度 |
| agx | 无人机沿x轴与Tello Pad的距离 |
| agy | 无人机沿y轴与Tello Pad的距离 |
| agz | 无人机沿z轴与Tello Pad的距离 |
| timestamp_p | 物理特征时间戳 |
3.2 数据预处理
3.3 BiTCN模型架构
3.4 模型训练
| |
|---|
| Input:初始化数据集路径D Input:初始化特征类型F,包含网络特征cyber,物理特征physical Input:设置初始化窗口大小WS、训练轮次E、批量大小B 1. 读取数据加载CSV数据集,设置索引列target 2. 分离标签,删除数据中的标签列 3. if 特征类型F为cyber 4. 保留网络特征列k_cep_list_c 5. else if 特征类型F为physical 6. 保留物理特征列k_cep_list_p 7. else 特征类型F为cyber+physical 8. 保留网络物理特征k_list 9. 将X初始化为空数组(1,WS,feats) 10.for 窗口位置i从0到len(df)-WS 11. 提取窗口数据window 12. 将窗口数据重塑为(1,WS,feats)合并到X 13. 对应标签Y 14.划分训练集与测试集X train,X test,Y train,Y test 15.屏蔽填充值-1 16.for 循环变量k从1到2 17. 特征拼接merge_mode=concat实现双向时序建模 18. 聚合时序特征GlobalAveragePooling(Z TCN) 19. 去除时间步维度 20. 激活函数输出攻击概率 21.训练早停机制early_stop 22.for 训练时间epoch从1到E 23. 训练模型model.fit(X train,Y train) 24. if 满足早停条件 25. 计算评价指标 26. 输出结果并保存 |
4 仿真实验
4.1 实验设置
4.2 实验评估指标
4.3 实验结果与分析
5 结论
附录A
表A1 BiTCN模型中参数的意义Table A1 Significance of parameters in BiTCN model |
| 参数 | 含义 | 计算意义 |
|---|---|---|
| 前向TCN分支在时间步t的输出张量 | 前向分支捕捉从过去到未来的时序依赖关系,为后续特征整合提供基础 | |
| 反向TCN分支在时间步t的输出张量 | 反向分支捕捉从未来到过去的时序依赖关系,为后续特征整合提供基础 | |
| 前向TCN分支的卷积核权重,k为卷积核中的偏移量 | 用于加权输入信息,提取时序特征,权重值反映模型对不同时间步输入的重视程度 | |
| 反向TCN分支的卷积核权重,k为卷积核中的偏移量 | ||
| 前向TCN分支的偏置项 | 用于调整卷积输出的偏移量,增强模型的拟合能力 | |
| 反向TCN分支的偏置项 | ||
| K | 卷积核大小,表示卷积操作覆盖的时间步数 | 控制模型的感受野,即模型能够捕捉的时间范围 |
| 拼接后的特征向量,包含前向和反向TCN分支的特征 | 模型计算的中间结果,通过整合双向特征,提供更全面的时序信息,增强模型对时序数据的表达能力 | |
| Dropout层的输出特征值 | 模型计算的中间结果,通过随机丢弃部分特征值,防止模型过拟合,提高泛化能力 | |
| p | Dropout概率,表示随机丢弃神经元的概率 | 控制正则化的强度 |
| d | 膨胀因子 | 通过引入膨胀因子来控制卷积核中相邻元素之间的间隔 |

