L4-SecurityInDistributedSystems
L4-SecurityInDistributedSystems
Security model
Types of threat
Basic techniques
Cryptographic techniques
Secrecy
Authentication
Certificates and credentials
Access control
Audit trails
Symmetric and asymmetric encryption algorithms
Digital signatures
Secure Socket Layer (SSL)
2
Why Security is so Important in DS?
There is a pervasive need for measures to guarantee the
privacy, integrity, and availability of resources in distributed
systems.
Security attacks take various forms: Eavesdropping,
masquerading, tampering, and denial of service.
Designers of secure distributed systems must cope with the
exposed interfaces and insecure network in an environment
where attackers are likely to have knowledge of the
algorithms used to deploy computing resources.
Cryptography provides the basis for the authentication of
messages as well as their secrecy and integrity.
3
How is Security in Real World?
4
Objects and Principals
Access rights Object
invocation
Client
result Server
5
The Enemy
Copy of m
The enemy
m’
Process p Process q
m
Communication channel
Attacks
On applications that handle financial transactions or other
service
6
Secure Channels
Cryptography
Principal A The enemy Principal B
Properties
Ownership of secrets:
Each process is sure of the identity of the other
Conventional shared crypto keys
Data is private and protected against tampering
Public/private key pair
Protection against repetition and reordering of data
Employs cryptography
Secrecy based on cryptographic concealment
Authentication based on proof of ownership of secrets
7
Threats and Forms of Attack
8
Threats not Defeated by Secure Channels or
Other Cryptographic Techniques
Denial of service (DoS) attacks
Deliberately excessive use of resources to the extent that they are
New software installation
Mobile code downloaded dynamically by existing software (e.g. Java
applets)
Accidental execution of programs
9
The February 2000 IP Spoofing DDoS Attack
Campus intranets
Firewall
IP = n.n.n.i amazon.com
IP = x.x.x.x
Internet
yahoo.com
IP = y.y.y.y
Untrue!
Compromised host on each local network
sends repeatedly (for all i): Echo request | source = x.x.x.x | destination = n.n.n.i
11
Overview of Security Techniques
Digital cryptography provides the basis for most
computer security mechanisms.
Cryptography is an art of encoding information in a
format that only intended recipient can access.
Cryptography can be used to provide a proof of
authenticity of information in a manner analogous to
the use of signature in conventional transactions.
12
Classes of Cryptography Algorithms
The sender and recipient share a knowledge of the key and it
must not be revealed to anyone.
Public/Private Key Pair:
The sender of a message uses a recipient’s public key to encrypt
the message.
The recipient uses a corresponding private key to decrypt the
message.
Uses of Cryptography:
Secrecy and integrity (to stop eavesdropping and tampering) + also
Digital Signatures
13
Security Notations –
Familiar Names and Notations in Security Literature
15
Secret Communication with a Shared Secret Key
Alice wishes to send some information secretly. Alice and Bob share a
secret key KAB.
1. Alice uses KAB and an agreed encryption function E(KAB, M) to
encrypt and send any number of messages {Mi}KAB to Bob.
2. Bob reads the encrypted messages using the corresponding
decryption function D(KAB, M).
Alice and Bob can go on using KAB as long as it is safe to assume that KAB has not been
compromised.
Issues:
Key distribution: How can Alice send a shared key KAB to Bob securely?
Freshness of communication: How does Bob know that any {Mi} isn’t a copy of an
earlier encrypted message from Alice that was captured by Mallory and replayed
later? Problem: if the message is a request to pay some money to someone. Mallory
might trick Bob into paying twice?
16
The Secret-Key Encryption Model
17
Authenticated Communication with Public Keys
Bob has a public/private key pair <KBpub, KBpriv> & establishes KAB as
follows:
1.Alice obtains Bob's public key KBpub
2.Alice creates a new shared key KAB , encrypts it using KBpub using a
public-key algorithm and sends the result to Bob.
3. Bob uses the corresponding private key KBpriv to decrypt it.
(If they want to be sure that the message hasn't been tampered with, Alice can add an
agreed value to it and Bob can check it.)
19
The Public-Key Authentication Model
20
Digital Signatures
22
Certificates
23
Your New Certificate
25
Access Control
Protection domain
A set of <resource, rights> pairs
E.g. UNIX file access permissions
For more complex object types and user communities,
ACLs can become very complex
Capabilities associated with principals
drwxr-xr-x gfc22 staff 264 Oct 30 16:57 Acrobat User Data
-rw-r--r--
Like a key
gfc22 unknown 0 Nov 1 09:34 Eudora Folder
-rw-r--r-- gfc22 staff 163945 Oct 24 00:16 Preview of xx.pdf
drwxr-xr-xFormat:
gfc22 <resource
staff id,
264permitted operations,
Oct 31 13:09 iTunes
-rw-r--r-- gfc22 staff 325 Oct 22 22:59 list of broken apps.rtf
authentication code>
26
Kerberos Authentication and Key Distribution
Service
Secures communication with servers on a local network
Developed at MIT in the 1980s to provide security
across a large campus network > 5000 users
Standardized and now included in many operating systems
Internet RFC 1510, OSF DCE
BSD UNIX, Linux, Windows 2000, NT, XP, etc.
Available from MIT
Kerberos server creates a shared secret key for any required
server and sends it (encrypted) to the user's computer
User's password is the initial secret shared with Kerberos
27
System Architecture of Kerberos
Needham - Schroeder
TGS: Ticket-
Kerberos Key Distribution Centre S protocol
granting
service Authentication 1. A->S: A, B, NA
database
Step A Authen- Ticket-
Granting
2. S->A: {NA , B, KAB,
tication
1. Request for service A Service T
TGS ticket {KAB, A}KB}KA
2. TGS 3. A->B: {KAB, A}KB
ticket
Step B 4. B->A: {N }K
B AB
3. Request for
server ticket 5. A->B: {NB - 1}KAB
Login Step C
session setup
4. Server ticket
5. Service N is a random number caller
Server request nonce to prevent replay attack
session setup Service
function
Request encrypted with session key
DoOperation
Reply encrypted with session key Step A once per login session
28
What are Intrusions?
Attacker Compromised
Machine
30
Intrusion Detection Systems
Intrusion Detection System
– Combination of software and hardware that attempts to perform intrusion detection
– Raises the alarm when possible intrusion happens Example of SNORT
Traditional intrusion detection system IDS tools are based on rule
signatures of known attacks (MS-SQL “Slammer” worm)
Limitations any -> udp port 1434
– Signature database has to be manually revised
for each new type of discovered intrusion
(content:"|81 F1 03 01 04
– Substantial latency in deployment of newly created signatures across the computer 9B 81 F1 01|";
system content:"sock";
– They cannot detect emerging cyber threats content:"send")
– Not suitable for detecting policy violations and insider abuse
– Do not provide understanding of network traffic
– Generate too many false alarms
– Not suited for detecting multi-step attacks www.sno
rt.org
31
Data Mining for Intrusion Detection
32
Secure Socket Layer (SSL)
34
SSL Protocol Stack
changes the
secure channel
to a new spec
negotiates cipher
suite, exchanges SSL
Handshake SSL Change SSL Alert
certificates and key HTTP Telnet
masters Cipher Spec Protocol
protocol
implements the
secure channel SSL Record Protocol
35
TLS/SSL Handshake Protocol
(Handshake is Performed over an Existing Connection)
Certificate
Certificate Request Optionally send server certificate and
request client certificate
ServerHelloDone
36
SSL Handshake Configuration Options
37
SSL Record Protocol Operation: A Pipeline for
Data Transformation
abcdefghi
Application data
Fragment/combine
Compress
Compressed units
Hash
MAC
Encrypt
Encrypted
Transmit
TCP packet
38
Summary
39