venkateshP-12/can-bus-simulation

GitHub: venkateshP-12/can-bus-simulation

基于 Suricata IDS 的 CAN 总线入侵检测系统,能够识别多种车载网络攻击并根据威胁评分自动执行分级安全机动。

Stars: 0 | Forks: 0

# 🚗 CAN Bus 自动驾驶车辆安全系统 一个综合性的自动驾驶车辆安全系统,能够检测 CAN Bus 攻击并执行相应的安全机动。本项目集成了 Suricata IDS 进行威胁检测,并通过车辆控制模块根据威胁自动执行分级安全措施。 ## 🆕 最新动态:自动驾驶车辆安全控制 **全新!** 本项目现在包含一个完整的安全系统,具备以下功能: - ✅ 检测 7 类 CAN Bus 威胁(洪泛、异常、传感器故障等) - ✅ 以 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 洪泛攻击(规则 1000001)时: 1. 解析警报并将其归类为“CAN 洪泛”威胁(1 类) 2. 威胁评分升至 35/100(YELLOW 状态) 3. 安全控制器触发 SLOW_DOWN 机动 4. 车辆控制模块向制动模块 (0x100) 发送减速指令 5. 制动器施加 2 m/s² 的减速,同时监测后续威胁 如果攻击持续或升级: - 评分升至 65/100(ORANGE 状态)→ STOP 机动 - 评分达到 85/100(RED 状态)→ FULL_STOP 紧急制动 ## ✨ 特性 ### 安全系统 (全新!) 🆕 - **威胁检测**:与 Suricata 集成的 7 类威胁检测系统 - **智能评分**:带有时间衰减的威胁评分算法(0-100 等级) - **分级响应**:由威胁等级触发的 5 项安全机动 - **CAN 控制**:针对 5 个车辆模块(制动、油门、转向、感知、安全)的特定 CAN 报文 - **安全约束**:8 项物理安全限制(最大减速度、转向范围等) - **故障保护机制**:5 项冗余安全检查,防止意外行为 - **事件报告**:包含威胁时间线的详细事件日志 ### IDS 检测特性 - **实时检测**:集成 Suricata IDS 并输出 eve.json - **10 条检测规则**:针对 CAN 专属威胁的综合规则 - **CAN 流量生成**:模拟带有各种攻击模式的 CAN 总线流量 - **日志分析**:解析并分析 Suricata 日志 - **可视化**:对检测到的警报和威胁时间线进行交互式可视化展示 ### 检测到的威胁 1. **CAN 洪泛检测** - 高频重复的 CAN ID 模式(规则 1000001) 2. **异常检测** - 异常的报文序列(规则 1000002) 3. **DoS 攻击** - 零负载的可疑模式(规则 1000003) 4. **诊断洪泛** - 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:使用虚拟环境(推荐) ``` # 创建虚拟环境 python3 -m venv .venv # 激活虚拟环境 source .venv/bin/activate # On macOS/Linux # 或者 .venv\Scripts\activate # On Windows # 升级 pip 并安装依赖 python3 -m pip install --upgrade pip python3 -m pip install -r requirements.txt ``` #### 选项 B:使用 Conda/Miniforge ``` # 创建 conda 环境 conda create -n can-ids python=3.11 -y # 激活环境 conda activate can-ids # 从 conda-forge 安装依赖 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 依赖 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 个测试) 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 文件: ``` # 清理之前的日志并创建新的输出目录 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/06/021b562330111859.png) #### Suricata 日志 运行 Suricata 后,检查生成的日志: ``` # 查看 fast.log(告警摘要) cat ~/Documents/MajorProject/suricata_logs/fast.log # 按类型统计告警 grep -o '\[.*\]' ~/Documents/MajorProject/suricata_logs/fast.log | sort | uniq -c ``` ![Suricata 日志输出](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/1a84d2adf5111906.png) #### 步骤 3:可视化结果 #### 使用 Jupyter Notebook 1. **启动 Jupyter Notebook**: # 如果使用虚拟环境,请确保已激活 jupyter notebook 2. **打开 notebook**: - 导航到 `visualize_fastlog.ipynb` - 依次运行所有单元格 (Cell → Run All) 3. **交互式分析**: notebook 提供: - 警报频率柱状图 - 攻击的时间线可视化 - 源 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` notebook 提供了全面的可视化展示: ### 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 洪泛 | 重复 ID 模式,高频 | 15-40 | SLOW_DOWN | | 2 | 异常 | 异常序列,意外数据 | 20-45 | SLOW_DOWN | | 3 | 传感器故障 | 极值,数据丢失 | 25-50 | STOP | | 4 | 诊断滥用 | OBD-II 洪泛,恶意探测 | 30-55 | STOP | | 5 | 未授权指令 | 未知 ECU,控制异常 | 35-60 | PULL_OVER | | 6 | OBD 滥用 | ECU 参数修改,内存访问 | 40-70 | EVASIVE | | 7 | 未知 ECU | 未注册 ID,欺骗 | 45-75 | FULL_STOP | ### 威胁评分 威胁评分为 0-100,并带有智能聚合功能: - **GREEN** (0-25):不采取行动,仅进行监控 - **YELLOW** (26-50):SLOW_DOWN 机动,降低速度 - **ORANGE** (51-75):STOP 机动,受控停止 - **RED** (76-100):FULL_STOP 机动,紧急停止 随着威胁解除,分数会随时间衰减(半衰期:30 秒)。 ## 🚗 安全机动 系统响应威胁执行 **5 项分级安全措施**: | 机动 | 触发条件 | 动作 | CAN 指令 | 持续时间 | |----------|---------|--------|--------------|----------| | SLOW_DOWN | 威胁 26-50 | 减速至 25 mph | 油门 -30%,制动 +20% | 直到威胁解除 | | STOP | 威胁 51-75 | 受控减速 | 油门关闭,制动 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²,危险警告灯开启 | 直到停止 | 每项机动包括: - ✅ 为每个车辆模块生成 CAN 报文 - ✅ 实时反馈验证 - ✅ 物理约束强制执行 - ✅ 用于安全保障的看门狗定时器 - ✅ 自动事件记录 ## 📊 测试 运行综合测试套件: ``` # 运行全部 17 个测试 python3 code/test_safety_controller.py # 运行特定测试类 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 | ECU ID 大于 0x700 | | 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/06/021b562330111859.png) ### 生成的日志 ![警报日志](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/1a84d2adf5111906.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 解决方案**: ``` # 安装系统依赖 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. 安装依赖 pip install -r requirements.txt # 2. 运行测试套件 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总线, NoSQL, Suricata, 入侵检测系统, 安全响应, 安全数据湖, 现代安全运营, 自动驾驶安全, 车联网安全, 车联网攻击检测, 逆向工具, 配置错误