gouresh-madye/can-bus-simulation

GitHub: gouresh-madye/can-bus-simulation

基于 Suricata 的车载 CAN 总线入侵检测与自动驾驶安全响应系统,支持威胁检测、智能评分和分级安全机动。

Stars: 0 | Forks: 0

# 🚗 CAN Bus 自动驾驶车辆安全系统 一个全面的自动驾驶车辆安全系统,用于检测 CAN Bus 攻击并执行相应的安全机动措施。该项目集成了 Suricata IDS 进行威胁检测,并通过车辆控制模块自动执行分级安全措施来应对威胁。 ## 🆕 新功能:自动驾驶车辆安全控制 **新功能!** 该项目现在包含一个完整的安全系统,具备以下功能: - ✅ 检测 7 类 CAN Bus 威胁( floods、异常、传感器故障等) - ✅ 以 0-100 分的范围对威胁进行评分,并进行智能聚合 - ✅ 执行 5 种分级安全机动(SLOW_DOWN, STOP, PULL_OVER, EVASIVE, FULL_STOP) - ✅ 为车辆控制模块生成特定的 CAN 报文 - ✅ 强制执行 8 项物理安全约束 - ✅ 实现 5 种故障安全机制 **👉 [从安全系统概述开始](README_SAFETY_SYSTEM.md)** | **[快速入门 (5 分钟)](QUICKSTART.md)** | **[完整架构](ARCHITECTURE.md)** ## 📋 目录 - [系统功能](#what-this-system-does) - [特性](#features) - [文档](#documentation) - [项目结构](#project-structure) - [前置条件](#prerequisites) - [安装说明](#installation) - [使用方法](#usage) - [安全系统 (新功能)](#safety-system-new) - [IDS 检测](#ids-detection) - [可视化](#visualization) - [威胁检测](#threat-detection) - [安全机动](#safety-maneuvers) - [测试](#testing) - [故障排除](#troubleshooting) ## 🎯 系统功能 ### 自动驾驶车辆保护管道 ``` CAN Bus Traffic ↓ Suricata IDS (10 Detection Rules) ↓ eve.json Alerts ↓ Safety Controller (7 Threat Classes) ↓ Threat Scoring Algorithm (0-100) ↓ Safety Decision Logic ↓ Vehicle Control Commands ↓ 5 Safety Maneuvers (Graduated Response) ``` ### 现实世界示例 当 Suricata 检测到 CAN flood 攻击(规则 1000001)时: 1. 警报被解析并归类为“CAN Flooding”威胁(第 1 类) 2. 威胁评分升至 35/100(黄色状态) 3. 安全控制器触发 SLOW_DOWN 机动 4. 车辆控制模块向制动模块 (0x100) 发送减速指令 5. 制动器施加 2 m/s² 的减速度,同时监控后续威胁 如果攻击持续或升级: - 评分升至 65/100(橙色状态)→ STOP 机动 - 评分达到 85/100(红色状态)→ FULL_STOP 紧急制动 ## ✨ 特性 ### 安全系统 (新功能!) 🆕 - **威胁检测**:与 Suricata 集成的 7 类威胁检测系统 - **智能评分**:具有时间衰减特性的威胁评分算法(0-100 分) - **分级响应**:由威胁等级触发的 5 种安全机动 - **CAN 控制**:针对 5 个车辆模块(制动、油门、转向、感知、安全)的特定 CAN 报文 - **安全约束**:8 项物理安全限制(最大减速度、转向范围等) - **故障安全机制**:5 项冗余安全检查,防止意外行为 - **事件报告**:包含威胁时间线的详细事件日志 ### IDS 检测特性 - **实时检测**:集成 Suricata IDS,输出 eve.json - **10 条检测规则**:针对 CAN 特定威胁的全面规则 - **CAN 流量生成**:模拟带有各种攻击模式的 CAN Bus 流量 - **日志分析**:解析和分析 Suricata 日志 - **可视化**:检测到的警报和威胁时间线的交互式可视化 ### 检测到的威胁 1. **CAN Flood 检测** - 高频重复的 CAN ID 模式(规则 1000001) 2. **异常检测** - 异常的报文序列(规则 1000002) 3. **DoS 攻击** - 零负载可疑模式(规则 1000003) 4. **诊断 Floods** - FF 负载洪泛(规则 1000004) 5. **未授权指令** - 控制帧异常(规则 1000005) 6. **OBD 滥用** - 恶意 OBD-II 访问尝试(规则 1000006) 7. **未知 ECU ID** - 检测未注册的 ECU 标识符(规则 1000007) 8. **急速转向** - 危险的转向角变化(规则 1000008) 9. **冲突控制** - 同时发生的冲突指令(规则 1000009) 10. **过制动压力** - 异常的制动压力值(规则 1000010) ## 📁 项目结构 ``` can-bus-simulation/ ├── code/ │ ├── vehicle_control.py # Core threat detection & control (600+ lines) │ ├── safety_controller.py # Suricata integration & decisions (300+ lines) │ ├── test_safety_controller.py # 17 comprehensive unit tests (400+ lines) │ ├── generate_pcap.py # PCAP generator for CAN traffic │ └── visualize.ipynb # Jupyter notebook for visualization ├── packets/ │ └── can_sim.pcap # Generated CAN traffic capture ├── inputdata/ │ └── simulated_can_logs.csv # Sample CAN log data ├── rules/ │ └── can.rules # 10 Suricata detection rules (enhanced) ├── suricata_logs/ │ ├── fast.log # Alert summary │ └── eve.json # Detailed JSON logs ├── suricata.yaml # Suricata IDS configuration ├── requirements.txt # Python dependencies ├── screenshots/ # Documentation screenshots │ ├── Documentation Files: ├── README_SAFETY_SYSTEM.md # Safety system overview ├── QUICKSTART.md # 5-minute quick start guide ├── ARCHITECTURE.md # Complete system design (400 lines) ├── IMPLEMENTATION_GUIDE.md # Step-by-step implementation (300 lines) ├── COMPLETE_IMPLEMENTATION.md # Full technical specification (500 lines) ├── DELIVERY_SUMMARY.md # Project completion status └── DOCUMENTATION_INDEX.md # Navigation guide for all docs ``` ## 🔧 前置条件 ### 系统要求 - **操作系统**:macOS, Linux, 或 Windows (WSL) - **Python**:3.10 或更高版本 - **Suricata IDS**:7.0.0 或更高版本 - **Sudo 权限**:运行 Suricata 需要 ### macOS 安装 ``` # 安装 Homebrew(如果尚未安装) /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" # 安装 Suricata brew install suricata # 验证安装 suricata --version ``` ### Linux (Ubuntu/Debian) 安装 ``` # 添加 Suricata PPA sudo add-apt-repository ppa:oisf/suricata-stable sudo apt-get update # 安装 Suricata sudo apt-get install suricata # 验证安装 suricata --version ``` ## 📦 安装说明 ### 1. 克隆或下载项目 ``` cd ~/Documents/MajorProject ``` ### 2. 安装 Python 依赖 #### 选项 A:使用虚拟环境(推荐) ``` # 创建 virtual environment python3 -m venv .venv # 激活 virtual environment source .venv/bin/activate # On macOS/Linux # 或者 .venv\Scripts\activate # On Windows # 升级 pip 并安装 dependencies python3 -m pip install --upgrade pip python3 -m pip install -r requirements.txt ``` #### 选项 B:使用 Conda/Miniforge ``` # 创建 conda environment conda create -n can-ids python=3.11 -y # 激活 environment conda activate can-ids # 从 conda-forge 安装 dependencies conda install -c conda-forge pandas matplotlib seaborn jupyter -y ``` #### 选项 C:系统级安装 ``` python3 -m pip install --upgrade pip python3 -m pip install -r requirements.txt ``` ## 🚀 使用方法 ### 安全系统 (新功能) 🆕 #### 快速入门 (5 分钟) ``` # 1. 安装 Python dependencies pip install -r requirements.txt # 2. 使用测试警报运行 safety controller python3 -c " from code.safety_controller import SafetyController # 创建 controller controller = SafetyController() # 处理样本威胁 alerts = [ {'alert': {'category': 'CAN Flood Detected'}, 'threat_score': 30}, {'alert': {'category': 'Anomaly Detection'}, 'threat_score': 25}, ] for alert in alerts: controller.process_ids_alert(alert) # 查看事件报告 print(controller.generate_incident_report()) " # 3. 运行完整测试套件 (17 tests) python3 code/test_safety_controller.py ``` 有关详细设置,请参阅 **[QUICKSTART.md](QUICKSTART.md)** 或 **[IMPLEMENTATION_GUIDE.md](IMPLEMENTATION_GUIDE.md)**。 #### 理解安全系统 **架构**:[ARCHITECTURE.md](ARCHITECTURE.md) - 包含 5 个车辆模块的系统设计 - 7 类威胁检测 - 5 种安全机动序列 - CAN 报文规范 **实现**:[IMPLEMENTATION_GUIDE.md](IMPLEMENTATION_GUIDE.md) - 组件集成 - 4 个测试场景及代码示例 - 自定义指南 - 事件报告 **完整规范**:[COMPLETE_IMPLEMENTATION.md](COMPLETE_IMPLEMENTATION.md) - 详细的威胁标准 - CAN 报文字节级规范 - 安全约束 - 现实世界攻击场景 ### IDS 检测 ### IDS 检测 #### 步骤 1:生成 CAN 流量 ``` python3 generate_pcap.py ``` **输出**:创建包含模拟 CAN 流量(包括各种攻击向量)的 `packets/can_sim.pcap`。 #### 步骤 2:运行 Suricata IDS 执行 Suricata 以分析生成的 PCAP 文件: ``` # 清理以前的日志并创建新的 output 目录 sudo rm -rf ~/Documents/MajorProject/suricata_logs && \ mkdir ~/Documents/MajorProject/suricata_logs # 运行 Suricata 分析 sudo suricata -r ~/Documents/MajorProject/packets/can_sim.pcap \ -c ~/Documents/MajorProject/suricata.yaml \ -S ~/Documents/MajorProject/rules/can.rules \ -l ~/Documents/MajorProject/suricata_logs \ --runmode=single -vv ``` **参数说明:** - `-r`:从 PCAP 文件读取 - `-c`:Suricata 配置文件 - `-S`:自定义规则文件 - `-l`:日志输出目录 - `--runmode=single`:单线程模式,用于获得一致的结果 - `-vv`:用于调试的详细输出 **预期输出:** - `suricata_logs/fast.log` - 人类可读的警报摘要 - `suricata_logs/eve.json` - JSON 格式的详细日志 - 显示检测到的警报的控制台输出 ![Suricata 实现](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/665a8f772f150345.png) #### Suricata 日志 运行 Suricata 后,检查生成的日志: ``` # 查看 fast.log(alert 摘要) cat ~/Documents/MajorProject/suricata_logs/fast.log # 按类型统计 alert 数量 grep -o '\[.*\]' ~/Documents/MajorProject/suricata_logs/fast.log | sort | uniq -c ``` ![Suricata 日志输出](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/02eec1a511150348.png) #### 步骤 3:可视化结果 #### 使用 Jupyter Notebook 1. **启动 Jupyter Notebook**: # 如果使用虚拟环境,请确保已激活 jupyter notebook 2. **打开笔记本**: - 导航到 `visualize_fastlog.ipynb` - 依次运行所有单元格 (Cell → Run All) 3. **交互式分析**: 笔记本提供: - 警报频率条形图 - 攻击的时间线可视化 - 源 IP 与目标 IP 热力图 - 统计摘要 #### 使用 Python 脚本(替代方案) 如果您更喜欢在不使用 Jupyter 的情况下运行分析: ``` python3 -c " import pandas as pd import re from datetime import datetime # 读取并解析 fast.log with open('suricata_logs/fast.log', 'r') as f: lines = [l.strip() for l in f if l.strip()] pattern = re.compile( r'(?P\d{2}/\d{2}/\d{4}-\d{2}:\d{2}:\d{2}\.\d+).*\[(?P\d+):(?P\d+):(?P\d+)\]\s+(?P.*?)\s+\[\*\*\]' ) records = [] for line in lines: match = pattern.search(line) if match: records.append(match.groupdict()) df = pd.DataFrame(records) print('\n📊 Alert Summary:') print(df['alert'].value_counts()) print(f'\n🔢 Total Alerts: {len(df)}') print(f'📡 Unique Source IPs: {df[\"alert\"].nunique()}') " ``` ## 📊 可视化 `visualize_fastlog.ipynb` 笔记本提供了全面的可视化: ### 1. 警报频率分析 - 显示每种警报类型计数的条形图 - 识别最常见的攻击向量 ### 2. 时间线可视化 - 所有检测到的警报的按时间顺序视图 - 帮助识别攻击模式和时间 ### 3. 网络热力图 - 源 IP 与目标 IP 矩阵 - 可视化通信模式 - 高亮显示可疑连接 ### 示例输出 ``` Parsed 78 alerts, skipped 0 lines. 📈 Summary of Alerts: CAN Anomaly - ID 0x200 abnormal sequence 22 CAN Flood Detected - ID 0x100 pattern 21 CAN Diagnostic Flood - FF Payload 15 CAN Unknown ECU ID (>0x700) Detected 13 CAN Unauthorized Command - Control Frame 10 CAN DoS Suspicious - Zero Payload 4 Unique Source IPs: 5 Unique Destination IPs: 5 ``` ## 🛡️ 威胁检测 安全系统检测并响应 **7 类威胁**: | 类别 | 名称 | 示例 | 威胁评分 | 响应 | |-------|------|----------|---------------|----------| | 1 | CAN Flooding | 重复 ID 模式,高频 | 15-40 | SLOW_DOWN | | 2 | 异常 | 异常序列,意外数据 | 20-45 | SLOW_DOWN | | 3 | 传感器故障 | 极端值,数据丢失 | 25-50 | STOP | | 4 | 诊断滥用 | OBD-II floods,恶意探测 | 30-55 | STOP | | 5 | 未授权指令 | 未知 ECU,控制异常 | 35-60 | PULL_OVER | | 6 | OBD 滥用 | ECU 参数更改,内存访问 | 40-70 | EVASIVE | | 7 | 未知 ECU | 未注册 ID,欺骗 | 45-75 | FULL_STOP | ### 威胁评分 威胁按 0-100 分进行评分,并具有智能聚合功能: - **绿色** (0-25):无动作,仅监控 - **黄色** (26-50):SLOW_DOWN 机动,降低速度 - **橙色** (51-75):STOP 机动,受控停止 - **红色** (76-100):FULL_STOP 机动,紧急停止 评分会随着威胁的解决而随时间衰减(半衰期:30 秒)。 ## 🚗 安全机动 系统执行 **5 种分级安全措施** 以应对威胁: | 机动 | 触发条件 | 动作 | CAN 指令 | 持续时间 | |----------|---------|--------|--------------|----------| | SLOW_DOWN | 威胁 26-50 | 减速至 25 mph | 油门 -30%,制动 +20% | 直到威胁消除 | | STOP | 威胁 51-75 | 受控减速 | 油门 OFF,制动 2 m/s² | 直到停止 | | PULL_OVER | 威胁 76-85 | 靠边停车 | 转向 ±20°,制动 3 m/s² | 直到停止 | | EVASIVE | 威胁 86-95 | 躲避障碍物 | 转向 ±40°,油门 +50% | 2-3 秒 | | FULL_STOP | 威胁 96-100 | 紧急停车 | 制动 10 m/s²,双闪 ON | 直到停止 | 每个机动包括: - ✅ 为每个车辆模块生成 CAN 报文 - ✅ 实时反馈验证 - ✅ 物理约束强制执行 - ✅ 用于安全的看门狗计时器 - ✅ 自动事件记录 ## 📊 测试 运行全面的测试套件: ``` # 运行全部 17 tests python3 code/test_safety_controller.py # 运行特定 test class python3 code/test_safety_controller.py TestVehicleControlModule # 运行并显示详细输出 python3 -v code/test_safety_controller.py ``` **测试覆盖范围**(17 个测试): - ✅ 报文解析(3 个测试) - ✅ 威胁检测(6 个测试) - ✅ 威胁评分(1 个测试) - ✅ 状态转换(4 个测试) - ✅ 机动执行(3 个测试) - ✅ Suricata 集成(2 个测试) ## 📊 检测规则 ### 规则格式 `rules/can.rules` 中的每条 CAN 检测规则都遵循以下结构: ``` alert udp any any -> any any (msg:"Alert Message"; content:"pattern"; sid:XXXXXX; rev:X; priority:3;) ``` ### 当前规则集 | SID | 警报类型 | 威胁类别 | 描述 | | ------- | ------------------------ | ------------ | --------------------------- | | 1000001 | CAN Flood Detected | 1 | 重复 ID 模式 | | 1000002 | CAN Anomaly | 2 | 异常序列 | | 1000003 | CAN DoS Suspicious | 3 | 零负载攻击 | | 1000004 | CAN Diagnostic Flood | 4 | FF 负载洪泛 | | 1000005 | CAN Unauthorized Command | 5 | 控制帧异常 | | 1000006 | CAN OBD Abuse | 6 | OBD-II 参数滥用 | | 1000007 | CAN Unknown ECU ID 7 | 大于 0x700 的 ECU ID | | 1000008 | CAN Rapid Steering | 2 | 危险的转向变化 | | 1000009 | CAN Conflicting Controls | 5 | 同时发生的冲突 | | 1000010 | CAN Excessive Brake | 3 | 异常压力值 | ### 添加自定义规则 编辑 `rules/can.rules` 以添加新的检测模式: ``` # 示例:检测特定 CAN ID alert udp any any -> any any (msg:"CAN Custom ID 0x300 Detected"; content:"|03 00|"; sid:1000010; rev:1; priority:2;) ``` ## 🖼️ 截图 ### Suricata 实现 ![Suricata 运行中](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/665a8f772f150345.png) ### 生成的日志 ![警报日志](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/02eec1a511150348.png) ## 🔍 故障排除 ### 常见问题 #### 1. Suricata 权限被拒绝 **错误**:`Permission denied when accessing PCAP` **解决方案**: ``` # 使用 sudo 运行 sudo suricata -r ... # 或者修改文件权限 chmod 644 ~/Documents/MajorProject/packets/can_sim.pcap ``` #### 2. Python 包安装失败 **错误**:`Failed building wheel for matplotlib` **macOS 解决方案**: ``` # 安装系统 dependencies xcode-select --install brew install pkg-config freetype libpng # 重试安装 python3 -m pip install -r requirements.txt ``` **替代方案**:使用 conda/miniforge(参见安装部分) #### 3. 找不到 Suricata **错误**:`suricata: command not found` **解决方案**: ``` # macOS brew install suricata # Linux sudo apt-get install suricata # 验证 which suricata ``` #### 4. 日志文件为空 **问题**:`suricata_logs/fast.log` 为空 **解决方案**: 1. 检查 PCAP 文件是否存在且有内容 2. 验证规则文件路径是否正确 3. 使用 `-vv` 标志运行 Suricata 以获取详细输出 4. 检查 Suricata 版本兼容性 #### 5. Jupyter Notebook 内核问题 **错误**:内核错误或导入失败 **解决方案**: ``` # 重装 kernel python3 -m ipykernel install --user --name=can-ids # 使用特定 kernel 启动 Jupyter jupyter notebook --kernel=can-ids ``` ### 调试模式 以最大详细程度运行 Suricata 进行故障排除: ``` sudo suricata -r ~/Documents/MajorProject/packets/can_sim.pcap \ -c ~/Documents/MajorProject/suricata.yaml \ -S ~/Documents/MajorProject/rules/can.rules \ -l ~/Documents/MajorProject/suricata_logs \ --runmode=single -vvv --log-level=debug ``` ## 📚 文档指南 本项目包含面向不同读者的全面文档: | 文档 | 目的 | 时间 | 最适合 | |----------|---------|------|----------| | [README_SAFETY_SYSTEM.md](README_SAFETY_SYSTEM.md) | 高层概述 | 5-10 分钟 | 了解系统 | | [QUICKSTART.md](QUICKSTART.md) | 快速设置与参考 | 5-15 分钟 | 快速上手 | | [ARCHITECTURE.md](ARCHITECTURE.md) | 完整的系统设计 | 20-30 分钟 | 了解设计 | | [IMPLEMENTATION_GUIDE.md](IMPLEMENTATION_GUIDE.md) | 分步实现 | 20-30 分钟 | 实践学习 | | [COMPLETE_IMPLEMENTATION.md](COMPLETE_IMPLEMENTATION.md) | 完整技术规范 | 45-60 分钟 | 深入理解技术细节 | | [DELIVERY_SUMMARY.md](DELIVERY_SUMMARY.md) | 项目状态与指标 | 15-20 分钟 | 项目概览 | | [DOCUMENTATION_INDEX.md](DOCUMENTATION_INDEX.md) | 导航指南 | 5-10 分钟 | 查找所需内容 | **👉 从这里开始**:[README_SAFETY_SYSTEM.md](README_SAFETY_SYSTEM.md) 或 [QUICKSTART.md](QUICKSTART.md) **完整文档导航**:参见 [DOCUMENTATION_INDEX.md](DOCUMENTATION_INDEX.md) ## 🎯 预期结果 成功完成所有步骤后,您应该拥有: ✅ 能够防御 7 类威胁的自动驾驶车辆安全系统 ✅ 具有智能评分 (0-100) 的实时威胁检测 ✅ 通过 CAN 指令自动执行 5 种安全机动 ✅ 包含威胁时间线的事件报告 ✅ 17 个验证所有安全机制的单元测试 ✅ 攻击模式的统计分析 ## 📚 其他资源 - **安全系统**:[README_SAFETY_SYSTEM.md](README_SAFETY_SYSTEM.md) - 自动驾驶车辆保护系统概述 - **快速入门**:[QUICKSTART.md](QUICKSTART.md) - 5 分钟设置和常见任务 - **架构**:[ARCHITECTURE.md](ARCHITECTURE.md) - 包含 9 个部分的完整系统设计 - **实现**:[IMPLEMENTATION_GUIDE.md](IMPLEMENTATION_GUIDE.md) - 分步集成指南 - **完整规范**:[COMPLETE_IMPLEMENTATION.md](COMPLETE_IMPLEMENTATION.md) - 全面的技术规范 - **Suricata 文档**:[Suricata 官方文档](https://suricata.readthedocs.io/) - **CAN Bus 协议概述**:[CAN Bus 维基百科](https://en.wikipedia.org/wiki/CAN_bus) - **编写 Suricata 规则**:[Suricata 规则指南](https://suricata.readthedocs.io/en/latest/rules/) ## 🤝 贡献 欢迎通过以下方式增强本项目: - 添加新的威胁检测模式 - 创建额外的安全机动 - 增强威胁评分算法 - 扩展测试套件 - 改进可视化技术 - 添加模拟器集成(CARLA, LGSVL) - 实现机器学习异常检测 ## 📄 许可证 本项目仅用于教育和研究目的。 ## 🎯 关键统计数据 | 指标 | 数值 | |--------|-------| | 威胁类别 | 7 | | 安全机动 | 5 | | 检测规则 | 10 | | 安全约束 | 8 | | 故障安全机制 | 5 | | 车辆控制模块 | 5 | | 威胁评分范围 | 0-100 | | 单元测试 | 17 | | 代码行数 | 1,400+ | | 文档行数 | 1,950+ | ## 🚀 快速入门摘要 ### 安全系统用户: ``` # 1. 安装 dependencies pip install -r requirements.txt # 2. 运行 test suite python3 code/test_safety_controller.py # 3. 尝试一个简单示例(见 QUICKSTART.md) ``` ### IDS 用户: ``` # 1. 生成流量 python3 code/generate_pcap.py # 2. 运行 Suricata sudo suricata -r packets/can_sim.pcap \ -c suricata.yaml \ -S rules/can.rules \ -l suricata_logs \ --runmode=single -vv # 3. 可视化 jupyter notebook code/visualize.ipynb ``` ## 📖 学习路径 **路径 1:执行摘要(15 分钟)** 1. [README_SAFETY_SYSTEM.md](README_SAFETY_SYSTEM.md) (5 分钟) 2. [QUICKSTART.md](QUICKSTART.md) 概述 (5 分钟) 3. [DELIVERY_SUMMARY.md](DELIVERY_SUMMARY.md) (5 分钟) **路径 2:技术概述(1 小时)** 1. [README_SAFETY_SYSTEM.md](README_SAFETY_SYSTEM.md) (5 分钟) 2. [QUICKSTART.md](QUICKSTART.md) (10 分钟) 3. [ARCHITECTURE.md](ARCHITECTURE.md) (30 分钟) 4. [COMPLETE_IMPLEMENTATION.md](COMPLETE_IMPLEMENTATION.md) 第 1-2 部分 (15 分钟) **路径 3:完整实现(2 小时)** 1. [QUICKSTART.md](QUICKSTART.md) (15 分钟) 2. [ARCHITECTURE.md](ARCHITECTURE.md) (30 分钟) 3. [IMPLEMENTATION_GUIDE.md](IMPLEMENTATION_GUIDE.md) (30 分钟) 4. 代码审查 (30 分钟) 5. 运行测试 (15 分钟) **🎉 欢迎来到 CAN Bus 自动驾驶车辆安全系统!** 如需详细指导,请从 [README_SAFETY_SYSTEM.md](README_SAFETY_SYSTEM.md) 或 [QUICKSTART.md](QUICKSTART.md) 开始。 有关文档导航,请参见 [DOCUMENTATION_INDEX.md](DOCUMENTATION_INDEX.md)。
标签:CAN总线, DoS攻击检测, ECU, FTP漏洞扫描, Jupyter, NoSQL, Suricata, 云计算, 入侵检测系统, 威胁情报, 安全数据湖, 安全编排, 开发者工具, 开源安全, 异常检测, 故障安全, 汽车黑客, 流量生成, 物理安全, 现代安全运营, 网络安全, 自动驾驶安全, 规则引擎, 车联网, 车载网络安全, 逆向工具, 防御系统, 隐私保护