CANSPY A Platform for Auditing CAN Devices

Similar documents
Linux in the connected car platform

Preliminary Design Report A Wireless ECU Monitoring System Team WEMS 27 January 2009

The modern car has 100 million lines of code and over half of new vehicles will be connected by 2020.

Renesas Synergy MCUs Build a Foundation for Groundbreaking Integrated Embedded Platform Development

Securing the future of mobility

PENETRATION TESTING OF AUTOMOTIVE DEVICES. Dr. Ákos Csilling Robert Bosch Kft., Budapest HUSTEF 15/11/2017

Car hacks 2018 (BMW, Audi) for the "not so hands-on"

Cyber Security and Vehicle Diagnostics. Mark Zachos DG Technologies

NC1701 ENHANCED VEHICLE COMMUNICATIONS CONTROLLER

AN10428 UART-SPI Gateway for Philips SPI slave bridges

Security Concerns in Automotive Systems. James Martin

Assignment 4. Developing Operational Profiles. Due Date: November 21, Group Number: 6

Hardening Attack Vectors to cars by Fuzzing

Offense & Defense in IoT World. Samuel Lv Keen Security Lab, Tencent

System-level threats: Dangerous assumptions in modern Product Security. Cristofaro

Wireless OBD II CAN Bus Embedded System Design

Securing the Connected Car. Eystein Stenberg Product Manager Mender.io

Hacker Academy Ltd COURSES CATALOGUE. Hacker Academy Ltd. LONDON UK

Experimental Security Assessment of BMW Cars: A Summary Report

Development of Intrusion Detection System for vehicle CAN bus cyber security

Automobile Design and Implementation of CAN bus Protocol- A Review S. N. Chikhale Abstract- Controller area network (CAN) most researched

Automotive Gateway: A Key Component to Securing the Connected Car

SECURITY OF VEHICLE TELEMATICS SYSTEMS. Daniel Xiapu Luo Department of Computing The Hong Kong Polytechnic University

AUTOMATED SECURITY ASSESSMENT AND MANAGEMENT OF THE ELECTRIC POWER GRID

2014 TRANSIT CEOs SEMINAR. Cybersecurity What Every CEO Should Know to Help Secure the System

Owner Nicklas Andersson 5610_ Date Revision 0.1 Page 1(15) Project Document. Title VCM User Manual.

Securing the Connected Car. Eystein Stenberg CTO Mender.io

Automotive Anomaly Monitors and Threat Analysis in the Cloud

13W-AutoSPIN Automotive Cybersecurity

Cybersecurity Challenges for Connected and Automated Vehicles. Robert W. Heller, Ph.D. Program Director R&D, Southwest Research Institute

CAN-BUS MCP2515 MCP2551 OBD-II

Black Hat USA 2016 Survey Report

Overvoltage protection with PROTEK TVS diodes in automotive electronics

Christoph Schmittner, Zhendong Ma, Paul Smith

Examining future priorities for cyber security management

Multi-Layered Security Framework for Metro-Scale Wi-Fi Networks

ECUTEK ON INFINITI VR30

DIN Rail RTU 540CMD01 Data sheet

T he key to building a presence in a new market

The Key Principles of Cyber Security for Connected and Automated Vehicles. Government

ISO INTERNATIONAL STANDARD. Road vehicles FlexRay communications system Part 4: Electrical physical layer specification

Convergence of Safety, Systems & Cybersecurity Bill StClair, Director, LDRA, US Operations

Risk-based design for automotive networks. Eric Evenchik, Linklayer labs & Motivum.io Stefano Zanero, Politecnico di Milano & Motivum.

Secure Ethernet Communication for Autonomous Driving. Jared Combs June 2016

Serial Buses in Industrial and Automotive Applications

Countermeasures against Cyber-attacks

Information Systems Security

Automotive Security Standardization activities and attacking trend

Experimental Security Analysis of a Modern Automobile

OBD Simulator. Software to simulate and re-play a vehicle.

Preventing Cyber Attacks on Aftermarket Connectivity Solutions Zach Blumenstein, BD Director Argus Cyber Security

