[cb16] atms how to break them to stop the fraud. by olga kochetova & alexey osipov

51
ATMs how to break them to stop the fraud Olga Kochetova, Alexey Osipov Kaspersky Lab

Upload: code-blue

Post on 12-Jan-2017

70 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: [CB16] ATMS how to break them to stop the fraud. by Olga Kochetova & Alexey Osipov

ATMs how to break them to stop the

fraudOlga Kochetova, Alexey Osipov

Kaspersky Lab

Page 2: [CB16] ATMS how to break them to stop the fraud. by Olga Kochetova & Alexey Osipov

root@root:~# whoamiPenetration Testing Department, Kaspersky Lab• @_Endless_Quest_, @GiftsUngiven• ATM and POS security assessment• Penetration Testing• Forensic InvestigationSpeakers at many IT eventsAuthors of multiple articles, researches and advisories

Page 3: [CB16] ATMS how to break them to stop the fraud. by Olga Kochetova & Alexey Osipov

What is ATM

Page 4: [CB16] ATMS how to break them to stop the fraud. by Olga Kochetova & Alexey Osipov

Lego

Page 5: [CB16] ATMS how to break them to stop the fraud. by Olga Kochetova & Alexey Osipov

About hardware

Page 6: [CB16] ATMS how to break them to stop the fraud. by Olga Kochetova & Alexey Osipov

About software• Host (computer)• MS Windows (Windows XP!!1)• GUI and device control• Antivirus/Integrity control software• Video surveillance• Radmin/TeamViewer and other crap

• Devices• Some microcontrollers with RTOS

Page 7: [CB16] ATMS how to break them to stop the fraud. by Olga Kochetova & Alexey Osipov

About logic

Page 8: [CB16] ATMS how to break them to stop the fraud. by Olga Kochetova & Alexey Osipov

Level 0

Page 9: [CB16] ATMS how to break them to stop the fraud. by Olga Kochetova & Alexey Osipov

Cassettes• Secure casing• Tamper proof• Tamper evident

Page 10: [CB16] ATMS how to break them to stop the fraud. by Olga Kochetova & Alexey Osipov

Cassettes• Tracking system• Cash spoiling devices• Alarms

Page 11: [CB16] ATMS how to break them to stop the fraud. by Olga Kochetova & Alexey Osipov

Cash• Easily traceable• Can’t be extracted from

cassettes with force

Page 12: [CB16] ATMS how to break them to stop the fraud. by Olga Kochetova & Alexey Osipov

Cards• No static data• Dynamic data can’t be

relayed• Secrets, that dynamic

data is based upon can’t be extracted

Page 13: [CB16] ATMS how to break them to stop the fraud. by Olga Kochetova & Alexey Osipov

Level 0

Page 14: [CB16] ATMS how to break them to stop the fraud. by Olga Kochetova & Alexey Osipov

Level 1

Page 15: [CB16] ATMS how to break them to stop the fraud. by Olga Kochetova & Alexey Osipov

Dispenser• Contains cassettes• Cash cassettes• Reject cassette

• Manages mechanics• Sends statuses• Receives commands

Page 16: [CB16] ATMS how to break them to stop the fraud. by Olga Kochetova & Alexey Osipov

Card reader • Identifies user and his

account• Can provide

authentication capabilities • EMV• Match-on-card for

biometric data

Page 17: [CB16] ATMS how to break them to stop the fraud. by Olga Kochetova & Alexey Osipov

PIN pad• Commonly used to

enter authentication data• Also used to insert

amount of money• Sometimes can be

combined with keyboard

Page 18: [CB16] ATMS how to break them to stop the fraud. by Olga Kochetova & Alexey Osipov

Biometric authentication devices

• Grabs physical properties of user for authentication• Multiple flavors• Iris• Fingerprint• Voice• Face• Vein• etc.

Page 19: [CB16] ATMS how to break them to stop the fraud. by Olga Kochetova & Alexey Osipov

Dispenser/Card reader/PIN pad

• Commands are authenticated• Communications are

encrypted • Firmware is

modification proof• Sensitive data is

separately protected

Page 20: [CB16] ATMS how to break them to stop the fraud. by Olga Kochetova & Alexey Osipov

Level 1 - Dispenser/Card reader/PIN pad

• Minimal amount of command are authenticated• Communications are

NOT encrypted • Firmware can be

modified • Sensitive data is

separately protected

Page 21: [CB16] ATMS how to break them to stop the fraud. by Olga Kochetova & Alexey Osipov

Level 2\

Page 22: [CB16] ATMS how to break them to stop the fraud. by Olga Kochetova & Alexey Osipov

Communication lines• Buses• USB• SDC (RS485)• CAN

• Lines• COM (RS232)• GPIO

Page 23: [CB16] ATMS how to break them to stop the fraud. by Olga Kochetova & Alexey Osipov

