SCADA Security: Why is it so hard? Amol Sarwate, Director of - - PowerPoint PPT Presentation

scada security why is it so hard
SMART_READER_LITE
LIVE PREVIEW

SCADA Security: Why is it so hard? Amol Sarwate, Director of - - PowerPoint PPT Presentation

SCADA Security: Why is it so hard? Amol Sarwate, Director of Vulnerability Labs, Qualys Inc. June 22, 2012 HACK IN PARIS Agenda SCADA Basics Threats (where, why & how) Challenges Recommendations and Proposals ScadaScan tool HACK


slide-1
SLIDE 1

HACK IN PARIS

SCADA Security: Why is it so hard?

Amol Sarwate, Director of Vulnerability Labs, Qualys Inc. June 22, 2012

slide-2
SLIDE 2

HACK IN PARIS

SCADA Basics Threats (where, why & how) Challenges Recommendations and Proposals ScadaScan tool

Agenda

slide-3
SLIDE 3

HACK IN PARIS

SCADA

DCS

ICS

slide-4
SLIDE 4

HACK IN PARIS

slide-5
SLIDE 5

HACK IN PARIS

accidents

liquid pipeline failures

http://www.ntsb.gov/doclib/safetystudies/SS0502.pdf

power failures

http://www.nerc.com/docs/docs/blackout/Status_Report_081104.pdf

  • ther accidents

http://en.wikipedia.org/wiki/List_of_industrial_disasters

slide-6
SLIDE 6

HACK IN PARIS

vandalism

vandals destroy insulators

http://www.bpa.gov/corporate/BPAnews/archive /2002/NewsRelease.cfm?ReleaseNo=297

slide-7
SLIDE 7

HACK IN PARIS

insider

disgruntle employee

http://www.theregister.co.uk/2001/10/31 /hacker_jailed_for_revenge_sewage/

slide-8
SLIDE 8

HACK IN PARIS

APT

terrorism or espionage

http://www.symantec.com/content/en/us/enterprise/ media/security_response/whitepapers/w32_duqu_ the_precursor_to_the_next_stuxnet.pdf

slide-9
SLIDE 9

HACK IN PARIS

basics

Field Control Center

slide-10
SLIDE 10

HACK IN PARIS

acquisition

Convert parameters like light, temperature, pressure or flow to analog signals

slide-11
SLIDE 11

HACK IN PARIS

conversion

Converts analog and discrete measurements to digital information

slide-12
SLIDE 12

HACK IN PARIS

communication

Front end processors (FEP) and protocols Wired or wireless communication

Modbus DNP 3 OPC ICCP ControlNet BBC 7200 ANSI X3.28 DCP 1 Gedac 7020 DeviceNet DH+ ProfiBus Tejas TRE UCA

slide-13
SLIDE 13

HACK IN PARIS

presentation & control

Control, monitor and alarming using human machine interface (HMI)

slide-14
SLIDE 14

HACK IN PARIS

threats?

slide-15
SLIDE 15

HACK IN PARIS

io & remote

Requires physical access

slide-16
SLIDE 16

HACK IN PARIS

io & remote

Field equipment generally does not contain process knowledge

slide-17
SLIDE 17

HACK IN PARIS

io & remote

Information like valve 16 or breaker 9B

slide-18
SLIDE 18

HACK IN PARIS

io & remote

Without process knowledge leads to nuisance disruption

slide-19
SLIDE 19

HACK IN PARIS

communication

Manipulate FEP directly

slide-20
SLIDE 20

HACK IN PARIS

communication

Change FEP output which is HMI input

slide-21
SLIDE 21

HACK IN PARIS

communication

Protocol threats

slide-22
SLIDE 22

HACK IN PARIS

modbus protocol

MODBUS Request - Message sent on the network by the Client to initiate a transaction MODBUS Indication - Request message received on the Server side MODBUS Response - Response message sent by the Server MODBUS Confirmation - Response Message received on the Client side

Modbus Client Modbus Server

Request Indication Confirmation Response

Master Slave

slide-23
SLIDE 23

HACK IN PARIS

frame

Additional addresses Function code Data Error Check ADU PDU

MODBUS MODBUS on TCP/IP

MBAP Header Function code Data MODBUS TCP/IP ADU PDU TCP Header IP Header TCP Packet IP Packet

slide-24
SLIDE 24

HACK IN PARIS

frame

Additional addresses Function code Data Error Check ADU PDU

MODBUS MODBUS on TCP/IP

MBAP Header Function code Data MODBUS TCP/IP ADU PDU TCP Header IP Header TCP Packet IP Packet

slide-25
SLIDE 25

HACK IN PARIS

frame

MODBUS on TCP/IP

MBAP Header Function code Data MODBUS TCP/IP ADU PDU Transaction ID Protocol ID Length Unit ID

2 bytes 2 bytes 2 bytes 1 byte

slide-26
SLIDE 26

HACK IN PARIS

frame

MODBUS on TCP/IP

MBAP Header Function code Data MODBUS TCP/IP ADU PDU Transaction ID Protocol ID Length Unit ID

2 bytes 2 bytes 2 bytes 1 byte

Read Discrete Inputs 2 Read Holding Registers 3 Read FIFO Queue 24 Get Com Event Counter 11 Read Coils 1 Write Single Register 6 Read File Record 20 Get Com Event Log 12 Write Single Coil 5 Write Multiple Registers 16 Write File Record 21 Report Slave ID 17 Write Multiple Coils 15 Read/Write Multiple Registers23 Read Exception Status 7 Read Device Identification 43 Read Input Register 4 Mask Write Register 22 Diagnostic 8 Encapsulated Interface Transport 43

