scada security why is it so hard
play

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


  1. SCADA Security: Why is it so hard? Amol Sarwate, Director of Vulnerability Labs, Qualys Inc. June 22, 2012 HACK IN PARIS

  2. Agenda SCADA Basics Threats (where, why & how) Challenges Recommendations and Proposals ScadaScan tool HACK IN PARIS

  3. SCADA DCS ICS HACK IN PARIS

  4. HACK IN PARIS

  5. 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 other accidents http://en.wikipedia.org/wiki/List_of_industrial_disasters HACK IN PARIS

  6. vandalism vandals destroy insulators http://www.bpa.gov/corporate/BPAnews/archive /2002/NewsRelease.cfm?ReleaseNo=297 HACK IN PARIS

  7. insider disgruntle employee http://www.theregister.co.uk/2001/10/31 /hacker_jailed_for_revenge_sewage/ HACK IN PARIS

  8. 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 HACK IN PARIS

  9. basics Field Control Center HACK IN PARIS

  10. acquisition Convert parameters like light, temperature, pressure or flow to analog signals HACK IN PARIS

  11. conversion Converts analog and discrete measurements to digital information HACK IN PARIS

  12. communication Modbus DNP 3 OPC Front end processors (FEP) and protocols Wired or wireless communication ICCP ControlNet BBC 7200 ANSI X3.28 DCP 1 Gedac 7020 DeviceNet DH+ ProfiBus Tejas TRE UCA HACK IN PARIS

  13. presentation & control Control, monitor and alarming using human machine interface (HMI) HACK IN PARIS

  14. threats? HACK IN PARIS

  15. io & remote Requires physical access HACK IN PARIS

  16. io & remote F ield equipment generally does not contain process knowledge HACK IN PARIS

  17. io & remote Information like valve 16 or breaker 9B HACK IN PARIS

  18. io & remote Without process knowledge leads to nuisance disruption HACK IN PARIS

  19. communication Manipulate FEP directly HACK IN PARIS

  20. communication Change FEP output which is HMI input HACK IN PARIS

  21. communication Protocol threats HACK IN PARIS

  22. modbus protocol Master Slave Indication Request Modbus Client Modbus Server Confirmation Response 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 HACK IN PARIS

  23. frame MODBUS ADU PDU Additional addresses Function code Data Error Check MODBUS on TCP/IP IP Packet TCP Packet MODBUS TCP/IP ADU PDU IP Header TCP Header MBAP Header Function code Data HACK IN PARIS

  24. frame MODBUS ADU PDU Additional addresses Function code Data Error Check MODBUS on TCP/IP IP Packet TCP Packet MODBUS TCP/IP ADU PDU IP Header TCP Header MBAP Header Function code Data HACK IN PARIS

  25. frame MODBUS on TCP/IP MODBUS TCP/IP ADU PDU MBAP Header Function code Data Transaction ID Protocol ID Length Unit ID 2 bytes 2 bytes 2 bytes 1 byte HACK IN PARIS

  26. frame MODBUS on TCP/IP MODBUS TCP/IP ADU PDU MBAP Header Function code Data Read Discrete Read Holding Read FIFO Inputs 2 Registers 3 Queue 24 Get Com Event Counter 11 Transaction ID Protocol ID Length Unit ID Write Single Read File Read Coils 1 Register 6 Record 20 Get Com Event Log 12 2 bytes 2 bytes 2 bytes 1 byte Write Multiple Write File Write Single Coil 5 Registers 16 Record 21 Report Slave ID 17 Write Multiple Read/Write Read Exception Coils 15 Multiple Registers23 Status 7 Read Device Identification 43 Read Input Mask Write Encapsulated Interface Register 4 Register 22 Diagnostic 8 Transport 43 HACK IN PARIS

  27. example # Transaction ID (2 bytes) $buffer[0] = chr(1); $buffer[1] = chr(0); # Protocol ID (2 bytes) $buffer[2] = chr(0); $socket = IO::Socket::INET->new ( $buffer[3] = chr(0); PeerHost => $ip, # Length (2 bytes) PeerPort => '502', $buffer[4] = chr(0); Proto => 'tcp', $buffer[5] = chr(6); ) # Unit ID (1 bye) $socket->send($data); $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); HACK IN PARIS

  28. request HACK IN PARIS

  29. response HACK IN PARIS

  30. what does modbus provide? HACK IN PARIS

  31. ScadaScan (alpha) HACK IN PARIS

  32. DNP 3.0 HACK IN PARIS

  33. application layer HACK IN PARIS

  34. transport layer HACK IN PARIS

  35. link layer HACK IN PARIS

  36. example # DNP 3.0 link layer frame # Start character (2 bytes) $buffer[0] = chr(5); $buffer[1] = chr(100); # Length field (1 byte) $socket = IO::Socket::INET->new ( $buffer[2] = chr(05); PeerHost => $ip, # Control byte (1 byte) PeerPort => ‘20000', $buffer[3] = chr(201); Proto => 'tcp', # Destination address (2 bytes) ) $buffer[4] = chr(241); $socket->send($data); $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); HACK IN PARIS

  37. request HACK IN PARIS

  38. response HACK IN PARIS

  39. what does DNP 3.0 provide? HACK IN PARIS

  40. ScadaScan (alpha) HACK IN PARIS

  41. 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 HACK IN PARIS

  42. master threats Control system network connected to corporate network or internet HACK IN PARIS

  43. master threats No authentication or per user authentication HACK IN PARIS

  44. master threats Shared passwords or default passwords HACK IN PARIS

  45. master threats No password change policy HACK IN PARIS

  46. master threats No patching HACK IN PARIS

  47. master threats Not restarted in years HACK IN PARIS

  48. master threats Unnecessary services HACK IN PARIS

  49. master threats Off-the-shelf software HACK IN PARIS

  50. challenges SCADA system long life cycle HACK IN PARIS

  51. challenges Difficulty and cost of upgrading HACK IN PARIS

  52. challenges No testing or guidance about OS patches from SCADA vendors HACK IN PARIS

  53. challenges Some systems managed by SCADA vendors HACK IN PARIS

  54. challenges Data historians and other systems on the SCADA network HACK IN PARIS

  55. challenges Internal differences between IT and SCADA engineers HACK IN PARIS

  56. challenges Wrong mentality - SCADA too obscure for hackers HACK IN PARIS

  57. proposals Strategy for password policy, access control, access roles HACK IN PARIS

  58. proposals Strategy for software upgrades and patches HACK IN PARIS

  59. proposals SCADA Test environment HACK IN PARIS

  60. proposals Demand from SCADA vendors expedite testing and approval of OS patches HACK IN PARIS

  61. proposals Demand from SCADA vendors newer and secure protocols HACK IN PARIS

  62. proposals Apply experience from IT network management and security HACK IN PARIS

  63. proposals Auditing and scanning HACK IN PARIS

  64. 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 HACK IN PARIS

  65. Thank You http://code.google.com/p/scadascan/ Twitter: @amolsarwate https://community.qualys.com HACK IN PARIS

Recommend


More recommend