# US 10,484,425 B2 · Controller area network frame override

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,484,425 B2
- Document ID: US10484425B2
- Status: Granted
- Kind: B2
- Application number: 15/719,071
- Filed: 2017-09-28
- Published: 2019-03-28
- Granted: 2019-11-19
- Earliest claimed: 2017-09-28
- Assignees: The MITRE Corporation
- Applicants: The MITRE Corporation
- Inventors: Hristos N. Giannopoulos
- Web page: https://patentgrep.com/patent/US10484425B2

## CPC

- H04L 63/1483: {service impersonation, e.g. phishing, pharming or web spoofing (detection of rogue wireless access points H04W12/12)}
- H04L 63/123: {received data contents, e.g. message integrity}
- G06F 13/4282: {on a serial bus, e.g. I2C bus, SPI bus (on daisy chain buses G06F13/4247)}
- H03M 13/09: Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
- H04W 4/48: for in-vehicle communication
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H03M: CODING; DECODING; CODE CONVERSION IN GENERAL (using fluidic means F15C4/00; optical analogue/digital converters G02F7/00; coding, decoding or code conversion, specially adapted for particular applications, see the relevant subclasses, e.g. G01D, G01R, G06F, G06T, G09G, G10L, G11B, G11C, H04B, H04L, H04M, H04N; ciphering or deciphering for cryptography or other purposes involving the need for secrecy G09C)
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)

## Abstract

The present disclosure relates to suppressing malicious transmissions by overriding frames on a Controller Area Network (CAN) bus. In an embodiment, a method operates by determining when a frame arrives at a CAN bus. A determination of whether to override the frame is made based on an arbitration ID of the frame received from the CAN bus. In response to determining to override the frame, a predetermined sequence of bits is transmitted on the CAN bus during transmission of a data length code (DLC) field in the frame. A message to complete the frame is generated based on the predetermined sequence of bits. Then, the message is transmitted on the CAN bus.

## Claims

### Claim 1

A method to suppress malicious transmissions by overriding frames on a Controller Area Network (CAN) bus, comprising:
determining when a frame arrives at a CAN bus;
receiving, from the CAN bus, an arbitration identification (ID) of the frame;
determining whether to override the frame based on the arbitration ID;
in response to determining to override the frame, transmitting a predetermined sequence of bits on the CAN bus during transmission of a data length code (DLC) field of the frame to override the frame without triggering an error on the CAN bus;
generating a message that completes and validates the overridden frame based on the predetermined sequence of bits; and
transmitting the message on the CAN bus to complete transmission of the overridden frame.

### Claim 2 (depends on 1)

The method of claim 1, wherein the predetermined sequence of bits comprises a predetermined number of consecutive dominant bits.

### Claim 3 (depends on 1)

The method of claim 1, wherein determining whether to override the frame comprises:
determining whether to override the frame before receiving a cyclic redundancy check (CRC) of the frame.

### Claim 4 (depends on 1)

The method of claim 1, wherein determining whether to override the frame comprises:
determining whether a plurality of IDs comprises the arbitration ID.

### Claim 5 (depends on 4)

The method of claim 4, wherein determining whether to override the frame comprises:
receiving a plurality of statuses of a vehicle; and
determining whether to override the frame based on whether the plurality of statuses matches a plurality of criteria.

### Claim 6 (depends on 1)

The method of claim 1, wherein generating the message comprises:
calculating a CRC that validates the frame, and wherein the message includes the CRC.

### Claim 7 (depends on 1)

The method of claim 1, wherein transmitting the predetermined sequence of bits on the CAN bus comprises:
tracking a field of the frame to be transmitted on the CAN bus; and
determining that the field is the DLC field.

### Claim 8 (depends on 1)

The method of claim 1, wherein transmitting the predetermined sequence of bits comprises:
retrieving the predetermined sequence of bits from a memory.

### Claim 9 (depends on 8)

The method of claim 8, comprising:
receiving a DLC of a second frame related to the frame before receiving the frame;
in response to determining to override the second frame, determining whether the DLC includes a recessive bit;
in response to determining that the DLC includes the recessive bit, generating a new DLC having the recessive bit flipped to a dominant bit; and
storing the new DLC in the memory.

### Claim 10 (depends on 1)

The method of claim 1, wherein generating the message comprises:
retrieving a pre-stored message associated with the arbitration ID and the predetermined sequence of bits.

### Claim 11

A system to suppress malicious transmissions by overriding frames on a Controller Area Network (CAN) bus, comprising:
one or more integrated circuits configured to:
determine when a frame arrives at a CAN bus;
receive, from the CAN bus, an arbitration identification (ID) of the frame;
determine whether to override the frame based on the arbitration ID;
in response to determining to override the frame, transmitting a predetermined sequence of bits on the CAN bus during transmission of a data length code (DLC) field of the frame to override the frame without triggering an error on the CAN bus;
generate a message that completes and validates the overridden frame based on the predetermined sequence of; and
transmit the message on the CAN bus to complete transmission of the overridden frame.

### Claim 12 (depends on 11)

The system of claim 11, wherein the predetermined sequence of bits comprises a predetermined number of consecutive dominant bits.

### Claim 13 (depends on 11)

The system of claim 11, wherein to determine whether to override the frame, the one or more integrated circuits are configured to:
determine whether to override the frame before receiving a cyclic redundancy check (CRC) of the frame.

### Claim 14 (depends on 11)

The system of claim 11, wherein to determine whether to override the frame, the one or more integrated circuits are configured to:
determine whether a plurality of IDs comprises the arbitration ID.

### Claim 15 (depends on 14)

The system of claim 14, wherein to determine whether to override the frame, the one or more integrated circuits are configured to:
receive a plurality of statuses of a vehicle; and
determine whether to override the frame based on whether the plurality of statuses matches a plurality of criteria.

### Claim 16 (depends on 11)

The system of claim 11, wherein to generate the message, the one or more integrated circuits are configured to:
calculate a cyclic redundancy check (CRC) that validates the frame, and wherein the message includes the CRC.

### Claim 17 (depends on 11)

The system of claim 11, wherein to transmit the predetermined value on the CAN bus, the one or more integrated circuits are configured to:
track a field of the frame to be transmitted on the CAN bus; and
determine that the field is the DLC field.

### Claim 18 (depends on 11)

The system of claim 11, wherein to transmit the predetermined value, the one or more integrated circuits are configured to:
retrieve the predetermined sequence of bits from a memory.

### Claim 19 (depends on 18)

The system of claim 18, wherein the one or more integrated circuits are configured to:
receive a DLC of a second frame related to the frame before receiving the frame;
in response to determining to override the second frame, determine whether the DLC includes a recessive bit;
in response to determining that the DLC includes the recessive bit, generate a new DLC having the recessive bit flipped to a dominant bit; and
store the new DLC in the memory.

### Claim 20 (depends on 11)

The system of claim 11, wherein the system is implemented in an Electronic Control Unit (ECU) coupled to the CAN bus.

### Claim 21 (depends on 11)

The system of claim 11, wherein the one or more integrated circuits comprise a field-programmable gate array (FPGA).
