文章提出了一种使用数据质量(data mass)而非分割数量的改进的隔离森林方法(MS-iForest),用于检测篡改攻击,并给出了异常分数排名(改进了计算方法)来量化异常程度——可作为入侵检测系统的一部分(如车载网关中的安全组件)
- 实验方法:
- 数据预处理:
- 标准化、异常数据清除、错误纠正、重复数据清除等;
- 使用预先设置的ID分类器将CAN数据按ID进行分类,共17个ID,不同的ID代表不同的节点,每个ID有1~8个字节,可识别1~8个属性;
- 将消息数据从16进制转换为0~255范围内的十进制;
- 训练阶段:
- 从训练数据中随机选择ψ=256个点作为子样本,构建一系列树t=100,称为iForest;
- 每棵树的生长过程(即训练过程):
- 数据通过不同的iTree检测;
- 测试阶段:
- 计算异常分数:通过质量基函数代替路径长度,计算每个iTree中的质量基函数(计算x所在节点的样本数)得到异常分数(利用二分搜索树BST中搜索失败的分析方法估计iTree的平均路径长度);
- 对异常分数排名,选定阈值,排名靠前的是异常点。
- 实验步骤
- 将四种算法(MS-iForest、iForest、one-classSVM和局部离群因子LOF)应用于两个标准数据集hbk、wood,输出实例异常分数排名;
- 在hbk数据集增加2个局部异常(数据集太小???);
- 在CAN总线网络插入IG模块,设计CANoeCAN总线网络仿真;
- 如果出现异常分数,检测系统反馈报警信号。包含两个子实验:
- 将MS-iForest应用于不同的ID,验证该算法对不同ID的适应性;
- 以ID=100的数据为例进行检测:在模拟的正常CAN总线上,随机生成130个异常消息,并对原始正常数据进行篡改;
- 在污染率和局部异常比例不断增加时,检测性能保持稳定。
- 实验设置:
篡改攻击 | ID正常,更改、删除或访问未经授权的数据位(数据帧、远程帧),修改原始指令 |
数据集 | 1个车载数据集(通过CANoe仿真生成模拟篡改数据集) 2个标准数据集:hbk、wood |
评估指标 | AUC曲线 |
- 方案局限
- 数据集太小;
- 隔离森林运用的两个局限性条件;
- 未在实车中进行实验,不能确保是否适用。