Heavy Vehicle Cyber Security Updates

Circuit board glowing blue

Share This...

For immediate release

In 2018, NMFTA began a long-term industry research project to gather real-world CAN (Controller Area Network) bus data for heavy vehicle researchers investigating potential cyber security vulnerabilities of Class 7 and 8 trucks. The National Science Foundation (NSF) is supporting this project under GOALI Award Number 1715409 (https://www.nsf.gov/awardsearch/showAward?AWD_ID=1715409&HistoricalAwards=false). The project, Detecting and Reconstructing Network Anomalies and Intrusions in Heavy Duty Vehicles, is led by Principal Investigator Dr. Jeremy Daily, Associate Professor of Systems Engineering at Colorado State University and Co-Principal Investigator Urban Jonson, Chief Technology Officer of NMFTA. The vehicle’s messages, also known as frames, are recorded on CAN loggers provided by NMFTA to industry partners and were designed and fabricated at The University of Tulsa. Version three of the CAN logger was released in spring 2019.

To enable long recordings, the CAN Data Loggers record all CAN traffic available on the vehicle bus in space-efficient binary format. The encoding of the CAN frames on heavy vehicles is almost- universally defined by the J1939 standard. To assist CAN data researchers, NMFTA’s Senior Software Engineer Patricia Haddad developed a tool to decode all frames, according to J1939, and store them in textual representation. The tool is based on detailed J1939 frame encodings provided by SAE in the J1939 digital annex, thus providing as much detail to partner CAN data researchers as is specified by SAE.

The first iteration of the tool was implemented in C# and released internally to be run on all data returned to NMFTA via CAN Data Loggers. To assist the larger community, NMFTA’s Senior Cyber Security Research Engineer Ben Gardiner worked with Patricia Haddad and Dr. Jeremy Daily to publicly release a second iteration Python tool which could perform complete decoding on J1939 traffic captures. SAE defines J1939 encodings in a digital annex. The tool allows conversion from a purchased digital annex to an internal database of encodings and, using that database, enables “pretty printing” of J1939 traffic captured in candump log format. The Python libs and scripts for these two features are posted on NMFTA’s GitHub repository at https://github.com/nmfta-repo/pretty_j1939. Examples of pretty printed content are on the project’s GitHub home page.

NMFTA welcomes CAN researchers to download these resources, which are available for public use under an Apache 2.0 license, and to contribute to the project by providing comments, proposing changes on GitHub and becoming a contributor to the project.


The National Motor Freight Traffic Association, Inc. (NMFTA) is a nonprofit membership organization headquartered in Alexandria, Virginia. Its membership is comprised of motor carriers operating in interstate, intrastate and foreign commerce. NMFTA publishes the National Motor Freight Classification® (NMFC®) and ClassIT®, the online version of the NMFC. NMFTA also assigns the Standard Carrier Alpha Codes (SCAC®) and the Standard Point Location Codes® (SPLC). For more information on NMFTA, the National Motor Freight Classification, SCAC or SPLC, contact us at 800- 539-5720, sales@nmfta.org, or visit //biz.nmfta.org.

For more information about this project, please contact Ben.Gardiner@nmfta.org.