CAN-D: A Modular Four-Step Pipeline for Comprehensively Decoding Controller Area Network Data

2021 
Controller area networks (CANs) are a broadcast protocol for real-time communication of critical vehicle subsystems. Manufacturers of passenger vehicles hold secret their mappings of CAN data to vehicle signals, and these definitions vary per make, model, and year. Without these mappings, the wealth of real-time vehicle information hidden in CAN packets is uninterpretable-- severely impeding vehicle-related research including CAN cybersecurity, after-market tuning, efficiency and performance monitoring, and fault diagnosis. Guided by the four-part CAN signal definition, we present CAN-D (CAN Decoder), a modular, four-step pipeline for identifying each signal's boundaries (start bit and length), endianness (byte ordering), signedness (bit-to-integer encoding), and meaningful, physical interpretation (label, unit, scaling factors). En route to CAN-D, we provide a comprehensive review of the CAN signal reverse engineering research. All previous methods ignore endianness and signedness, rendering them simply incapable of decoding many standard CAN signal definitions. We formulate and provide an efficient solution to an optimization problem, allowing identification of the optimal set of signal boundaries and byte orderings. In addition, we provide two novel, state-of-the-art signal boundary classifiers (both superior to previous approaches in precision and recall) and the first signedness classification algorithm, which exhibits > 97% F-score. Overall, CAN-D is the only solution with the potential to extract any CAN signal and is the state of the art. In evaluation on ten vehicles of different makes, CAN-D's average $\ell^1$ error is 5 times better than all preceding methods and exhibits lower average error even when considering only signals that meet prior methods' assumptions. Finally, CAN-D is implemented in lightweight hardware allowing OBD-II plugin for real-time in-vehicle CAN decoding.
    • Correction
    • Source
    • Cite
    • Save
    • Machine Reading By IdeaReader
    21
    References
    0
    Citations
    NaN
    KQI
    []