Prototyping Module Datasheet

Why This Major Automaker Decided BlackBerry Cybersecurity Consulting was the Right Road to Protecting its Connected Cars

How AlienVault ICS SIEM Supports Compliance with CFATS

Automotive Security: Challenges, Standards and Solutions. Alexander Much 12 October 2017

Drone /12/2018. Threat Model. Description. Threats. Threat Source Risk Status Date Created

CISSP CEH PKI SECURITY + CEHv9: Certified Ethical Hacker. Upcoming Dates. Course Description. Course Outline

EC-Council Certified Network Defender (CND) Duration: 5 Days Method: Instructor-Led

IOActive Labs: Breaking Embedded Devices

EDBG. Description. Programmers and Debuggers USER GUIDE

Handling Top Security Threats for Connected Embedded Devices. OpenIoT Summit, San Diego, 2016

CANGATEWAY-LOGGER Basic functions are: Description:

Zimperium Global Threat Data

Sicherheitsaspekte für Flashing Over The Air in Fahrzeugen. Axel Freiwald 1/2017

The Remote Exploitation of Unaltered Passenger Vehicles Revisited. 20 th October 2016 Mark Pitchford, Technical Manager, EMEA

Hacking Exposed Wireless: Wireless Security Secrets & Colutions Ebooks Free

GAT Handheld Coder Pro+ User Manual

Security Challenges with ITS : A law enforcement view

The Information contained herein is subject to change without notice. Revisions may be issued regarding changes and/or additions.

Computer Networks Security: intro. CS Computer Systems Security

Smart Grid Embedded Cyber Security: Ensuring Security While Promoting Interoperability

to Address Cyber Physical Systems Security (CPSSEC)

Microprocessor Communication Module Connecting On Board Diagnostic System and Personal Computer

Cyber Threat Assessment and Mitigation for Power Grids Lloyd Wihl Director, Application Engineering Scalable Network Technologies

ECUTEK ON NISSAN JUKE TURBO

EX-9686U/A-L(A9) Hardware User Manual

Dual Serial Shield User Manual

This document is a preview generated by EVS

SGS CYBER SECURITY GROWTH OPPORTUNITIES

Road vehicles Local Interconnect Network (LIN) Part 2: Transport protocol and network layer services

Secure Software Update for ITS Communication Devices in ITU-T Standardization

Smart Attacks require Smart Defence Moving Target Defence

Multi-protocol controller for Industry 4.0

MultiTech Conduit AEP + RE866

Advanced Transportation Optimization Systems (ATOS)

Automotive Attack Surfaces. UCSD and University of Washington

Context-aware Automotive Intrusion Detection

The Information contained herein is subject to change without notice. Revisions may be issued regarding changes and/or additions.

Internet Security: Firewall

Terminal I/O Profile Client Implementation Guide

ISO INTERNATIONAL STANDARD. Road vehicles FlexRay communications system Part 1: General information and use case definition

SOLUTIONS BRIEF GOGO AIRBORNE SECURITY SUMMARY 2017 Q3 RELEASE

Firewalls Network Security: Firewalls and Virtual Private Networks CS 239 Computer Software March 3, 2003

CAN FD - Flexible Tools for Flexible Data Rates

Penetration testing a building automation system

Fast and Vulnerable A Story of Telematic Failures

Victor BB Comprehensive Guide Preliminary. Revision 1.3

ICS Penetration Testing

Securing the Smart Grid. Understanding the BIG Picture 11/1/2011. Proprietary Information of Corporate Risk Solutions, Inc. 1.

10 Cybersecurity Questions for Bank CEOs and the Board of Directors

Transcription:

This document and its content is the property of Airbus Defence and Space. It shall not be communicated to any third party without the owner s written consent [Airbus Defence and Space Company name]. All rights reserved.

Auditing conventional IT systems Penetration testing A form of security audit Assess the risks of intrusion Actual tests instead of a review process The point of view of a real attacker (the black-box approach) Relevant evaluation of impact and exploitability Limitations Less time Less resources More ethics Counter-measure: the grey-box approach 2

