My honest opinion here is that almost everyone is completely missing a crucial point. Nearly all of the reasons given for locking people out of modifying their cars apply equally to cars without computers. Changing the odometer? It's far easier to do that on a car with a mechanical odometer. Making the vehicle non-emissions compliant? Nobody used the DMCA to argue that people shouldn't be allowed to remove their catalytic converters. All of this has been fought for far longer than computers have existed. People have been successfully fooled into thinking that this is a new situation, when technology is only being used to prop up an ancient ideology. Very frustrating indeed!
Of course this has nothing to do with lawsuits, fear of car modifications or emissions compliance. It is a businesses decision in order to establish new revenue streams where before there only was a single sale (and revenue) per product.
See all that data that is generated when people use the product? That could be mined, refined, and made into new products. All those computer screens in the car are suddenly new avenues to push advertisements. All those critical equipment are a avenue to sell repairs, where the producer has monopoly. And if nothing else, the computer inside the car can always be made into a platform.
Take a product, throw in some DRM, and voila, you can create revenue after sale. The DRM and the accompanying user agreement is the glue from which all that extra revenue can be made.
From a company perspective, I don't see how much of a choice they've got. A competitor can use that extra revenue to lower prices for which a consumer won't be able to assess when buying. Selling equal-looking products at higher prices normally spells doom, and regulations haven't even begun addressing the issue.
It's not only the data, but also the continued promotion of dealer service lock-ins.
There are many modern cars where (for example) the "service in XXX miles" indicator for oil changes can't be reset except by the access-restricted and very expensive factory service tool.
Many independent shops already have to buy reverse-engineered tools to allow them to service these cars and continue to stay in business. It's clear that automakers are very interested in abusing copyright laws to force a monopoly on after-sales service.
it should be made illegal to force the use of a particular after-sales service dealer - monopolies never help the consumer ever, and although some things have arisen as a natural monopoly, car after-sale servicing isn't and shouldn't be one of those.
You can buy an ODB2 reader for ~$20 on amazon. If you are working on any car newer than 1990, an ODB2 reader is a standard tool in your drawer.
The real problem is, to change the headlights on my car, you have to remove the front wheels and part of the wheel well. If anything these shenanigans help independent shops. If they built cars to last and be maintainable, there would be a lot fewer independent shops.
An OBD2 reader doesn't work for proprietary diagnosis, only regulated/standardized emissions related issues.
The example I supplied (Service Now mileage indicator, not Check Engine Light) was a very specific one with Porsche in mind. Most post-2004 Porsches have no procedure to reset that indicator without using an official PIWIS ($13000 + subscription, if you can even get one) or reversed Durametric ($250 + illegal if automakers claim their software can't be reversed).
Another example of anti-competitive dealer software is "coding." Replacing the headlight control module in a BMW, for example, requires it be "coded" to the car's control systems. Many DIYers and independent shops use straight-up pirated BMW diagnostic tools, because again, the "blessed" way to do so costs thousands of dollars.
I completely agree. And I think that addressing that kind of situation, where competitors have no choice but to do the same dirty deeds or be undercut, is the one true purpose of regulation. If you change the rules for everyone you protect the consumer but keep the playing field level and let the market keep doing its job.
This has been going since forever. It has been slowly gaining ground through the development and inclusion of non-serviceable components. Take for example the body control module that resides in most cars today. It manages the power windows by using solid state electronics. Before you had some relays and switches. Which was easy and cheap to fix. Not to mention that you could pretty much fix it with almost any 12v relay. Now days you are stuck with an smd board with multiple microchips and tons of miniscule resistors. Who in their right mind could repair that? No one. That's why a $20 fix turned into a $500 one.
It's a good example for another reason, too, though: switches and 12V relays are inherently unreliable devices that vaporize a small part of their contacts every time they turn on and off, and so while fixing the system is indeed easy and cheap, it's also frequently necessary. Meanwhile, it's pretty easy to build solid-state power electronics that with MTBFs and wearout times in the billions of cycle times, far longer than the rest of the car. (Not to say automakers don't ever biff it and build shitty solid-state power electronics that break all the time, though.)
I'm am ex mechanic and I hardly ever replaced a relay. Even in the old Porsches I still work on as a weekend. The few I did replace were due to a fan motor going bad. Which made the relay overheat. But I did replace many solid state boards that would die from vibration or regular under hood heat.
Both of your examples relate to the state, not the maker, and the state (in theory) is involving itself for the sake of the common good. Indeed, both of the problems behind these restrictions (criminal fraud and air pollution) are the kinds of anti-social behavior that we expect states to address.
All of this is categorically different from a private party renegotiating the well-established legal concept of ownership for the sake of private profit and ongoing exploitation.
Unfortunately, the state also cares about industry creating new costs for you. If you now have to pay $500 for what you used to be able to do yourself, GDP just went up by ($500 * market size) and a politician sleeps more comfortably about their re-election chances.
If a car manufacturer shores up its profitability and that of its dealers by ensuring that everything right down to the oil change needs their licensed and authorised device, then many governments would label that "business innovation" and claim it's in the common good of the economy.
The new artificial boundaries are only recreating the natural boundaries from before. If you wanted to boost your fuel/air ratio in 1965 you had to open your hood and take apart your carburetor, that keeps most people out of it.
Now we're talking about downloading iPhone apps that promise 10% more speed and the only technical challenge is aligning your car's USB plug with your phone. And then hitting the big green button labeled "GO FASTER!"
> Now we're talking about downloading iPhone apps that promise 10% more speed
That doesn't sound like anything I've ever heard of. Many manufacturers require expensive subscriptions to access service manuals and programming software.[1] The average person (and even a lot of small-time mechanics) doesn't have access to those resources.
You haven't heard of it because it's too stupid and dangerous to allow to happen. But it's a natural consequence of car ownership including read-write access to its computers.
Many cars have had externally reprogrammable ECUs since the mid 1990s (with lots being fully reverse engineered), but yet tuning is still relatively esoteric and generally very expensive.
What do you think has changed / will change that will lead to an onslaught of dangerous amateur tuning by phone? The technology to do so has existed for years.
It exists in other motor vehicles. My last roommate had a quad where he would tune the ECU with software on his laptop depending on where he was riding and what parts he had installed.
Falling barriers. Like you say, tuning is currently very expensive. The financial and technical costs act as an idiot filter (forgive my negativity.) Those barriers are falling so we're left with artificial costs i.e. legal penalties and intentional code obfuscation.
Automakers want to lock out consumers and unapproved mechanics from tinkering with vehicle software on the grounds that (1) they could purposefully or accidentally make the vehicle non-compliant with safety/emission standards, and (2) they could use the vehicle's computers to infringe copyright (presumably ripping streaming audio?), and (3) closed source = more difficult for malicious hacking of vehicles.
There are already laws in place to deter all of the outcomes of these actions. To deter the action that might lead to unlawful action... sigh.
If your cousin's friend changes the code for the ABS to "work better on gravel roads" and then you wreck, who's going to get sued? Not your cousin's friend - he's living in a van down by the river. The automaker is, because they're the ones with the money.
it is much easier to look at an after market part and determine if it was cause of the failure because it is a physical object. Software and the state and sequence of events are much harder to look at and conclusively say "yes, this was the culprit".
It's hard for me to pick a side here. I want that freedom, but the auto makers have a compelling reason for wanting to stop it (getting sued, warranty issues, etc). I'm 60/40 on the automaker's side.
A variety of systems which can be flashed with modified or entirely third-party firmware but usually shouldn't be have tamper flags that make detecting the modification easy, even if the system is restored to its factory configuration afterward. This could be a good solution for car makers, especially if laws were updated to limit their liability in such cases.
To be specific: car makers should not be liable for unsafe modifications made by third parties, even if they intentionally made the car easy to modify and did foresee that some people would make unsafe modifications. To subject the car maker to liability in the case of a modified car, the plaintiff should have to show by a preponderance of evidence that the modification did not cause the crash.
> the plaintiff should have to show by a preponderance of evidence that the modification did not cause the crash.
I can see this going the opposite way too. E.g. the automaker says that they are not liable because the customer modified the audio system, even though it was the ABS that failed.
Sure, but they'd have a very uphill battle convincing a jury of that. This isn't "breaking seal voids warranty". This is "you, and you alone are responsible for the results of modifications you make".
>it is much easier to look at an after market part and determine if it was cause of the failure because it is a physical object. Software and the state and sequence of events are much harder to look at and conclusively say "yes, this was the culprit".
I don't buy your argument.
For example, to plug in a laptop and do a checksum of the binaries would take seconds. To disassemble an engine to find a spec'd up cam would take hours.
For example, to plug in a laptop and do a checksum of the binaries would take seconds.
This would only test that the software was a known set of instructions, it wouldn't help debug the flow of the code and the run-time state:
Software and the state and sequence of events are much harder to look at and conclusively say "yes, this was the culprit".
Disassembling an engine would seem to be on the same order of complexity as disassembling and reverse engineering firmware without source code (perhaps more so).
But just like with some computers where you void your warranty by cracking it open and performing upgrades by yourself, all the car manufacturer has to do is sell their cars with the same requirement. You start messing around with the internals and a flag is set in the car that they just have to check for to determine if they're really at fault for what you're claiming or not.
On my car, and many others, the stock Bosch Motronic ECU is flashable through the OBDII port. You use community developed software and community information to build a ROM image, do the checksums, and flash it right on.
Thats not true for all Motronic ECUs. The OEM has to decide which kind of tuning protection they want to have activated.
Some OEMs opt for the low settings where tuning gets detected and logged while still allowing you to run new or modified code while others only allow the flashing of signed code.
Also, as far as i know from motronic mods, they mostly only change calibration data and not the code itself, but i may be wrong.
More than likely you'll be absolutely shocked at the code that your car depends on to function (read the Toyota unintended acceleration court documents).
Opening that interface or code turns that black box of deniability into potential evidence of shitty practices leading to failure in what should be safe, correct and easily tested modules.
Think global variables, 4k line functions, goto/jumps, completely ignoring industry standard practices like MISRA, etc.
Think global variables, 4k line functions, goto/jumps, completely ignoring industry standard practices like MISRA, etc.
A note about embedded programming on a microcontroller: global variables and goto can be used effectively and safely. Their presence or absence does not alone indicate code quality. Even a 4kloc function might be reasonable if the compiler couldn't be relied upon to inline functions into a time critical global update loop.
If it was really a fear of being sued, wouldn't they push for laws that explicitly eliminate liability when such modifications are made, rather than making modifications illegal in the first place?
It would be the reasonable thing to do. The problem I see is when the "altered" car crashes into a stock one onthe road. The un-altered car's owner might sue on the grounds that there no proper controls on the modified car's systems to safeguard from such errors.
There is technology readily available in high end cars that will make them automatically brake if they detect they are going to hit something. If someone rear-ends me in a new car, it is unreasonable for me to sue the manufacturer because they didn't include this technology. Is this situation really any different?
Unlikely. More likely this is another attempt in the long history of car makers trying to gain full control over the entire supply chain. They want to have your car serviced only at approved auto shops that they control or own, using only original parts that they produce/sell.
I agree, but how is it any different than when your cousin's friend does your brake job for you, and then the brakes fail?
To answer my own question: because there are fewer court cases about home mods of automotive software, then there are about home mods of automotive mechanical systems. I think it's the lack of precedent that scares corporate lawyers when it comes to this stuff.
Plus vehicle damage. What happens when Johnny Hacker changes his fuel maps, causes massive detonation slagging the engine, flashes the fuel maps back to stock and comes in for service?
Maybe that should still be in Johnny's right to do, and it's up to the service center to detect what happened, but I can see why the automakers would really rather he couldn't do that.
I worked as a service writer for a couple years. I _never_ saw a warranty claim refused based on owner abuse. Not once. There were times it should have happened, but I could _not_ code a work order as "owner abuse". That was a call for the service manager to make and afaik, it never ever occurred. Refusing to cover a repair pisses off the customer and you never see him/her again. If you just fix whatever the idiot broke under warranty, you get paid and keep the customer.
wrong call in my books, but don't be surprised if it happens everyplace.
Some guy comes in with half a cornfield stuck to the undercarriage of their vehicle, who should pay for the suspension work? I deeply feel we should each be responsible for our own stupidity.
If it is submitted as warranty, it becomes a cost to the manufacturer and I feel that is inherently dishonest. Additionally, increased costs _do_ get passed onto customers.
This was my immediate reaction as well. I'm quite sure that their primary motivation (service fees aside) is avoiding the litigation minefield created by permitting people to hack their cars and potentially make them unsafe.
As is stated elsewhere, it's easier to determine that a physical part failed, and that it was not automaker-issued than to do the same with (e.g.) modified firmware. It's not like people are above attempting to hide the fact that they modified the firmware in order to win a lawsuit.
I don't know if a reflash event would be recorded in the car's event data recorders. If not, the owner could flash the ECU back to the factory code, and the evidence goes away. For this to work, the cops arriving at the scene of the accident would have to immediately download the contents of the ECU and enter it into evidence.
> they could purposefully or accidentally make the vehicle non-compliant with safety/emission standards,
As much as I wanted to know about the mysterious "software upgrade" that the dealer claimed was available for my car (that was covered under warranty) - I understand why they keep consumers in the dark.
Do you really want some random guy messing with the base code of his car and accidentally get into a deadlock situation causing the brakes to not engage? Or for the vehicle's accelerator to keep increasing without being pressed?
Something else to keep in mind - people already have figured out how to remotely control a vehicle using bluetooth. [1]
I couldn't tell you what the solution is - whether it be build-your-own-car or forcing auto makers to release their source code - each will still have problems.
"They say you shouldn’t be allowed to modify the code in your car because you might defraud a used car purchaser by changing the mileage."
All you would need to do is checksum to know if the consumer had manipulated the code. Let car owners see the code running on their cars but void liability if the software has been altered.
This is actually easier than you think currently. Most muscle cars (like mustangs/camaros) allow you to change your rear end gearing. Different size rear end gear ratios are different factory options. There are programmers that allow you to tell your computer what gear ratio you running so your speedometer is correct. There are also changes that can be made for bigger/smaller diameter tires. You could change the computer's gear ratio setting and tire size setting. Your speedometer would be way off but you'd also be accumulating fewer miles. It's not directly modifying the mileage of the car, but over time the numbers of miles on the car would be far lower than what they really were. Then once you sell or trade-in the car, just set the settings back to the original ones.
Odometer mileage is data, not code. If I can fake in a new mileage reading and correctly spoof the checksum (without triggering any anti-tamper safeguards), I've committed fraud with no way to trace it back to me.
Most of the cars I see anymore have some sort of web connectivity, what if you just send a packet every time you start it? If the mileage suddenly goes from 9000 to 3000 you know you have a problem.
Not to operate (I'd never purpose such a travesty) but it could work sort of like carfax. Go to buy a used car, Oh it's never been synced with the cloud in its 3 years of existence? I find that rather suspect. Knock off a couple grand.
If you pay me $50/year I'll have my server spoof the packet report from your car to the manufacturer's server. It will transmit twice a day at 8:45am and 5:15pm to show the car being driven 5 miles to work and back. Hell, I'll even throw in a lunch outside the office once in a while.
There is no perfect system for anything but you can probably take it to the point where an attacker won't profit from his efforts, and I see that as a reasonable goal post for a threat model here.
I implement a RSA key for each car, signed before it leaves the factory. Each key is housed in memory that is heavily epoxied and very difficult to remove (in a place that you would have to remove the majority of the engine to reach). The cars ignition system requests validation from the on board key on every start (in fact it gets the actual <start car> command from the chip itself). If the key is not present, the car does not start and instead tells you to return it to the dealership.
Now you say, I can remove the key and then reverse engineer it. What if I put n keys? How many do I realistically have to add to make it so time and labor intensive for you to remove my little inexpensive keys that you just give up? Probably not that many. Oh and did I mention that all of them are in an array? Better be sure you didn't miss one or it will zero itself out giving you no hope of recovery. (The warranty specifically mentions this as something that will void it)
After all that, if you still want to attempt to modify it. Fine. I'll add 1% to the purchase price of the car and reimburse anyone who bought lemons from your little (illegal) scheme.
Looking forward to your attempt to sidestep crypto. I'll wait while we exhaust the entropy of the universe in a futile attempt to "spoof" a vehicle checking in.
There's a point here though. Someone somewhere can extract the key out of a single car, but if you have a per-car key and you need to decap a chip and put it under an electron microscope to get the key then it quickly becomes infeasible.
Around here, we have yearly inspections for cars. (UK would call them MOT tests). The inspector records the mileage every time and it is stored in the motor vehicle register. When buying a used car, you can check on its history (the owner may make the history private so that it's not given to buyers, but then you know that the history is not available and the car might be a lemon).
Requires no Web connectivity of my year 2000 Nissan Micra.
That can be at least somewhat deterred by registering the car with the manufacturer to get an unlock code, similar to what HTC does nowadays if you want to root one of its phones. Thus, there's a record of you having installed custom firmware (with the relevant warranty-voiding and such). While it won't specifically detect whether or not mileage reporting has been tampered with, it does signal to a buyer that the software is or was non-stock, and therefore all bets are off, caveat emptor, etc.
Alternately, the odometer could (and I'd argue should) be implemented in hardware, possibly as an ASIC (or maybe FPGA) plus dedicated EEPROM to store the counter, wired directly to the relevant sensors. Perhaps some data interface with the main computer, but it should be read-only. That would solve this issue right quick.
Laws stop bad actors all the time. Certainly not all burglaries are stopped, but I imagine there would be more of them if there were no consequences.
We should punish the actual bad behavior, not things that enable bad behavior. Otherwise, we'd outlaw kitchen knives and driving cars because, hey, you never know what someone could use them for.
In San Francisco I saw someone start to cross an empty street at an intersection, who then saw a police car cross the street two blocks away. The pedestrian stepped back onto the pavement and waited for the lights to change.
This was one of the most trivial crimes possible - jaywalking on an empty street - and it was stopped by a law.
It does mean you don't use technical or legal measures to prevent people from having locksmiths fix or replace their door locks. You also don't outlaw locksmith tools, hammers and saws etc. (DMCA)
Also noting that there is a physical limitation to the harm that can be done if locksmith tools are sold. Both geographic and how the tool (which in not digital and has friction in distribution) is able to spread.
Someone using locksmith tools will most certainly operate in one area. They can't work from the comfort of their bedroom and in most cases can't cover their tracks as easily as digital crime can be covered (and done from anywhere in the world).
I guess we're just lucky that anyone who can get licensed (mechanics are also licensed, though not criminal-background-checked I guess) can work on any lock in the regulatory region, because door locks don't have sophisticated software yet.
"Own" is such an overloaded term. What do you own when you own anything? It's almost always complicated! If you own a music album on compact disc then people say they own that album. But you aren't allowed to make copies of that disc. And you absolutely can't makes copies and then sell the copies. You can't even use that disc whenever and whereever you want. For example you can't play that disc through stadium speakers at a sporting event. Nor can you use host a concert and play parts of that album. You can't do it to mix with other music and you can't even play it directly.
So again I say, own is such an overloaded term. I wish people used it far less than they do.
You chose an example of copyright, which is the most complicated and controversial example you could have chosen, in order to make a claim about about the general idea of ownership. Why not choose one of the other 99% of things that we purchase?
>But you aren't allowed to make copies of that disc. And you absolutely can't makes copies and then sell the copies. You can't even use that disc whenever and whereever you want. For example you can't play that disc through stadium speakers at a sporting event. Nor can you use host a concert and play parts of that album. You can't do it to mix with other music and you can't even play it directly.
You can own a knife, but still not be allowed to stab people with it. That's materially different than owning a computer or car and not being able to look at the inside, modify it, or repair it.
I would say instead that "own" is a diluted term. Most of the qualifications that apply to it are mostly the result of legal wrangling and the ambiguous property nature of information vs. physical items.
"Own" is just clickbait here. They don't quote any automaker who says you don't own your car. They do quote automakers referring to "owners" as the people who paid for and drive the cars. There are other items I can own but cannot modify in certain ways, such as firearms.
Worth noting that it's illegal to modify a firearm in certain ways, but other ways are totally legal. Which relates back to the distinction between laws that prevent modification vs. laws that enforce safety standards. It's not OK to modify a semi-automatic rifle to be fully-automatic, the same way it's not OK to exploit security holes in your car computer's firmware. However, it's not OK to swap out your car computer's firmware entirely, but it is OK to swap out the barrel, upper, lower, or whatever on your weapon, provided it's certified for sale.
There's a difference between ownership of a physical data storage device and the ownership of the data on that device. You own the physical disk, but you're only leasing the data on it.
If we're going to lump both of these together as you're doing, then "own" is the wrong word to use; you're "leasing" instead. In that sense, I'd agree with you that the word "own" is used incorrectly in a lot of contexts.
You own the disk, but you do not own the music on it. The disk comes with a license to play the music only in a certain manner. If you do something that is not allowed by the license, you are not covered by the license and therefore you are liable under copyright for using a work you do not own.
I think, we should use the word own if we want to protect ownership rights. If we start saying that "own is such an overloaded term, lets not use it anymore" this is the first step to giving up any ownership rights you may have had.
You know, I'd be okay with that if I no longer had to pay property tax, insurance, maintenance, fuel and other costs on the vehicles I no longer owned and instead that burden fell to the automakers.
Who is going to start publishing open source car firmware? I imagine that putting something together that would run some of the newer cars would actually be quite difficult. I'm guessing that writing enough software to just get a Tesla to turn on safely and pull out of the garage will be quite an undertaking.
I can see a huge benefit from having FOSS versions of car firmware in the future. It could be especially important if you don't agree with your manufacturers choice of ethics for automatic driving (See the AI Tunnel Problem).
Probably never. The amount of software that your car runs will easily stretch into the millions of lines of code, it's incredibly complicated and the combined efforts of thousands of programmers.
Then, insurers wouldn't insure you on some software, which would mean that you'd be illegal to drive your car in many countries.
People write html5/JavaScript code that runs on the web browser in the Tesla entertainment 17" touchscreen. Much simpler than actual firmware, of course, but that's the situation today.
When we have self-driving cars will we still expect to hack on the software? I really feel my pedestrian avoidance is too sensitive, let's tighten that up a little. And I want to win all four-way stops!
I think that you should be allowed to hack your self driving car. But you should have to submit the compiled code to the NHTSA and your insurance agent so that they can run it through a bunch of black box simulations to determine if it's street legal and how much to charge you per mile.
This sounds possible in theory, but difficult in practice.
Designing a test suite that catches all possible life-critical errors is near impossible. The cost of testing and certification will probably be quite high, well outside the reach of amateurs.
Just as we advise people not to write their own crypto (its easy to get wrong), I think the same will hold for safety critical software.
All that being said, I think it is very important that this software is open source.
I'd love for it to be open source (and I do believe that would be the safest for all), but you know as well as I do that's not the world we live in. The safety code is going to become a feature/price differentiator/trade secret that car companies live and die by.
Depends on how broadly you interpret "etc." For example, iPads are not legal to jailbreak. Also, while jailbreaking an iPhone is legal, performing a carrier unlock without the carrier's permission is illegal. (This is all for the US. Other jurisdictions may and certainly do vary.)
Do you actually own a carrier-locked phone though? It's not like a car that is owned by the bank for a few years until you pay it off, and then you get the title and keep driving it.
A phone you buy on a 2 year contract is yours at the end of the contract. Then you get a new phone and give the old one to whoever in your family needs a new one, or just put it on ebay for fifty bux and change.
Oh well. We should just have law that states that any device should have its boot keys changeable by its owner. Even if not able to root ios, you will still be able to run your own software on it (and device like iphone will be reversed engineered in days).
Why? The device is built and sold in a particular configuration, among other things attempting to ensure the user doesn't do things with the device which the manufacturer didn't intend but will likely get blamed for. (Ex.: user, on recommendation of friend, "jailbreaks" an iPhone and installs new software which is buggy/slow, resulting in user telling others how crappy the iPhone is - even though the problem isn't Apple's fault, and Apple took measures to prevent such changes from happening.)
The hardware & software have a symbiotic relationship. Each must function within certain developed parameters to ensure the other can function within its specified parameters. That's how Apple can use lighter-weight & cheaper hardware yet get greater performance: both hardware & software are tuned together for optimized performance. Android, like Windows, is suffering from having to support unknown hardware. You're demanding that, under police power of the state (note that: you're threatening to arrest people for this), Apple explicitly allow/support software which Apple has absolutely no control over yet will get grief for when it sucks.
Relevant to the original point: a car manufacturer doesn't want users patching in home-brew software which changes/breaks safety features. While such could be done with hardware, they're increasingly trying to do things to prevent those changes too (model-specific parts, hindering others from making & using inferior components).
"They warn that owners with the freedom to inspect and modify code will be capable of violating a wide range of laws and harming themselves and others."
This argument is a bit silly, given how many laws can be broken and how much harm can be done by anyone behind the wheel of an automobile, regardless of how it has been modified.
The first one is dangerous, imagine someone who wanted to improve ABS but didn't do testings, and this led to a crash. Or, if we consider, more intelligent self driving cars, possibilities for abuse, etc, are enormous.
The second one is discussable. On one hand, we want to make cars as safe as possible, and there's no better way for this, than inspecting code. On the other hand, the company wants to protect their intellectual properties from competitors.
"Right to Repair" laws have been in the works (and opposed by the auto industry) for at least 15 years and recently passed by Massachusetts. One goal is to level the playing field between dealers and independent shops by forcing manufacturers to give up technical info, part of that being the interface with computer systems. I'm not sure if the law mentions software modification at all, but it sounds like a court battle waiting to happen.
We don't have cars anymore; we have computers we ride in. […] So when I get into a car—a computer that I put my body into—with my hearing aid—a computer I put inside my body—I want to know that these technologies are not designed to keep secrets from me, or to prevent me from terminating processes on them that work against my interests.
Well, if they're interested in selling more cars, I'm in the market for a car that I can diagnose, repair and customize via a usb connection to my laptop.
There's an aversion to transparency in a lot of software stuff because you can't prevent people from stealing your hard-earned work, but in giving your customers more accessibility you'll have an immediate edge in the car market, which, after all, is how you make money.
I generally agree with the EFF, I'd even say I'm a fan, but I disagree on this one.
TL;DR == "tough"
Regulations can be bad, they can stifle innovation, enforce inequality, maintain awful power structures, etc. But, they can also save lives. In America there are a million things you can't do because they infringe on the safety of others.
At an abstract level, an automobile is 3,000 lbs. of metal holding 10 gallons of gasoline that carries human beings through public spaces at up to ~70mph. It travels through neighborhoods where children live and play at up to 25mph. It's a mixture of chemical, mechanical, computing and electrical systems that an engineer needs about 10 years of study to be able to handle after they get to engineering school. Even then they'll specialize.
Car enthusiasts simply don't have the skills to merit carte blanche access to mess around with cars that drive on public roads. In general, they probably don't even have the skills necessary to evaluate their skills which is what makes this so dangerous.
Tinkering with a mechanical system like your brakes is very different from tinkering with a computing system that through an electrical system is controlling the mechanical system that is your brakes. That's orders of magnitude of new complexity. Do you really think the average car-guy will understand the bugfix, written in optimized C or assembly, that accounts for how a certain transistor behaves above 200 degrees Fahrenheit?
To be clear, these laws aren't to protect anybody from their own stupidity, they protect the rest of us. If you do have the skills to tinker at this level then you're free to use them in race cars that aren't street-legal.
The EFF isn't against regulations on cars. They're against companies using the DMCA to restrict access. There are no regulations - that's precisely the point of the article.
Can we just be honest about this? The EFF hates the DMCA and I think it's clouding their judgement. They need to separate their very good fight against the abuses of copyright law from this ridiculous fight to let people do stupid and dangerous things to their cars.
If they have a better tool than the DMCA to keep the average person from defeating safety features built in to their car, they should say it. But any system strong enough to ensure there's no dangerous code running in any cars on the road will be opposed by the EFF because it would be a whole new level of surveillance.
... Did we read the same article? The EFF is arguing exactly that. They say that if the transportation authorities deem it necessary to regulate then fine. But they haven't. Abusing the DMCA instead is just stupid and wrong.
We did read the same article, but I don't think it was very consistent throughout. Their opening statement is this:
> EFF is fighting for vehicle owners’ rights to inspect the code that runs their vehicles and to repair and modify their vehicles, or have a mechanic of their choice do the work.
So I see "inspect" as read access, "repair and modify" as write access and I think what would we do if we had read-write access to our cars? Relly think about that one for a second.
I disagree with the "regulation will be enough" idea in the same way I understand the law regulates people from entering my house but I still lock my door.
Later in the article they go into why the DMCA is the wrong tool for the job and they're probably right, this shouldn't be done in the name of ending music piracy.
Before you go down the path of "Would you want people altering the way their autonomous vehicle works?" consider that it's already too late. There is open source software for a variety of autonomous self-propelled robots, land vehicles, and aircraft.
Why hasn't a problem manifested already, when I can build a drone, download software for it, and tweak it all I want? It's because very few people do that. And vanishingly few do it will ill intent.
I'm sure that 15 years form now there will be a true crime show about someone who programmed their car to run over their spouse. (It's always the spouse.) But that shouldn't be an excuse to stifle the thousands of beneficial results from hacking automotive systems that will come about from people satisfying their curiosity about what's on the CAN bus.
As much as I am pro-FOSS, don't vehicle manufacturers have a right to copyright protection too? Why should vehicle computers be somehow different from other computers, which we allow to run proprietary code?
I guess my point is that, even being a FOSS advocate and pro-DIY, I don't see why car makers should be compelled to hand over their code, unless of course they're already using GPLed or similar OSS code.
Troubleshooting diagrams would be reasonable to ask for, or perhaps some documentation of the protocols used. But demanding that a company release their source code because you essentially feel entitled to it is pushing the buck if you ask me.
I recall that it's common to make one kind of processor, and deliberately cripple them to varying degrees to ensure you can sell to every price point without having to go through the extra expense of making a range of processors.
The analogy with car engines, I presume, is to make one kind of car engine, and to use the electronic control system to present a range of performances to the consumer market, without having to go to the expense of actually making different engines. Does this already happen, or is it yet to come?
It's not common yet. Usually, the higher-performance version has hardware differences involving either more expensive materials, a more expensive manufacturing process or greater mechanical complexity. I did notice a possible example though: the Volkswagen Crafter, a full-size van popular in Europe has 5-cylinder turbocharged diesel engines in several different power ratings. I'm fairly confident they're mechanically identical and just have different maximum boost settings for the turbocharger, though they may have different sizes of turbocharger.
As Zak mentioned it does happen to some degree in the Euro market. There's little difference (sometimes only ECU configuration) between some of the high end and performance Volvos.
It is a difficult thing to do though because high performance parts often come at the cost of price, fuel economy, reliability and usability. Using the performance variant turbocharger across a line of cars and setting the ECU to a lower boost would result in the lower spec ones having overly expensive parts that boost at the wrong rev range resulting in worse fuel economy and engine response.
Is not that I don't like smart cars, the problem is that they allow a transfer of control from who's supposed to be the owner to institutions and hackers:
https://www.youtube.com/watch?v=3jstaBeXgAs
Lets say that by a surreal act of good software engineering, you get rid of the hackers problem, what are the odds of getting rid of corruptible institutions?
This applies as well to mobility devices like powerchairs and scooters and other things like motorized beds that change your position. Without the service manuals, it can be very hard to fix these.
On a slightly less sarcastic note - engine control software is pretty common now. Many also have proprietary GPS and entertainment systems built in, and some cars now even have stuff that interacts with android, allowing it to talk to some of the cars systems and function as an external display.
Plus, I reckon there's probably a whole bunch of code in a Tesla.
I think the downvoters are missing my point. By definition, firmware is read-only software, so I was asking sure what (potentially modifiable) software the EFF is referring to.
I'm not saying it's not, I haven't even looked up a definition, but I do know I've written firmware update code before... I think the way the term gets used is probably a little blurry...
My car, for instance, is a bit old. It has some sort of ARM device in it running a proprietary GPS system. There is an update mechanism that can be triggered when you put a new DVD full of map data into the drive in the trunk. This updates the stuff that runs the ICE as well as the GPS. I would be very concerned if it had anything to do with engine-control I suppose.
Maybe I'm being myopic as far as the definition of firmware. I've never heard of a firmware update for a car, but if it's not happening already, it'll probably be part of the regularly scheduled maintenance in the future.
The term "firmware" originally referred to code that ran from nonvolatile memory, such as EPROMs. Originally these devices weren't electrically reprogrammable; you had to pull them off of the board, erase them with UV light, and burn your new code and data onto the chip with specialized equipment. Firmware was also commonly shipped on mask-programmed ROM chips that were cheaper than EPROMs but that couldn't be reprogrammed at all.
Essentially nothing like that is used anymore. Almost every programmable part is reprogrammable in-system unless someone takes extraordinary measures to prevent it from happening. That means that there is no longer any real distinction between "firmware" and "software," and there is no such thing as "read-only software," as you put it earlier. There is only "software" and "locked software."
This thread is all about who should own the keys to the lock.
And its titles and articles like this which prevent me from send a dime to the EFF.
Automakers aren't trying to take ownership of my car away from me. This is linkbait... no, it's donationbait, and as long as the EFF keeps this up, they get nothing from me, and they should get nothing from you, either.
This is a little overly black and white in my opinion. Yes, the EFF is not flawless in their articles and writing. They have written questionable things before and I don't always agree with what they say. Regardless, they are a huge force for the rights of every day Americans and I think our rights would be tremendously eroded without them. This is why I donate.
The EFF actively misrepresents and lies about issues to convince folks to give them money. It's just too blatant, and they represent themselves as technically savvy, so even if it's unintentional, I can't forgive them for those kinds of errors.
I strongly disagree with the eff. Safety trumps all and there simply isn't a compelling need (that I can think of) that requires the need to tinker with the auto software. All of the "arguably restricts vehicle inspection, repair, and modification" is just a red herring.
"The reach of copyright law has expanded so far that it now threatens people's ability to repair their own cars and protect them against malware. Yesterday, EFF launched a legal campaign to fend off that threat."
Can't even think that I have read any stories (so far) about malware having an impact on auto operation. Hard to believe that opening up the software won't result in something bad happening either.
Closed source and un-modifiable car firmware is like closed-source crypto and other systems - it's not the best. Because it doesn't really have to be better, so why bother. Open source / custom can be as bad or worse, or it can be much better.
I prefer a world where we have the freedom to have good stuff.
If safety trumps all, we might as well ban people from changing their tires. If you don't use a torque wrench, you might find your wheel coming off on the freeway.
In the short term, they could easily use this to lock people out of being able to perform certain routine maintenance operations on their vehicles, forcing them to go to authorized dealers and paying exorbitant markups.
In the long term, tires, filters, and brake pads could become proprietary in the same way as Keurig's K-Cups are now, though I imagine with more complex DRM.
This already happens with other machines (washing ones). Only the dealers get access to a proprietary DRM software that updates a 4KB firmware. I bet that not for too long.
I think the key issue is whether tinkering with the software is materially different from tinkering with physical parts of the car like (say) installing new brake pads yourself.
How is repair and modification a red herring? It's commonplace to repair or augment vehicles with third-party aftermarket parts. Do you think we should live in a world where you must buy spare parts from the original manufacturer? Because that's where this ends up if they get to exercise this level of control.
You must be a PR person for the auto makers. I personally want to know when my driving information is being sent to a third party and be able to modify this behavior so I can control how my information is shared.
> Can't even think that I have read any stories (so far) about malware having an impact on auto operation. Hard to believe that opening up the software won't result in something bad happening either.
First of all it would be EXTREMELY hard to nail down a car crash to malware currently because we have no tools/insight to do so. For all we know (put's on tinfoil hat) car hacking has been employed multiple times by state actors to kill off people who they disagree with. It's way too easy to write it off a the driver made a mistake and never have an investigation into the root cause.
However we HAVE seen that it's possible to hack into a car, there are multiple news articles showing people taking over control of cars remotely and killing the breaks, shutting off the engine, pushing down the accelerator, etc.
Also I don't buy the "Safety" argument it's way to easy to scream "Think of the children" to kill off an argument. Hobbyist hackers who want to hack their own cars have to still abide by the laws set out by the government just like a mechanic can't put a car on the road without breaks. I don't see the difference, yes maybe it will make it easier for bad hackers to disable your breaks but they could just cut the break line which would probably be easier (or should be if the automakers take security seriously at all which I would bet they don't).
Key safety systems have passive modes that work regardless of the software. Steering and brakes are among these. You might lose the power assist, but you can still steer and stop.
Killing the brakes on a car would require mechanical interference/sabotage, not just software hacking.
This all depends on the vehicle. For example, Toyota's Hybrid Synergy Drive (formerly Toyota Hybrid System) in their hybrids is entirely drive-by-wire, meaning there is no direct attachment between the steering column and pedals and the mechanics they control.
I see no reason why the ability to brake in my Prius couldn't be disabled by sabotaging the ECU, same with steering and acceleration. There's not a traditional transmission either, so I can't just force it into neutral and roll up a hill to stop. There's technically a mechanical linkage in the break pedal to the disc brakes should the ECU fail, but ECU failure and ECU tampering are two separate concerns.
With that said, I'm not overly concerned about electronic attacks on my vehicle at the moment, someone would still need to forcibly enter the cabin, connect to the OBDII port and make modifications to the ECU firmware, not something some jerk could do while we are going down the freeway. I would certainly feel a lot safer if the code running on the ECU was available for the community at large to dissect and inspect, though.
Killing the brakes on a car would require mechanical interference/sabotage, not just software hacking.
Aside from the exceptions snuxoll mentioned, I can think of two ways the brakes could be hijacked on a car with traditional hydraulic brakes in order to cause a crash.
The first is abusing the antilock brake system to render the brakes less effective. Instead of reducing braking power when the wheels lock, it could be programmed to reduce braking power as much as possible in the event of panic braking at high speed.
The second is to abuse the stability control system now mandated by law to be included on new cars in the US and many other jurisdictions to induce, rather than prevent/correct a skid. Stability control works by selectively applying the brakes on different wheels. Applying one front brake at a moderate level (not enough to lock the wheel and leave rubber on the road as evidence) would look just like an erroneous steering input to anyone investigating a crash as long as the tampering couldn't be detected electronically. For extra evil, use GPS or have an observer trigger it manually when the car reaches a location in which a sudden turn would result in an especially bad crash.
First of all safety does not exist in a vacuum.
And second, software is just a technology. If you have the tools you will be able to hack the device.
What will happen instead is, the car's software will be signed and even if you somehow get the sources, you won't be able to run a different version. Just like in tivo.
Getting back to technology, 20 years ago you were able to hack the car with a wrench. Now it's just plain impossible to know what's going on. Hopefully not for too long.
Personally I bought an OBDII cable and disabled my passenger seat belt chime. I got so sick of putting heavy objects in the passenger seat where they would be convenient to grab when I got out of the car, and having to strap them in to stop that horrible chime.
Just a word on safety - if you hit something, that heavy object in your passenger seat might actually kill you flying unrestricted around the cabin. All items in the car should be positioned in such a way that they don't turn into flying bricks upon collision.
This was a simple search: "malware car software." Pretty sure disabling the brakes or selectively braking individual wheels on demand could have a deadly impact on auto operation.
In response I simply defer to Ben Franklin: "They that can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety."
> Safety trumps all and there simply isn't a compelling need (that I can think of) that requires the need to tinker with the auto software.
So you won't have any problem in <x> years if all PCs are coming with default configuration 'cause "safety trumps all' and "you don't need to tinker with the auto software". You don't need to change your shell. You don't even _need_ a shell anymore. The _company_ will provide you with everything you need. And of course, no choice for what OS you're going to install.
I imagine an answer would be "but my PC isn't going to run over a child". No, but an insecure OS can cause you to lose all your credit balance and many more (which I imagine you can guess being an hn member). All that just because "you don't need to tinker with the auto software".
I'm sorry, but people with views like yours keep the world behind.
Having recently worked on a proprietary enterprise software app, I have no confidence that you should assume the software in your car is safe. What's unsafe is hiding essentially software in a black box without the ability to review the code.