When limiting options is good

The recent testing of mobile phone viruses and car systems (see F-Secure’s notes on their testing) got me thinking that sometimes limiting the amount of options and choices is a good thing.

The current trend in most devices with any kind of semi-permanent memory (hard-drives, flash memory) and connections to other devices (think iPods, phones, etc.) is that you can store anything on them. With phones I like the idea that I can upload any file and carry it with me. It’s at least better than carrying it on a disk with me since disks aren’t always on me (my work phone is always with me — no I’m not addicted to work ;). But however much I’d like to have a car with a display that has custom backgrounds and such, I’d be more than a little worried if that were possible.

The approach taken by Toyota in their Prius (based on the testing by F-Secure) appears to be that only certain types of files (vCard) is allowed to be uploaded/downloaded through the generally available interfaces. This makes it easy to secure the file transfer and the handling of the file. Allowing generic file transfers would only open up a can of worms in an environment in which software bugs or malicious code can be fatal.

If a car’s systems would allow generic files to be uploaded there is always the risk of bugs in the systems causing some serious problems. While I have the utmost respect for those who program and test such systems, they are only human and such systems are too complex to be given 100% reliability. There is always the possibility of infinite loops, race conditions, or buffer overflows to mention a few problems. Even if the system that allows the uploading of generic files would be sandboxed from the systems that control the cars essential functions there is some communication that takes place between the systems. And thus there is always the possibility of a bug causing havoc.

Do I sound paranoid? Probably, but I’ve learned enough of quality assurance and software to be very skeptical of any larger system being totally bug free. I’ve also experienced first hand some of the problems that errant software glitches and problems between hardware connections can cause in cars. Problems that don’t even show up in the cars logs… (This was a problem in a Golf that I had that caused the car to stall for fractions of a second at high speeds.)

To wrap this ramble up, there is a reason why some electronic devices should not allow just about any kind of file to be stored on them. We do need different devices to take care of different tasks even if many tasks could be handled by a single device. I’d love a Nokia N91, but don’t let it talk to my car.

And as a final disclaimer: I do drive a Toyota, but it’s *ahem* — well, let’s just say that it’s of an older vintage.

Leave a Reply