The CISO s dilemma The hand they are dealt with Huge scope of responsibility Continuous changes Major security threats Risk of substantial damages Limited budget Their response They rely on penetration testing They welcome the gray-box approach They rely on risk analysis first and foremost They divide perimeters accordingly 3

What about car manufacturer? They are starting to include cyber-security along with conventional safety 4

What about car manufacturer? They are starting to include cyber-security along with conventional safety 5

What about car manufacturer? They are starting to include cyber-security along with conventional safety 6

What about car manufacturer? They are starting to include cyber-security along with conventional safety 7

What about car manufacturer? They are starting to include cyber-security along with conventional safety The same approach can be applied For each vehicle Conduct risk analysis Prioritize ECUs Conduct penetration tests accordingly Carry out corrective actions End for Some ECUs can be common to several vehicles Corrective actions may be difficult to carry out 8

It always begins with Infotainment and navigation Consumer-grade connectivity Wi-Fi, Bluetooth and USB Nothing new here 9

It always begins with Seamless connectivity Infotainment and navigation Mobile broadband connectivity Conventional protocols (TCP, HTTP, ) Setting up an IMSI catcher Then again, nothing new here 10

It always begins with Seamless connectivity Infotainment and navigation CAN attacks Bypass CAN bus segmentation (architecture-dependant) Reverse-engineer higher-layer protocols Break the Security Access challenge (ISO 14229) Other ECUs: steering, braking, etc. 11

CAN architectures One bus (to rule them all ) Less common nowadays Congestion issues ECU ECU ECU ECU ECU CAN High CAN Low 12

CAN architectures Multiple separate buses Some ECUs have to be connected to multiple buses They can be used to bypass the segmentation ECU ECU ECU CAN1 High CAN1 Low ECU ECU CAN2 High CAN2 Low 13

CAN architectures Multiple interconnected buses A gateway is routing frames between CAN buses It may take into account the state of the vehicle Both safety and cyber-security are considered ECU Gateway ECU CAN1 High CAN1 Low ECU ECU CAN2 High CAN2 Low 14

Crafting CAN attacks Several attack vectors Misuse of intrinsic capabilities (e.g., remote diagnostic tool) Exploit a higher-level parsing vulnerability Break the Security Access challenge Etc. This will imply a substantial amount of work Unsolder EEPROM or identify on-chip debug (JTAG/BDM) and conventional debug (UART/WDBRPC) interfaces Extract the firmware Reverse-engineer the aforementioned items Craft actual attacks 15

The Man in the Middle Taking advantage of the client-server model Insert yourself in-between them Do not alter traffic until you see something interesting Then start to drop/alter/replay/ Finalize with targeted reverse-engineering In theory, this is transposable to the CAN bus We are auditing one device We could proxy the traffic from and to that device We are working with the car manufacturer We can ask for a restricted devices (e.g., a remote diagnostic tool) This is limited by third-parties intellectual properties 16

However, in practice CAN is a multi-master serial bus Physically cut the bus and insert yourself in-between Forward traffic between the split parts Etc. ECU ECU MITM ECU ECU CAN High CAN Low 2 possible options (other than deep diving into the car) Emulate the car from the point of view of the audited device Use an integration bench provided by the car manufacturer 17

However, in practice CAN is a multi-master serial bus Physically cut the bus and insert yourself in-between Forward traffic between the split parts Etc. ECU ECU ECU MITM ECU CAN High CAN Low 2 possible options (other than deep diving into the car) Emulate the car from the point of view of the audited device Use an integration bench provided by the car manufacturer 18

What about existing tools? Only one interface to connect to CAN buses Bridging two devices could add a high latency CAN was designed to meet deterministic timing constraints 19

What about existing tools? Only one interface to connect to CAN buses Bridging two devices could add a high latency CAN was designed to meet deterministic timing constraints Low-end FTDI chip to connect to a computer This is UART over USB at 115 200 bauds CAN buses can go as far as 1Mbit/s OBD-II is 250 or 500 kbit/s 20

