Securing OPC Classic Control Systems
E N D
Presentation Transcript
Securing OPC Classic Control Systems Tofino OPC Enforcer Technology Eric Byres, Chief Technology Officer, Byres Security Inc.
OPC Classic • OPC Classic is the world’s leading technology for integrating different automation products. • Formerly known as OLE for Process Control, (where OLE stood for Object Linking and Embedding) • Includes all OPC standards that are based on Microsoft's DCOM Technology (i.e. all but OPC-UA) • Unfortunately OPC is famous for its poor security…
Typical TCP/IP Protocols • Most protocols use FixedPort Numbers to identify the application to handle an incoming packet • Similar to an extension for “accounts payable” on a company phone system • Example: Most Modbus TCP slaves use port 502 Modbus Command (Dst Port = 502) Modbus Reply (Src Port = 502) Modbus Master Operator Station Modbus Slave PLC
OPC Classic (aka OPC DCOM) • OPC Classic dynamically assigns TCP ports to each executable process serving objects on a server • Clients discover port associated with an object by connecting to the server and sending messages like: “find COM object XXX for me and tell me what port it is on“ OPC Client OPC Server OPC Connection Request (Port 135) Server Response: Use Port 12345 OPC DA Connection (Port 12345) OPC DA Data (Port 12345)
Until Now - An “Unfirewallable” Protocol • Because OPC is free to use any port between 1024 and 65535 it is “IT firewall unfriendly” • You don’t know in advance what port the server will use • So you can’t define the firewall rule • You have to leave all ports open on your firewall • Configuring your firewall to leave such a wide range of ports open creates a serious security hole 2222 Rockwell-CSP 2404 IEC 60870-5-104 5000 Mitsibishi MELSCQNA 5450 PI Data Historian 9100 Omron FINS And 1000’s more!
It Gets Worse! OPC/DCOM in the Real World • DCOM callbacks in OPC are not handled on the same connection that is used for client/server calls • Some OPC servers reject the first few connection attempts after they tell the client to use a specific port, completely breaking most firewall state engines! • All this has made the industry consider OPC Firewalls virtually impossible
What is the Tofino OPC Classic Enforcer? • Loadable security module that makes the Tofino Firewall “OPC-aware” • Uses deep packet inspection technology to manage OPC traffic behind the scenes
How OPC Enforcer Works • Enforcer intercepts connection requests from the OPC client and checks: • Is it to an approved server? • Is it from client approved to talk to that server? • Is it a properly formed OPC connection request message? Invalid Request OPC Client OPC Server OPC Conn Req OPC Conn Req
How OPC Enforcer Works • Next Enforcer intercepts connection reply from the OPC server and checks: • Is it a properly formed OPC connection reply message? • Is it to the client that made the request? • What TCP port is the server telling the client to use? It’s a good reply and Server wants Client to use TCP port 5555 OPC Client OPC Server OPC Conn Reply OPC Conn Reply
How OPC Enforcer Works • Enforcer momentarily opens the TCP port it found in the message, with the following restrictions: • Only for communications between that client and server • Only if the client uses the specified port • Only if proper TCP session occurs within X seconds Invalid Client/Port OPC Client OPC Server Data Req (5555) OPC Data Req OPC Data OPC Data
OPC Enforcer Blocks Dangerous Traffic • Is not from approved clients and servers • Tries to use other TCP port numbers • Tries to “borrow” port numbers from other clients or servers • Is not well formed RPC connection requests Malformed Msg Invalid Port # Invalid Server Invalid Client OPC Client OPC Server OPC Data OPC Data
Why Tofino OPC Enforcer is Unique • First-ever application of connection tracking technology to industrial protocols • Automatically tracks TCP ports assigned by OPC servers for data connections • Dynamically opens tracked ports in firewall only when they are needed • Tofino ‘Sanity Check’ blocks any OPC requests not conforming to the DCE/RPC standard • Supports multiple OPC clients and servers
Typical Applications • Manage all traffic on systems that use OPC DA, HDA or A&E • Secure data transfers to and from data historians and supervisory applications • Protect safety instrumentation systems • Combine with Tofino VPN LSM for ultra secure remote OPC connections
Benefits of Tofino OPC Enforcer • Simple to use – no changes needed to any OPC servers or clients • Just install on the network and configure which servers and clients you want to communicate • Works with OPC DA, HDA and A&E standards • Secures against both accidental and malicious traffic • Endorsed by the OPC Foundation
Ordering the Tofino OPC Enforcer • Tofino OPC Enforcer LSM • Available Now • Requirements: • Tofino Security Appliance • Tofino Central Management Platform version 1.6 or better • Tofino Firewall LSM • Additional Resources: • www.tofinosecurity.com/opc • OPC Foundation Endorsed White Paper, “Securing Your OPC Classic Control System”