Ken Tindell writes technical posts on automotive CAN bus security, protocol behavior, and embedded systems.
HN links his CAN injection post as the main example of keyless car theft through physical access to a car's internal bus.
In fairness, many of these will end up in consumers hands shortly after a bit of additional value-add. On the bare-bones side, that's things like JLC PCB stocking them for pro-hobbyists to get custom low-volume PCB's made with them. A bit higher up the food chain, mere tinkerers could expect to find more form factors of fully ready-to-use boards available at microcenter/ailexpess/amazon/sparkfun/etc.
For mere hobbyists, adding network connectivity will be the biggest hurdle for most of their projects, and hopefully some of the microcenter (et. al) options will provide options. It doesn't have any on-board solutions for this (unlike, say an STM32F207 which has low-level ethernet capability that just needs to be broken out to a physical interface).
Generally though I think most networking solutions for the RP2040 will max out at 66.5Mbps max theoretical throughput, because this is the limitation of SPI interface when the RP2040 has its system clock set to 133MHz (perhaps a bit more throughput is possible with overclocking).
Note that the dual Cortex M0+ cores have some (serious) limitations, namely: No floating point math (although the compilers usually do a pretty decent job of letting hobbyists forget this!). No Embedded Trace Macrocell or Program Trace Macrocell for debugging (only Micro Trace Buffer). Only 4 breakpoints and 2 hardware watchpoints.
It's important to truly understand the hardware limitations as much as possible to avoid issues caused by things like…
Be careful messing with your (modern) car like this. It may work at first glance. In some time in the future you may not be able to unlock your car.
As mentioned in the article as part of the introduction, there were problems with those car regarding security. Especially with the Rav4 where a colleague, Ken Tindell, showed a very serious flaw: https://kentindell.github.io/2023/04/03/can-injection/
Because of this OEMs build in more and more security, like SecOC with Autosar and other similar things. More and more of those security feature depend certificates in the devices that have an expiration time. Those certificates needs to be rotated regularly. If the rotation does not happen, because of missing communication with the mothership, then the security will fail, which finally will lock you out of your car.
That will be true for all the coming luxury car models.
IRC, Tesla has something like this for years in their cars. They can be offline for a certain period of time. But when this runs out, you will be out of luck.
https://kentindell.github.io/2023/04/03/can-injection/
>Ian’s sleuthing found that mostly these cars are destined for export, sent via shipping container to places in Africa
"These cars" might specifically mean things like the RAV4 and that other cars more reliant on good roads have less of a market in "places in Africa".
There must be a noticible flow of parts (eg headlights) to patch up damage caused by the theft. Likely the car manufacturers know, but it's not in their interests to talk about it.
I'm pretty sure they are all dumb enough for this. This is why people can steal (modern) cars by ripping a headlight out and accessing the CAN bus through the gap.
https://kentindell.github.io/2023/04/03/can-injection/
AIUI the military uses "CAN bus firewalls" to prevent this. There is also some sort of encrypted/authenticated CAN bus protocol in the works. Neither are common in production cars as of 2022 or so, though they may be soon enough.
The threat is not exactly zero. In some cases, thieves can get physical access to the bus from outside the car, and then inject messages to unlock it, start the engine, and drive away: https://kentindell.github.io/2023/04/03/can-injection/
Sure someone in that situation could also "just cut brakes or put in a pipe bomb" but car theft is a lot more common than assassination, at least where I live.
CAN is a protocol, but the messages on the bus are implementation specific. Yes, you can use it on any CAN bus, but there's no guarantee that you will be able to decode the traffic. Some modern CAN networks are encrypted, too, because it's trivial to view the traffic. https://kentindell.github.io/2021/01/02/can2-wireshark/ has a great guide on decoding traffic with sigrok.