Skip to content
AutoST by Zyberum GmbH
Menu
GlossaryCAN

CAN Bus (Controller Area Network)

CAN (ISO 11898) is the broadcast bus most ECUs share: identifiers, arbitration, error handling. Why any node can send any frame and what that means for security testing.

Updated This page as Markdown

In short

CAN (Controller Area Network) is the serial bus defined in ISO 11898 that connects most ECUs in a vehicle. Every node sees every frame, frames carry an 11-bit or 29-bit identifier instead of a sender address, and the lowest identifier wins arbitration. Classic CAN carries up to 8 data bytes per frame. The protocol has no authentication or encryption, so any node on the bus can send any identifier, which is why gateways, SecOC and diagnostic access control matter.

What is CAN?

CAN is a multi-master broadcast bus. Each frame carries an identifier, a data length code (DLC), up to 8 data bytes on classic CAN, a 15-bit CRC and an acknowledge slot. The identifier names the content and sets the priority, not the sender: when two nodes start at the same time, the one with the lower identifier wins arbitration because a dominant 0 bit overwrites a recessive 1.

In candump notation a UDS request to an engine ECU looks like 7E0#0322F19055555555: identifier 0x7E0, eight bytes, of which 03 22 F1 90 is the ISO-TP single frame with ReadDataByIdentifier for the VIN.

Where is it defined?

ISO 11898-1 defines the data link layer and physical signalling, including the frame formats, arbitration, bit timing and fault confinement; ISO 11898-2 defines the high-speed physical layer. The current ISO 11898-1:2015 also covers CAN FD. Diagnostics on top of CAN use ISO 15765-2 (ISO-TP) as transport and ISO 14229 (UDS) as application layer.

What it means in practice

Whoever is on the bus can send anything. A device on the OBD port, a compromised telematics unit or a tester on a bench can transmit frames with any identifier, and the receivers cannot tell who sent them. CAN also has fault confinement: a node that sees too many transmit errors goes error passive and finally bus-off, which an attacker can provoke on purpose to silence a node.

On the bench this shows up as ECUs that act on any frame with the right identifier, diagnostic identifiers that answer from every bus segment because the gateway forwards them, and ECUs that misbehave when a message arrives with an unexpected DLC or out-of-range signal values. A wrong bitrate or sample point is the most common setup error: the bench fills with error frames and the ECU never answers.

How AutoST tests it

AutoST talks to CAN through SocketCAN adapters on Linux, for example PEAK or Kvaser, and Vector hardware on Windows through the XL driver library, with configurable bitrate and sample point. UDS runs over ISO-TP on CAN. The CAN fuzzing engine sends random classic and FD frames on arbitration identifiers taken from your DBC, with a seed for exact replay, and flags an ECU that stops answering TesterPresent or changes its DTC count.

Common misunderstandings

A CAN identifier is not a sender address and proves nothing about origin. Gateways reduce exposure but are not authentication. And CAN is not obsolete: CAN FD extends it, and most diagnostic access to ECUs still starts on a CAN bus.

FAQ

Frequently asked questions

Does CAN have any security built in?

No. CAN frames carry no sender identity, no authentication and no encryption. Protection comes from outside the protocol: gateways that separate bus segments, SecOC message authentication on selected frames and access control in the diagnostic layer.

What is the difference between 11-bit and 29-bit identifiers?

The base frame format uses an 11-bit identifier (0x000 to 0x7FF), the extended format a 29-bit identifier. Both can share a bus. Diagnostics use either; OBD on 11-bit uses 0x7DF for functional requests and 0x7E0 to 0x7E7 for physical requests.

Which bitrates are typical?

Powertrain and chassis buses commonly run at 500 kbit/s, body buses often at 125 or 250 kbit/s, and classic CAN allows up to 1 Mbit/s. Always check the bus you are on: a wrong bitrate or sample point produces error frames and can disturb other nodes.

Sources

Related pages

See it on your ECU

A term that matters for your ECU?

In 15 minutes we tell you how AutoST tests it, what a finding looks like and what it means for your ISO/SAE 21434 evidence.

  • Direct answer from an ECU security engineer
  • Which test covers the term
  • Free and without obligation
Tom Zaubermann

Your demo is withTom ZaubermannFounder of Zyberum, ex-lead of the VW InCar Security Testing Lab

Already trusted by Tier 1, Tier 2 suppliers and OEMs. References on request.

Call us: +49 176 439 17074automotive@zyberum.com

Or send us a message

We reply within one business day.

Call usAsk the AutoST team

Pick a time that suits you

Open in a new tab