0

NOTE: This was originally asked on the main StackOverflow site, but now moved here because of the security nature of the question.

Since internet-connected Infotainment Systems are now connected with other components of a car... Is it possible to secure the safety-critical systems like the brakes after security updates stop?

For most devices the answer is "no"; without security updates a device is assumed to be vulnerable to attacks. But clearly this is not acceptable for safety-critical systems.

The two main approaches seem to be: isolation, and limited communication channels. However, since infotainment systems are now used to update brake systems and control things like steering sensitivity and putting the car into gear, isolation and limited communication are more difficult.

Background:

There has been at least one successful demonstration of using the infotainment system with internet connectivity to hack into and completely take over steering and braking. To make matters worse, no manufacturer has promised updates for the lifetime of a car, so once they decide the car is no longer "supported" (let's say 15 years after purchase) then security updates stop.

Although this question could apply to a larger class of IOT devices, this is focused on modern cars which are now becoming "computers on wheels."

The problem is easy to illustrate (sorry for the ascii art) -

       Safety-critical systems at risk

.--------.  .----------.  .--------------.
| Brakes |  | Steering |  | Accellerator |  . . .
 --------    ----------    --------------
    |             |               |
    |             |               |
 ---------------------------------------------- CAN Bus System
            |
            |
     .--------------.
     | Infotainment |
      --------------
            |
            |
       .~~~.~~~.~~.
      (  INTERNET  )
       `~~^~~~^~~~`

Even if the internet connected components (i.e. infotainment systems) are mostly isolated from the rest of the system, presumably at some point the cryptographic algorithms used to verify system updates will be less and less secure over time.

Once the manufacturer decides the car is EOL, it seems the only way to secure the safety-critical part of the car is by simply disconnecting (physically powering off) any communication into the critical systems. That is, physically only allow safety-critical systems to send data. For example, the infotainment display could be limited to communicate to the rest of the car via RS232, and physically disconnect the communication line back to the safety-critical systems.

       Safety-critical systems isolated

.--------.  .----------.  .--------------.
| Brakes |  | Steering |  | Accellerator |  . . .
 --------    ----------    --------------
    |            |               |
    |            |               |
 ---------------------------------------------- CAN Bus System
            |                        |
            |                        |
    .---------------.        .------------------------.
    | Status Module |        |     Update Module      |
    |    Tx    Rx   |        |                    Rx  |
     ---------------          ------------------------
          |                                        ^
          |    X  <- Physically disconnected       |
          V    |                                   |
     .--------------.                              |
     |   Rx    Tx   |---|--------------------------
     | Infotainment |   ^
      --------------    X  Physical disconnect switch
            |
            |
       .~~~.~~~.~~.
      (  INTERNET  )
       `~~^~~~^~~~`

But, now that infotainment systems are becoming critical to the operation of the vehicle, such isolation and limited communication is not as easy, and may not even be possible.

4
  • 1
    Is this cyber-physical issue really so much different from other physical issues with the car? How can one safely operate a car if the brakes are broken but the vendor has stopped providing support and is not providing any kind of replacement parts? There might be an aftermarket providing non-vendor parts and there might be an aftermarket for fixed firmware. But there is no generic way to fix this as much as there is no generic way to fix the brakes. Commented Sep 6, 2021 at 18:01
  • 1
    Typically safety critical components and entertainment components don't use the same CAN bus. Not only for security reasons but also for speed reasons, as entertainment data requires a higher bandwidth and therefore use a faster CAN bus (or do you know a car manufacturer that is so stupid and places all these components on the same CAN?
    – Robert
    Commented Sep 6, 2021 at 18:17
  • @Robert Agreed that this is a gross simplification (usually there are multiple standard CAN busses and an EtherCAN bus). In cars from at least two different manufacturers, safety-critical components of this CAN Bus system are reachable and can be manipulated via the entertainment system, albeit indirectly.
    – James
    Commented Sep 7, 2021 at 9:30
  • @SteffenUllrich Good point about the possibility of aftermarket non-vendor parts and/or firmware. The issue might be akin to someone tampering with the brake lines on someone else's car; locking it in a garage would be a generic solution. The cyber-physical issue is really that the "locked garage" has become more accessible and less secure. If a bad actor could crack into one set of brakes, every car with that vulnerability could have their brakes disabled.
    – James
    Commented Sep 7, 2021 at 9:55

1 Answer 1

2

A solution that many connected vehicle vendors are now adopting is to isolate infotainment functions from the safety-critical functions as much as possible. This is usually done by separating out non-critical systems onto their own CAN bus, and filtering CAN messages between various devices using a stateful CAN firewall.

Here's a rough topology:

.--------.  .----------.  .-------------.
| Brakes |  | Steering |  | Accelerator |  . . .
 --------    ----------    -------------
    |            |               |
    |            |               |
 ---------------------------------------------- Primary CAN
                           |
                           |
 .--------------.   .--------------.    .-------.
 | Infotainment |---|   Stateful   |----|  ECU  |
  --------------    | CAN Firewall |     -------
         |           --------------          
         |                 |
   .~~~.~~~.~~.            |
  (  INTERNET  )    -------------------------- Secondary CAN
   `~~^~~~^~~~`            |             |
                           |             |
                       .-------.  .--------------.
                       |  A/C  |  | Cabin Lights |  . . . 
                        -------    --------------

In this model, compromising the infotainment system only gets you access to non-critical systems, assuming that the filtering has been implemented correctly and sufficient separation has been achieved. Stateful filtering allows for context-specific rules, usually configured in realtime by the ECU. This allows for certain rules to be changed or disabled in specific circumstances, e.g. if the ECU detects that the vehicle has been in a collision.

Some implementations use a simpler stateless firewall. In this scenario, each physical port has a list of allowed frame identifiers and a distribution list (i.e. which other ports the frame should be sent to) for that input port / frame ID pair. Any frame that does not match a rule is dropped.

5
  • This is a really good answer. Still, if a manufacturer can push updates to the Steering system, the firewall has to allow that through. How would the firewall distinguish between the manufacturer pushing updates verses a bad actor trying to push a malicious update? (presumably a bad actor would use the same type of frame identifier and headers that the manufacturer would) Or, is the thinking that at EOL the Firewall would be given one last update to reject all updates, even updates to the firewall itself?
    – James
    Commented Sep 8, 2021 at 16:41
  • 2
    Updates are signed. When the infotainment system receives an update package over the internet, it checks the signature and installs it if the signature is valid. If the update package contains an ECU update, it sends it to the ECU - this is allowed by the firewall. However, the ECU update package itself is also signed, so the ECU can validate its authenticity independently. The infotainment system simply acts as a proxy for an opaque blob of update data. This is not always implemented correctly by manufacturers, but that's the nature of all software.
    – Polynomial
    Commented Sep 8, 2021 at 21:32
  • Cryptographic algorithms and protocols often have a very limited useful lifespan (e.g. TLS 1.0 and 1.1). After 15 years, the signatures for the ECU and any other systems will likely be weak at best.
    – James
    Commented Sep 11, 2021 at 12:50
  • 1
    @James Sure, but that's just a fact of life. Things get old and you can't do anything about it. You can only design your system in such a way that any issues found after you can no longer support it are not likely to cause serious problems. In this context, the practical lifetime of signature algorithms (e.g. RSA 3072-bit or ECDSA 256-bit) is likely to be longer than the vehicle's operating lifetime.
    – Polynomial
    Commented Sep 11, 2021 at 13:59
  • And there's nothing to stop you updating the (eg) steering system bootloader before the signature algorithm goes stale with a better signature algorithm Commented Mar 11, 2023 at 19:55

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .