MoCyberSecurity/can-bus-anomaly-detection-ids
GitHub: MoCyberSecurity/can-bus-anomaly-detection-ids
面向汽车CAN总线网络的轻量级入侵检测系统,通过信号行为标准差分析识别重放和DoS攻击。
Stars: 0 | Forks: 0
# CAN 总线异常检测 IDS
轻量级入侵检测系统 (IDS),用于汽车 CAN 总线网络,旨在识别恶意活动,如资源受限环境中的重放和拒绝服务 (DoS) 攻击。
## 为什么这很重要
控制器局域网 (CAN 总线) 在现代车辆中广泛使用,但缺乏内置的安全功能,如身份验证和加密。这使得它容易受到消息注入、重放和干扰攻击的影响,从而可能影响车辆行为。
本项目展示了如何将异常检测技术应用于 CAN 流量,以识别异常信号模式和潜在攻击。
## 本项目展示的内容
- 使用 ICSim 模拟 CAN 流量
- 重放和 DoS 攻击场景的实现
- 基于信号行为的轻量级异常检测(标准差)
- 与机器学习模型进行比较(Random Forest、Decision Tree、MLP)
- 在保持高检测性能的同时,适用于资源受限的系统
## 🚗 问题
现代车辆依赖 CAN 总线通信,但由于缺乏身份验证和加密,容易受到以下攻击:
- 重放攻击
- 拒绝服务 (DoS)
许多现有方案依赖于复杂的转换或繁重的机器学习模型,不适合资源受限的 ECU。
## 💡 解决方案
本项目提出了一种基于以下内容的轻量级异常检测方法:
- 从 CAN 数据字段中提取关键信号值
- 使用标准差测量行为变化
- 无需标记数据集即可检测异常
目标是提供一个**简单、高效、实用的 IDS** 用于汽车环境。
## 🧱 系统架构

## ⚙️ 实现
- 使用 ICSim 模拟 CAN 流量
- 实现了重放和 DoS 攻击
- 从 CAN 帧中提取和处理数据
- IDS 使用 C 语言实现
- 在 Python 中评估机器学习模型:
- Random Forest
- Decision Tree
- MLP
## 📊 结果
- 重放攻击检测率:约 96.9%
- DoS 攻击检测率:约 95.1%
- Random Forest 准确率:约 96%
关键发现:
与 DoS 攻击相比,重放攻击仍然更难检测。
## 
## 🧠 关键见解
基于信号的轻量级异常检测可以在不依赖复杂或计算密集型模型的情况下实现具有竞争力的性能。
这突出了汽车系统中检测精度与实际部署可行性之间的重要权衡。
## 文档
- [项目概述](docs/summary.md)
标签:Apex, automotive security, CAN总线, CAN流量分析, Decision Tree, DoS攻击, ICSim, intrusion detection, MLP, Random Forest, 信号行为分析, 入侵检测系统, 安全数据湖, 嵌入式安全, 异常检测, 控制器局域网, 机器学习, 标准差分析, 汽车安全, 网络安全, 资源受限, 车联网, 车载网络, 轻量级检测, 逆向工具, 重放攻击, 隐私保护