m - CSE - University of South Carolina

Download Report

Transcript m - CSE - University of South Carolina

CSCE 715:
Network Systems Security
Chin-Tser Huang
[email protected]
University of South Carolina
What Can Go Wrong…

…when your computer y receive or is
waiting for a message m?
?
m
Internet
x
08/27/2013
y
2
Message Loss

Adversary A can discard m in its transit
A
m
x
08/27/2013
y
3
Message Interception

Adversary A can get a copy of m when
m passes by
A
m
x
08/27/2013
m
m
y
4
Message Modification

Adversary A can arbitrarily modify the
content of m to become m’
A
m
x
08/27/2013
m’
y
5
Message Insertion

Adversary A can arbitrarily fabricate a
message m, pretending that m was sent by x
src: x
dst: y
A
m
x
08/27/2013
y
6
Message Replay

Adversary A can replay a message m that has
been sent earlier by x and received by y
m
A
m
x
08/27/2013
y
7
Denial-of-Service Attack

Adversary A can send huge amount of
messages to y to block m from arriving at y

In the case of botnet attack, the adversary
instructs many bots to send messages to y
simultaneously
A
m
?????
x
08/27/2013
…
…
…
…
…
…
y
8
More Scenarios

In one case, x wants y to be able to verify
message m is sent by a legitimate party but
not able to determine identity of x
src: ?
dst: y
m
Internet
x
08/27/2013
y
9
More Scenarios

In another case, y wants to be able to prove
to third party z that y receives message m
from x
z
x sent
m
m
to y
Internet
x
08/27/2013
y
10
Network Security Is Great…




Protect messages from interception in
their transit
Provide desired level of privacy for user
or data
Detect and discard messages that are
modified, inserted, or replayed
Disallow unauthorized access to local
system resource and sensitive data
08/27/2013
11
…But Hard To Achieve





Many layers in network architecture
Many different media of network
connection
Adversary’s location hard to determine
New attacks keep emerging
Cryptographic overhead
08/27/2013
12
Attacks, Mechanisms, and Services




Security attack: any action that compromises
security of information owned by an organization
Security mechanism: a mechanism designed to
detect, prevent, or recover from a security attack
Security service: a service that enhances security
of data processing systems and information transfers
of an organization
Security service uses one or more security
mechanisms to counter security attack
08/27/2013
13
Type of Attacks

Passive attacks


Message interception
Traffic analysis

Active attacks





08/27/2013
Message loss
Message modification
Message insertion
Message replay
Denial-of-Service
attack
14
Network Security Services

Confidentiality
Integrity
Authentication
Anti-replay

…



08/27/2013




Availability
Access control
Non-repudiation
Anonymity
15
Confidentiality


Keep message known only to the
receiver and remain secret to anyone
else
To counter message interception
08/27/2013
16
Integrity


When receiver receives message m,
receiver can verify that m is intact after
sent by sender
To counter message modification
08/27/2013
17
Authentication


When receiver receives message m,
receiver can verify that m is indeed sent
by the sender recorded in m
To counter message insertion
08/27/2013
18
Anti-replay


When receiver receives message m,
receiver can verify m is not a message
that was sent and received before
To counter message replay
08/27/2013
19
Availability


Property of a system or a resource
being accessible and usable upon
demand by an authorized entity
To counter denial-of-service attack
08/27/2013
20
Access Control



Mechanism to enforce access rights to
resources and data
Users can access resources and data to
which they have access rights
Users cannot access resources and data
to which they don’t have access rights
08/27/2013
21
Non-repudiation


Sender non-repudiation: When
receiver receives message m, receiver
gets proof that sender of m ever sent m
Receiver of m can show proof to thirdparty so that sender of m cannot
repudiate
08/27/2013
22
Non-repudiation


Receiver non-repudiation: When
receiver receives message m, sender
gets proof that receiver of m ever
receives m
Sender of m can show proof to thirdparty so that receiver of m cannot
repudiate
08/27/2013
23
Anonymity


Identity of sender is hidden from
receiver
When receiver receives message m,
receiver has no clue about sender of m
08/27/2013
24
Network Protocols

Abstractions of communication between two
processes over a network




Define message formats
Define legitimate sequence of messages
Take care of physical details of different
network hardware and machines
Separate tasks in complex communication
networks

For example, FTP and ARP
08/27/2013
25
Example: IP Header
08/27/2013
26
Protocol Layering



Many problems need to be solved in a
communication network
These problems can be divided into
smaller sets and different protocols are
designed for each set of problem
Protocols can be organized into layers
to keep them easy to manage
08/27/2013
27
Properties of Protocol Layer

Functions of each layer are independent
of functions of other layers


Thus each layer is like a module and can
be developed independently
Each layer builds on services provided
by lower layers

Thus no need to worry about details of
lower layers -- transparent to this layer
08/27/2013
28
Protocol Stack: OSI Model
Application
Presentation
Session
Transport
Network
Data link
Physical
08/27/2013
29
Communicating End Hosts
Host
Host
Application
Application
Presentation
Presentation
Session
Session
Transport
Router
Transport
Network
Network
Network
Data link
Data link
Data link
Physical
Physical
Physical
08/27/2013
30
Verification of Network Protocols



