Top Banner
Your systems. Working as one. Five Ways to Secure a Real-Time Distributed System Without Compromising Performance Heidi Schubert, Ph.D. Director of Research, RTI June 26, 2012
33

Five Ways to Secure a Real-Time Distributed System Without Compromising Performance

Aug 21, 2015

Download

Technology

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Five Ways to Secure a Real-Time Distributed System Without Compromising Performance

Your systems. Working as one.

Five Ways to Secure a Real-Time Distributed System Without Compromising Performance

Heidi Schubert, Ph.D.Director of Research, RTIJune 26, 2012

Page 2: Five Ways to Secure a Real-Time Distributed System Without Compromising Performance

Real-Time Systems

Page 3: Five Ways to Secure a Real-Time Distributed System Without Compromising Performance

The Threat

Threats• Denial of service• Information access• Gaining control of the

system

Vulnerabilities• Belief in security by

obscurity• Dependence on physical

network isolation• Lack of operator ability to

detect a cyber attack• Malware accidently installed

through operator or supply chain

Page 4: Five Ways to Secure a Real-Time Distributed System Without Compromising Performance

The Challenge

• Many proven security solutions for IT systems

• How to adapt these solutions for real-time?

Page 5: Five Ways to Secure a Real-Time Distributed System Without Compromising Performance

Five Ways to Secure Real-Time Systems

1. Create a Secure Channel between Real-Time Systems

2. Secure UDP 3. Selective Encryption4. Secure Platforms5. Passive Monitoring

Page 6: Five Ways to Secure a Real-Time Distributed System Without Compromising Performance

Communication Framework for Real-Time Systems

• Data Distribution Service (DDS)– Publish/subscribe

• Plug and play flexibility– Add new nodes at

anytime• Peer-to-peer

performance– Low latency

• Scalable• Reliable

RTI DataBus™

ConnextDDS

App 1

ConnextDDS

App 2

Page 7: Five Ways to Secure a Real-Time Distributed System Without Compromising Performance

Peer-to-Peer

• DDS sends data directly to peer

• Anonymous publish subscribe

• Data strongly typed• Discovery process

to find which peers to send to

Page 8: Five Ways to Secure a Real-Time Distributed System Without Compromising Performance

Real-Time Middleware

• Designed for– Performance – peer-to-peer, no brokers,

middleware tuned for low latency, data push– Availability – no single point of failure, can have

multiple publishers of the same data– Scalability – multicast data delivery, push data only

to interested subscribers• Security?

– Want to use proven security technologies without compromising real-time capabilities

Page 9: Five Ways to Secure a Real-Time Distributed System Without Compromising Performance

Secure Data Transfer

1. Authenticate– Verify your identity

2. Securely exchange cryptographic keys3. Use keys to:

– Encrypt data– Add a message authentication code

App 1 App 2

Page 10: Five Ways to Secure a Real-Time Distributed System Without Compromising Performance

Transport Layer Security (TLS)

• Provides– Authentication and key exchange– Encryption with symmetric keys– Message authentication

• Proven and widely used– Web browsing, email, IM, VoIP– Client-server– Primarily used over TCP

Page 11: Five Ways to Secure a Real-Time Distributed System Without Compromising Performance

Transport Layer Security (TLS)

Image from etutorials.org

Page 12: Five Ways to Secure a Real-Time Distributed System Without Compromising Performance

TLS/TCP for Real-Time Systems

• DDS typically runs over UDP/IP– Runs in best-effort mode for sensor data– Reliable mode – tuned for real-time

• Performance challenges with TCP– Latency – more jitter for sensor data, generally

higher– Throughput

Page 13: Five Ways to Secure a Real-Time Distributed System Without Compromising Performance

Secure Solutions for DDS

• Use Case:– Connect separate real-time systems– Provide a secure connection into a real-time

system– Connect LANs over an non-secured WAN

Page 14: Five Ways to Secure a Real-Time Distributed System Without Compromising Performance

1. Secure Channel between Systems

System 1Routing Service

Gateway acts as security point

System 2Routing Service

TLS

Page 15: Five Ways to Secure a Real-Time Distributed System Without Compromising Performance

15

Secure Channel with Firewall

System 1Routing Service System 2Routing

ServiceTLS

Can use firewall as added protection

Page 16: Five Ways to Secure a Real-Time Distributed System Without Compromising Performance

DDS Routing Service with Secure Asymmetric TCP

• WAN clients access DDS data within LAN– Clients communicate with participants in LAN not between each other– Clients behind fire-walls– Only one public address required. Only one firewall configured

• Example: Exposing a service to end-user clients

Remote App

System 1Routing Service

Remote App

Remote App

Page 17: Five Ways to Secure a Real-Time Distributed System Without Compromising Performance

2. Secure UDP

• Use case:– Need to secure real-time data

Page 18: Five Ways to Secure a Real-Time Distributed System Without Compromising Performance

Secure UDP Transport

• DTLS– Datagram version of the TLS protocol

• Provides– Authentication, encryption, and/or integrity

• Requires:– A Certificate Authority (CA)– An application must be configured with an identifying certificate assigned by

