🚗 学习车辆安全和汽车黑客技术的资源的精选清单
作者:Sec-Labs | 发布时间:
一个精心策划的列表,其中包括令人敬畏的资源、书籍、硬件、软件、应用、可关注的人,以及更多关于车辆安全、汽车黑客和修补你的汽车功能的酷东西。

项目地址
https://github.com/jaredthecoder/awesome-vehicle-security
内容
学
文章
- 如何破解汽车 - 快速速成课程- 汽车爱好者 Kenny Kuchera 说明了足以让您启动和运行的信息。初学者的绝佳资源!
- 远程阻止高速公路上的吉普切诺基- 克里斯瓦拉塞克和查理米勒在 2015 年的 DEFCON 上发表了关于入侵吉普的关键研究。
- 特洛伊亨特控制日产汽车 - 特洛伊亨特开始控制日产汽车。
- 特斯拉黑客在 Defcon 上解释了他们是如何做到的- DEFCON 23 演示文稿概述关于入侵特斯拉汽车。
- Anatomy of the Rolljam Wireless Car Hack - RollJam 滚动代码利用设备的概述。
- IOActive 的工具和数据- Chris Valasek 和 Charlie Miller 发布了一些用于入侵车辆的工具和数据,旨在让更多人参与车辆安全研究。
- 汽车黑客的发展——通过 SANS 阅览室,Currie 的论文分析了智能汽车技术的风险和危险。
- Car Hacking on the Cheap - 一份来自 Chris Valasek 和 IOActive 的白皮书,介绍了当您没有大量资源可供使用时如何破解您的汽车。
- 汽车黑客:权威来源- Charlie Miller 和 Chris Valasek 为所有人免费发布所有工具、数据、研究笔记和论文
- 便宜的汽车黑客- Craig Smith 写了一篇关于使用 ELM327 蓝牙加密狗与 Metasploit 的 HWBrige 合作的简短文章
- 研究人员解决自动驾驶汽车安全问题——德克萨斯 A&M 研究人员开发了智能系统原型。
- 大数据在不久的将来将如何影响汽车安全:关注点和解决方案——大数据对汽车安全的影响。
- Nitro OBD2 的逆向工程 - CAN 诊断工具的逆向工程。
- 旧斯巴鲁 Impreza 分析 - Subaru Select Monitor v1 (SSM1) - 通过旧协议挖掘旧 ECU 并禁用 1997 Subaru Impreza 的限速器。
- Car Hacking in 30 Minutes or less - 使用 VirtualBox 和 Kali Linux,您可以使用完全免费的开源软件和工具开始汽车黑客攻击,包括 can-utils、ICSim、ScanTool、Wireshark 和 tcpdump
演示文稿
- BlackHat Asia 2015 的“Hopping on the CAN Bus” - BlackHat Asia 2015 的演讲旨在让观众“了解汽车系统,但也将拥有攻击它们的工具”。
- DEFCON 23 中的“Drive It Like You Hacked It” - Samy Kamkar 的 DEFCON 23/2015 演讲中的演讲和幻灯片,其中包括黑客车库、利用汽车移动应用程序以及破解滚动代码以使用低成本工具解锁任何车辆。
- Samy Kamkar 关于使用 OnStar 入侵车辆- MySpace 上的 Samy 蠕虫背后的多产黑客 Samy Kamkar 探索使用 OnStar 系统入侵车辆。
- 远程利用未经改造的乘用车- DEFCON 23 演讲 Chris Valasek 和 Charlie Miller 发表了他们现在著名的演讲,内容是远程入侵吉普车并阻止它死在轨道上。
- 汽车网络和控制单元历险记- Chris Valasek 和 Charlie Miller 关于汽车网络的 DEFCON 21 演讲。
- 你能相信自动驾驶汽车吗?- DEFCON 24 演讲,刘建豪、陈燕、徐文远
- Ken Munro 和 Dave Lodge - 破解 Mitsubishi Outlander 和 IOT - Pen Test Partners的 Ken 和 Dave 在 BSides Manchester 2016 上的谈话
- 基于可视化的CAN总线安全防护平台- Syscan360 2016 SH talk by Jianhao Liu
- 特斯拉汽车的网关内部结构- 2016 年 Zeronights 演讲,Nie Seng 和 Liu Ling
- 汽车黑客 101 - Bugcrowd LevelUp 2017 艾伦蒙德
- 汽车网络安全状况,2015 - 汽车黑客、政策、行业变化等状况,来自 BSides 拉斯维加斯的 I Am The Cavalry 赛道,2015。
- 汽车网络安全状况,2016 - 汽车黑客、政策、行业变化等状况,来自 2016 年 BSides 拉斯维加斯的 I Am The Cavalry 赛道。
- How to Hack a Tesla Model S - Marc Rogers 和 Kevin Mahaffey 在 DEF CON 23 上关于破解 Tesla 的演讲。特斯拉联合创始人兼首席技术官 JB Straubel 与他们一起感谢他们并赠送挑战币。
- 汽车黑客视频- 一个包含大量视频(40 多个)的网页,可在线获取与汽车黑客主题相关的视频。从 2007 DEF CON 关于改装引擎 ECUS 及以后的谈话开始(例如 2017 Keen Security Tesla hack)。
- 自动驾驶和联网汽车:愚弄传感器和跟踪驱动程序- Jonathan Petit 的黑帽演讲。自动化和联网汽车是交通运输的下一个发展方向,将提高安全性、交通效率和驾驶体验。本次演讲将分为两部分:1)自动驾驶汽车的安全性和 2)联网汽车的隐私。2015
- 远程汽车攻击面调查- Charlie Miller 和 Chris Valasek 的黑帽谈话。汽车安全问题已经从边缘走向主流,安全研究人员表明现代汽车对本地和远程攻击的敏感性。车辆攻击面的讨论。2014 年。
- 使用 YACHT(Yet Another Car Hacking Tool)对车辆进行渗透测试——讨论车辆不同攻击面的演示文稿,然后继续描述汽车黑客攻击的方法以及分析和收集有用信息所需的工具。
- 如何随车漂移- CAN hacking 简介,以及使用真车作为 Xbox 控制器。
- Car Infotainment Hacking Methodology and Attack Surface Scenario - 由 Jay Turla 撰写的关于如何攻击、寻找错误或入侵您的 IVI 的指南,该指南在 DEF CON 26 期间的 Packet Hacking Village/Wall of Sheep 上发表。
- TR19:使用 Scapy进行汽车渗透测试 - 在 Troopers Conference 2019 上概述如何使用 Scapy 进行汽车渗透测试。
- 汽车网络的分析和防御- BSides Knoxville 2020 上的 CAN、安全性和潜在入侵检测方法概述
图书
- 2014 Car Hacker's Handbook - 2014 年黑客车辆免费指南。您也可以在亚马逊上购买这本书。
- 2016 Car Hacker's Handbook - 最新版本的 Car Hacker 手册,其中包含用于破解您自己的车辆和学习车辆安全性的更新信息。要获得该书的实体副本以及无限制的 PDF、MOBI 和 EPUB 副本,请在No Starch Press购买。部分可在此处在线获取。
- A Comprehensible Guide to Controller Area Network - 一本 2005 年的旧书,但仍然是关于 CAN 总线和车辆网络的综合指南。
- 智能汽车安全攻防大揭秘本书首先介绍了汽车研发人员的一些安全基础知识,如加解密、安全认证、数字签名、常见攻击类型、方法等。然后为安全研究人员介绍了一些智能汽车的工作原理,例如汽车内网。协议、网络架构、X-By-Wire遥控系统原理、常见潜在攻击面等。最后对一些实际的汽车攻击或安全测试案例进行详细分析,并对案例中涉及的漏洞进行防御分析分析过程。
- Controller Area Network Prototyping with Arduino - 这本书指导您在 Arduinos 上完成 CAN 应用程序的原型设计,这有助于在您自己的汽车上使用 CAN。
- 使用 CAN 和 CANopen 进行嵌入式网络- 从 2003 年开始,本书填补了 CAN 文献中的空白,并将进一步教育您了解 CAN 网络和使用嵌入式系统。
- Inside Radio: An Attack and Defense Guide这本书讨论了广泛的无线设备和系统中的安全问题,第 4 章 433/315MHz 通信(4.3 4.4 4.5 是关于汽车钥匙的安全性)
调查报告
- 科舍尔等人。现代汽车的实验安全分析,2010
- 汽车攻击面综合实验分析,2011
- 米勒和瓦拉塞克- 自称“汽车黑客的权威来源”。
- 5 星级汽车网络安全框架,2015 年
- 现代汽车标准中的漏洞以及我们如何利用它
- 汽车黑客实验:当连接遇到漏洞时
- 联网汽车系统中的安全问题和漏洞
- 汽车驾驶员指纹识别,2016
- 基于CAN报文时间间隔分析的车载网络入侵检测系统,2016
- 为准确检测 CAN 总线信号注入攻击的信号间到达时间建模
- 联网汽车 - 获得未经授权访问的方式和潜在影响,2018 年
- CAN-D:用于全面解码控制器局域网数据的模块化四步流水线
- 基于时间的 CAN 入侵检测基准
- 解决 CAN 入侵检测研究中缺乏可比性和测试的问题:CAN IDS 数据综合指南和 ROAD 数据集介绍
培训班
- Udacity 的自动驾驶汽车工程师课程- Udacity 的自动驾驶汽车软件工程师课程的内容。Udacity 网站上的实际课程在这里。
博客
- Keen Security Lab Blog - 由腾讯 Keen Security Lab 创建的博客,发布关于汽车安全的研究。
网站
- OpenGarages - 提供了解当今现代车辆系统所需的公共访问、文档和工具。
- DEFCON Car Hacking Village - 来自 DEFCON 24 的汽车黑客练习。
- canbushack: Hack Your Car - 车辆黑客方法课程。
- OWASP 物联网项目- OWASP 保护物联网的项目,从汽车到医疗设备等等。
- I Am The Cavalry - 全球基层(例如志愿者)倡议,专注于安全和人类生命/公共安全问题的交叉点,例如汽车。来自安全研究人员、OEM、Tier 1 和许多其他人的参与。发布汽车五星级网络安全框架。
- Carloop 社区- 对汽车黑客和将车辆连接到云感兴趣的人们的社区。
- Python Security - 一个用于浏览和购买具有某些车辆安全功能的 Python 集成汽车的网站。
时事通讯
欢迎投稿!
会议
- 美国汽车网络安全峰会 欧洲汽车网络安全峰会- 专门针对汽车网络安全的系列会议,涉及众多 OEM、一级供应商、学者、顾问等。
- escar 会议- 汽车中的嵌入式安全性。欧洲赛事已经举办了10多年,现在他们有美国和亚洲赛事。
- 车辆 IT 安全- 由德国工程师协会 (VDI) 举办的会议,有美国和欧洲 OEM、Tier 1 和其他人参加。
- 网络卡车挑战赛- 专注于重型车辆网络安全问题的会议。包括对重型车辆和子系统的动手评估。
关注谁
- Chris Valasek: UberATC的安全主管
- 查理米勒:黑了第一部苹果 iPhone,现在做汽车安全。
- Samy Kamkar:创建了 MySpace Worm、RollJam、OwnStar。
- Justin Seitz:Black Hat Python(No Starch Press)的作者。
- Troy Hunt:Pluralsight 作者。Microsoft 区域总监和开发人员安全 MVP。haveibeenpwned的创建者。
- Ken Munro:英国研究员,在 Pen Test Partners 工作;对车辆安全的主要兴趣
- OpenGarages:在世界各地创建车辆研究实验室的倡议。
- Hackaday:为黑客提供协作项目托管——这里经常有汽车项目。
- Pen Test Partners:英国渗透测试公司;几个帖子涉及他们披露的汽车安全漏洞
- I Am The Cavalry:全球基层(例如志愿者)倡议,重点关注安全与人类生命/公共安全问题的交叉点,例如汽车。
- 汽车黑客村
- carfucar:汽车黑客村的创始人和演讲者或培训师
- Ian Tabor / mintynet:汽车黑客,汽车黑客村工作人员
- Daniel Öster:Dala 的 EV 维修、电动汽车 CAN 黑客/升级
播客和剧集
播客和播客剧集,要么直接关注车辆安全,要么有一些剧集。
播客
- 安全周刊- 涵盖所有安全范围的优秀播客,其中一些剧集侧重于从汽车到无人机的车辆安全。
- TrustedSec 播客- 来自 TrustedSec 的人员,社会工程领域的领导者,他们的情节经常涉及最近的车辆漏洞和利用。
- SANS Internet Storm Center - ISC 定期播放播客,介绍最新的漏洞和安全新闻。
- Security Ledger - 一个播客,专注于就与安全相关的主题采访安全专家。
剧集
- Car Hacking with Craig Smith - Software Engineering Daily 与 Car Hacking Handbook(上图)的作者 Craig Smith 一起做了一个关于黑客入侵车辆的精彩插曲。
- 大错误播客第 1 集:汽车错误 - 与 Jason Haddix 在汽车中发现的严重漏洞 - Jason Haddix 探讨了汽车中发现的主要漏洞。
- 在引擎盖下入侵并进入您的汽车- Chris Valasek 和 Charlie Miller 与 NPR 讨论他们如何能够入侵车辆。
- 与 IOActive 的 Chris Valasek 一起入侵联网车辆- Chris Valasek 谈论入侵联网车辆。
- 可破解?- 汽车就是计算机- Geoff Siskind 与 The Car Hacker's Handbook 的作者 Craig Smith 合作,向我们展示了破解汽车是多么容易——或者说难。
各种各样的
项目
- 开放式车辆监控系统- 一个社区项目,为您的汽车构建硬件模块、与之通信的服务器以及与服务器通信的移动应用程序,以允许开发人员和爱好者为他们的汽车添加更多功能并控制它远程。
- 开源汽车控制项目- 开源汽车控制项目是一个硬件和软件项目,详细说明了将后期模型车辆转换为自动驾驶研发车辆。
- Uptane - Uptane 是一种开放且安全的软件更新系统设计,可保护通过无线方式传输到汽车计算机化单元的软件,并且即使是民族国家攻击者的最大努力也具有弹性。
硬件
进行车辆安全研究时可以使用的开源和专有硬件概述。本文介绍了以下许多选项。
- Arduino - Arduino 板有许多屏蔽层,您可以连接到支持 CAN 的设备。
- CANdiy-盾牌
- 创州CAN-Bus Shield
- 适用于 Arduino 的 DFRobot CAN-BUS 扩展板
- SparkFun CAN-BUS 屏蔽
- arduino-canbus-monitor - 无论选择哪个防护罩,您都需要自己的嗅探器。这是 Arduino + 任何 MCP CAN Shield 的标准 Lawicel/SLCAN 协议的实现,可与许多标准 CAN 总线分析软件包或 SocketCAN 一起使用
- CANtact - 旨在帮助您破解汽车的“开源汽车工具”。您可以按照此处的指南购买或自己制作。
- Freematics OBD-II Telematics Kit - 基于 Arduino 的 OBD-II 蓝牙适配器套件具有 OBD-II 设备和数据记录器,并配备 GPS、加速度计和陀螺仪以及温度传感器。
- ELM327 - 事实上的芯片组,非常便宜,可用于连接 CAN 设备。
- GoodThopter12 - 该板由知名硬件黑客精心打造,是一款可用于汽车网络探索的通用板。
- USB2CAN - 便宜的 USB 到 CAN 连接器,它将在 linux 上注册一个设备,您可以使用它从 CAN 网络获取数据。
- Intrepid Tools - 专为反转 CAN 和其他车辆通信协议而设计的昂贵但用途极其广泛的工具。
- Red Pitaya - 取代昂贵的测量工具,如示波器、信号发生器和频谱分析仪。Red Pitaya 具有 LabView 和 Matlab 接口,您可以为它编写自己的工具和应用程序。它甚至支持 Arduino shields 之类的扩展。
- ChipWhisperer - 用于侧信道攻击的系统,例如功率分析和时钟故障。
- HackerSDR - 一种软件无线电外设,能够传输或接收 1 MHz 至 6 GHz 的无线电信号。旨在支持现代和下一代无线电技术的测试和开发。
- Carloop - 开源开发工具包,可让您轻松将汽车连接到 Internet。与 SocketCAN 和 can-utils 兼容的成本最低的汽车黑客工具。不需要 OBD-II 到串行电缆。
- CANBadger - 一种用于逆向工程和测试汽车系统的工具。CANBadger 由硬件和软件组成。主接口是一个安装在定制 PCB 上的 LPC1768/LPC1769 处理器,它提供两个 CAN 接口、SD 卡、一个闪烁的 LED、一些 GPIO 引脚、外设电源和以太网端口。
- CANSPY - 一个为安全审计员提供审计 CAN 设备的平台。它可用于自动和交互地实时阻止、转发或修改 CAN 帧。
- CANBus Triple - 通用控制器局域网瑞士军刀和开发平台。
- USBtin - USBtin 是一个简单的 USB 转 CAN 接口。它可以监控 CAN 总线并传输 CAN 消息。USBtin 实现 USB CDC 类并在主机上创建一个虚拟 comport。
- OpenXC - OpenXC 是开源硬件和软件的组合,可让您使用自定义应用程序和可插拔模块扩展您的车辆。它使用标准的知名工具向开发人员开放大量来自车辆的数据。它由福特的研究人员启动,适用于所有 2002 年和更新的 MY 车辆(标准 OBD-II 接口)。福特汽车公司的研究人员联手创建了一种为车辆创建售后软件和硬件的标准方法。
- Macchina M2 - Macchina 2.0 是对我们 1.X 代 Macchina 的彻底改造。目标还是一样的:创建一个易于使用、完全开放和超级兼容的汽车界面。
- PandwaRF - PandwaRF 是一款袖珍型便携式射频分析工具,工作频率低于 1 GHz。它允许通过 Android 设备或 Linux PC 捕获、分析和重新传输 RF。从 300-928 MHz 频段以 ASK/OOK/MSK/2-FSK/GFSK 调制方式捕获任何数据。
- MUXSCAN 的 CAN MITM Bridge - MITM CAN 消息的工具,可轻松与您的汽车进行交互。
软件
软件概述,包括开源软件和专有软件,以及来自各种编程语言的库。本文介绍了以下许多选项。
应用
软件应用程序将帮助您破解您的汽车、调查它的信号并对其进行一般修补。
- Wireshark - WireShark 可用于反转 CAN 通信。
- Kayak - 用于 CAN 总线诊断和监控的 Java 应用程序。
- UDSim - GUI 工具,可以监控 CAN 总线并通过观察通信自动学习连接到它的设备。
- RomRaider - 用于斯巴鲁发动机控制单元的开源调整套件,可让您查看和记录数据并调整 ECU。
- Intrepid Tools - 专为反转 CAN 和其他车辆通信协议而设计的昂贵但用途极其广泛的工具。
- O2OO - 与 ELM327 一起使用,将数据记录到 SQLite 数据库以用于绘图目的。它还支持读取 GPS 数据。您可以将其连接到您的汽车,并使用您驾驶的 Google Maps KML 数据绘制地图。
- CANToolz - CANToolz 是一个用于分析 CAN 网络和设备的框架。它基于可以在管道中组装的几个模块。
- BUSMASTER - 一个开源工具,用于模拟、分析和测试 CAN、LIN、FlexRay 等数据总线系统。
- OpenXC - 目前,OpenXC 可与
Python和一起使用,并Android与提供的库一起使用。 - openpilot - openpilot 是一种开源驾驶代理,可为本田和讴歌执行自适应巡航控制 (ACC) 和车道保持辅助系统 (LKAS) 的功能。
- openalpr - 一个用 C++ 编写的开源自动车牌识别库,绑定了 C#、Java、Node.js、Go 和 Python。
- metasploit - 流行的 metasploit 框架现在支持硬件桥会话,将框架的功能扩展到硬件设备,如 socketcan 和 SDR 无线电。
- Mazda AIO Tweaks - 适用于许多可用的 Mazda MZD 信息娱乐系统调整的多合一安装程序/卸载程序。
- mazda_getInfo - USB 端口是马自达汽车信息娱乐系统的攻击面的 PoC,以及马自达黑客是如何制造的(CMU 中的已知错误)。
- talk-with-cars - CAN 相关脚本,以及将汽车用作游戏手柄的脚本
- CANalyzat0r - 用于专有汽车协议的安全分析工具包。
库和工具
不属于上述较大类应用程序的库和工具。
用于 Mazda Connect 信息娱乐系统的自定义应用程序 SDK - 一个微型框架,允许您为 Mazda 信息娱乐系统编写和部署自定义应用程序。
C
- SocketCAN Utils - Linux 上 SocketCAN 的用户空间实用程序。
- vircar - 一个基于 SocketCAN 发送 CAN 消息的虚拟汽车用户空间
- dbcc - “dbcc 是一个程序,用于将 DBC 文件主要转换为可以序列化和反序列化 CAN 消息的 C 代码。” 对于来自车辆的现有 DBC 文件,此文件允许您将它们转换为 C 代码,以提取 CAN 消息和 CAN 环境的属性。
C++
- 高级 ViWi 服务- 高级大众 CAN 信号协议实现。
- CanCat - 用于与实时 CAN 数据交互的“瑞士军刀”。Python 中的主要 API 接口,但用 C++ 编写。
- CANdevStudio - CAN 总线仿真开发工具。CANdevStudio 能够模拟每个汽车开发人员的 CAN 信号,例如点火状态、车门状态或倒档。
爪哇
- ITS Geonetworking - ETSI ITS G5 GeoNetworking 堆栈,Java 语言:CAM-DENM / ASN.1 PER / BTP / GeoNetworking
Python
- CANard - 用于控制器区域网络应用程序的 Python 框架。
- Caring Caribou - 旨在成为车辆安全的 nmap。
- c0f - CAN 通信的指纹识别工具,可用于在测试与车辆的交互时找到 CAN 网络上的特定信号。
- Python-CAN - 各种 CAN 实现的 Python 接口,包括 SocketCAN。允许您使用 Python 2.7.x 或 3.3.x+ 通过 CAN 网络进行通信。
- Python-OBD - 用于处理来自 OBD-II 车辆端口的实时传感器数据的 Python 模块。与 ELM327 OBD-II 适配器配合使用,适用于 Raspberry Pi。
- CanCat - 用于与实时 CAN 数据交互的“瑞士军刀”。Python 中的主要 API 接口,但用 C++ 编写。
- Scapy - 一个用于发送、接收、编辑原始数据包的 python 库。支持 CAN 和汽车协议:请参阅汽车文档
- CanoPy - 用于实时可视化和绘制消息有效负载的 python gui。
去
- CANNiBUS - 一个 Go 服务器,允许满屋子的研究人员同时在同一辆车上工作,无论是用于教学目的还是团队倒车会议。
- CAN Simulator - 用于 Raspberry Pi 的基于 Go 的 CAN 模拟器,可与 PiCAN2 或开源CAN 模拟器板一起使用
JavaScript
- SocketCAN 的 NodeJS 扩展- 允许您使用简单的 JavaScript 函数通过 CAN 网络进行通信。
公司和工作
车辆安全领域的公司和工作机会。
- UberATC - Uber 先进技术中心 - info@uberatc.com。
- 特斯拉- 特斯拉聘请安全专业人员担任各种职务,尤其是保护他们的车辆。
- Intrepid Control Systems - 用于倒车的嵌入式安全公司构建工具。
- Rapid7 - Rapid7 确实适用于信息、计算机和嵌入式安全。
- IOActive - 致力于渗透测试硬件和嵌入式系统的安全咨询公司。
- Cohda Wireless - V2X DSRC 无线电和软件
协调披露
- 通用汽车在 HackerOne 上 - 接受协调的披露提交
- 菲亚特克莱斯勒汽车在 Bugcrowd 上 - 接受协调的披露提交,提供有偿赏金
- 特斯拉汽车公司在 Bugcrowd 上 - 接受协调的披露提交,提供有偿赏金
其他很棒的清单
列表列表。
标签:工具分享, 物联网安全