Bit-Level Automotive Controller Area Network Message Reverse Framework Based on Linear Regression
<p>Standard CAN message frame.</p> "> Figure 2
<p>Correspondence diagram between DBC file and CAN messages: (<b>a</b>) 0x198 Message definition in DBC; (<b>b</b>) Message data decoded according to DBC.</p> "> Figure 3
<p>Reverse feasibility based on linear regression.</p> "> Figure 4
<p>Overview of the framework.</p> "> Figure 5
<p>Data collection and processing flow.</p> "> Figure 6
<p>Data acquisition equipment: (<b>a</b>) OBD-II data collection equipment; (<b>b</b>) Vehicle behavior sensor.</p> "> Figure 7
<p>Message selection based on <math display="inline"><semantics> <mi>β</mi> </semantics></math>.</p> "> Figure 8
<p>Diagram of bit-level reverse.</p> "> Figure 9
<p>Sensor Acquisition Setup: (<b>a</b>) Gear angle; (<b>b</b>) Steering wheel angle; (<b>c</b>) Brake pedal angle; (<b>d</b>) Gas pedal angle; (<b>e</b>) Wiper switch angle; (<b>f</b>) Vehicle speed.</p> "> Figure 10
<p>CAN message frequency distribution.</p> "> Figure 11
<p>Real vehicle messages filter results: (<b>a</b>) speed-related messages; (<b>b</b>) steer angle-related messages; (<b>c</b>) gas pedal-related messages; (<b>d</b>) brake pedal-related messages; (<b>e</b>) gear-related messages; (<b>f</b>) wiper related-messages.</p> "> Figure 11 Cont.
<p>Real vehicle messages filter results: (<b>a</b>) speed-related messages; (<b>b</b>) steer angle-related messages; (<b>c</b>) gas pedal-related messages; (<b>d</b>) brake pedal-related messages; (<b>e</b>) gear-related messages; (<b>f</b>) wiper related-messages.</p> "> Figure 12
<p>Speed-related messages reverse result: (<b>a</b>) ID 0x202 reverse result; (<b>b</b>) ID 0x215 reverse result; (<b>c</b>) ID 0x217 reverse result.</p> "> Figure 12 Cont.
<p>Speed-related messages reverse result: (<b>a</b>) ID 0x202 reverse result; (<b>b</b>) ID 0x215 reverse result; (<b>c</b>) ID 0x217 reverse result.</p> "> Figure 13
<p>Steer-related messages reverse result: (<b>a</b>) ID 0x082 reverse result; (<b>b</b>) ID 0x086 reverse result; (<b>c</b>) ID 0x240 reverse result.</p> "> Figure 14
<p>Gas-related messages reverse result: (<b>a</b>) ID 0x0FD reverse result; (<b>b</b>) ID 0x167 reverse result; (<b>c</b>) ID 0x202 reverse result; (<b>d</b>) ID 0x21F reverse result with gas angle change rate; (<b>e</b>) ID 0x165 reverse result with discrete state.</p> "> Figure 15
<p>Brake-related messages reverse result: (<b>a</b>) ID 0x078 reverse result; (<b>b</b>) ID 0x165 reverse result; (<b>c</b>) ID 0x202 reverse result.</p> "> Figure 16
<p>Gear-related messages reverse result: (<b>a</b>) ID 0x228 reverse result; (<b>b</b>) ID 0x165 reverse result.</p> "> Figure 17
<p>Wiper-related messages reverse result.</p> "> Figure 18
<p>Bit reverse accuracy: (<b>a</b>) Speed reverse result; (<b>b</b>) Steer reverse result; (<b>c</b>) Gas reverse result; (<b>d</b>) Brake reverse result; (<b>e</b>) Gear reverse result; (<b>f</b>) Wiper reverse result.</p> "> Figure 18 Cont.
<p>Bit reverse accuracy: (<b>a</b>) Speed reverse result; (<b>b</b>) Steer reverse result; (<b>c</b>) Gas reverse result; (<b>d</b>) Brake reverse result; (<b>e</b>) Gear reverse result; (<b>f</b>) Wiper reverse result.</p> "> Figure 19
<p>Boundary division results of bit-flip rate and proposed method: (<b>a</b>) Continuous value division result (0x082 for steering); (<b>b</b>) Discrete value division result (0x228 for gear).</p> "> Figure 20
<p>Comparison between correlation coefficient and multiple linear regression.</p> ">
Abstract
:1. Introduction
2. Background and Feasibility
2.1. CAN Bus Overview
2.2. DBC File
2.3. Linear Regression Preliminary
2.4. Feasibility
3. Framework Design
- : the raw CAN dataset of the vehicle obtained from the OBD-II interface, containing the entire behavioral trajectory of the vehicle.
- : the sensor dataset, containing the complete set of measurable vehicle behavior measurements, collected simultaneously with .
- : the raw set of measurements of a particular vehicle behavior collected using the sensor. is the particular vehicle behavior that includes speed, acceleration, steering wheel steering angle, brake pedal angle, accelerator pedal angle, gear angle, and switches angle.
- : a more detailed vehicle behavior dataset obtained after processing , where represents more detailed vehicle behavior.
- : the dataset containing data fields of messages with ID in , and .
- : the result of resampling of according to the frequency of .
- : the coefficient of determination of a multiple linear regression model between and .
- : the regression coefficient set of the multiple linear regression model between and .
- the threshold value used for the message filter.
- the CAN message with ID .
- : the threshold used for filtering the .
3.1. Data Collection and Processing
3.1.1. Data Collection
3.1.2. Data Processing and Resampling
3.2. Related Messages Filter
- Step 1: After processing, select a resampled vehicle behavior data and a data set with ID in the CAN bus trajectory.
- Step 2: Build a multiple linear regression model with as the dependent variable and as the independent variable and calculate the model parameters and .
- Step 3: Select the obtained in step 2 corresponding to , and keep only the greater than .
- Step 4: Iterate through each and repeat step 1 to step 3. According to the filtering result, obtain the most relevant messages and the corresponding models with the vehicle behavior .
- Step 5: Execute step 1 to step 4 for all to obtain the candidate messages and the corresponding models for each vehicle behavior.
3.3. Bit-Level Message Reverse
- Iterate through each in , keeping only those that are not less than the threshold value. If the value of is less than the threshold, it means that the th bit of the data field is not related to the specific vehicle behavior. Otherwise, this bit may represent how the behavior of the vehicle is recorded in the CAN messages. The result after threshold filtering is .
- If the filtered is discrete, the corresponding discrete bit likely represents the state of vehicle. If the filtered is continuous, then analyze whether Equation (8) or Equation (9) is satisfied between . If satisfied, the bits of the CAN message data field corresponding to the continuous describe the modeled vehicle behavior . Moreover, the bits satisfying Equation (8) are in Motorola alignment, and those satisfying Equation (9) are in Intel alignment. When not satisfied, the CAN message has no relation to the vehicle’s behavior.
- Analyzing the discrete values and the vehicle state data, the correspondence between the discrete bits and the vehicle state can be obtained reverse. For continuous , the data length, the alignment form, and the linear relationship describing the vehicle behavior can be gained.
4. Performance Evaluation
4.1. Performance in Real Vehicle
4.1.1. Device Description and Data Processing
4.1.2. Message Filter Results
4.1.3. Bit-Level Reverse Results
4.2. Framework Accuracy
4.3. Time Consumption
4.4. Result of Comparison with Other Methods
4.4.1. Boundary Delineation
4.4.2. Related Message Filtering
4.4.3. Execution Complexity
4.5. Application and Discussion
4.5.1. Application
4.5.2. Discussion
5. Conclusions
5.1. Implication
5.2. Limitations and Future Work
Author Contributions
Funding
Data Availability Statement
Acknowledgments
Conflicts of Interest
Appendix A
Behavior | ID | Bits | Description |
---|---|---|---|
speed | 0x212 | 48–56 | real-time speed data |
0x23A | 32–40, 56–64 | real-time speed data | |
0x21A | 17–32 | real-time speed data | |
mileage | 0x21A | 48–64 | mileage per unit of time |
steer | 0x236 | 58–64 | real-time steering data |
brake pedal | 0x668 | 0–16 | brake pedal angle |
0x668 | 36 | brake status | |
accelerate pedal | 0x668 | 17–31 | accelerate pedal angle |
gear | 0x235 | 39, 42, 44 | D |
39, 42, 43 | R |
References
- Number of Automotive Ecus Continues to Rise. Available online: https://www.eenewsautomotive.com/news/number-automotive-ecus-continues-rise (accessed on 15 May 2019).
- CANbus—All You Need to Know. Available online: https://www.rs-online.com/designspark/canbus-all-you-need-to-know (accessed on 11 December 2020).
- Bozdal, M.; Samie, M.; Aslam, S.; Jennions, I. Evaluation of can bus security challenges. Sensors 2020, 20, 2364. [Google Scholar] [CrossRef] [PubMed] [Green Version]
- Farag, W.A. CANTrack: Enhancing automotive CAN bus security using intuitive encryption algorithms. In Proceedings of the 2017 7th International Conference on Modeling, Simulation, and Applied Optimization (ICMSAO), Sharjah, United Arab Emirates, 4–6 April 2017; IEEE: Piscataway, NJ, USA, 2017; pp. 1–5. [Google Scholar]
- Van Herrewege, A.; Singelee, D.; Verbauwhede, I. CANAuth—A simple, backward compatible broadcast authentication protocol for CAN bus. In Proceedings of the ECRYPT Workshop on Lightweight Cryptography, Louvain-la-Neuve, Belgium, 28–29 November 2011; p. 20. [Google Scholar]
- Bozdal, M.; Samie, M.; Jennions, I. A survey on can bus protocol: Attacks, challenges, and potential solutions. In Proceedings of the 2018 International Conference on Computing, Electronics & Communications Engineering (iCCECE), Southend, UK, 16–17 August 2018; IEEE: Piscataway, NJ, USA, 2018; pp. 201–205. [Google Scholar]
- Miller, C.; Valasek, C. Remote exploitation of an unaltered passenger vehicle. In Proceedings of the Black Hat USA, Las Vegas, NV, USA, 1–8 August 2015. [Google Scholar]
- TBONE—A Zero-Click Exploit for Tesla MCUs. Available online: https://kunnamon.io/tbone/tbone-v1.0-redacted.pdf (accessed on 28 April 2020).
- Tesla Model S Can Be Hacked, and Fixed. Available online: https://www.npr.org/sections/alltechconsidered/2015/08/06/429907506/tesla-model-s-can-be-hacked-and-fixed-which-is-the-real-news (accessed on 6 August 2020).
- Hackers Remotely Kill a Jeep on the Highway—With Me in It. Available online: https://www.wired.com/2015/07/hackers-remotely-kill-jeep-highway/ (accessed on 21 July 2015).
- Tencent Keen Security Lab: Experimental Security Research of Tesla Autopilot. Available online: https://keenlab.tencent.com/en/2019/03/29/Tencent-Keen-Security-Lab-Experimental-Security-Research-of-Tesla-Autopilot/ (accessed on 29 March 2019).
- Koscher, K.; Czeskis, A.; Roesner, F.; Patel, S.; Kohno, T.; Checkoway, S.; McCoy, D.; Kantor, B.; Anderson, D.; Shacham, H.; et al. Experimental security analysis of a modern automobile. In Proceedings of the 2010 IEEE Symposium on Security and Privacy, Berleley/Oakland, California, 16–19 May 2010; IEEE: Piscataway, NJ, USA, 2010; pp. 447–462. [Google Scholar]
- CAN DBC File Explained—A Simple Intro. Available online: https://www.csselectronics.com/pages/can-dbc-file-database-intro (accessed on 10 May 2021).
- DBC File Format Documentation. Available online: https://ishare.iask.sina.com.cn/f/3Yjd8GR3d.html (accessed on 20 September 2021).
- Lee, H.; Jeong, S.H.; Kim, H.K. OTIDS: A novel intrusion detection system for in-vehicle network by using remote frame. In Proceedings of the 2017 15th Annual Conference on Privacy, Security and Trust (PST), Calgary, AB, Canada, 28–30 August 2017; IEEE: Piscataway, NJ, USA, 2017; pp. 57–5709. [Google Scholar]
- Yu, K.S.; Kim, S.H.; Lim, D.W.; Kim, Y.S. A multiple Rényi entropy based intrusion detection system for connected vehicles. Entropy 2020, 22, 186. [Google Scholar] [CrossRef] [PubMed] [Green Version]
- Song, H.M.; Woo, J.; Kim, H.K. In-vehicle network intrusion detection using deep convolutional neural network. Veh. Commun. 2020, 21, 100198. [Google Scholar] [CrossRef]
- Cho, K.T.; Shin, K.G. Viden: Attacker identification on in-vehicle networks. In Proceedings of the 2017 ACM SIGSAC Conference on Computer and Communications Security, Dallas, TX, USA, 30 October 2017; pp. 1109–1123. [Google Scholar]
- Marchetti, M.; Stabili, D. Anomaly detection of CAN bus messages through analysis of ID sequences. In Proceedings of the 2017 IEEE Intelligent Vehicles Symposium (IV), Los Angeles, CA, USA, 11–14 June 2017; IEEE: Piscataway, NJ, USA, 2017; pp. 1577–1583. [Google Scholar]
- Tariq, S.; Lee, S.; Kim, H.K.; Woo, S.S. CAN-ADF: The controller area network attack detection framework. Comput. Secur. 2020, 94, 101857. [Google Scholar] [CrossRef]
- Seo, E.; Song, H.M.; Kim, H.K. Gids: Gan based intrusion detection system for in-vehicle network. In Proceedings of the 2018 16th Annual Conference on Privacy, Security and Trust (PST), Belfast, UK, 28–30 August 2018; IEEE: Piscataway, NJ, USA, 2018; pp. 1–6. [Google Scholar]
- Jin, S.; Chung, J.G.; Xu, Y. Signature-Based Intrusion Detection System (IDS) for In-Vehicle CAN Bus Network. In Proceedings of the 2021 IEEE International Symposium on Circuits and Systems (ISCAS), Daegu, Korea, 22–28 May 2021; IEEE: Piscataway, NJ, USA, 2021; pp. 1–5. [Google Scholar]
- Lokman, S.F.; Othman, A.T.; Abu-Bakar, M.H. Intrusion detection system for automotive Controller Area Network (CAN) bus system: A review. EURASIP J. Wirel. Commun. Netw. 2019, 2019, 184. [Google Scholar] [CrossRef] [Green Version]
- Fowler, D.S.; Bryans, J.; Shaikh, S.A.; Wooderson, P. Fuzz testing for automotive cyber-security. In Proceedings of the 2018 48th Annual IEEE/IFIP International Conference on Dependable Systems and Networks Workshops (DSN-W), Luxembourg, 25–28 June 2018; IEEE: Piscataway, NJ, USA, 2018; pp. 239–246. [Google Scholar]
- Lee, H.; Choi, K.; Chung, K.; Kim, J.; Yim, K. Fuzzing can packets into automobiles. In Proceedings of the 2015 IEEE 29th International Conference on Advanced Information Networking and Applications, Gwangiu, Korea, 24–27 March 2015; IEEE: Piscataway, NJ, USA, 2015; pp. 817–821. [Google Scholar]
- McShane, J.; Kultinov, K. CAN Bus Fuzz Testing with Artificial Intelligence. ATZelectronics Worldw. 2021, 16, 62–64. [Google Scholar] [CrossRef]
- Fowler, D.S.; Bryans, J.; Cheah, M.; Wooderson, P.; Shaikh, S.A. A method for constructing automotive cybersecurity tests, a CAN fuzz testing example. In Proceedings of the 2019 IEEE 19th International Conference on Software Quality, Reliability and Security Companion (QRS-C), Sofia, Bulgaria, 22–26 July 2019; IEEE: Piscataway, NJ, USA, 2019; pp. 1–8. [Google Scholar]
- Fowler, D.S. A Fuzz Testing Methodology for Cyber-Security Assurance of the Automotive CAN Bus. Ph.D. Thesis, Coventry University, Coventry, UK, 2019. [Google Scholar]
- Markovitz, M.; Wool, A. Field classification, modeling and anomaly detection in unknown CAN bus networks. Veh. Commun. 2017, 9, 43–52. [Google Scholar] [CrossRef]
- Marchetti, M.; Stabili, D. READ: Reverse engineering of automotive data frames. IEEE Trans. Inf. Forensics Secur. 2018, 14, 1083–1097. [Google Scholar] [CrossRef]
- Pesé, M.D.; Stacer, T.; Campos, C.A.; Newberry, E.; Chen, D.; Shin, K.G. LibreCAN: Automated CAN message translator. In Proceedings of the 2019 ACM SIGSAC Conference on Computer and Communications Security, London, UK, 11–15 November 2019; pp. 2283–2300. [Google Scholar]
- Zago, M.; Longari, S.; Tricarico, A.; Carminati, M.; Pérez, M.G.; Pérez, G.M.; Zanero, S. ReCAN–Dataset for reverse engineering of Controller Area Networks. Data Brief 2020, 29, 105149. [Google Scholar] [CrossRef] [PubMed]
- Jaynes, M.; Dantu, R.; Varriale, R.; Evans, N. Automating ECU identification for vehicle security. In Proceedings of the 2016 15th IEEE International Conference on Machine Learning and Applications (ICMLA), Anaheim, CA, USA, 18–20 December 2016; IEEE: Piscataway, NJ, USA, 2016; pp. 632–635. [Google Scholar]
- Buscemi, A.; Castignani, G.; Engel, T.; Turcanu, I. A Data-Driven Minimal Approach for CAN Bus Reverse Engineering. In Proceedings of the 2020 IEEE 3rd Connected and Automated Vehicles Symposium (CAVS), Victoria, BC, Canada, 18 November–16 December 2020; IEEE: Piscataway, NJ, USA, 2020; pp. 1–5. [Google Scholar]
- Ezeobi, U.; Olufowobi, H.; Young, C.; Zambreno, J.; Bloom, G. Reverse Engineering Controller Area Network Messages using Unsupervised Machine Learning. IEEE Consum. Electron. Mag. 2020, 11, 50–56. [Google Scholar] [CrossRef]
- Song, H.M.; Kim, H.K. Discovering can specification using on-board diagnostics. IEEE Des. Test 2020, 38, 93–103. [Google Scholar] [CrossRef]
- Blaauwendraad, B.; Kieberl, V. Automated reverse-engineering of CAN messages using OBD-II and correlation coefficients. Available online: https://www.os3.nl/_media/2019-2020/courses/rp2/p103_report.pdf (accessed on 23 January 2022).
- Wen, H.; Zhao, Q.; Chen, Q.A.; Lin, Z. Automated cross-platform reverse engineering of CAN bus commands from mobile apps. In Proceedings of the 2020 Network and Distributed System Security Symposium (NDSS’20), San Diego, CA, USA, 23–26 February 2020. [Google Scholar]
- CAN Specification. Available online: http://esd.cs.ucr.edu/webres/can20.pdf (accessed on 10 September 2021).
- Texas Instruments. Introduction to the Controller Area Network (CAN). Application Report SLOA101. 2002, pp. 1–17. Available online: https://www.rpi.edu/dept/ecse/mps/sloa101.pdf (accessed on 22 January 2022).
- Uyanık, G.K.; Güler, N. A study on multiple linear regression analysis. Procedia-Soc. Behav. Sci. 2013, 106, 234–240. [Google Scholar] [CrossRef] [Green Version]
- Tranmer, M.; Elliot, M. Multiple linear regression. Cathie Marsh Cent. Census Surv. Res. (CCSR) 2008, 5, 1–5. [Google Scholar]
- Amazon-Acceleration Sensors. Available online: https://www.amazon.com/High-Stability-Inclinometer-High-Precision-Accelerometer-Navigation/dp/B072ZZ83JZ/ref=sr_1_3?crid=D2ETL9PC5TBQ&keywords=ten-axis+GPS+inertial+navigation+sensor&qid=1642921112&sprefix=ten-axis+gps+inertial+navigation+sensor%2Caps%2C855&sr=8-3 (accessed on 12 May 2021).
- Chen, D.; Cho, K.-T.; Han, S.; Jin, Z.; Shin, K.G. Invisible sensing of vehicle steering with smartphones. In Proceedings of the 13th Annual International Conference on Mobile Systems, Applications, and Services, Florence, Italy, 18–22 May 2015; ACM: New York, NY, USA, 2015; pp. 1–13. [Google Scholar]
- Opendbcfromcomma.ai. Available online: https://github.com/commaai/opendbc (accessed on 10 January 2021).
- Benesty, J.; Chen, J.; Huang, Y.; Cohen, I. Pearson correlation coefficient. In Noise Reduction in Speech Processing; Springer: Berlin, German, 2009; pp. 1–4. [Google Scholar]
- OBD-II PIDs. Available online: https://en.wikipedia.org/wiki/OBD-II_PIDs (accessed on 20 September 2021).
- On-Board Diagnostics. Available online: https://en.wikipedia.org/wiki/On-_board_diagnostics#OBD-%20II_diagnostic_connector (accessed on 10 January 2021).
- OBD II Generic PID Diagnosis. Available online: https://www.motor.com/magazinepdfs/092007_09.pdf (accessed on 10 August 2021).
- Is Your Vehicle OBD II Compliant? Available online: https://www.plxdevices.com/obdii-compliant-vehicles-s/153.htm (accessed on 10 January 2022).
- EPC (European Parliament and Council). Directive 98/69/EC of the European Parliament and of the Council of 13 October 1998 relating to measures to be taken against air pollution by emissions from motor vehicles and amending Council Directive 70/220/EEC. 1998. Available online: https://eur-lex.europa.eu/LexUriServ/LexUriServ.do?uri=CONSLEG:1998L0069:19981228:EN:PDF (accessed on 23 January 2022).
- ISO 15765-4:2005 Road vehicles—Diagnostics on Controller Area Networks (CAN)—Part 4: Requirements for emissions-related systems. Available online: https://www.iso.org/standard/33619.html (accessed on 20 January 2022).
- CAN Bus Explained—A Simple Intro. 2021. Available online: https://www.csselectronics.com/pages/can-bus-simple-intro-tutorial (accessed on 20 January 2022).
- Limits and Measurement Methods for Emissions from Light-Duty Vehicles (CHINA 6). Available online: https://www.chinesestandard.net/PDF/BOOK.aspx/GB18352.6-2016 (accessed on 20 January 2022).
- Mundhenk, P.; Mrowca, A.; Steinhorst, S.; Lukasiewycz, M.; Fahmy, S.A.; Chakraborty, S. Open source model and simulator for real-time performance analysis of automotive network security. ACM Sigbed Rev. 2016, 13, 8–13. [Google Scholar] [CrossRef] [Green Version]
Field Name | Definition |
---|---|
Name | The overall function of this message (e.g., body, speed, etc.) |
ID | The identifier of this message |
Cycle time | The sending period of this message |
Length | The length of this message |
Function | The specific function contained in this message (e.g., angel change) |
Byte order | The arrangement of the specific function |
Start byte | The starting byte of the specific function |
Start bit | The starting bit in first byte |
Bit length | The length of the function |
Unit | The unit of the function |
Resolution | The resolution of the function |
Offset | The offset of the function |
Location | Physical Characteristics |
---|---|
Bodywork | Speed, Acceleration |
Steering wheel | Steering angle |
Brake pedal | Pedal angle |
Accelerator pedal | Pedal angle |
Gear knob | Gear angle |
Wiper switch | Switch angle |
Raw Data (r) | Operation | Detailed Vehicle Behavior (s) |
---|---|---|
Speed | - | Speed |
Integrals | Mileage | |
Judgment by threshold | Drive/Parking | |
Brake Pedal Angle | - | Brake pedal angle |
Differential | Angle change rate | |
Judgment by threshold | Brake or not | |
Accelerator Pedal Angle | - | Accelerator pedal angle |
Differential | Angle change rate | |
Judgment by threshold | Accelerate or not | |
Gear Angle | - | Gear angle |
Judgment by threshold | P/R/N/D | |
Wiper Switch Angle | - | Wiper switch angle |
Judgment by threshold | Stop or frequency |
Vehicle Behavior | Number of Sensor Record | Number of CAN Messages |
---|---|---|
Bodywork | 298,649 | 1,769,768 |
Steering Wheel | 16,148 | 132,122 |
Brake Pedal | 7961 | 57,399 |
Accelerator Pedal | 6364 | 60,772 |
Gear Handle | 13,105 | 113,001 |
Wiper Switch | 12,876 | 118,095 |
Gear | Status | ID 0x165 | ID 0x228 | |||
Bits 54–51 | Bits 39–35 | Bit 10 | Bits 7–5 | Bit 3 | ||
P/N | 0110 | 00010 | 1 | 110 | 0 | |
D | 1100 | 10000 | 1 | 001 | 1 | |
R | 1101 | 00010 | 1 | 010 | 1 | |
Wiper | Status | ID 0x09A | ||||
Bit 50 | Bits 38–37 | |||||
Auto | 1 | 10 | ||||
Slow | 0 | 10 | ||||
Fast | 0 | 01 |
Behavior | DBC Defined Messages | Messages Captured from OBD-II | Framework Filtering Results | Accuracy |
---|---|---|---|---|
Speed | 0x25E, 0x217, 0x202, 0x215, 0x35F, 0x361 | 0x217, 0x202, 0x215 | 0x217, 0x202, 0x215 | 100% |
Steer | 0x86, 0x240, 0x243, 0x82 | 0x86, 0x240, 0x82 | 0x86, 0x240, 0x82 | 100% |
Gas | 0x202, 0x21C, 0xFD, 0x167, 0x165, 0x21F | 0x202, 0xFD, 0x167, 0x165, 0x21F | 0x202, 0xFD, 0x167, 0x165, 0x21F | 100% |
Brake | 0x165, 0x78 | 0x165, 0x78 | 0x165, 0x78, 0x165 | 66.67% |
Gear | 0x228, 0x165 | 0x228, 0x165 | 0x228, 0x165 | 100% |
Wiper | 0x9A | 0x9A | 0x9A | 100% |
Vehicle Behavior | Number of Relevant Bits in DBC | Reverse Results | Accuracy |
---|---|---|---|
Speed | 96 | 74 | 77.1% |
Steer | 43 | 28 | 65.1% |
Throttle | 44 | 34 | 77.3% |
Brake | 13 | 11 | 84.6% |
Gear | 13 | 13 | 100% |
Wiper | 3 | 3 | 100% |
Total | 212 | 163 | 76.9% |
Step | Shortest (s) | Longest (s) | Average (s) |
---|---|---|---|
Resample | 1.150728 | 190.674251 | 37.23192305 |
Linear regression model | 0.007088 | 0.83345 | 0.179022554 |
Bit reverse | 0.000007 | 0.000025 | 0.0000099 |
Total | 1.157823 | 191.50772 | 37.4109555 |
Algorithm | Boundary Delineation | Related Message Filtering | Bit-Level Reverse |
---|---|---|---|
Bit-level reverse based on linear regression | √ | √ | √ |
READ | √ | × | × |
LibreCAN | √ | √ | × |
ReCAN | √ | × | × |
Reverse engineering based on correlation coefficient | × | √ | × |
Vehicle Behavior | ID | Linear Regression | Bit Flip (READ, ReCAN, LbreCAN) |
---|---|---|---|
Speed | 202 | √ | √ |
215 | √ | √ | |
271 | √ | √ | |
Steer | 082 | √ | √ |
086 | √ | × | |
Throttle | 0FD | √ | × |
167 | √ | × | |
202 | √ | √ | |
21F | √ | √ | |
165 | √ | × | |
Brake | 078 | √ | √ |
165 | √ | √ | |
Gear | 228 | √ | × |
165 | √ | × | |
Wiper | 09A | √ | × |
Total Accuracy | 100% | 53.33% |
Methods | Number of Messages | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
1000 | 2000 | 3000 | 4000 | 5000 | 6000 | 7000 | 8000 | 9000 | 10,000 | |
Linear regression | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% |
Correlation coefficients | 80% | 72% | 82% | 86% | 90% | 92% | 90% | 92% | 92% | 90% |
Algorithm | Devices Requirements | Data Requirements | Average Time | Reverse Results |
---|---|---|---|---|
Bit-level reverse based on linear regression | OBD-II data acquisition device, Behavior sensors | CAN traffic, Sensors data | 37 s | Boundary Delineation, Related message filtering, Bit-level reverse |
READ | OBD-II data acquisition device | CAN traffic | 35.9 s | Boundary Delineation |
ReCAN | OBD-II data acquisition device | CAN traffic | 35.9 s | Boundary Delineation |
LibreCAN | OBD-II data acquisition device, Smartphone | CAN traffic, Smartphone data | >60 s | Boundary Delineation, Related message filtering |
Reverse engineering based on correlation coefficient | OBD-II data acquisition device | CAN traffic, UDS data | <20 s | Related message filtering |
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2022 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Bi, Z.; Xu, G.; Xu, G.; Wang, C.; Zhang, S. Bit-Level Automotive Controller Area Network Message Reverse Framework Based on Linear Regression. Sensors 2022, 22, 981. https://doi.org/10.3390/s22030981
Bi Z, Xu G, Xu G, Wang C, Zhang S. Bit-Level Automotive Controller Area Network Message Reverse Framework Based on Linear Regression. Sensors. 2022; 22(3):981. https://doi.org/10.3390/s22030981
Chicago/Turabian StyleBi, Zixiang, Guoai Xu, Guosheng Xu, Chenyu Wang, and Sutao Zhang. 2022. "Bit-Level Automotive Controller Area Network Message Reverse Framework Based on Linear Regression" Sensors 22, no. 3: 981. https://doi.org/10.3390/s22030981
APA StyleBi, Z., Xu, G., Xu, G., Wang, C., & Zhang, S. (2022). Bit-Level Automotive Controller Area Network Message Reverse Framework Based on Linear Regression. Sensors, 22(3), 981. https://doi.org/10.3390/s22030981