CANClassify: Automated Decoding and Labeling of CAN Bus Signals
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