Home

How to Hack Your Mini Cooper: Reverse Engineering CAN

image

Contents

1. 0x153 Byte 2 Speedometer Vehicle Speed 0x316 Byte 3 Tachometer Engine Speed 0x329 Various indicator lights Ox61A Controls the messages being displayed on the tachometer LED screen Ox61F Tachometer along with various indicator lights Table 2 1 Reverse engineered CAN message IDs 2 2 CAN Clock Proof of Concept In this section we describe the steps in creating our proof of concept that simulates the effect an attacker could have on a vehicle assuming she has physical access In this demonstration we transform the speedometer and a tachometer from a wrecked 2003 Mini Cooper S into a literal clock where the hours will be represented by the speedometer 0 120 MPH and the minutes will be represented by the tachometer 0 6000 RPM We build a CAN network with three physical CAN nodes We generate CAN traffic by building a CAN ECU using an Arduino microcontroller MCP1215 CAN controller and MCP2551 CAN transceiver Hardware Supplies Arduino Uno REV 3 CAN BUS Shield Real Time Clock Module 2 x 120 ohm resistors 18 gauge twisted pair wire CAN bus backbone Wire nuts Tie wraps 12V DC power source Mini Cooper S Instrument Cluster 18 x 14 board 2x 1 5 x 1 625 x 1 25 brackets with bolts Ss NS S amp S N SS SS amp SN amp A S The first thing we did was mount the hardware onto a self contained board For prototyping purposes we used an 18 x 14 wood board to house the platform of our CAN cloc
2. 820 2 316 316 CAN STD 8 01 00 00 00 00 00 00 00 Rx 00 00 00 006 040 2 336 336 CAN STD 8 00 00 FE 02 6C 12 9C 89 Rx 00 00 00 006 300 2 329 329 CAN SID amp CO 61 00 00 00 00 00 OO Rx 00 00 00 006 540 2 545 545 CAN SID amp 8 12 00 00 00 00 00 00 OO Rx 00 00 00 006 780 2 565 565 CAN SID 8 amp 50 20 66 02 00 02 00 63 Rx 00 00 00 010 360 2 153 153 CAN SID 8 10 50 00 00 00 FF 00 80 Rx 00 00 00 010 560 2 1F0 1F0 CAN SID amp 0A 60 OA 00 OA OO OA OO Rx 00 00 00 010 800 2 1F3 1F3 CAN SID 8 40 60 00 FF 41 7F 00 08 Rx 00 00 00 011 060 2 1F8 1F8 CAN SID amp 8 00 00 00 OO FE FF 00 OO Rx 00 00 00 011 390 2 1F5 1F5 CAN STD 8 60 80 00 00 80 F2 94 O5 Rx 00 00 00 015 830 2 316 316 CAN S5TD 8 01 00 00 00 00 00 00 00 Rx 00 00 00 016 060 2 336 336 CAN STD 8 00 00 FE 02 6C 12 9C 89 Rx 00 00 00 016 310 2 329 329 CAN STD 8 C0 61 00 00 00 00 00 00 Rx 00 00 00 016 550 2 545 545 CAN SID 8 12 00 00 00 00 00 00 00 Rx 00 00 00 016 780 2 565 565 CAN STD 8 50 20 66 02 00 02 00 63 Rx 00 00 00 017 360 2 153 153 CAN S5TD 8 10 50 00 00 OO FF 00 80 Rx Figure 2 1 CAN data log This data capture ran for 90 seconds during the staged head on collision involving the Mini Cooper During that 90 seconds about 107 000 CAN messages were recorded off of the CAN bus This data was saved as a CSV file which allowed for parsing the data in several different ways With the data log capture in hand we needed a method to isolate the CAN message
3. IDs that were of interest to us Since we were interested in identifying which message IDs correspond with displaying vehicle and engine speed to the instrument cluster we attempted to identify the IDs responsible for controlling the speedometer and tachometer Initial observations of the raw data revealed that some IDs were present more often than others That is Some message IDs are transmitted more frequently across the CAN bus over the duration of the capture Initially we hypnotized that the message IDs responsible for updating the vehicle and engine speed display gauges would be updated more frequently than other devices thus having a lower message ID compared to other messages Running a simple Bash script we parsed the data to identify only the unique message IDs and how often they were transmitted over the CAN network Figure 2 2 ID Occurrences CAN IDs 12706 0x153 12706 0x1F0 12706 0x1F3 9460 Ox1F5 12707 0x1F8 8899 0x316 8899 0x329 Figure 2 2 Top 7 most frequently occurring messages on the CAN data bus Surprisingly there were only 15 unique message IDs present on the CAN bus Since there were only 15 message IDs on the bus we inferred that one of these messages was responsible for controlling the display gauges on the instrument cluster The question now became a matter of which message ID and which byte or bit will need to be manipulated in order to achieve our desired effect Now that we had an idea of the possible sus
4. How to Hack Your Mini Cooper Reverse Engineering CAN Messages on Passenger Automobiles Jason Staggs University of Tulsa Institute for Information Security Crash Reconstruction Research Consortium jason staggs utulsa edu ABSTRACT With the advent of modern vehicular technology the computerized components of passenger vehicles have become increasingly interconnected to facilitate automotive efficiency driving experience and emissions control Controller Area Networks CANs are well suited for intercommunications among these components called electronic control units ECUs ECUs are used to communicate with critical control systems on automobiles including transmissions braking body control and even vehicle infotainment systems CAN networks are designed for high speed reliable communications between ECU components operating in harsh environments Unfortunately the security of the underlying protocol is dubious at best The Bosch CAN standard does not include inherent security mechanisms for authentication and validation of messages sent to various ECUs over a CAN network Currently the only data security methods for CAN networks on passenger vehicles are the use of proprietary CAN message IDs and a physical boundary between the CAN bus and the outside world This presents a serious security issue because anyone with physical access to the vehicle s data bus could generate spoofed CAN traffic destined for various ECUs some of
5. N bus and demo mode is used to increment the needles on the gauges arbitrarily to demonstrate the dynamic manipulation of CAN traffic The final product CAN Clock is shown below showing a time of 2 47 p m Figure 2 15 VUE e ee ee SUV TTT TUE e es VUTEC eee ee eee eee ee SUV T EEE eee eee eee eee ee ees EIN P H weyers Figure 2 14 Joystick button used to toggle between clock lil Esses serve suere ETEME SMUN mode and demo mode Figure 2 13 RTC used by Arduino to poll accurate time Everything up to this point should be connected and all that should be left is to program the microcontroller Other than the standard Arduino libraries we will primarily be using the MCP2515 library to communicate with the CAN controller and SPI library to communicate with the CAN shield using the serial peripheral interface The MCP2515 library allows us to construct our own CAN Frame objects that can be transmitted over onto the CAN bus See http tucrre utulsa edu canclock for complete listing of source code constructing CAN frame with speedometer message ID and setting byte 2 to the value of the speed to display speedTx id 0x153 speedTx srr 0x0 speedTx rtr 0x0 speedTx dlc 0x8 speedTx data 2 hours CAN LoadBuffer TXBO speedTx CAN SendBuffer TXBO CAN frame with tachometer message ID and setting byte 3 tachTx id 0x316 tachTx srr 0x0 tachTx rtr 0x0 tachTx dlc 0x8 tachTx data 3
6. S CAN STF R AN RN ON F Rw H 4 gt _cooperheadon C7 A Ready Figure 2 3 Plotting data log ID and data fields with Excel 0x153 Byte 2 CAN Message w o N uw N Vehicle Speed MPH uw T T 0 10 20 30 40 50 60 70 80 90 100 Time sec Figure 2 4 Wheel speed vs time Now that we have identified the message ID and byte offset for vehicle speed we need to isolate the ID and data fields for engine speed Because the Mini Cooper was propelled with a pulley system in the staged crash in which the data log was recorded the actual engine speed was at a constant idle speed throughout the capture Because of the engine speed being idle during the experiment our previous method of visually identifying message IDs based on data value against timestamps will be ineffective for this ID For the purposes of identifying the engine speed message ID a series of fuzzing techniques were performed in which case all of the 15 unique ID s 8 byte data fields were fuzzed with arbitrary data This brute force process was used until we witnessed the needle on the tachometer spinning arbitrarily Using this iterative process we find that message ID 0x316 byte offset 3 controls the tachometer display of engine speed Table 2 1 shows the CAN message IDs that we were able to isolate to a device on the instrument cluster from the Mini Cooper CAN bus
7. as around 30 MPH so we know that message 0x153 byte offset 2 has to be associated with vehicle speed _ _ Page Layout Formulas Home Insert Data Review View Je SS GER GED A Connections a BA Bes z ig ig ae AT Properties a4 Ee From From From From Other Existing Refresh Z Sort Access Web Text Sources Connections Ally Edit Links Get External Data Connections C10 aaa fe Frame ID A B D E G H i 1 Dearborn Group Format x15 2 Head on Crash for IATAI 3 Tue Sep 20 16 34 00 2011 4 5 Tue Sep 20 16 35 47 2011 6 i l 7 o f o 7 g 7 106 i a a z a Sort Smallest to Largest Ad oe E Protocol DataCoui Data Tx Rx Sort by Color gt CAN STC 8 01 00 00 Rx pst 8 00 00 FE Rx sie N STE 8 CO 61 00 Rx gt CAN STL 8 10 50 00 Rx Number Filters CAN STC 8 OA 20 OA Rx N STE 8 80 80 00 F Rx M Select All N STL 8 00 00 00 Rx vi 153 CAN STL 8 1200 00 Rx W316 _ CAN STC 8 50 20 66 Rx Z 329 J N STC 8 60 80 00 Rx v 336 N STC 8 10 50 00 Rx 545 CAN STL 8 0A 40 0A Rx ol 565 CAN STL 8 00 8100 FRx 1613 N STC 8 00 00 00 Rx vi615 fan STC 8 01 00 00 Rx M618 AN STL 8 00 00 FE Rx ae CAN STL 8 C0 61 00 Rx baN stt 8 120000 Rx CAN STE 8 50 20 66 Rx SOTO OVO r4 153 T53 CAN STL 8 1050 00 Rx 31 00 00 00 2 1F0 1F0 CAN STL 8 0A 60 0A Rx 3200 10 7 1F3 TE
8. d diagnostics OBDII port of a vehicle 2 3 The researchers were successfully able to take complete control of critical components of the vehicle at rest and in motion by using simple replay attacks and fuzzing techniques over the CAN bus network The lack of access controls on automobile networks creates an inherent security flaw allowing for rogue malicious CAN devices to be attached to the network These devices could be leveraged in a way that could cause harm to other critical components on the automobile The structure of a CAN frame is best described by an understanding of the notion of framing also known as a delineated sequence of bits The most notable fields in a standard format CAN frame include Start of Frame SOF Identifier Data Length Code DLC Data Field 0 7 bytes CRC and End of Frame EOF The Bosch CAN standard specifies that standard messages have 11 bit identifiers which are unique for communicating with the proper CAN component This field is also used for arbitration purposes such as message priority Thus a lower message ID corresponds to a higher message priority This work analyzes the CAN bus of a 2003 Mini Cooper S which interconnects the instrument cluster engine control unit anti lock braking system steering angle sensors and other systems Figure 1 1 Since the message identifiers for the Mini Cooper are manufacture proprietary information a methodology for reverse engineering CAN message i
9. d for future research into vehicle network systems It is well understood that if someone has physical access to a device all bets are off with regards to security As such these vehicle data lines of communication should be considered untrusted and treated as such Methods of encrypting channels of communication on CAN could be considered but that would ultimately hinder the speed and reliability advantages provided by CAN For the time being automobile consumers have no choice but to rely on physical security of automobiles and security through obscurity provided by the manufacture proprietary CAN message IDs 4 CONCLUSION This work described a methodology for reverse engineering proprietary CAN message IDs on passenger vehicles This methodology is modular enough to be applied to other passenger vehicles with CAN networks We have demonstrated how to identify message IDs of interest by analyzing CAN data provided by a data log of a 2003 Mini Cooper We also developed a proof of concept in which we built a CAN network from scratch and manipulated the Mini Cooper s instrument cluster speedometer and tachometer turning them into a functional clock Although we are only manipulating the instrument cluster gauges there is no reason to believe these methods couldn t be applied to other ECMs on the vehicle including critical devices such as the ABS braking system accelerator lighting system wireless locks etc We have thoroughly dem
10. dentifiers is presented Potential attack strategies are demonstrated to show how an attacker could manipulate the interconnected components on the CAN bus The reverse engineering method is used to build a CAN clock from scratch using the instrument cluster of a 2003 Mini Cooper S that was involved in a staged auto collision with a GMC Envoy Figure 1 2 This paper concludes with a discussion of the future of communication security for passenger vehicles and the security engineering mechanisms that should be considered early on in the development life cycle of ECUs and associated vehicle networks MINI COOPER Bus Network Radio H Boi Ke Diagnostic ase PE e q ss Bocy 1 KE TENAN Connector Busness s Cortrotier i E H Seeeeeeerereeeee g EMS 2000 m egne P Management l Pow o i ABS i ASC DSC lt H z H REMEUUEREUCEREEEEEEEEEEE EERE EEUU EERE eeeeeee EHPAS E a ome K Bus Electro Hydraulic i 2 cx Can Bus Kane ammm Diagnostic Bus f Assisted m DS2 Protocol a Figure 1 1 Mini Cooper Data Network g i Figure 1 2 Wrecked 2003 Mini Cooper and Instrument Cluster Unit 2 PROCEDURE This section describes a methodology for reverse engineering proprietary CAN message IDs on passenger vehicles We provide an example by using the CAN data log captured from a 2003 Mini Cooper that was involved in a staged vehicle collision Next
11. g the staged crash of the Mini Cooper a CAN data logging device was used to passively capture all CAN messages traversing across the network Information that was captured included a timestamp DLC ID and the data fields for each CAN messages 8 bytes Figure 2 1 Dearborn Group Format x15 Head on Crash for IATATI Tue Sep 20 16 34 00 2011 Tue Sep 20 16 35 47 2011 196600 Trigger Frame Absolute Timestamp Channel Frame ID Frame Acronym Protocol DataCount Data Tx Rx 11 55 49 668 810 2 316 316 CAN STD 8 01 00 00 00 00 00 00 00 Rx 11 55 49 668 960 2 336 336 CAN SID 8 00 00 FE 02 6C 12 9C 89 Rx 11 55 49 669 210 2 329 329 CAN SID amp 8 CO 61 00 00 00 00 00 OO Rx 11 55 49 669 440 2 153 153 CAN STD 8 10 50 00 00 00 FF 00 80 Rx 11 255 49 669 690 2 1F0 1F0 CAN SID amp 8 0A 20 OA 00 OA OO OA OO Rx 11 55 49 669 930 2 1F3 1F3 CAN SID amp 80 80 00 FF 41 7F 00 08 Rx 11 255 49 670 190 2 1F8 1F amp 8 CAN SID amp 00 00 00 00 FE FF 00 OO Rx 11 255 49 670 420 2 545 545 CAN STD 8 12 00 00 00 00 00 00 OO Rx 11 55 49 670 660 2 565 565 CAN SID 8 50 20 66 02 00 O02 00 63 Rx 00 00 00 003 000 2 1F5 1F5 CAN SID 8 60 80 00 00 80 E2 00 00 Rx 00 00 00 003 310 2 153 153 CAN STD 8 10 50 00 00 00 FF 00 80 Rx 00 00 00 003 550 2 1F0 1F0 CAN SID amp 8 0A 40 OA 00 OA OO OA OO Rx 00 00 00 003 790 2 1F3 1F3 CAN SID 8 00 61 00 FF 41 7F 00 08 Rx 00 00 00 004 040 2 1F8 1F8 CAN SID 8 00 00 00 OO FE FF 00 00 Rx 00 00 00 005
12. irst thing that should be done is referencing the electrical schematics 1f they are available In this case we were able to utilize the Mini Cooper electrical schematics from Mitchelll www prodemand com Mitchell maintains an enormous repository full of vehicle service manuals diagnostic codes and wiring schematics for a majority of passenger vehicles Leveraging this information was necessary for identifying the wires coming off of the instrument cluster units Figure 2 8 f Figure 2 8 Wires coming off of the Mini Cooper instrument cluster Looking through the 2003 Mini Cooper S service manual we come across the Instrument Cluster Circuit IKE In looking at the electrical wiring schematics we are interested in identifying wires responsible for 3 things power ground and CAN data The CAN data wires are obviously distinguishable as being the only twisted pair wires within the mesh of wires Wires Associated with Power gt Wire 1 BRN BLK Ground gt Wire 2 VIO BLK 12V power source HOT IN ACCY RUN AND START gt Wire 3 BLK VIO 12V power source HOT IN START gt Wire 15 RED YEL 12V power source HOT AT ALL TIMES gt Wire 16 GRN BLU 12V power source HOT IN ON OR START CAN Data Lines gt Wire 13 YEL BRN CAN L gt Wire 26 YEL BLK CAN H Once these wires were each identified we striped the wires spliced and soldered them together accordingly We striped the ends off of the 12V DC power sou
13. k Next we needed to mount the Mini Cooper gauges using brackets screws and bolts Figure 2 5 a Figure 2 5 Mounting Mini Cooper instrument cluster to platform board Since BMW does not publicly disclose CAN message IDs for their various ECU devices on passenger vehicles we apply our reverse engineering methodology described in section 2 Using this methodology we now have a pretty solid idea of what message IDs and byte offsets are needed to control the display of the speedometer and tachometer on the instrument cluster The next step is building a small CAN network and a CAN node capable of introducing messages onto the data bus The first thing we need to do is build the CAN bus infrastructure In adhering to the CAN standard we used about 18 inches of 18 gauge twisted pair wire for the actual CAN bus backbone Figure 2 6 Figure 2 6 18 gauge twisted pair wire being used for the CAN bus backbone We also terminate both ends of the twisted pair wire by using 120 Q terminating resistors at each end to reduce reflection Figure 2 7 fi iad bis i Pad Figure 2 7 Wire terminated with 120 ohm resistors on both ends We now have our CAN bus backbone built and ready to add nodes onto it Next we attach the Mini Cooper instrument cluster which includes both the speedometer and tachometer onto the network via its CAN data lines When attempting to use or modify hardware that is either unfamiliar or unknown the f
14. minutes CAN LoadBuffer TXBO tachTx CAN SendBuffer TXBO We will also be using the Wire h and RTClib h libraries to communicate with the RTC module Figure 2 15 Mini Cooper CAN clock final product 3 DISCUSSION The CAN clock proof of concept demonstrates how easy it could be for an attacker to manipulate ECM components on passenger vehicles As newer vehicles begin to add more functionality and interconnection options the attack surface will continue to grow as well Other research has demonstrated attacks effecting the availability of ECMs on the CAN network In 2010 researchers at The University of Washington and The University of California San Diego effectively flooded the CAN network with traffic causing a denial of service DoS against all connected components which rendered much of the car including the braking system useless 2 Methods for mitigating spoofed message attacks and attacks that affect availability of the CAN bus need to be considered when designing and engineering ECUs To counter the possibility of such attacks conventional network security concepts techniques and devices such as firewalls and intrusion detection prevention systems should be considered being applied to CAN Perhaps some form of a CAN based firewall or anomaly based network intrusion prevention system could be implemented on vehicles that mitigate such attacks from occurring Although one of the advantages of CAN is for all n
15. odes on the same bus to receive a message regardless of what device it is intended for some CAN components should never be allowed to communicate with other CAN components or at least send certain messages between one another e g infotainment systems to brake controller unit The notion of a firewall from conventional network security could be applied by using access control lists between various networks or even ECUs on vehicles Although it may seem that solving these problems with anomaly based intrusion detection systems could be a trivial method of using existing methods from TCP IP based anomaly IDSs it actually would not be as straight forward Conventional anomaly based intrusion detection systems are developed and used within a network to detect statistical deviations from prior baselines However with the dynamic nature of vehicle networks there could be numerous instances when otherwise normal activities would violate this baseline due to unexpected physical events including vehicle collisions sudden acceleration deceleration etc CAN devices such as ECUs need to have security mechanisms built in that are similarly modeled after modern day computer network security systems such as access control devices and intrusion detection systems but not to the extent that they intrude on the reliability of CAN Finding a compromise between security reliability and efficiency of CAN systems are all factors that need to be considere
16. onstrated that security through obscurity fails when the attacker has physical access to the vehicle Future work will look into the areas of monitoring CANs including possibly introducing the use of customized CAN firewalls and intrusion prevention systems 4 REFERENCES 1 Bosch C A N 1991 Specification version 2 0 Published by Robert Bosch GmbH September 1991 2 Koscher K Czeskis A Roesner F Patel S Kohno T Checkoway S amp Savage S 2010 May Experimental security analysis of a modern automobile In Security and Privacy SP 2010 IEEE Symposium on pp 447 462 IEEE 3 Checkoway S McCoy D Kantor B Anderson D Shacham H Savage S amp Kohno T 2011 August Comprehensive experimental analyses of automotive attack surfaces In Proceedings of the 20th USENIX conference on Security pp 6 6 USENIX Association 4 Davis R I Burns A Bril R J amp Lukkien J J 2007 Controller Area Network CAN schedulability analysis Refuted revisited and revised Real Time Systems 35 3 239 272
17. pect message IDs we needed to figure out which byte offsets are used that contain the vehicle and engine speeds Each byte holds a value of up to OxFF or 255 in decimal The trick is to find which byte bit or combination of bytes are responsible for controlling the gauges To do this we use a method for visually correlating physical system interactions with identifiable patterns Essentially we visualize the data values in each byte against the corresponding time stamp of the message throughout the duration of the data capture 90 seconds Considering humans are inherently good at recognizing patterns plotting each byte against the timestamp helps us identify a change in speed with the help of a scatter plot line graph Using this method we graphed all bytes individually to identify recognizable patterns corresponding to a steady increase in data values over time which was indicative of the vehicle speed for this staged automobile collision Leveraging Microsoft Excel s data plotting functionality we filtered the data set to explicitly show data related to message ID 0x153 and then plotted each byte separately Figure 2 3 Figure 2 4 show byte offset 2 from message ID 0x153 going from 0 to about 30 MPH starting at 75 seconds and then stopping at 90 seconds When collision occurred Additionally we also have prior knowledge from other external instruments attached to the car during the staged crash that the top speed before impact w
18. r wire from the CAN bus and soldering CAN H and CAN L wires coming into the pins on the CAN shield as shown in Figures 2 11 Figure 2 11 CAN shield used to connect to CAN bu The Arduino will be powered from the same 12V DC power source that powers the instrument cluster The Arduino Uno features a built in voltage regulator at the power port Considering the safety benefit of the voltage regulator applying 12V of power to the Arduino was not an issue as the Arduino Uno specifications explicitly state that the microcontroller can handle a recommended 7 12 volts Figure 2 12 Figure 2 12 12V power source and Arduino voltage regulator In order for the Arduino to keep track of accurate time even when the power is disrupted we will use a real time clock module RTC The RTC chip is powered with a small battery in order to retain the current time in the event of power loss The Arduino will poll the time from the RTC in order to transmit the accurate time to the instrument cluster gauges For demonstration purposes we placed the RTC on a bread board separate from the Arduino Figure 2 13 For purposes of demonstration the microcontroller was configured to work in two modes of operation that can easily be toggled by using the joystick click button on the CAN Shield Clock Mode and Demo Mode Figure 2 14 Clock mode obviously polls the time from the RTC to display the current time on the instrument cluster gauges via the CA
19. ration Essentially any message sent out by any node on a CAN network will be seen by all other nodes 4 European manufactured automobiles were early adopters of CAN networks However since 2008 all cars sold in the U S have been required to implement the CAN standard for EPA mandated diagnostic purposes Newer cars manufactured today have an average of at least 70 ECUs for various subsystems Instead of wiring individual computerized components together to form a complex mesh style network topology CAN allows for a more streamlined bus style topology This drastically reduces the amount of required wiring and allows for devices to communicate with one another more efficiently ECUs in vehicles are inherently engineered for vehicle safety as the number one priority Unfortunately most of these components have not been designed with the consideration of an adversary with malicious intentions whom has physical access to the vehicle Although others may have dismissed the likelihood of the threat of physical access it is still an important attack vector to consider Current research in the areas of automotive computer security shows that these systems are not designed with any form of access control allowing anyone with access to the data bus to wreak havoc on any of the connected systems In 2010 researchers from The University of Washington and The University of California San Diego demonstrated such attacks by interfacing with the on boar
20. rce and tied wires 2 3 15 and 16 of the instrument cluster unit to the positive lead of our power source Figure 2 9 We also tied Wire 1 ground to the negative lead on our power supply Next we connect the CAN high and low data lines to the network We splice wires 13 and 26 from our instrument cluster into the CAN bus Notice in Figures 2 9 CAN low is the blue wire of the CAN bus and CAN high is the tan After capping our wire leads to both power source and splicing CAN node entry points we can plug in the power source to test that the instrument cluster powers on and works properly If all goes correctly a chime can be heard as soon as power is applied Figure 2 9 Splicing instrument cluster wires together with CAN bus and 12V power source Now that the instrument cluster has successfully been connected to the CAN bus we can configure the node that will be responsible for transmitting data to the instrument cluster unit This node will be acting as a rogue device that an attacker could use to interact with components on the CAN bus in nefarious ways We will be using an Arduino Uno Rev 3 and a CAN Shield to achieve this Figure 2 10 MADE IN ITALY a n w 7 A 7 ar Ai naain So ind A greed _ i J ag gt ANALOG IN HNG N lt qadd d Figure 2 10 Arduino Uno and CAN shield simulating a rogue CAN device To interface the CAN shield with the data bus we will be splicing the 18 gauge twisted pai
21. we demonstrate a proof of concept using the reverse engineered CAN IDs to manipulating the car s instrument cluster to generate artificial vehicle and engine speed CAN traffic to the instrument cluster speedometer and tachometer 2 1 Reverse Engineering Proprietary CAN Message IDs Unlike commercialized standards that run on top of CAN and leverages the CAN extended format that have well documented information regarding their component IDs such as SAE J1939 the Bosch CAN standard format only specifies how the protocol should work but remains mute on what values should be used for particular CAN devices The CAN standard format 11 bit message identifier is of interest to us here because it is the common passenger vehicle application The ID is often used to determine how ECUs know what message to listen to The CAN standard format does not define which message IDs are associated with what components thus leaving the vehicle manufacture to define their own CAN message IDs to control various ECUs Theoretically the standard format can have up to 2048 unique message IDs present on a CAN network as the standard format allows for 11 bit message IDs Most actual message IDs used by manufactures of passenger vehicles such as GM BMW Ford Honda etc are proprietary and this information is not made publicly available by automobile manufactures Thus a process is needed to reverse engineer these IDs to tie them to their actual components Durin
22. which could be responsible for critical vehicle operations such as the braking system or engine control unit To prevent this manufactures of passenger vehicles do not publish the proprietary CAN message IDs for various components on the vehicle network However proprietary message IDs can be identified through a reverse engineering process This paper identifies techniques for reverse engineering CAN messages on passenger vehicles demonstrating the ease with which an attacker could manipulate CAN enabled components of an automobile The reverse engineering methodology is demonstrated by the transformation of the speedometer and tachometer instrument cluster of a 2003 Mini Cooper into a functional clock controlled via spoofed CAN messages sent by an Arduino microcontroller 1 INTRODUCTION 1 1 Background As automobile components become increasingly computerized inter device communication is imperative for overall vehicle efficiency emissions control and diagnostic maintenance In 1986 Bosch introduced the Controller Area Network CAN standard for automobile manufactures in order to facilitate communication between microcontrollers on automobiles 1 The CAN standard was designed as a multi master broadcast serial bus used to interconnect electronic control units ECUs At the physical layer frame bits are encoded in a non return to zero NRZ format over the wire and facilitates the use of automatic collision detection with arbit

Download Pdf Manuals

image

Related Search

Related Contents

F4E nano - Fiorenzato MC srl  Équipement ›Excellence‹ - emz Hanauer GmbH & Co. KGaA  取扱説明書等  descargue el archivo PDF  SIP-Gatway FBI610x  Samsung Galaxy Apollo  Optoma HD25e    Zircon SL-AC User's Manual  FlexRemote 9 - User`s manual EN  

Copyright © All rights reserved.
Failed to retrieve file