Welcome to Tesla Motors Club
Discuss Tesla's Model S, Model 3, Model X, Model Y, Cybertruck, Roadster and More.
Register

Let the hacking begin... (Model S parts on the bench)

This site may earn commission on affiliate links.
At this time I won't be sharing exploits. I will note that the methods the Defcon folks used, including the ability to retrieve the security tokens from Tesla using the VPN keys, have all been patched and no longer work.

Now you have informed Tesla of your discovery of an exploit that has allowed you to enable dev mode are they happy to leave you running a real car with it on?

Or is this a fleeting glimpse that you will lose come next upgrade?
 
At this time I won't be sharing exploits. I will note that the methods the Defcon folks used, including the ability to retrieve the security tokens from Tesla using the VPN keys, have all been patched and no longer work.
Is it safe to say that your access to those screens within the car is because, due to having physical access, you've been able to obtain root, and with root access, have able to bypass the security code without needing to ask Tesla for a code?
ie. this requires a physical hack for the first level, and then a software hack to get to those screens.
 
Is it safe to say that your access to those screens within the car is because, due to having physical access, you've been able to obtain root, and with root access, have able to bypass the security code without needing to ask Tesla for a code?
ie. this requires a physical hack for the first level, and then a software hack to get to those screens.

We all have physical access to our cars. The rest of us have not obtained root. So I'm going to go out on a limb and say that your statement that "due to having physical access, you've been able to obtain root" is inaccurate.

What may be more accurate, though I don't know the details, would be something along the lines of, "due to having physical access, combined with amazing programming skills, you've been able to obtain root."
 
I have also done X for about 5 years, haven't done it in a while though. I created GUIs for satellite command and control stuff.

I haven't done any X development but I *have* done plenty of Qt development. And, the Tesla display applications seem to all link to Qt4.7.2. So, it seems like the easiest approach would be to use Qt like Tesla did. I know that Qt5 supports touch screen interfaces, I don't know how that works in Qt4.
 
We all have physical access to our cars. The rest of us have not obtained root. So I'm going to go out on a limb and say that your statement that "due to having physical access, you've been able to obtain root" is inaccurate.

What may be more accurate, though I don't know the details, would be something along the lines of, "due to having physical access, combined with amazing programming skills, you've been able to obtain root."
Maybe I expressed myself poorly, I meant that he has had to make a physical modification, followed by programming. (such as connecting a computer to the cluster in one way or other)
 
Ideally I would disable the "45pmh rule" and the nags that are unrelated to confidence (not sure how granular the selection is) for example the nag on curve in 7.0 I would remove, and the reported additional nags from 7.1

I'm now quite jealous of the access you have to your car, and it just makes me even angrier that Tesla is denying such access to others who bought the car and aren't allowed to do what they want with their own property.
You can bet that the next firmware update is going to lock down the possibility of the changes being made by Wk. They freak out when customers access the "behind the password" screens.
 
So, I set the cruise at 55 MPH on a road. With range mode OFF the car is not using the front motor at all. The front motor is sleeping. If I flip to range mode, the front motor takes over and the rear motor sleeps. Like, pretty much instantly and is imperceptible. In range mode the rear motor barely comes alive even during full regen where I saw the front motor alone putting out 72kW at one point today. During initial acceleration, unless it's very light, the rear motor will kick in for a short bit then go back to sleep. But in range mode ON the majority of the time it appears just the front motor is used and in range mode OFF the rear motor is mostly used. Kinda cool, and weird I guess.

With 7.1? I noticed a difference in behavior after upgrading. Before, turning range mode on would clearly engage the front motor as you could hear it whine when range mode was on. After the upgrade, I heard a slightly different whine from the front motor, regardless of range mode setting. This is at speeds below 45 mph.
 
I sure hope some real "right to repair" type laws eventually come along...
Me too. I hate new legislation as much as the next guy, but once somebody buys a car, they should be able do whatever they want with it, except copy, and manufacture a clone in order to make a profit. Tesla has the right to void the warranty if whatever one does screws hardware up, but other than that, they don't own the car anymore. If they don't want to give up that control, they should not offer cars up for sale. Sorry for the off topic rant.....
 
Again, sorry, off topic, but you speak of "homemade changes" voiding warranties...should it not also allow the avoidance of absolute liability of the vehicle manufacturer once the vehicle becomes able to drive autonomously?

The ability for consumers to hack into a product opens up a huge can of worms for autonomously driven vehicles from a legal perspective...

Me too. I hate new legislation as much as the next guy, but once somebody buys a car, they should be able do whatever they want with it, except copy, and manufacture a clone in order to make a profit. Tesla has the right to void the warranty if whatever one does screws hardware up, but other than that, they don't own the car anymore. If they don't want to give up that control, they should not offer cars up for sale. Sorry for the off topic rant.....
 
Nice work! Did you try out what the three "SELFPARK" Options do? Especially the difference between "restricted" and "allow" is interesting.

"Restricted" sets a "private property only" flag. That's about the only thing interesting. The other two are self explanatory.

Now you have informed Tesla of your discovery of an exploit that has allowed you to enable dev mode are they happy to leave you running a real car with it on?

Or is this a fleeting glimpse that you will lose come next upgrade?

You can bet that the next firmware update is going to lock down the possibility of the changes being made by Wk. They freak out when customers access the "behind the password" screens.

