Written on 26 October 2018, 10:45pm
Update 8 December 2018: Don’t buy a Tesla!
Even if it has wheels and wipers, your Model S is ultimately a computer. A very good looking one if you ask me, but, as any other computer, it can be pwned. The recent news shows an increased incidence of Model S thefts across Western Europe, and apparently the thieves are exploiting a vulnerability in the way the car communicates with the key fob:
Like most automotive keyless entry systems, Tesla Model S key fobs send an encrypted code, based on a secret cryptographic key, to a car’s radios to trigger it to unlock and disable its immobilizer, allowing the car’s engine to start. After nine months of on-and-off reverse engineering work, the KU Leuven team discovered in the summer of 2017 that the Tesla Model S keyless entry system, built by a manufacturer called Pektron, used only a weak 40-bit cipher to encrypt those key fob codes.
Long story short, it only takes about $600-worth of equipment, a decent computer and less than 2 seconds to crack the 40-bit cipher. According to Wired, the vulnerability was responsibly disclosed in August 2017, and after about a year, Tesla reacted by addressing the root cause (upgrading the key fobs) in addition to implementing the PIN-to-drive feature.
But this leaves a lot of room for the bad guys: there must be plenty of Model S manufactured before June 2018 and without the PIN-to-drive enabled. So what should you to secure your Tesla Model S and avoid a situation like this?
1. Disable passive entry
I don’t really like this option because you trade functionality for
security. The passive entry is a nice feature and Tesla should make it work securely, by upgrading the key fobs. But until then, this is a solid option to improve the existing security posture.
2. Enable PIN-to-drive
Again, an option that gets the job done, but leaves massive room for improvement. There are two major inconveniences: first, you must type your PIN in an environment where you cannot properly hide your keyboard. Second, your fingers leave traces when typing, and unless you are wiping the screen after every PIN entry, you are leaving a potential door open. This is simply not good enough, and I did not even mention how inconvenient is to input your PIN every time you start your car.
Tesla can do better – how about FaceID-to-drive?
FaceID just proved how it can address the most security concerns while providing a seamless user experience. With time, software and hardware updates, it will get even better, and we will see FaceID on other computing devices like tablets or laptops.
And from there it’s easy to imagine a keyless future. How long until you unlock your car by looking at it?
A post that I wrote back in November 2017: FaceID: convenience and security
3. Additional measures
- If your car was produced before June 2018, contact Tesla to replace your key fob so that the communication between the car and the key fob is properly encrypted
- Get a Faraday pouch if you would like to keep the Passive Entry active. Store your key inside the pouch when you’re not using the car, but make sure that you don’t leave the key inside the pouch inside the car 🙂 Oh, and get another pouch for the second key
- Install a hidden GPS tracker on your car. This will help locate the stolen car even when the bad guys would destroy the embedded connectivity module. Tesla won’t be able to remotely control your car, but, if you react quickly, you should be able to tell the police where it is
- Just use common sense when parking your car. Would you park your nice car in a shady, cheap and isolated area?
- Think defense-in-depth: implement not one, but more security measures to protect your asset 🙂