43
Hey Captain, Where’s Your Ship? Attacking Vessel Tracking Systems for Fun and Profit Marco Balduzzi, Kyle Wihoit, Alessandro Pasta (@embyte / IZ2PMO, @lowcalspam, IZ2RPA)

Captain, Where Is Your Ship – Compromising Vessel Tracking Systems

Embed Size (px)

DESCRIPTION

A talk given by Kyle Wilhoit and Marco Balduzzi from Trend Micro's Forward Looking Threat Research team, along with independent researcher Alessandro Pasta. Abstract: In recent years, automated identification systems (AISes) have been introduced to enhance vessels tracking and provide extra safety to marine traffic, on top of conventional radar installations. AIS, which is currently a mandatory installation for all passenger ships and ships over 300 metric tonnes, works by acquiring GPS coordinates and exchanging vessel’s position, course and information with nearby ships, offshore installation, i.e. harbors and traffic controls, and Internet tracking and visualizing providers. With an estimated number of 400,000 installation, AIS is currently the best system for collision avoidance, maritime security, aids to navigation and accident investigations. Given its primary importance in marine traffic safety, we conducted a comprehensive security evaluation of AIS, by tackling it from both a software and a hardware, radio frequency perspective. In this talk, we share with you our finding, i.e how we have been able to hijack and perform man-in-the-middle attacks on existing vessels, take over AIS communications, tamper with the major online tracking providers and eventually fake our own yacht!.

Citation preview

Page 1: Captain, Where Is Your Ship – Compromising Vessel Tracking Systems

Hey Captain, Where’s Your Ship? Attacking Vessel Tracking Systems for

Fun and Profit

Marco Balduzzi, Kyle Wihoit, Alessandro Pasta(@embyte / IZ2PMO, @lowcalspam, IZ2RPA)

Page 2: Captain, Where Is Your Ship – Compromising Vessel Tracking Systems

Ingredients

Page 3: Captain, Where Is Your Ship – Compromising Vessel Tracking Systems

3

Automatic Identification System● Tracking system for ships

– Centralized management for port authorities (VTS)

– Ship-to-ship communication in open-sea

● Used for plot, course, position, and speed● Some Applications:

– Vessel Traffic Services

– Collision Avoidance

– Maritime Security– Aids to Navigation (AtoN)– Search and rescue, Accident investigation– Binary messages, e.g. weather forecasting

Page 4: Captain, Where Is Your Ship – Compromising Vessel Tracking Systems

4

Automatic Identification System● Introduce to supplement the existing safety

systems, e.g. traditional radars● IMO agreement 2002, widely used since 2006

– Required on any international ship with gross tonnage of 300 or more tons.

– Also required on ALL passenger ships regardless of size

● Estimated 400,000 installations. Expected over a million within 2014.

Page 5: Captain, Where Is Your Ship – Compromising Vessel Tracking Systems

5

Page 6: Captain, Where Is Your Ship – Compromising Vessel Tracking Systems

6

Online AIS Services● Collects and

visualizes ships information

● Upstream done via:– Email

– TCP/UDP Socket

– Commercial Software

– Smartphone Apps

– Radio-Frequency Gateways (deployed regionally)

Page 7: Captain, Where Is Your Ship – Compromising Vessel Tracking Systems

7

MarineTraffic Demo

Page 8: Captain, Where Is Your Ship – Compromising Vessel Tracking Systems

8

AIS Application Layer● AIVDM Sentences● NMEA Sentences , as GPS