the CA– An application must have a private key associated with the public key in the

certificate• Standard protocol

– The protocol is highly scrutinized– Unicast only

• open source: OpenSSL

Page 19: Five Ways to Secure a Real-Time Distributed System Without Compromising Performance

Secure DDS Transport

DDS

DTLS

DDS Discovery TrafficDDS User Traffic

Application 1

DDS

DTLS

Application 2

DTLS handshaking Encrypted RTPS

DTLS trafficApp 1

DTLS handshaking

App 2

DDS discovery

DDS user data

Page 20: Five Ways to Secure a Real-Time Distributed System Without Compromising Performance

Performance

• Latency test– Two Linux x86 2.4 GHz machine– Send 1024 bytes packets

• DDS - one-to-one best effort average latency– UDP: 77 us– DTLS/UDP: 132 us– TLS/TCP: 291 us

Page 21: Five Ways to Secure a Real-Time Distributed System Without Compromising Performance

3. Selective Encryption

• Use Case– Secure some data

• Secure commands, but not sensor data• Secure sensitive sensor data, but not all sensor data

– Secure discovery or meta data, but not real-time streaming data

Page 22: Five Ways to Secure a Real-Time Distributed System Without Compromising Performance

Pluggable Transport Framework

Standard IP network

IP

UDP

• Allows for simultaneous use of multiple transports

• Allows for Secure Transports (e.g. DTLS or TLS/TCP)

DTLS / UDP

RTI Connext DDS

Real-time applications

Page 23: Five Ways to Secure a Real-Time Distributed System Without Compromising Performance

Encrypt Discovery Traffic only

• Can configure DDS to use only certain transports for discovery:– discovery.enabled_transports QoS

• Use case: – protects meta data such as information on the

data types.– protects against an unauthorized application

joining a DDS domain

Page 24: Five Ways to Secure a Real-Time Distributed System Without Compromising Performance

Encrypt Selected Topics

• Can configure DDS to use only certain transports for specific Writers/Readers– transport_selection QoS

W

W

R

R

R

W

W

Insecure Writer

Secure Writer

UDP

UDPDTLS/UDP

Page 25: Five Ways to Secure a Real-Time Distributed System Without Compromising Performance

4. Secure Platforms

• A secure platform can provide security with minimal impact on run-time performance

• Secure platforms– SE Linux– Separation Kernels

Page 26: Five Ways to Secure a Real-Time Distributed System Without Compromising Performance

Key aspects of SE Linux security

• Subjects of access control decisions enforced on Processes– So applications running on a single process cannot

be differentially secured by the kernel– E.g. All components running in an app server are

indistinguishable to the Linux kernel• Objects protected by SE Linux are:

– files, directories, inter-process communication mechanisms, ports, devices, etc.

Page 27: Five Ways to Secure a Real-Time Distributed System Without Compromising Performance

Using SE Linux to Secure DDS Applications

• SE Linux Type Enforcements can be used to restrict access to domains– DDS maps domains to ports and SE Linux can

restrict access which processes can open a given port number

• SE Linux can also be used to restrict access to specific data– Data samples are defined by Topics in DDS– Each Topic can use a separate port

Page 28: Five Ways to Secure a Real-Time Distributed System Without Compromising Performance

RTI DDS in a MILS Partitioning OS

• MILS separation kernel guarantees separation between processes– Time partitioning– Space partitioning– Pre-configured data flow

• Designed to keep data at different security levels separate• MILS kernel evaluated to prove it provides separation• RTI Connext DDS supports VxWorks MILS

Page 29: Five Ways to Secure a Real-Time Distributed System Without Compromising Performance

Active Monitoring

• Intrusion Prevention Systems– Network appliance– Identify and block malware and malicious activity

Page 30: Five Ways to Secure a Real-Time Distributed System Without Compromising Performance

5. Passive Monitoring

• Passive Monitoring on the Device– Application Protocol based IDS

• Dynamic protocol behavior monitoring• Application fingerprinting

– Host based IDS• Monitors behavior of the host• E.g. Verisys, Tripwire

• Passive Monitoring on the Network– Network IDS and anomaly detection

Page 31: Five Ways to Secure a Real-Time Distributed System Without Compromising Performance

Conclusions

• Don’t blindly use IT security technologies on your real-time system

• Instead, use one or more of these approaches1. Create a Secure Channel between Real-Time

Systems2. Secure UDP 3. Selective Encryption4. Secure Platforms5. Passive Monitoring

Page 32: Five Ways to Secure a Real-Time Distributed System Without Compromising Performance

Additional Resources

• Get started in less than an hour– Download a FREE trial of RTI Connext™ Messaging:

www.rti.com/downloads/connext.html

• RTI Supporting Resources– RTI website: www.rti.com– RTI security:

http://www.rti.com/products/dds/security.html – Additional RTI webinars: www.rti.com/mk/webinars.html – Follow RTI on Twitter: twitter.com/RealTimeInnov

Page 33: Five Ways to Secure a Real-Time Distributed System Without Compromising Performance

DownloadConnextFree TrialNOW

www.rti.com/downloads