slide-27
SLIDE 27

HACK IN PARIS

example

$socket = IO::Socket::INET->new ( PeerHost => $ip, PeerPort => '502', Proto => 'tcp', ) $socket->send($data); # Transaction ID (2 bytes) $buffer[0] = chr(1); $buffer[1] = chr(0); # Protocol ID (2 bytes) $buffer[2] = chr(0); $buffer[3] = chr(0); # Length (2 bytes) $buffer[4] = chr(0); $buffer[5] = chr(6); # Unit ID (1 bye) $buffer[6] = chr(1); # Function Code (1 byte) $buffer[7] = chr(3); # Data $buffer[8] = chr(hex (substr $data_val, 0, 2)); $buffer[9] = chr(hex (substr $data_val, 2, 2)); $buffer[10] = chr(0); $buffer[11] = chr($num_registers);

slide-28
SLIDE 28

HACK IN PARIS

request

slide-29
SLIDE 29

HACK IN PARIS

response

slide-30
SLIDE 30

HACK IN PARIS

what

does modbus provide?

slide-31
SLIDE 31

HACK IN PARIS

ScadaScan (alpha)

slide-32
SLIDE 32

HACK IN PARIS

DNP 3.0

slide-33
SLIDE 33

HACK IN PARIS

application layer

slide-34
SLIDE 34

HACK IN PARIS

transport layer

slide-35
SLIDE 35

HACK IN PARIS

link layer

slide-36
SLIDE 36

HACK IN PARIS

example

$socket = IO::Socket::INET->new ( PeerHost => $ip, PeerPort => ‘20000', Proto => 'tcp', ) $socket->send($data); # DNP 3.0 link layer frame # Start character (2 bytes) $buffer[0] = chr(5); $buffer[1] = chr(100); # Length field (1 byte) $buffer[2] = chr(05); # Control byte (1 byte) $buffer[3] = chr(201); # Destination address (2 bytes) $buffer[4] = chr(241); $buffer[5] = chr(255); # Source address (2 bytes) $buffer[6] = chr(05); $buffer[7] = chr(00); # CRC (2 bytes) $buffer[8] = chr(170); $buffer[9] = chr(210);

slide-37
SLIDE 37

HACK IN PARIS

request

slide-38
SLIDE 38

HACK IN PARIS

response

slide-39
SLIDE 39

HACK IN PARIS

what

does DNP 3.0 provide?

slide-40
SLIDE 40

HACK IN PARIS

ScadaScan (alpha)

slide-41
SLIDE 41

HACK IN PARIS

Secure DNP 3.0

Version 1.0 specification released in Feb 2007 Authentication Initialization Periodic Critical Function Code Requests Implementation Specific Cryptography Keyed Hashing for Message Authentication (HMAC) Key Management New Function Codes

slide-42
SLIDE 42

HACK IN PARIS

master threats

Control system network connected to corporate network or internet

slide-43
SLIDE 43

HACK IN PARIS

master threats

No authentication or per user authentication

slide-44
SLIDE 44

HACK IN PARIS

master threats

Shared passwords or default passwords

slide-45
SLIDE 45

HACK IN PARIS

master threats

No password change policy

slide-46
SLIDE 46

HACK IN PARIS

master threats

No patching

slide-47
SLIDE 47

HACK IN PARIS

master threats

Not restarted in years

slide-48
SLIDE 48

HACK IN PARIS

master threats

Unnecessary services

slide-49
SLIDE 49

HACK IN PARIS

master threats

Off-the-shelf software

slide-50
SLIDE 50

HACK IN PARIS

challenges

SCADA system long life cycle

slide-51
SLIDE 51

HACK IN PARIS

challenges

Difficulty and cost of upgrading

slide-52
SLIDE 52

HACK IN PARIS

challenges

No testing or guidance about OS patches from SCADA vendors

slide-53
SLIDE 53

HACK IN PARIS

challenges

Some systems managed by SCADA vendors

slide-54
SLIDE 54

HACK IN PARIS

challenges

Data historians and other systems on the SCADA network

slide-55
SLIDE 55

HACK IN PARIS

challenges

Internal differences between IT and SCADA engineers

slide-56
SLIDE 56

HACK IN PARIS

challenges

Wrong mentality - SCADA too obscure for hackers

slide-57
SLIDE 57

HACK IN PARIS

proposals

Strategy for password policy, access control, access roles

slide-58
SLIDE 58

HACK IN PARIS

proposals

Strategy for software upgrades and patches

slide-59
SLIDE 59

HACK IN PARIS

proposals

SCADA Test environment

slide-60
SLIDE 60

HACK IN PARIS

proposals

Demand from SCADA vendors expedite testing and approval of OS patches

slide-61
SLIDE 61

HACK IN PARIS

proposals

Demand from SCADA vendors newer and secure protocols

slide-62
SLIDE 62

HACK IN PARIS

proposals

Apply experience from IT network management and security

slide-63
SLIDE 63

HACK IN PARIS

proposals

Auditing and scanning

slide-64
SLIDE 64

HACK IN PARIS

ScadaScan

Alpha version

Scan network range Works with TCP/IP Identifies Modbus TCP slaves Identifies DNP 3 TCP slaves

Beta version

SCADA master vulnerability scanning SNMP support HTTP support

1.0 Release

User configurable signature files Authenticated support for Windows and *nix Code cleanup

slide-65
SLIDE 65

HACK IN PARIS

Thank You

http://code.google.com/p/scadascan/ Twitter: @amolsarwate https://community.qualys.com