*shrugs* Hadn't really discussed that with them, but I don't intend on losing access. It is my car after all. I also didn't need to re-hack my car when the 7.1 update came in. My little wk057-tesla-rootkit survives the updater and the way it works, currently. I'm sure they could patch against this though, if they wanted. Guess we'll see how it goes. At least I have the ability to look through the staged update files before installing now. And I suppose I could always attempt to re-root if for whatever reason my rootkit hooks are removed. I did disable Tesla's normal remote SSH access, just in case, with a banner that tells them to call me for access. lol. I also put a little note at the top of the script I hooked into some startup spots:

Code:
# Dear Tesla,
# As the legal owner of this vehicle, which includes the device this script is running on
# you are NOT permitted to modify or remove my scripts/modifications/access/etc without my
# express permission.  Feel free to contact me at XXX-XXX-XXXX if you have any questions.
# Best regards

;)

The filesystems with all of the executables and such don't persist changes across a reboot, so I have to store my scripts on one of the persistent filesystems and use some minor trickery to hook in on startup and re-add my hacks. This is a good thing, overall, since it means rebooting the 17" screen basically brings it to a known state as far as most of the filesystem goes.

Overall, I don't foresee it being a problem for anyone in the near future.

Is it safe to say that your access to those screens within the car is because, due to having physical access, you've been able to obtain root, and with root access, have able to bypass the security code without needing to ask Tesla for a code?
ie. this requires a physical hack for the first level, and then a software hack to get to those screens.

I needed to take the dash apart to get to the ethernet connection between the CID and IC, which I consider pretty extensive physical access. Then it's software. No asking Tesla for anything this way. I'm still hunting for a way in that doesn't require dismantling the dash, though...

Thought you said you wouldn't be rooting the CID on a live car. Changed your mind? :wink:

I did change my mind, actually, after discussing it briefly with a contact at Tesla. Also, I had an exploit idea that I couldn't test on my bench, but didn't want to test blindly on my car without being able to see what was going on.

With 7.1? I noticed a difference in behavior after upgrading. Before, turning range mode on would clearly engage the front motor as you could hear it whine when range mode was on. After the upgrade, I heard a slightly different whine from the front motor, regardless of range mode setting. This is at speeds below 45 mph.

Hm. I haven't tested this at below 45 MPH. I'll have to do that.


OK, on to catching up on emails and PMs.
 
Again, sorry, off topic, but you speak of "homemade changes" voiding warranties...should it not also allow the avoidance of absolute liability of the vehicle manufacturer once the vehicle becomes able to drive autonomously?

The ability for consumers to hack into a product opens up a huge can of worms for autonomously driven vehicles from a legal perspective...
Automakers currently have zero liability for autopilot as it is, no change here.

- - - Updated - - -

I needed to take the dash apart to get to the ethernet connection between the CID and IC, which I consider pretty extensive physical access. Then it's software. No asking Tesla for anything this way. I'm still hunting for a way in that doesn't require dismantling the dash, though...
I have mixed feelings on that one. there needs to be a balance between access and security. Having to dismantle the dash once, and have access from then on, is a great compromise, nobody is going to do that for nefarious purposes, because it's easier to do so many other things when you have that level of physical access, but if all they can do something simpler that may change.
 
I have mixed feelings on that one. there needs to be a balance between access and security. Having to dismantle the dash once, and have access from then on, is a great compromise, nobody is going to do that for nefarious purposes, because it's easier to do so many other things when you have that level of physical access, but if all they can do something simpler that may change.

If I find such a way in, pretty likely I'll share that info with Tesla so they can patch it up. Not before I test it on my wife's car though. :p

Edit: Since they'll be able to patch it, once that's done and been out for a while I would probably share the details publicly so that people with salvage cars and such on older versions can benefit.
 
With 7.1? I noticed a difference in behavior after upgrading. Before, turning range mode on would clearly engage the front motor as you could hear it whine when range mode was on. After the upgrade, I heard a slightly different whine from the front motor, regardless of range mode setting. This is at speeds below 45 mph.

Tesla claims: "Range mode will save energy by reducing climate control power. It will also distribute torque between the motors to improve range. Heating or cooling the cabin may be less effective."

I'll see what the Torque distribution is next time I go for a long drive. (in both modes)

Last time I looked at highway speeds in range mode on 7.0, it was ALL front motor. The rear motor had zero amps.

- - - Updated - - -

*shrugs* Hadn't really discussed that with them, but I don't intend on losing access. It is my car after all. I also didn't need to re-hack my car when the 7.1 update came in. My little wk057-tesla-rootkit survives the updater and the way it works, currently. I'm sure they could patch against this though, if they wanted. Guess we'll see how it goes. At least I have the ability to look through the staged update files before installing now. And I suppose I could always attempt to re-root if for whatever reason my rootkit hooks are removed. I did disable Tesla's normal remote SSH access, just in case, with a banner that tells them to call me for access. lol. I also put a little note at the top of the script I hooked into some startup spots:

Code:
# Dear Tesla,
# As the legal owner of this vehicle, which includes the device this script is running on
# you are NOT permitted to modify or remove my scripts/modifications/access/etc without my
# express permission.  Feel free to contact me at XXX-XXX-XXXX if you have any questions.
# Best regards
This is awesome! I'm going to do the same thing... (I too have extra backdoors installed)