🚗 学习车辆安全和汽车黑客技术的资源的精选清单

作者:Sec-Labs | 发布时间:

一个精心策划的列表,其中包括令人敬畏的资源、书籍、硬件、软件、应用、可关注的人,以及更多关于车辆安全、汽车黑客和修补你的汽车功能的酷东西。

66ed88d6ef143627

项目地址

https://github.com/jaredthecoder/awesome-vehicle-security

内容

文章

演示文稿

图书

  • 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 是关于汽车钥匙的安全性)

调查报告

培训班

博客

  • Keen Security Lab Blog - 由腾讯 Keen Security Lab 创建的博客,发布关于汽车安全的研究。

网站

时事通讯

欢迎投稿

会议

关注谁

  • 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 - 一个播客,专注于就与安全相关的主题采访安全专家。

剧集

各种各样的

项目

  • 开放式车辆监控系统- 一个社区项目,为您的汽车构建硬件模块、与之通信的服务器以及与服务器通信的移动应用程序,以允许开发人员和爱好者为他们的汽车添加更多功能并控制它远程。
  • 开源汽车控制项目- 开源汽车控制项目是一个硬件和软件项目,详细说明了将后期模型车辆转换为自动驾驶研发车辆。
  • Uptane - Uptane 是一种开放且安全的软件更新系统设计,可保护通过无线方式传输到汽车计算机化单元的软件,并且即使是民族国家攻击者的最大努力也具有弹性。

硬件

进行车辆安全研究时可以使用的开源和专有硬件概述。本文介绍了以下许多选项。

  • Arduino - Arduino 板有许多屏蔽层,您可以连接到支持 CAN 的设备。
  • 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

公司和工作

车辆安全领域的公司和工作机会。

  • UberATC - Uber 先进技术中心 - info@uberatc.com
  • 特斯拉- 特斯拉聘请安全专业人员担任各种职务,尤其是保护他们的车辆。
  • Intrepid Control Systems - 用于倒车的嵌入式安全公司构建工具。
  • Rapid7 - Rapid7 确实适用于信息、计算机和嵌入式安全。
  • IOActive - 致力于渗透测试硬件和嵌入式系统的安全咨询公司。
  • Cohda Wireless - V2X DSRC 无线电和软件

协调披露

其他很棒的清单

列表列表。

标签:工具分享, 物联网安全