This work demonstrates a new method to bypass authentication on ECUs, exploiting weak randomness to enable unauthorized access.
In this work, we investigate if a compromised ECU controlled by a remote adversary could act as a stepping-stone to reprogram a victim ECU, likely a safety-critical one, without being detected. We envision an adversary could successfully authenticate against this safety-critical victim ECU’s modern SecurityAccess implementation without numerous failed attempts, which could trigger an alert by a CAN bus IDS. The adversary should not generate any obvious or knowntraffic indicative of a brute-force attack, and it should be capable of providing the correct response to a challenge sent from the victim ECU without prior knowledge of the target ECU’s secret key. If successful, such an adversary in control of a safety-critical ECU could send signals directly to critical actuators without needing any communication over the CAN bus, thus enabling a very powerful attack. We develop CANdid, a stepping-stone attack where an adversary in control of a previously compromised ECU can reprogram another ECU on the same CAN bus. Following the timeline depicted in Figure 1, we make the same assumption that our adversary can control the software on this compromised ECU and sniff bus traffic. The adversary then keeps the compromised ECU dormant until the victim vehicle goes to a dealership for a firmware update on the safety-critical target ECU. With the increase in recalls requiring firmware updates for newer vehicles [8], it is likely that ECUs will receive an update during the vehicle’s lifetime. Here, the adversary uses the launchpad ECU to snoop and record the technician’s communication with the target ECU as the technician performs a firmware update. After capturing the valid challenge-response pair, the adversary could perform a replay attack by forcing the target ECU to reproduce the same challenge and then sending the observed response. Thus, this adversary can pass authentication without requiring a brute-force attack or knowledge of the secret key. The key here is forcing the target ECU to reproduce a previously observed challenge. Our main insight is to exploit a disconnect that enables the adversary to influence and control an ECU’s source of randomness. Modern ECUs use processor uptime, or the runtime since the last reboot, as a randomness source for generating the challenge. Relying on time as a source of randomness is known to be a poor choice for seeding a PRNG [9, 10, 11]. However, we find that modern ECUs still use processor uptime and, thus, opens the door to exploit if an adversary controls when the uptime is reset. To grant an adversary control over the processor uptime, we develop a technique that exploits the ECUReset UDS service, an unprivileged (i.e., no prior SecurityAccess needed) command that requests an ECU to reset itself. Here, an adversary forces a target ECU to reproduce the same challenge by: (1) requesting the target to reset itself via UDS ECUReset, (2) waiting a specific amount of time linked to the observed challenge, and (3) requesting the challenge from the target ECU. While this technique alone can increase the likelihood of observing a specific challenge well beyond the expected likelihood, we repurpose prior work [12] to developa novel technique that grants an adversary finer timing control of their message transmissions, enabling a further increase in likelihood. Contributions: In summary, we contribute the following: We introduce new methods to control the weak source of randomness used by modern ECUs and launch replay attacks with a high rate of success. In contrast to previous work, we do not require any knowledge of the key or encryption algorithm. We demonstrate the ability to force a target ECU to reproduce a previously observed challenge. We also construct a novel method to increase the likelihood of repeating this same challenge. We bypass the authentication on a real powertrain ECU in less than a handful of attempts and demonstrate the ability to upload code to it. We also show how other powertrain ECUs and a gateway ECU are vulnerable to our technique by demonstrating a high likelihood of repetition for a given challenge on these ECUs.
No takes yet. Share an insight, caveat, or question.
Kulandaivel et al. (2022) studied this question.
Synapse has enriched 5 closely related papers on similar clinical questions. Consider them for comparative context: