Top Banner
Network Security Architectures Part 2 Formalization and Testing Summer School on Software Security Theory to Practice Carl A. Gunter University of Pennsylvania Summer 2004
35

Network Security Architectures Part 2 Formalization and Testing Summer School on Software Security Theory to Practice Carl A. Gunter University of Pennsylvania.

Dec 29, 2015

Download

Documents

Noreen Lynch
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: Network Security Architectures Part 2 Formalization and Testing Summer School on Software Security Theory to Practice Carl A. Gunter University of Pennsylvania.

Network Security ArchitecturesPart 2 Formalization and Testing

Summer School on Software Security Theory to Practice

Carl A. GunterUniversity of PennsylvaniaSummer 2004

Page 2: Network Security Architectures Part 2 Formalization and Testing Summer School on Software Security Theory to Practice Carl A. Gunter University of Pennsylvania.

End-to-End Security and Mandatory Tunnels

First hopencryption

Second hopencryption

SecurityGatewayClient Server

Examples: WTLS, cdma2000, L2TP, Palm VII

Page 3: Network Security Architectures Part 2 Formalization and Testing Summer School on Software Security Theory to Practice Carl A. Gunter University of Pennsylvania.

Goals for a Security Protocol

1. If client C receives content from server S, then this is authorized by the policies of S and all of the security gateways between C and S

2. If C receives content from S, then this content is encrypted and authenticated from end-to-end between C and S

3. Simple setup and low-overhead enforcement

Page 4: Network Security Architectures Part 2 Formalization and Testing Summer School on Software Security Theory to Practice Carl A. Gunter University of Pennsylvania.

IPSec Strategy

Page 5: Network Security Architectures Part 2 Formalization and Testing Summer School on Software Security Theory to Practice Carl A. Gunter University of Pennsylvania.

Encapsulation

AH headers for authentication and authorization of traversal. Use tunnel mode.

ESP header for authentication and confidentiality of end-to-end communication. Use transport mode.

IP AH IP AH IP ESP TCP payload ESP

20 24 20 24 20 8 20 16

Page 6: Network Security Architectures Part 2 Formalization and Testing Summer School on Software Security Theory to Practice Carl A. Gunter University of Pennsylvania.

Drawbacks to IPSec Solution

Requires complex configuration using nested tunnels to establish security associations between client, gateways and server

Encrypts the TCP header limiting use of VJC and other similar compression techniques

Setup is relatively costly as session keys must be exchanged

Nested headers introduce significant bandwidth overhead

Page 7: Network Security Architectures Part 2 Formalization and Testing Summer School on Software Security Theory to Practice Carl A. Gunter University of Pennsylvania.

IP SEC Header Overheads for 576 Byte Packets

# SGs

TCP TCP + VJC

0 7% 17%

1 22% 31%

2 39% 49%

3 61% 70%

4 88% 97%

Security overhead =

(4.50 + 7.61t) (60.8 – 5.25t)

Page 8: Network Security Architectures Part 2 Formalization and Testing Summer School on Software Security Theory to Practice Carl A. Gunter University of Pennsylvania.

Evidence of Problems

Experimental: FreeBSD IPSec showed an overhead of 46% with two gateways

Standards activity: secure L2TP overheads were so severe a standard was developed specifically to reduce them. Default security with one gatekeeper yielded this:ESPIP L2TPUDP IPPPP TCPESP Payload ESPESP

A Goodloe, C Gunter, T Hiller, P McCann, M McDougall

Page 9: Network Security Architectures Part 2 Formalization and Testing Summer School on Software Security Theory to Practice Carl A. Gunter University of Pennsylvania.

Case Study: Layer 3 Accounting (L3A)

Motivating problem from wireless security

Solution by composing secure tunnels

Maude model Problems Future work

A Goodloe, C Gunter, MO Stehr

Page 10: Network Security Architectures Part 2 Formalization and Testing Summer School on Software Security Theory to Practice Carl A. Gunter University of Pennsylvania.

Wireless Security

Why is wireless security any different from wired security? Resource constraints Increased risk to confidentiality Value of the network link

Page 11: Network Security Architectures Part 2 Formalization and Testing Summer School on Software Security Theory to Practice Carl A. Gunter University of Pennsylvania.

Wireless Security Efforts

Layer 1 (Physical) Spread spectrum

Layer 2 (Link) 802.11x – 802.11(b) WEP, 802.11(g) CDMA 2000 GPRS

Page 12: Network Security Architectures Part 2 Formalization and Testing Summer School on Software Security Theory to Practice Carl A. Gunter University of Pennsylvania.

802.11/WEP

Server

RADIUS

Attacker

SSL

WEP

Router/NAT

Page 13: Network Security Architectures Part 2 Formalization and Testing Summer School on Software Security Theory to Practice Carl A. Gunter University of Pennsylvania.

Network Layer Wireless Security

We propose that security be addressed at the network layer

Advantages Independent of underlying link layer Overcomes many of the problems of layer 2

solutions Leverages extensive experience, s/w, and h/w

support from Ipsec for VPNs Disadvantage

Need set up protocols

Page 14: Network Security Architectures Part 2 Formalization and Testing Summer School on Software Security Theory to Practice Carl A. Gunter University of Pennsylvania.

Protocols for Tunnel Composition

We have been investigating protocols for composing IPSec security tunnels

Given a scenario we ask: What tunnels should we establish? What properties should these tunnels

have? Develop protocols that compose these

tunnels into a satisfactory solution Lots of messy details to consider in order

to get the composition to work

Page 15: Network Security Architectures Part 2 Formalization and Testing Summer School on Software Security Theory to Practice Carl A. Gunter University of Pennsylvania.

Toward Layer 3 Security

Suppose we have three parties: client, server, network access server (NAS)

The client wishes to securely access the server

We will assume that the client has a relationship with the NAS and the server, but the NAS does not have a relationship to the server The Client will have to authenticate itself to

both the NAS and the server

Page 16: Network Security Architectures Part 2 Formalization and Testing Summer School on Software Security Theory to Practice Carl A. Gunter University of Pennsylvania.

Network Layer Wireless Security

Laptop

Server

Authentication

Authentication and Encryption

NAS

Page 17: Network Security Architectures Part 2 Formalization and Testing Summer School on Software Security Theory to Practice Carl A. Gunter University of Pennsylvania.

Problem

Similar problem as before The NAS does not protect the client

from attacking incoming traffic Being forced to pay for service you

never used is worse than denial of service

Page 18: Network Security Architectures Part 2 Formalization and Testing Summer School on Software Security Theory to Practice Carl A. Gunter University of Pennsylvania.

How About a Firewall?

Laptop

Server

Authentication

Authentication and Encryption

NAS

Firewall

Page 19: Network Security Architectures Part 2 Formalization and Testing Summer School on Software Security Theory to Practice Carl A. Gunter University of Pennsylvania.

Why Not a Firewall

A stateful firewall can be programmed to allow only traffic from the address to which a connection has been made

The firewall can not see the contents of the Ipsec traffic and cannot guarantee origin of any traffic.

Page 20: Network Security Architectures Part 2 Formalization and Testing Summer School on Software Security Theory to Practice Carl A. Gunter University of Pennsylvania.

L3A Protocol Principles

The user’s traffic should travel in DOS resistant IPSec tunnels

These IPSec tunnels should be set up using DOS resistant protocols

The NAS should ensure that when the accounting system logs traffic as being from a user it is actually from that user: viz. it must authenticate incoming traffic

Page 21: Network Security Architectures Part 2 Formalization and Testing Summer School on Software Security Theory to Practice Carl A. Gunter University of Pennsylvania.

L3A Protocol Components

L3A protocol sets up three bidirectional tunnels

SIKE Key Exchange protocol (X509 + DoS protection) Very simple: does not use two party key

generation No guarantee of perfect forward

secrecy. Assumes existence of public key

infrastructure

Page 22: Network Security Architectures Part 2 Formalization and Testing Summer School on Software Security Theory to Practice Carl A. Gunter University of Pennsylvania.

L3A Architecture

Laptop

Server

Authentication Authentication

Authentication and Encryption

NAS

Page 23: Network Security Architectures Part 2 Formalization and Testing Summer School on Software Security Theory to Practice Carl A. Gunter University of Pennsylvania.

Methodology

An English language description resembling an IETF RFC is produced

A formal specification is written in Maude

Systems are modeled using membership equational logic and rewriting logic

Symbolic simulation has been our main debugging aid

We feel the design is now relatively stable

Page 24: Network Security Architectures Part 2 Formalization and Testing Summer School on Software Security Theory to Practice Carl A. Gunter University of Pennsylvania.

IPSec SA & SPD

Security Associations define a set of cryptographic transformations that are applied to each packet. Authentication w/ HMAC. Encrypt

w/3DES. SAD

Security Policies filter traffic and define what SAs apply to what traffic. CS goes into tunnels CS and CN SPD

Page 25: Network Security Architectures Part 2 Formalization and Testing Summer School on Software Security Theory to Practice Carl A. Gunter University of Pennsylvania.

SIKEA B

rA, SPI(n,0)

rA,rB, SPI(n,m), certB, cookieA

certA,cookieA, DA, Ps(a,DA)

Where DA = [rA, IPB, SPI(n,m)]

Where CookieA = VersionSecret | Hash([rA,rB,IPA, SPI(n,m)],Secret)

DB, Ps(b,DB)

Where DB = [rB, IPA, rA, SPI(n,m), Pe(A, K)]

Update SADB/SPD AB

Update SADB/SPD BA

Update SADB/SPD BA

Update SADB/SPD AB

Page 26: Network Security Architectures Part 2 Formalization and Testing Summer School on Software Security Theory to Practice Carl A. Gunter University of Pennsylvania.

L3A Protocol Overview

ClientNAS Server

Req(cred)

Ack(cred)

Fin

SPD CS:(CN)

SPD C->S:(C->N)

SPD SC:(SN)

SPD:SC:(SN)

Page 27: Network Security Architectures Part 2 Formalization and Testing Summer School on Software Security Theory to Practice Carl A. Gunter University of Pennsylvania.

Abstractions

Getting the right level of abstraction Modeled the various components and

layers IP, IPSec, L3A, …..

We found that we didn’t need to model details of IPSec authentication and encryption since we are interested in the set up of tunnels

We discovered that our model of IP send/receive was too abstract. Introduced messy concurrency problems

Page 28: Network Security Architectures Part 2 Formalization and Testing Summer School on Software Security Theory to Practice Carl A. Gunter University of Pennsylvania.

Overview of Module Interaction

L3A

PKI

SIKE

Ipsec

IP

setkey

Page 29: Network Security Architectures Part 2 Formalization and Testing Summer School on Software Security Theory to Practice Carl A. Gunter University of Pennsylvania.

Security Assoc

State Message

IpsecSecurity Policy

SIKEPKI

L3A AbstractL3A

L3A Test Abstract

L3A Test ConcreteSIKE Test

IP

Routing TableIP Message

Setkey

Page 30: Network Security Architectures Part 2 Formalization and Testing Summer School on Software Security Theory to Practice Carl A. Gunter University of Pennsylvania.

Modeling Uncovered Problems

Problems arose from interactions among the components

Numerous iterations were required to resolve problems resulting from when the Ipsec databases are updated Maude search feature was of great help

here When things are not done right

packets can slip into partially set up tunnels

Page 31: Network Security Architectures Part 2 Formalization and Testing Summer School on Software Security Theory to Practice Carl A. Gunter University of Pennsylvania.

We Didn’t Model

Timers Lost Messages Periodic updates to the secret used

to generate the cookie Fragmentation

Can be the source of DOS attacks UDP layer: Ports not mentioned at all

in the model

Page 32: Network Security Architectures Part 2 Formalization and Testing Summer School on Software Security Theory to Practice Carl A. Gunter University of Pennsylvania.

Implementation

Under development at this moment Platform. X86 running FreeBSD w/

IPSec. C with Open SSL crypto libraries Radius server to be used for accounting

Will demonstrate that our protocol can be implemented using available technology

Hope to get some useful benchmarks

A Goodloe, C Gunter, M Jacobs, G Shah

Page 33: Network Security Architectures Part 2 Formalization and Testing Summer School on Software Security Theory to Practice Carl A. Gunter University of Pennsylvania.

Future Work

Continue work on verifying composition of security tunnels

We are currently thinking about attacks

Do such compositions introduce new vulnerabilities?

Add the capability to reuse tunnels Seemed easy at first, but may require

some major restructuring of the design Figure out what theorems need to be

proven

Page 34: Network Security Architectures Part 2 Formalization and Testing Summer School on Software Security Theory to Practice Carl A. Gunter University of Pennsylvania.

Simulators

Maude “logical simulations” Exhaustive breath

first search. Model checking. Must abstract

things like packet size.

Not good with timers.

Not really useful for performance modeling.

OPNET, NS-2 discrete event simulation. Good at modeling

details (time, etc). Often used to

estimate network performance

Not good at finding the extreme cases

Probably wouldn’t have found several of our concurrency problems

Page 35: Network Security Architectures Part 2 Formalization and Testing Summer School on Software Security Theory to Practice Carl A. Gunter University of Pennsylvania.

Summary

Complex problems arise when composing high-level security protocols such as Ipsec tunnels

Wireless networks pose some new challenges but can leverage general solutions

Symbolic simulation can provide a powerful tool for the design of network security protocols