View
220
Download
0
Tags:
Embed Size (px)
Citation preview
The Beginning of Car Computers 1970s Was the beginning of the EPA and regulations to
clean up the environment. In the late 1970s car manufactures were under pressure to
increase fuel mileage and decrease pollution by the California Clean Air Act.
Manufactures moved towards Fuel injection based systems which require computers to control the system. Virtually all cars by the 1980s where fuel injected.
Electronic Control Unit (ECU)
An ECU is an embedded system that controls/monitors systems in a car.
Combination of ECUs is known as the cars computer. The cars “computer” is not one system but a large number
of small subsystems connected together by a network. Modern vehicles have up to 75+ ECUs.
Typical ECUs
Engine Control Module (ECM) – Determine parameters for an Internal combustion engine.
Electronic Stability Control (ESC) – Improves vehicle safety by preventing loss of control.
Anti-Lock Braking System (ABS) – Improves safety by preventing the brakes from locking.
Electronic Control Module
Controls the parameters of an internal combustion engine.
Has developed into a closed-loop system, feeds data back into the car to make decisions
Embedded System, resources are limited. Early systems entirely look-up table based. Current designs are able to compute many
parameters on-the-fly but there is still a few look up tables.
ECM Running Modes Open-loop : This is when the ECM is not using input
data from sensors. This occurs in certain circumstances where using
input data would not be beneficial. Such as: when the engine is cold, or wide open throttle.
Closed-loop: This uses post-combustion data to compute changes for pre-combustion parameters.
This change was implemented as the microprocessors got faster and EPA standards got tighter. Some use data from short period of time 1trip others keep track of data for months.
Some ECM Parameters Engine Load - Computed from Air Flow Rate into the engine and Intake
Manifold air pressure
Engine Speed - Reported by the Crankshaft Position Sensor
Coolant Temperature - Reported by the engine coolant sensor, a thermistor that varies its resistance according to the engine coolant temperature
Throttle Position - Throttle position sensor creates a voltage signal that varies in proportion to the throttle valve opening angle
Intake Air Temperature - Measured by another thermistor located in the Mass Air Flow Sensor unit
Battery Voltage - Battery voltage affects the speed at which the fuel injectors open and must be taken into account in computing the fuel injector pulse length, or injector open time
Oxygen Sensor - The oxygen density in the exhaust emissions is detected
and generates a control signal back to the ECU indicating the burned air/fuel ratio.
ECM
http://www.motoiq.com/magazine_articles/articletype/articleview/articleid/1539/understanding-the-efi-process.aspx
Using ECUs as Diagnostic tool
OBD-II – standard diagnostic testing. Diagnostic Problem – An error occurs but where
is really? Logging takes place in “trips,” an error may not
be presented to the driver until the same error has occurred for a number of trips.
Controller Area Network (CAN)
Wikipedia: Controller–area network (CAN or CAN-bus) is a vehicle bus standard designed to allow microcontrollers and devices to communicate with each other within a vehicle without a host computer.
Multi-master broadcast bus
Shared medium,
Any device can broadcast as long as the line is free
If two messages broadcast simultaneously, the message with the more-dominated id will propagate to each node and overwrite the message of the less dominate id.
Bit rates of up to 1Mbit/s are possible < 40m
Network types.
There is a myriad of ECUs operating in the car Some systems are very critical to the operation
of the car including driver safety. Such as the ECM, ABS, and TCM
Other systems such as the Radio, Door Locks, etc. These are not necessary for the operation of the car and are on a slower network.
Modern ECUs
Drive-by-Wire Variable Control Transmissions Magnetic Dampers
autospeed.com.au/cms/title_Magnetic-Dampers/A_110995/article.html
Telematics
In the mid 1990's car companies started attaching powerful ECU's to the car.
Some with networking and GPS capabilities such as on-star.
Security
Experimental Analysis of a Modern Automobile By: Joint Paper between researchers at University of
Washington and University of California San Diego. Paper highlighting what a malicious user could accomplish
if they could gain access to the car networks and computers.
Potential Vectors
Physical Access – A person can attach a module to the standard OBD-II port on any car.
Component can stay attached It is also possible to flash another module
from the port. Malicious component – A module (even the FM
radio) can be replaced by one with malicious firmware.
Network Access – Researchers identified no less than 5 networks on the test car.
CAN Security Broadcast – All packets are physically and logically
sent to all ECU's. Denial of Service – Priority based protocol allows
malicious packets to dominate the network. No Authentication – Packets are not authenticated, no
source information is stored in CAN packets. Ease of Access – Variety of tools available to access
components and change settings or even re-flash the component.
Poor Network Segregation – Car critical components need to be isolated but bridging the networks is easily accomplished.
ECU Security
ECU re-flashing – Car manufactures need the ability to re-flash the ECUs to perform maintenance.
ECUs are required to implement security features that only allow authorized personnel to re-flash the ECU
Diagnostic Abilities – ECUs are required to report (possible too much) information about the components
Communication Saftey – Manufactures don't follow standards that state ECUs must remain in a safe-state even if instructed to do otherwise.
Attack Methodology
Packet Sniffing – CarShark was used to monitor the CAN packets while components were cycled to determine information.
Fuzzing – CAN packets have a small valid packet range therefore randomly selecting packets can do a significant amount of damage.
Reverse-Engineering – Components were purchased from resellers and then dumped onto a debugging platform for reverse engineering.
Conclusions Car Computers are here to stay.
Infact, with many modern cars the computers have more control then the driver.
Plenty of new/cool work that can be done.
Open source ECU Projects Customization
Car Computer security is poor.
Today, for must users this does not pose a problem As communications infrastructure increases this
may pose a bigger problem Major problem is the lack of standards and the lack
of implementation of standards.
Sources/Links
Toyota Training Series http://www.autoshop101.com/autoshop15.html
Experimental Security Analysis of a Modern Automobile www.autosec.org/pubs/cars-oakland2010.pdf
DIY EFI
www.diyefi.org Understanding OBDII Engine Systems and Fuel Mixture Control
http://www.4x4wire.com/toyota/4Runner/tech/OBDII_ECU/ Recent blog by someone hacking there car (good CAN finding info)
http://marco.guardigli.it/2010/10/hacking-your-car.html