1.一种基于多模型融合的汽车传感器攻击检测与防御方法,具体包括以下步骤:步骤1:利用Carsim与MATLAB\Simulink进行联合仿真,采集不同速度下的多种驾驶工况数据:车速V、横摆角速度AVz、侧向加速度Ay、方向盘转角Steer_SW;
步骤2:对数据集进行预处理:
步骤2‑1:检查采集的数据集中数据的完整性,若有缺失值则进行修补;
步骤2‑2:将数据集中的数据按如下公式进行归一化处理:
*
式中,X 代表归一化后的数据,X代表归一化之前的数据,Xmin代表汽车某一传感器在当前数据序列中的最小值,Xmax代表汽车某一传感器在当前数据序列中的最大值;
步骤2‑3:针对多个复杂的驾驶工况进行八分类,主要通过方向盘Steer_SW角度的不同时,对汽车三个传感器数据按汽车驾驶工况的不同将“直线”标记为0,“左换道”标记为1,“右换道”标记为2,“左连续换道”标记为3,“右连续换道”标记为4,“左直角转弯”标记为5,“右直角转弯”标记为6,“掉头”标记为7,将标签和其他特征属性分开存放;所述三个传感器数据指横摆角速度AVz、侧向加速度Ay、方向盘转角Steer_SW;
步骤3:对数据集进行选择与分割:
步骤3‑1:将步骤2中预处理后的多种驾驶工况下汽车行驶开始时极短时间T的传感器数据的作为分类样本,极短时间T取0.5s;
步骤3‑2:引入数据分割算法,对数据集进行等间距分割处理,扩充数据集样本容积;
步骤3‑3:重复步骤3‑2,将所有分割的数据合并为一个大样本,命名为分类样本数据集Classify_data;
步骤3‑4:将步骤1中所采集到的传感器数据车速V、横摆角速度AVz、方向盘转角Steer_SW的全部数据集单独保存,命名为检测样本数据集Prediction_data;
步骤4:利用多模型融合算法在不同驾驶工况进行训练:
步骤4‑1:选取步骤3‑3中的数据集Classify_data的70%作为训练集进行分类训练,使用步骤3‑3中的数据集Classify_data中的一部分作为测试集,使用softmax函数作为激活函数;
步骤4‑2:分类精度的评价指标使用Accuracy与Error_rate表示:式中,TP表示真实类别为正例,预测类别为正例;TN表示真实类别为负例,预测类别为负例,P代表正例总数、N代表负例总数;FP表示真实类别为负例,预测类别为正例;FN表示真实类别为正例,预测类别为负例;
步骤4‑3:选取步骤3‑4中的数据集Prediction_data的一部分作为训练集进行回归预测训练,使用步骤3‑4中的数据集Prediction_data中的一部分作为测试集,使用linear函数作为激活函数;
步骤4‑4:回归预测采用滑动时间窗口的方式,将下一个时间点的数值作为上一个时间点样本的训练标签,回归模型可以根据步骤3‑4中Prediction_data中的前一段序列预测出下一时刻(t)的预测值 即将前t‑1个数据作为输入数据被依次送入模型的输入层,下一个时刻的预测值 只依赖于 设定回归预测模型
中的LSTM、AR、RNN的输出预测值X(L)、X(A)、X(R),预测值的权重由如下公式得出,其中 表示t时刻的实际值:式中,N代表工况,N的取值范围为0~7;M代表速度等级,设定车速范围为5Km/h~80Km/h,每5Km/h代表一个速度等级,即M取值范围为0~15;
步骤5:训练阶段:分类模型使用CrossEntropyLoss作为损失函数,优化算法选用adam,回归预测模型使用mse作为损失函数,优化算法选用rmsprop;
步骤6:当损失收敛到最小值时分别保存分类模型与回归预测模型;
步骤7:设计多模型融合算法;
步骤7‑1:将步骤3‑3中Classify_data的测试集作为分类模型的输入,设置SVC、LSTM的输出值的权重后进行求和,根据求和结果识别属于哪种驾驶工况;
步骤7‑2:根据不同的驾驶工况选择步骤6中不同的回归预测模型,对步骤3‑4中Prediction_data的测试集数据进行预测;
步骤8:计算当前时刻的预测值 与实际值 的误差et,利用窗口误差累计法来判断汽车传感器数据是否受到攻击;
步骤9:手动设定一个阈值W0,选取一个时间滑动窗口m,计算当前窗口下预测值与实际值的累计误差 并与W0进行比较;若大于W0,则判定t时刻的实际值判定为异常数据,即汽车传感器受到攻击;同时,使用预测值代替实际值进入下一窗口序列中输入到回归预测模型中参与计算,实现防御攻击的效果。
2.如权利要求1所述的基于多模型融合的汽车传感器攻击检测与防御方法,其特征在于:步骤3‑3中的数据集Classify_data中的30%作为测试集;步骤4‑3中,选取步骤3‑4中的数据集Prediction_data的70%作为训练集进行回归预测训练,使用步骤3‑4中的数据集Prediction_data中的30%作为测试集。
3.如权利要求1所述的基于多模型融合的汽车传感器攻击检测与防御方法,其特征在于:步骤7‑1中设置SVC、LSTM的输出值的权重均为0.5后进行求和。