!AIVDM,1,1,,B,177KQJ5000G?tO`K>RA1wUbN0TKH,0*5C

TAG, FRAG_#, FRAG_ID, N/A, CHANNEL, PAYLOAD, PAD, CRC

Page 9: Captain, Where Is Your Ship – Compromising Vessel Tracking Systems

9

Message 1/18: Position Report

Maritime Mobile Service Identity (MMSI) number: Shared among multiple messages

● Longitude, latitude, navigation status, speed-over-ground (SOG), course-over-ground (COG)

● Sent every 3 to 30 seconds, depending from ship speed

● 168 bits

Page 10: Captain, Where Is Your Ship – Compromising Vessel Tracking Systems

10

Message 24: Static Report

● Types 24A [160 bits] and 24B [168 bits]● Name, callsign, dimension● Type of ship and cargo type, e.g.

– 35: Engaged in military operations

– 51: Search and rescue

– 55: Law enforcement

– 5X: Carrying dangerous goods (e.g. Nuclear)

Page 11: Captain, Where Is Your Ship – Compromising Vessel Tracking Systems

11

Few-Others

● Type 8: Binary Broadcast Message– Weather Forecasting

● Type 22: Channel-Management– Reserved for Port Authorities

● Type 14: Safety-Related Broadcast Message– SOS, Man-In-Water

Page 12: Captain, Where Is Your Ship – Compromising Vessel Tracking Systems

12

Generate Valid AIVDM Sentences

Page 13: Captain, Where Is Your Ship – Compromising Vessel Tracking Systems

13

AIVDM_Encoder Example

● Example of generation of AIVDM Sentence for ● Ship involved in Military Operations● Named HiTB13

Page 14: Captain, Where Is Your Ship – Compromising Vessel Tracking Systems

14

Identified Threats● Grouped in two macro families:

– Implementation-specific VS protocol-specific

Page 15: Captain, Where Is Your Ship – Compromising Vessel Tracking Systems

15

Spoofing Attack● Ships, AtoN, Aircrafts

Page 16: Captain, Where Is Your Ship – Compromising Vessel Tracking Systems

16

North Korea... What?!

Page 17: Captain, Where Is Your Ship – Compromising Vessel Tracking Systems

17

And...

Page 18: Captain, Where Is Your Ship – Compromising Vessel Tracking Systems

18

Autopwning

● Script to make a ship follow a path over time● Programmed with Google Earth's KML/KMZ

information

Page 19: Captain, Where Is Your Ship – Compromising Vessel Tracking Systems

19

Ship Hijacking via AIS Gateway

Page 20: Captain, Where Is Your Ship – Compromising Vessel Tracking Systems

20

Eleanor Gordon● Eleanor Gordon...Real ship...

Page 21: Captain, Where Is Your Ship – Compromising Vessel Tracking Systems

21

Eleanor Gordon Popping Up in Dallas?

Page 22: Captain, Where Is Your Ship – Compromising Vessel Tracking Systems

22

Landing Lake

Page 23: Captain, Where Is Your Ship – Compromising Vessel Tracking Systems

23

Replay Attack

Page 24: Captain, Where Is Your Ship – Compromising Vessel Tracking Systems

24

Page 25: Captain, Where Is Your Ship – Compromising Vessel Tracking Systems

25

AIS Communication over the Air● No authentication, no integrity check● Protocol designed in a “hardware-epoch”● Hacking: Difficult and cost expensive

● Fake AIS Signals?● Let's do it via software!

Page 26: Captain, Where Is Your Ship – Compromising Vessel Tracking Systems

26

SDR: Software Defined Radio● Paradigm switch from Hardware to Software

● Reduced costs, Reduced complexity, Increased flexibility

● Many application, e.g. Radio/TV receiver, 20 USD

● Accessible by many, bad guys included!

Page 27: Captain, Where Is Your Ship – Compromising Vessel Tracking Systems

27

GnuRadio and USRP Synergy

Universal Software Radio Peripheral

Page 28: Captain, Where Is Your Ship – Compromising Vessel Tracking Systems

28

AIS Transmitter

● GnuRadio flowchart for transmitting AIS message on the air

● 4 main components / blocks● IDE → Python script

Page 29: Captain, Where Is Your Ship – Compromising Vessel Tracking Systems

29

AIS Frame Builder● Implements the AIS Stack (C code) ● Builds the Frame to be modulated

Page 30: Captain, Where Is Your Ship – Compromising Vessel Tracking Systems

30

Page 31: Captain, Where Is Your Ship – Compromising Vessel Tracking Systems

31

Equipment

Universal Software Radio Peripheral AIS Transceiver

Page 32: Captain, Where Is Your Ship – Compromising Vessel Tracking Systems

32

Outdoor experiments

MOXXON Directional Antenna

Standard VHF Transceiver (Radio)

Page 33: Captain, Where Is Your Ship – Compromising Vessel Tracking Systems

33

Attack 1: Man-in-water Spoofing● Fake a "man-in-the-water" distress beacon at

any location● Similar to Avalanche Safety Beacons● <live demo>

Page 34: Captain, Where Is Your Ship – Compromising Vessel Tracking Systems

34

Attack 2: Frequency Hopping [1/2]● Disable AIS transponders

– Up to 5 weeks

● Switch to non-default frequency● Stored in flash memory● Specify a desired targeted region

– Geographically remote region applies as well

● E.g. Pirates can render a ship invisible in Somalia

Page 35: Captain, Where Is Your Ship – Compromising Vessel Tracking Systems

35

Attack 2: Frequency Hopping [2/2]

Page 36: Captain, Where Is Your Ship – Compromising Vessel Tracking Systems

36

Attack 3: CPA Alerting [1/2]● Fake a CPA alert (Closest Point of Approach)

and trigger a collision warning alert.

Page 37: Captain, Where Is Your Ship – Compromising Vessel Tracking Systems

37

Attack 3: CPA Alerting [2/2]

Page 38: Captain, Where Is Your Ship – Compromising Vessel Tracking Systems

38

Attack 4: Weather Forecasting

Page 39: Captain, Where Is Your Ship – Compromising Vessel Tracking Systems

39

Real-World Experiment● Generate a valid over-the-air AIS message● Target: AIS proxy● Demo

Page 40: Captain, Where Is Your Ship – Compromising Vessel Tracking Systems

40

Responsible Disclosure● Our experiments are conducted without interfering

with existing systems– Messages with safety-implications tested only in remote

lab environment

● We reached out the appropriate providers and authorities within time

● Online providers:– MarineTraffic, AisHub, VesselFinder, ShipFinder

● Standard bodies:– ITU-R: 11 September 2013– IALA, IMO, US Coast Guards: No answer yet

Page 41: Captain, Where Is Your Ship – Compromising Vessel Tracking Systems

41

Countermeasures● Authentication

– Ensure the transmitter is the owner

● Integrity Monitoring– Tamper checking of AIS message

● Time Check– Avoid replay attack

● Validity Check on Data Context– E.g., Geographical information

Page 42: Captain, Where Is Your Ship – Compromising Vessel Tracking Systems

42

Take Home

● AIS is widely used – Mandatory installation● AIS is a major technology in marine safety● AIS is broken at implementation-level● AIS is broken at protocol-level

● We hope that our work will help in raising the issue and enhancing the existing situation!

Page 43: Captain, Where Is Your Ship – Compromising Vessel Tracking Systems

43

Questions?

● Thanks! FTR, Germano (IW2DCK), ITU-R