Live data from Hacker News

An Introduction to the CAN Bus: How to Programmatically Control a Car

news.voyage.auto

31–40 of 110 posts

Re: An Introduction to the CAN Bus: How to Programmatically Control a Car

#31
post #10

Can you imagine the havok when terrorists figure out they can program cars to hunt and kill pedestrians in crowded spaces? Currently the terrorist needs to drive the vehicle, which makes it a suicide mission. How much more deadly would it be if it was reduced to just the cost of the car and a low chance of getting caught? How can we defend against this?

I'd argue that a lot of terrorists don't care. They want to do it themselves, die in the process and be glorified by their own. Otherwise they would probably just hide bombs somewhere to detonate them instead of strapping them onto themselves.

Re: An Introduction to the CAN Bus: How to Programmatically Control a Car

#32
One of the reasons I pulled my OnStar module from my GM Vehicle... Lack of authentication in the GMLAN CAN network. Not a big deal for an isolated system (well, almost isolated, there's still the FM radio) but "isolated enough" to mitigate casual attacks.

Re: An Introduction to the CAN Bus: How to Programmatically Control a Car

#33
post #26

I wonder - did you try to ask Ford for a .dbc-file containing the desired IDs to query? It's worth a shot plus those files save a ton of time.

Is that really the kind of file Ford would just hand out? Seems like it could really up their liability if there was a CAN related vuln found via that handout

Re: An Introduction to the CAN Bus: How to Programmatically Control a Car

#34
post #26

I wonder - did you try to ask Ford for a .dbc-file containing the desired IDs to query? It's worth a shot plus those files save a ton of time.

Is that really the kind of file Ford would just hand out? Seems like it could really up their liability if there was a CAN related vuln found via that handout

Ford is more open about vehicle info than any other carmaker I can think of (see http://openxcplatform.com), but that's not saying much, and I don't think they would give out dbc files without a lot of lawyers being involved.

Re: An Introduction to the CAN Bus: How to Programmatically Control a Car

#35
post #26

I wonder - did you try to ask Ford for a .dbc-file containing the desired IDs to query? It's worth a shot plus those files save a ton of time.

IIRC, US Law mandates a bunch of CAN IDs for general engine diagnostics like fuel flow, o2 sensors, etc.

The rest of the CAN IDs are unique to every manufacturer. GM (for instance) Tech Scan tool knows these CAN IDs. Independent 3rd parties can develop a simliar tool and license the CAN IDs from GM for a hefty fee. I imagine Ford has the same service available.

Re: An Introduction to the CAN Bus: How to Programmatically Control a Car

#36
post #10

Can you imagine the havok when terrorists figure out they can program cars to hunt and kill pedestrians in crowded spaces? Currently the terrorist needs to drive the vehicle, which makes it a suicide mission. How much more deadly would it be if it was reduced to just the cost of the car and a low chance of getting caught? How can we defend against this?

There are an infinite number of ways that "terrorists can kill people". Remote control cars is only one of them and probably nowhere near the top of the list.

We defend against killer-remote-control-cars like we defend against all forms of terrorism: plain old police and intelligence work to snatch the perps before they have a chance to strike.

Re: An Introduction to the CAN Bus: How to Programmatically Control a Car

#37
CAN Bus is great. I highly recommend reading the CAN Open Spec if your going to be implementing new systems using CAN Bus.

https://en.wikipedia.org/wiki/CANopen

Many more things besides auto's use CAN. One of my current projects involves exercise equipment that internally speaks CAN Bus. There is great support in Arduino for interfacing with stuff like this.

Re: An Introduction to the CAN Bus: How to Programmatically Control a Car

#38
post #11

Hmm, I hope they're not planning on using ROS for the final product... using a non-hard-realtime OS to fully control a car is a spectacularly bad idea.

A bit of a nitpick, but ROS is not an OS, it is a middleware. Who knows, maybe somebody makes a ROS adaptation for a hard-realtime POSIX OS, would be totally possible.

Though I agree, ROS is nowhere near the stability level needed by industrial and automotive products. It's great for prototyping, but one has to keep in mind the inevitable refactoring of the communication layer, and keep the core functionality ROS-independent.

Re: An Introduction to the CAN Bus: How to Programmatically Control a Car

#39
"we flipped the problem (and the OBD-II port) inside out and found naked access to HS1, HS2, HS3 and MS. The solution was on the back of the OBD-II port where all those buses arrive to a device called the Gateway Module."

This seems like a critical hack. Is this normal of all (non-ford) cars as well?

I'm gonna guess Car mfg's are going to start encrypting the CAN bus [1].

[1]: http://www.eetimes.com/document.asp?doc_id=1328081

Re: An Introduction to the CAN Bus: How to Programmatically Control a Car

#40
post #26

I wonder - did you try to ask Ford for a .dbc-file containing the desired IDs to query? It's worth a shot plus those files save a ton of time.

I have been trying to find one for the Ford Fusion but no luck. So I put together a github project where each can code is a github issue. https://github.com/autti/abraham/issues/45.
Post reply on HN