Earlier quoted context omitted.
The driver is always responsible for what their vehicle does. As long as the driver can override the steering (which they can), then there is really nothing to be concerned about. This is the same for cars using openpilot, or Tesla's self driving systems or any other steering assistance features.
This seems like a bit of an over-simplification.. A car needs to be type approved to run on our streets and the insurance companies need to accept whatever you did to the car in case of a crash. You don't really want to end up paying 100% yourself when you crash into that school bus with your mod. However it would be interesting to learn how type approvals handle the self-driving things. Maybe they really do allow al…
Hacking a VW Golf Power Steering ECU
71–80 of 174 posts
Re: Hacking a VW Golf Power Steering ECU
#72Earlier quoted context omitted.
> One interesting difference and trend in automotive control modules (also mentioned in Willem's fantastic write-up) is that many EU modules started adding signature checking and encrypted updates in the late 2000s Do you mean the XOR encryption used? As someone working on the embedded linux(!= than embedded MCU) side i was very surprised to find such a crude "encryption" scheme employed. On the other hand i reckon t…
> Do you mean the XOR encryption used? As someone working on the embedded linux(!= than embedded MCU) side i was very surprised to find such a crude "encryption" scheme employed. I'm not a cryptographer - but I don't think there's anything wrong with XOR encryption, and I'm not sure why you're putting it in scare-quotes - XOR with a sufficiently large key is absolutely fine, and with a one-time pad is unbreakable. XO…
When cryptographers and security professionals talk about XORing the keystream output of a pseudorandom function with plaintext to encrypt it, we don't call it "XOR encryption", we call it a stream cipher.
When we talk about XORing with a random pad of equal length to the plaintext, we don't call it "XOR encryption", we call it a one-time pad.
When we say "XOR encryption" we invariably mean "silly insecure thing with a repeating keystream no longer than a few bytes".
> XOR with a sufficiently large key is absolutely fine
It isn't. XOR with any key ever used more than once or looped around isn't not just "not unbreakable", it's demonstrably insecure. There is no "sufficiently large key" other than "same size as the plaintext and used only once for that plaintext" (a one time pad). To use smaller keys you need real cryptography, not XOR. Military radios absolutely do not work like this. They use stream ciphers, which can produce ~arbitrary length keystreams without repetition from a small seed key.
Re: Hacking a VW Golf Power Steering ECU
#73> The electronics seemed to be fabricated using bare dies attached to some substrate, probably to lower cost and improve reliability at higher temperatures. The board is made up of two parts, a low-power part with the CPU and CAN transceivers, and some high-power part with 6 MOSFETs forming a three phase H-Bridge. > https://blog.willemmelching.nl/images/vw/IMG_3181.jpg It doesn't really look cheap to me (large machin…
Recently I opened up a Mitsubishi Electric power steering unit, and while mine looked a bit like a parallel world Enterprise, this one looks like Enterprise with a suffix couple alphabets later than the one in the intro. Mine was just a two PCB build of a logic board with Fujitsu microcontroller and a power board with an H bridge and input/output emergency isolation MOSFETs.
Re: Hacking a VW Golf Power Steering ECU
#74Earlier quoted context omitted.
In the TETRA specification they use the term “key stream” to mean the output of a stream cipher, which they call a “key stream generator”. They aren’t XORing directly with a large key - the TETRA key size is 80 bits. See section 6.3.2.2 of https://www.etsi.org/deliver/etsi_en/300300_300399/30039207/...
Yes you can programatically generate a key.
Re: Hacking a VW Golf Power Steering ECU
#75Earlier quoted context omitted.
> With ABS and ESC, most cars on the road today have a computer involved in the braking system. It seems pretty safe. Absolutely. These systems have very simple feedback loops and controller algorithms. Determining that you lost traction is a simple problem to solve. Determining that a dangerous obstruction is in front of your vehicle is not. ABS/ESC also tend to have a more limited impact on the vehicle, even if the…
But you did say this: > Putting a computer between my foot/hands and the physics unfolding in front of me is a total non-starter. Which ABS does, there's literally a computer in between your inputs and the 'physics'. So which is it? There was a time when ABS was not considered a simple problem. They had to invent it for the Concorde. > You can typically disable these pretty easily (pull fuse/drive system configure).…
I do not want to operate a vehicle wherein the exclusive means of conveying my control inputs to the final destinations is via a computer. Some limited augmentations to existing direct inputs are acceptable in my view.
Re: Hacking a VW Golf Power Steering ECU
#76Earlier quoted context omitted.
> Do you mean the XOR encryption used? As someone working on the embedded linux(!= than embedded MCU) side i was very surprised to find such a crude "encryption" scheme employed. I'm not a cryptographer - but I don't think there's anything wrong with XOR encryption, and I'm not sure why you're putting it in scare-quotes - XOR with a sufficiently large key is absolutely fine, and with a one-time pad is unbreakable. XO…
> XOR with a sufficiently large key is absolutely fine, and with a one-time pad is unbreakable Excuse me, how do you envision the use of one-time pads in the real world? And with sufficiently large block keys - how do you deal with data full of zeros? Because XOR of 0 will give you the exact key you have encrypted the data with. You are not a cryptographer, and indeed, I don’t think you’ve spent enough time thinking…
You load up as much one-time pad as you will have data to transmit - sometimes hundreds of MB of key if required. Storage is cheap.
Re: Hacking a VW Golf Power Steering ECU
#77Earlier quoted context omitted.
> I thought about emergency breaking automatic vs. manual and I actually feel safer knowing that the car can potentially break faster. For me, the knowledge that some other engineer designed a system that is a complete black box (from my perspective), which can arbitrarily stop my car with incredible braking force is terrifying. What happens if the emergency braking system decides to have a bug while you are exiting…
My concern is if the engineers were qualified and allowed to follow proper protocol for designing safety critical systems.
Re: Hacking a VW Golf Power Steering ECU
#78I am picturing this as a scene out of a '50s sci-fi horror movie. The mad scientist with a power steering controller on a tray in his lab. :-)
Re: Hacking a VW Golf Power Steering ECU
#79Great write up which also illustrates how deep DRM/closed systems are in cars built this century. Until around mid 90's cars still had lots of relays and barely comprehensible wiring looms if you could get your hands on workshop manuals. The sooner we go back to a BEV with the simplicity of a 1960's VW Beetle the better imo, not least so that the third world can get a look in.
And manufactures see them as a chance to make an always connected car that phones home. Tesla was first but everyone else is copying them now.
Re: Hacking a VW Golf Power Steering ECU
#80Earlier quoted context omitted.
> XOR with a sufficiently large key is absolutely fine, and with a one-time pad is unbreakable Excuse me, how do you envision the use of one-time pads in the real world? And with sufficiently large block keys - how do you deal with data full of zeros? Because XOR of 0 will give you the exact key you have encrypted the data with. You are not a cryptographer, and indeed, I don’t think you’ve spent enough time thinking…
> Excuse me, how do you envision the use of one-time pads in the real world? You load up as much one-time pad as you will have data to transmit - sometimes hundreds of MB of key if required. Storage is cheap.
Also you are surprisingly quite clueless about basic crypto if you think storage is the biggest issue with practically using one time pads (though it is indeed one). I’m pretty sure even the Wikipedia article can explain this so no reason to spoon feed it here.