Ranga Ramanujan - Tolerant Systems

Download Report

Transcript Ranga Ramanujan - Tolerant Systems

Randomized Failover IntrusionTolerant Systems (RFITS)
Ranga Ramanujan, Maher Kaddoura, Carla Marceau,
Clint Sanders, Doug Harper, David Baca
Architecture Technology Corporation (ATC)
ATC-NY (formerly Odyssey Research Associates)
DARPA OASIS PI Meeting
August 20, 2002
Project Introduction



Objective
 Demonstrate viability of randomized failover concept for building
survivable network applications
What is randomized failover?
 Approach for system survivability based on the notion that
attackers can be thwarted by making the failover process
invoked by the system upon detection of an attack appear
unpredictable or “random”
 large failover space makes it difficult for attacker to acquire
knowledge of system state needed to adapt attack
Focus on network borne denial-of-service attacks
 Flooding (packet, service request)
 Host takedown
Project Introduction (Cont’d)

Accomplishment to date
 Developed handbook of survivability design patterns
 Survivable information transport services
 Survivable server groups
 Applied selected design patterns to develop VPNshield
 Completed prototype implementation of VPNshield
 Demo at DARPAtech 2002
 Network 2002 paper
 Completed initial prototype of FlowShield
 Developed design of DoS-resistant JMS
 Participated in Peer Review Validation of VPNshield
FlowShield Design Goals

Site 2
Protect mission-critical
information flows from flooding
DoS attacks
 protection on per packet flow
basis
 guaranteed share of access
link bandwidth for protected
packet flows
 application transparent
 no changes to existing core
network infrastructure
Flow 1
Internet
Flow 3
Site 1
Flow 2
Access Link

Site 3
Supplement infrastructure
based DDoS defenses
FlowShield Approach Overview

Attackers
FEP 2
X1
X2
PER 3
PER 4
PER 2
Internet


= Flow Shield
endpoint (FEP)
PER 1
= PE Router

= Attack traffic source
FEP 1
Packet flows are uniquely
identified by their flow labels (
source IP addr., dest. IP
address)
For each protected flow, the
FlowShield endpoint reserves a
fraction of the access link
bandwidth
Upon detection of a flooding
attack, FlowShield endpoints
“transmute” the label of the
protected flow
Access link reservation for old
flow label is canceled.
Reservation installed for new
label
FlowShield: Appliance Based
Implementation
FS POP
(Client)
Server
FS POP
(Client)
Client
Local
Network
CE Router
FS Appliance
Internet
PE Router
PE Router
Local
Network
CE Router
FS Appliance
Client
FS POP
(Server
)

FS POP
(server
)
FlowShield appliance at boundary of edge network embeds mechanisms for
 detection of flooding attacks
 flow label transformation and link re-provisioning
FlowShield: Appliance Based
Implementation (Cont’d)
FS POP
(server
)
FS POP
(Server
)
Serve
r
Client
Local
Network
FS Appliance
CE Router
PE Router
Internet
PE Router
Local
Network
CE Router
FS Appliance
FS look-up
service
FS POP
(Client)
Tunnel: Client to server
FS POP
(Client)
Tunnel: server to Client

FlowShield POP appliance(s) associated with each edge appliance
 serves as tunnel concatenation device
Assumptions About Threat Environment



Flooding attacks are launched from the edge of the
shared, public network. Attacker does not have access to
core of the shared network.
Shared secrets between FlowShield appliances are
adequately protected against compromise
Volume of traffic may be sufficient to inundate access
link but not sufficient to disrupt operation of service
provider network
Applying RFITS Techniques to Protect
JMS from Flooding Attacks



The Java Message Service (JMS) specification defines a messaging
interface for Java applications.
 It supports both queuing and publish/subscribe.
Message-based applications are vulnerable to denial of service
attacks at the messaging level.
 Attacker can flood message service with spurious messages.
 Prevents application from acting on real messages.
Such attacks may not be visible at the network level
 “Life-cycle” attacks
 Rogue JMS client planted by insider

Access control may not prevent attacks
 Programming errors
Example JMS Implementation
J
N
D
I
JMS Client
Application
J
M
S
Service
Provider
Service Center
JVM
Client Host
Provider Host
JMS Denial of Service Attack
Clients
C1
C2
C3
C4
C5
Message
flood
Topic
Service Center
JMS Channel Partitioning
Clients
C1
C2
C3
C4
C5
T1
T2
T3
T4
T5
Topic
aliases
Topic
T
Service Center
JMS Channel Partitioning

To survive DOS attack by client
When client requests topic for “T” through JNDI interface, assign
alias topic Tk instead of T itself.
 Maintain the Tk  T partition mapping at the service center.
 If client launches DOS attack on topic Tk, invalidate topic Tk and
refuse new topic requests from client host associated with topic
Tk.

Other message service clients continue to function
 Clients communicating through other aliases for T
 New clients requesting topic for “T” from other hosts

Why does this work?
 Each client is segregated into a distinguishable topic, which can
be invalidated selectively.

This defense is also effective for message queues.
Distributed JMS with Local Topic Aliases
Message
to T
C1
Service Center
X
T
Y manages
topic T
Service Center
Y
T2
C2
Message
to T2
C3
Service Center
Z
T4
C4
Delivered
from T4
C5
Conclusion and Future Plans

Demonstrated application of RFITS survivability design
patterns to protect information flows at different levels of
granularity
 aggregated flows (VPNshield)
 individual flows (FlowShield)
 pub/sub messaging (DoS-resistant JMS)

Planned work
 Prototype implementation of FlowShield appliances
 FlowShield customization for CECOM SMS
 Refine and extend design of DoS-resistant JMS