Paul Ngo and Jonathan Sprinkle and Rahul Bhadani

EECS Department, University of California, Berkeley

Technical Report No. UCB/EECS-2022-151

May 20, 2022

http://www2.eecs.berkeley.edu/Pubs/TechRpts/2022/EECS-2022-151.pdf

Controller Area Network (CAN) bus data is used on most vehicles today to report and communicate sensor data. However, this data is generally encoded and is not directly interpretable by simply viewing the raw data on the bus. However, it is possible to decode CAN bus data and reverse engineer the encodings by leveraging knowledge about how signals are encoded and using independently recorded ground-truth signal values for correlation. While methods exist to support the decoding of possible signals, these methods often require additional manual work to label the function of each signal. In this paper, we present CANClassify --- a method that takes in raw CAN bus data, and automatically decodes and labels CAN bus signals, using a novel convolutional interpretation method to preprocess CAN messages. We evaluate CANClassify's performance on a previously undecoded vehicle and confirm the encodings manually. We demonstrate performance comparable to the state of the art while also providing automated labeling. Examples and code are available at https://github.com/ngopaul/CANClassify.

Advisors: Alexandre Bayen


BibTeX citation:

@mastersthesis{Ngo:EECS-2022-151,
    Author= {Ngo, Paul and Sprinkle, Jonathan and Bhadani, Rahul},
    Title= {CANClassify: Automated Decoding and Labeling of CAN Bus Signals},
    School= {EECS Department, University of California, Berkeley},
    Year= {2022},
    Month= {May},
    Url= {http://www2.eecs.berkeley.edu/Pubs/TechRpts/2022/EECS-2022-151.html},
    Number= {UCB/EECS-2022-151},
    Abstract= {Controller Area Network (CAN) bus data is used on most vehicles today to report and communicate sensor data. However, this data is generally encoded and is not directly
interpretable by simply viewing the raw data on the bus. However, it is possible to decode CAN bus data and reverse engineer the encodings by leveraging knowledge about
how signals are encoded and using independently recorded ground-truth signal values for correlation. While methods exist to support the decoding of possible signals, these
methods often require additional manual work to label the function of each signal. In this paper, we present CANClassify --- a method that takes in raw CAN bus data, and
automatically decodes and labels CAN bus signals, using a novel convolutional interpretation method to preprocess CAN messages. We evaluate CANClassify's performance on a previously undecoded vehicle and confirm the encodings manually. We demonstrate performance comparable to the state of the art while also providing automated labeling. Examples and code are available at https://github.com/ngopaul/CANClassify.},
}

EndNote citation:

%0 Thesis
%A Ngo, Paul 
%A Sprinkle, Jonathan 
%A Bhadani, Rahul 
%T CANClassify: Automated Decoding and Labeling of CAN Bus Signals
%I EECS Department, University of California, Berkeley
%D 2022
%8 May 20
%@ UCB/EECS-2022-151
%U http://www2.eecs.berkeley.edu/Pubs/TechRpts/2022/EECS-2022-151.html
%F Ngo:EECS-2022-151