kanika021105/can-automotive-security

GitHub: kanika021105/can-automotive-security

一个集CAN总线攻击模拟、实时流量监控与入侵检测于一体的汽车安全测试平台,帮助用户理解并防御车辆网络中的重放攻击、消息欺骗和DoS威胁。

Stars: 0 | Forks: 0

# 🚗 CAN Bus 汽车安全测试平台 [![Python](https://img.shields.io/badge/Python-3.8%2B-blue.svg)](https://www.python.org/) [![Flask](https://img.shields.io/badge/Flask-2.0%2B-green.svg)](https://flask.palletsprojects.com/) [![License](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE) [![欢迎 PR](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](http://makeapullrequest.com/) ## 概述 现代车辆本质上是车轮上的联网计算机。**控制器局域网 (CAN)** 是车辆中使用的通信协议,但它**缺乏身份验证**——使其容易受到各种攻击。 本项目演示了: - **进攻安全:** 攻击者如何利用 CAN Bus 漏洞 - **防御安全:** 如何检测和响应这些攻击 - **专业仪表盘:** 实时可视化与监控 ## 为什么这很重要 | 攻击类型 | 影响 | 现实案例 | |-------------|--------|-------------------| | **重放攻击** | 控制车辆功能 | 转向灯,解锁车门 | | **欺骗** | 发送伪造消息 | 显示错误车速,禁用刹车 | | **DoS 攻击** | 淹没网络 | 禁用关键 ECU | **本项目旨在帮助您理解并防御这些威胁。** ## 功能 ### 进攻安全 | 功能 | 描述 | |---------|-------------| | **ECU 模拟** | 模拟转向灯和车速传感器 ECU | | **流量捕获** | 将 CAN 消息记录到日志文件 | | **重放攻击** | 重新发送捕获的消息以控制 ECU | ### 防御安全 | 功能 | 描述 | |---------|-------------| | **实时监控** | 实时 CAN 流量检查 | | **序列检测** | 通过模式识别重放攻击 | | **即时告警** | 在检测到攻击时立即通知 | ### 仪表盘 | 功能 | 描述 | |---------|-------------| | **实时流量展示** | 实时 CAN 消息流 | | **统计卡片** | 消息计数,攻击计数 | | **实时图表** | 流量活动可视化 | | **CAN ID 追踪** | 监控活跃的 ECU | | **攻击告警** | 带动画的视觉告警 | ## 🛠️ 技术栈 | 层级 | 技术 | |-------|------------| | **CAN Bus** | SocketCAN, python-can, vcan0 | | **后端** | Python 3, Flask, Flask-SocketIO | | **前端** | HTML, CSS, JavaScript, Tailwind CSS | | **实时通信** | WebSockets, Socket.IO | | **可视化** | Chart.js | | **操作系统** | Linux (Kali/Ubuntu) | ## 截图 ### 实时仪表盘 *带实时更新的 CAN 流量实时监控* ![仪表盘](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/6c4345031e233214.png) ### 检测到攻击的仪表盘 *展示实时流量、统计数据和攻击告警的专业仪表盘* ![仪表盘攻击](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/9e76ed6cc5233220.png) ### 实时流量可视化 *展示一段时间内 CAN 流量活动的交互式图表* ![仪表盘流量](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/fa71b19e63233227.png) ### 正在进行重放攻击 *使用 canplayer 捕获并重放 CAN 流量* ![重放攻击](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/16910558e0233233.png) ### 攻击检测告警 *检测到重放攻击时的即时告警及序列详情* ![攻击检测](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/ad311f7b26233240.png) ### CAN 流量日志 *显示车速传感器消息的已捕获 CAN 日志文件* ![CAN 日志](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/e2ff0a6da4233247.png) ### 后端处理 *带 WebSocket 支持的 Flask 后端运行中* ![后端](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/03cc83d9fc233253.png) ### 捕获与重放 *创建日志文件并执行重放攻击* ![捕获重放](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/4a739b0d71233300.png) ## 安装说明 ### 前置条件 ``` # 更新系统 sudo apt update # 安装 CAN utilities sudo apt install can-utils -y # 安装 Python packages pip3 install python-can flask flask-socketio flask-cors eventlet ```
标签:CAN总线, Flask, Python, 后端开发, 安全测试平台, 无后门, 车联网安全, 逆向工具, 防御绕过