Many complex protocols perform
multiple functions with multiple
messages
It is desirable to verify that a protocol
can correctly perform functions that it
was designed for
Particularly important for security
protocols
08/27/2013
31
Traditional Ways of
Network Protocol Specification

Plain English

Time charts

Programming languages
08/27/2013
32
Shortcomings of Plain English

Ambiguity


Different words can have similar meanings
process p sends message m to process q
process p transmits message m to process q
process p forwards message m to process q
process p delivers message m to process q
Same word can have different meanings
process p sends message m to process q
process p sends file f to process q
08/27/2013
33
Shortcoming of Time Chart

Not scalable


Many legitimate sequences of messages
Cannot list all possible legitimate sequences when
the number of sequences grows exponentially
08/27/2013
34
Shortcoming of Using
Programming Language


Hard to prove correctness of protocol
specification
For example, protocol specified in C language
may involve overlap, and may involve
transmission delay
08/27/2013
35
Formal Ways of
Network Protocol Specification

BAN logic

Abstract Protocol Notation
08/27/2013
36
BAN Logic


Invented by Burrows, Abadi, and
Needham
Use logical constructs and
postulates to analyze authentication
protocols and uncover various protocol
weaknesses
08/27/2013
37
Logical Constructs








Assume P and Q are network agents, X is a message, and K is
an encryption key
P believes X: P acts as if X is true, and may assert X in other
messages
P has jurisdiction over X: P 's beliefs about X should be
trusted
P said X: At one time, P transmitted (and believed) message X,
although P might no longer believe X
P sees X: P receives message X, and can read and repeat X
{X}K: X is encrypted with key K
fresh(X): X was sent recently
key(K, P<->Q): P and Q may communicate with shared key K
08/27/2013
38
Examples of Postulates




If P believes key(K, P<->Q), and P sees {X}K,
then P believes (Q said X)
If P believes (Q said X) and P believes
fresh(X), then P believes (Q believes X)
If P believes (Q has jurisdiction over X) and P
believes (Q believes X), then P believes X
If P believes that Q said <X, Y>, the
concatenation of X and Y, then P believes
that Q said X, and P also believes that Q said
Y
08/27/2013
39
Shortcomings of BAN Logic



High level of abstraction
Need for a protocol idealization step, in
which the user is required to transform
each message in a protocol into
formulas
Can only verify a round every time
08/27/2013
40
Abstract Protocol Notation

Presented by Mohamed Gouda in the book
Elements of Network Protocol Design


Formal and scalable
Proof of correctness of protocol specification
can be easily done using state transition
diagram
08/27/2013
41
Communication Model

A network of processes and two unbounded
FIFO channels between every two processes
Set of messages
process p
…
08/27/2013
-------
process q
…
42
Process Specification

Each process in a protocol is specified as follows
process px
inp <name of
…
<name of
var <name of
…
<name of
begin
<action>
[]
<action>
…
[]
<action>
end
08/27/2013
input>
:
<type of input>
input> :
variable> :
<type of input>
<type of variable>
variable> :
<type of variable>
43
Action Execution


Specified as <guard>  <statement>
Satisfy three conditions



Atomic: actions in the whole protocol are
executed one at a time; one action cannot start
while another action execution is in progress
Non-deterministic: an action is enabled when
its guard is true; any action that is enabled at a
state can be selected for execution at that state
Fair: if guard of an action is continuously true,
then the action is eventually executed
08/27/2013
44
State Transition Diagram



Define semantic of a protocol
State is defined by a value for each variable
in protocol and by a message set for each
channel in protocol
Transition is movement from current state to
next state triggered by an action execution
08/27/2013
45
An Example Protocol
process p
var ready: boolean
{init. ready=true}
txt, t : integer
begin
ready 
txt := any;
send rqst(txt) to q;
ready := false
process q
var t
: integer
begin
rcv rqst(t) from p 
t := any;
send rply(t) to p
end
[] rcv rply(t) from q 
{use text t in received
message}
ready := true
end
08/27/2013
46
State Transition Diagram of Example
Protocol
T.0
T.1
T.0 :
ready 
ch.p.q = < > 
ch.q.p = < >
T.1 :
~ready 
ch.p.q = <rqst(txt)>
ch.q.p = < >
T.2 :
~ready 
ch.p.q = < > 
ch.q.p = <rply(t.q)>
T.2
08/27/2013
47
Adversary Model

Adversary can change contents of protocol channels
by executing the following actions a finite number of
times




Message loss: lose an original message
Message modification: modify the field of an original
message to cause a modified message
Message replay: replace an original message by another
original message to cause a replayed message
Message insertion: add to a channel a finite number of
arbitrary messages
08/27/2013
48
Prove Correctness of Secure Protocol


Execution of adversary actions may lead the
protocol to a bad state
Protocol is said to be correct if it converges to
its good cycle in a finite number of steps after
adversary finishes executing its actions
08/27/2013
49
Next Class



Network security tools to counter the
effects of adversary actions
Cryptography backgrounds of network
security tools
Read Ch. 2
08/27/2013
50