Communication lines• Data in transit is

encrypted separately from data• Tampering with cables

will disable device with need of physical manipulation

Page 24: [CB16] ATMS how to break them to stop the fraud. by Olga Kochetova & Alexey Osipov

Level 2 - Communication lines

• Data in transit is NOT additionally encrypted• Tampering with cables

will disable device with need of physical manipulation. Only additional modules or firmware update on some models

Page 25: [CB16] ATMS how to break them to stop the fraud. by Olga Kochetova & Alexey Osipov

VideoBlack box

Page 26: [CB16] ATMS how to break them to stop the fraud. by Olga Kochetova & Alexey Osipov

Level 3

Page 27: [CB16] ATMS how to break them to stop the fraud. by Olga Kochetova & Alexey Osipov

Service providers• User-space software

communicating with hardware units• Created by device

manufacturers• No single standard for

communication

Page 28: [CB16] ATMS how to break them to stop the fraud. by Olga Kochetova & Alexey Osipov

XFS• eXtension for Financial

Services• Provide interoperability

between different vendors of hardware and different producers of software

Page 29: [CB16] ATMS how to break them to stop the fraud. by Olga Kochetova & Alexey Osipov

“Windows application”• Graphical user interface• Network client• Service mode• Technical• Money exchange• Configuration of

security features

Page 30: [CB16] ATMS how to break them to stop the fraud. by Olga Kochetova & Alexey Osipov

XFS/Service providers• Can be considered as proxies• Has no knowledge of data, that he

transmits• Starts secure communication with

device

Page 31: [CB16] ATMS how to break them to stop the fraud. by Olga Kochetova & Alexey Osipov

“Windows application”• Minimal interface• Password protection for

all service options• Secure network

communications

Page 32: [CB16] ATMS how to break them to stop the fraud. by Olga Kochetova & Alexey Osipov

Level 3 – Malware

Page 33: [CB16] ATMS how to break them to stop the fraud. by Olga Kochetova & Alexey Osipov

Level 3 – Malware

Page 34: [CB16] ATMS how to break them to stop the fraud. by Olga Kochetova & Alexey Osipov

VideoWin32.Skimmer

Page 35: [CB16] ATMS how to break them to stop the fraud. by Olga Kochetova & Alexey Osipov

Level 4

Page 36: [CB16] ATMS how to break them to stop the fraud. by Olga Kochetova & Alexey Osipov

Physical• Steel-concrete cover• Tamper proof• Tamper evident• Alarm systems

Page 37: [CB16] ATMS how to break them to stop the fraud. by Olga Kochetova & Alexey Osipov

Operating system• Platform to launch GUI• Role based access to

system• Password protection• Integrity control• Robust updates

Page 38: [CB16] ATMS how to break them to stop the fraud. by Olga Kochetova & Alexey Osipov

Network• Communication with

processing center• Remote system

management• Customization

information

Page 39: [CB16] ATMS how to break them to stop the fraud. by Olga Kochetova & Alexey Osipov

Level 4 - Physical

Page 40: [CB16] ATMS how to break them to stop the fraud. by Olga Kochetova & Alexey Osipov

Level 5 - Network

Page 41: [CB16] ATMS how to break them to stop the fraud. by Olga Kochetova & Alexey Osipov

Level 5

Page 42: [CB16] ATMS how to break them to stop the fraud. by Olga Kochetova & Alexey Osipov

Processing

Page 43: [CB16] ATMS how to break them to stop the fraud. by Olga Kochetova & Alexey Osipov

Processing

Page 44: [CB16] ATMS how to break them to stop the fraud. by Olga Kochetova & Alexey Osipov

Processing

Page 45: [CB16] ATMS how to break them to stop the fraud. by Olga Kochetova & Alexey Osipov

VideoRogue Processing

Page 46: [CB16] ATMS how to break them to stop the fraud. by Olga Kochetova & Alexey Osipov

Not a conclusion

Page 47: [CB16] ATMS how to break them to stop the fraud. by Olga Kochetova & Alexey Osipov

Current state of ATM security

Page 48: [CB16] ATMS how to break them to stop the fraud. by Olga Kochetova & Alexey Osipov

Screwed?• netstat -an | findstr

LISTEN• tasklist• nmap -sU -sS -p-

ATM_IP• wireshark• usbpcap

Page 49: [CB16] ATMS how to break them to stop the fraud. by Olga Kochetova & Alexey Osipov

Choose wisely

Page 50: [CB16] ATMS how to break them to stop the fraud. by Olga Kochetova & Alexey Osipov

Security is a process

Page 51: [CB16] ATMS how to break them to stop the fraud. by Olga Kochetova & Alexey Osipov

Have funStay safe

Olga Kochetova, [email protected], @_Endless_Quest_

Alexey Osipov, [email protected], @GiftsUngiven