Robohub.org
 

Book review: The Car Hacker’s Handbook, by Craig Smith

by
25 November 2016



share this:
cars-lines-driving-dividing

The Car Hacker’s Handbook A Guide for the Penetration Tester is a book about how to interface with cars to read from onboard systems, spoof devices, and control the vehicle on your own. I enjoyed this book, it is easily the best book I found on learning how to use a CAN bus.

The book starts by putting the reader in the proper mindset for exploring the security and attack paths for a given vehicle. The first chapter gets the reader thinking about all (most) of the ways that you can interface with a vehicle to hack it and specific suggestions about how to approach each of those. He describes various ways of rating threats. One of them being DREAD. DREAD is a formal way of assessing threats with a focus on malicious intent (which other rating systems often ignore). When I first read about DREAD I thought he was going to start rating systems with the Harry Potter grading system of Outstanding, Exceeds Expectations, Acceptable, Poor, Dreadful and Troll. This section has two uses; if you modify systems it will help you figure out how to get access to a vehicle, if you build systems it will help you think about securing what you build.

Source: Robots for Roboticists

Source: Robots for Roboticists. After discussing security the book switched to things that really interest me such as bus protocols, tools to work with them, and how to reverse engineer messages on those buses. For vehicles, it seems that the year 2000 was the turning point where vehicles started to use digital buses thereby being “hackable.”

Some of the buses that you should be prepared to find discussed in this book and in cars are:

  • CAN (Low-speed LS-CAN, mid-speed MS-CAN, high-speed HS-CAN)
  • CANopen
  • GMLAN
  • SAE J1850
  • PWM
  • VPW
  • Keyword
  • ISO 9141-2
  • LIN
  • MOST
  • FlexRay
  • Automotive Ethernet (& AVB)

I had no idea there were that many protocols in use and I have only heard of 2/3 of them!

The book introduces a bunch of tools for working with CAN buses, I have never used some of them but they are opensource Linux tools that seem to have nice features. I will definitely check them out next time I am working with a CAN bus. There is also an appendix at the end of the book that discusses many tools ranging from hobby level to professional. This follows up with some really basic writing of CAN drivers in Linux and how to communicate with your vehicle (the book calls it weaponizing, I guess it sounds good but I would call it using what you know to get stuff done).

Importantly, this book discusses what to do if you get into different fault conditions. For example:

  • Flashing lights
  • Car not turning on
  • Car not turning off
  • Vehicle responding recklessly
  • Bricking your car !!!***@@@@##!!

That list above can be scary and the author gives some advice for handling them, however, it might have been nice if the author spent more time discussing the potential faults and how to avoid them (particularly, how not to brick your car!).

It is good to hear that most engine control units (ECU’s) have some sort of tamper protection so you can not change its firmware. However, the author does note that some of those protections are laughably weak. There are a few chapters on understating common ECU protocols, how to simulate them, and how to attack them. This is probably above what most robotic integrations would do, however, I have worked on projects where we removed an ECU and replaced it with our own that we could configure; so this is still a good topic to read. It also has some content that is good for generic embedded systems that are not covered in most embedded systems books.

One thing this book lacks is details about specific car models. I like that the core of the book is not manufacturer dependent but it would be nice to have more information about CAN codes, protocol information, pinouts, ECU configurations, etc. I think some of that high-level information might be good as an appendix, with the full expanded set of documentation as web content for readers.

This book has a good description of applied CAN hardware as well as the protocol. This is what I wish I was able to read when I first started working with CAN buses. I give this book 5 out of 5. It has really good practical knowledge for hacking your vehicle without going into a lot of theory. I would recommend this book for engineers working with embedded systems, even if they do not work with cars. I think that Smith wrote a boot about how to do stuff; which had the unintended consequence of making a great book for learning how to actually work with real systems.

After reading this book I really want to go sniff my vehicles buses and see what I can find.


I would like to thank No Starch Press for providing me with a hard copy of this book for review.

Disclaimer: I have never met the author of this book and the opinions above are mine.

The post Book Review: The Car Hacker’s Handbook by Craig Smith appeared first on Robots For Roboticists.



tags: , , ,


Robots for Roboticists David Kohanbash is a Robotics Engineer in Pittsburgh, PA in the United States. He loves building, playing and working with Robots.
Robots for Roboticists David Kohanbash is a Robotics Engineer in Pittsburgh, PA in the United States. He loves building, playing and working with Robots.





Related posts :



Robotics Today latest talks – Raia Hadsell (DeepMind), Koushil Sreenath (UC Berkeley) and Antonio Bicchi (Istituto Italiano di Tecnologia)

Robotics Today held three more online talks since we published the one from Amanda Prorok (Learning to Communicate in Multi-Agent Systems). In this post we bring you the last talks that Robotics Today (currently on hiatus) uploaded to their YouTube channel: Raia Hadsell from DeepMind talking about ‘Scalable Robot Learning in Rich Environments’, Koushil Sreenath from UC Berkeley talking about ‘Safety-Critical Control for Dynamic Robots’, and Antonio Bicchi from the Istituto Italiano di Tecnologia talking about ‘Planning and Learning Interaction with Variable Impedance’.
21 October 2021, by and

Sense Think Act Pocast: Erik Schluntz

In this episode, Audrow Nash interviews Erik Schluntz, co-founder and CTO of Cobalt Robotics, which makes a security guard robot. Erik speaks about how their robot handles elevators, how they have hum...
19 October 2021, by and

A robot that finds lost items

Researchers at MIT have created RFusion, a robotic arm with a camera and radio frequency (RF) antenna attached to its gripper, that fuses signals from the antenna with visual input from the camera to locate and retrieve an item, even if the item is buried under a pile and completely out of view.
18 October 2021, by

Robohub gets a fresh look

If you visited Robohub this week, you may have spotted a big change: how this blog looks now! On Tuesday (coinciding with Ada Lovelace Day and our ‘50 women in robotics that you need to know about‘ by chance), Robohub got a massive modernisation on its look by our technical director Ioannis K. Erripis and his team.
17 October 2021, by
ep.

339

podcast

High Capacity Ride Sharing, with Alex Wallar

In this episode, our interviewer Lilly speaks to Alex Wallar, co-founder and CTO of The Routing Company. Wallar shares his background in multi-robot path-planning and optimization, and his research on scheduling and routing algorithms for high-capacity ride-sharing. They discuss how The Routing Company helps cities meet the needs of their people, the technical ins and outs of their dispatcher and assignment system, and the importance of public transit to cities and their economics.
12 October 2021, by

50 women in robotics you need to know about 2021

It’s Ada Lovelace Day and once again we’re delighted to introduce you to “50 women in robotics you need to know about”! From the Afghanistan Girls Robotics Team to K.G.Engelhardt who in 1989 ...
12 October 2021, by and





©2021 - ROBOTS Association


 












©2021 - ROBOTS Association