What about existing tools? Only one interface to connect to CAN buses Bridging two devices will add a high latency CAN was designed to meet deterministic timing constraints Low-end FTDI chip to connect to a computer This is UART over USB at 115 200 bauds CAN buses can go as far as 1Mbit/s OBD-II is 250 or 500 kbit/s Lack of a mature and powerful framework We get frustrated when we cannot use Scapy Federate higher-layers reverse-engineering efforts 21

hardware STM32F4DISCOVERY board 168 MHz 32bit ARM Cortex M4 COTS ($20) 22

hardware STM32F4DISCOVERY board 168 MHz 32bit ARM Cortex M4 COTS ($20) STM32F4DIS-BB extension board 1 RS232 interface 1 Ethernet port 1 SD card drive COTS ($40) 23

hardware STM32F4DISCOVERY board 168 MHz 32bit ARM Cortex M4 COTS ($20) STM32F4DIS-BB extension board 1 RS232 interface 1 Ethernet port 1 SD card drive COTS ($40) DUAL-CAN extension board Configurable resistors, power supplies and circuit grounds 2 CAN interfaces Custom-made ($30 worth of PCB and components) 24

firmware Event-driven scheduler Asynchronous I/O operations Low latency processing 1 functionality == 1 service Start only what you need Read from all devices, write to only one Inter-service communication Mutual exclusion is possible Autonomous mode In-built filtering/altering engine SD card for read or write operations Power supply from the car battery Open source licensed Several services CAN: Forward/Filter/Inject Ethernet: Wiretap/Bridge SDCard: Capture/Logdump UART: Monitor/Logview/Shell CAN devices 2 distinct devices Support all standard speeds Throttling mechanisms Dummy frame injection Delaying acknowledgments 25

CAN over Ethernet The SocketCAN format Ethertype 0x88b5 Different MAC addresses Acknowledgments 26

CAN over Ethernet The SocketCAN format Ethertype 0x88b5 Different MAC addresses Acknowledgments class SocketCAN(Packet): name = "SocketCAN" fields_desc = [ BitEnumField("EFF", 0, 1, {0:"Disabled", 1:"Enabled"}), BitEnumField("RTR", 0, 1, {0:"Disabled", 1:"Enabled"}), BitEnumField("ERR", 0, 1, {0:"Disabled", 1:"Enabled"}), XBitField("id", 1, 29), FieldLenField("dlc", None, length_of="data", fmt="b"), ByteField(" pad", 0), ByteField(" res0", 0), ByteField(" res1", 0), StrLenField("data", "", length_from = lambda pkt: pkt.dlc), ] def extract_padding(self, p): return "",p bind_layers(ether, SocketCAN, type=0x88b5) 27

CAN over Ethernet The SocketCAN format Ethertype 0x88b5 Different MAC addresses Acknowledgments #wireshark -X lua_script:ethcan.lua local sll_tab = DissectorTable.get("sll.ltype") local can_hdl = sll_tab:get_dissector(0x000c) local eth_tab = DissectorTable.get("ethertype") eth_tab:add(0x88b5, can_hdl) class SocketCAN(Packet): name = "SocketCAN" fields_desc = [ BitEnumField("EFF", 0, 1, {0:"Disabled", 1:"Enabled"}), BitEnumField("RTR", 0, 1, {0:"Disabled", 1:"Enabled"}), BitEnumField("ERR", 0, 1, {0:"Disabled", 1:"Enabled"}), XBitField("id", 1, 29), FieldLenField("dlc", None, length_of="data", fmt="b"), ByteField(" pad", 0), ByteField(" res0", 0), ByteField(" res1", 0), StrLenField("data", "", length_from = lambda pkt: pkt.dlc), ] def extract_padding(self, p): return "",p bind_layers(ether, SocketCAN, type=0x88b5) 28

The OBD-II use case No need to physically cut anything Buy a Goodthopter-compatible OBDII-to-DB9 cable Build its female counterpart ($10 worth of components) Setup the DUAL-CAN extension properly Have fun Several interesting cases Professional/consumer car diagnostic tools Usage-based policies from insurance companies Air-pollution control from law enforcement They expose sensitive networks/hosts Demonstration DO TRY THIS AT HOME 29

Thank you for your attention 30