The Problem IP Spoofing CS 239 Existing Internet protocols and - - PDF document

the problem ip spoofing cs 239
SMART_READER_LITE
LIVE PREVIEW

The Problem IP Spoofing CS 239 Existing Internet protocols and - - PDF document

The Problem IP Spoofing CS 239 Existing Internet protocols and Advanced Topics in Network infrastructure allow forgery of some IP Security packet header fields Peter Reiher In particular, the source address field can often be


slide-1
SLIDE 1

1

Lecture 2 Page 1 CS 239, Spring 2004

IP Spoofing CS 239 Advanced Topics in Network Security Peter Reiher April 7, 2004

Lecture 2 Page 2 CS 239, Spring 2004

The Problem

  • Existing Internet protocols and

infrastructure allow forgery of some IP packet header fields

  • In particular, the source address field

can often be forged

Lecture 2 Page 3 CS 239, Spring 2004

Why Is That a Problem?

  • Can’t trust where packets came from
  • If packet causes trouble, can’t

determine its true source

  • Particularly important for distributed

denial of service attacks –But relevant for other situations

Lecture 2 Page 4 CS 239, Spring 2004

Limitations of the Problem

  • If attacker forges source address in

packet, probably won’t see the response

  • So spoofing only useful when attacker

doesn’t care about response –Usually denial of service attacks

  • This point is not universally true

Lecture 2 Page 5 CS 239, Spring 2004

Types of Spoofing

  • General spoofing

– Attacker chooses a random IP address for source address

  • Subnet spoofing

– Attacker chooses an address from the subnet his real machine is on – With suitable sniffing, can see responses – Harder for some types of filtering

Lecture 2 Page 6 CS 239, Spring 2004

Combating Spoofing

  • Basic approaches:

1. Authenticate address 2. Prevent delivery of packets with spoofed addresses 3. Trace packets with spoofed addresses to their true source 4. Deduce bogosity from other packet header information

slide-2
SLIDE 2

2

Lecture 2 Page 7 CS 239, Spring 2004

Authenticate Address

  • Probably requires cryptography
  • Can be done with IPSec
  • Incurs cryptographic costs
  • Only feasible when crypto

authentication is feasible

  • Could we afford to do this for all

packets?

Lecture 2 Page 8 CS 239, Spring 2004

Preventing Delivery of Spoofed Packets

  • Somehow recognize that address is

spoofed –Usually based on information about network topology and addresses

  • Simple version is ingress filtering
  • More sophisticated methods are

possible

Lecture 2 Page 9 CS 239, Spring 2004

Ingress Filtering Example

128.171.192.*

95.113.27.12 56.29.138.2

My network shouldn’t be creating packets with this source address

Lecture 2 Page 10 CS 239, Spring 2004

Diagram for Detection Approaches

A B C D E F G I J H

Lecture 2 Page 11 CS 239, Spring 2004

Potential Problems With Approaches Requiring Infrastructure Support

  • Issues of speed and cost
  • Issues of trustworthiness
  • Issues of deployment

–Why will it be deployed at all? –How will it work partially deployed?

Lecture 2 Page 12 CS 239, Spring 2004

Packet Tracing

  • Figure out where the packet really came

from

  • Generally only feasible if there is a

continuing stream of packets

  • Will be discussed in more detail in later

class

  • Challenges when there are multiple sources
  • f spoofed addresses
slide-3
SLIDE 3

3

Lecture 2 Page 13 CS 239, Spring 2004

Using Other Packet Header Info

  • Packets from a particular source IP address

have stereotypical header info – E.g., for given destination, TTL probably is fairly steady

  • Look for implausible info in such fields
  • Could help against really random spoofing
  • Attacker can probably deduce many

plausible values

  • There aren’t that many possible values

Lecture 2 Page 14 CS 239, Spring 2004

Diagram for Using TTL

A B C D E F G I J H 32 32 31 30 29 28 27

A 27 B D E F G H I 27 26 58 27 26 30 30 A 27

30

Lecture 2 Page 15 CS 239, Spring 2004

Open Questions

  • Are there entirely different families of

approaches?

  • How can you actually build tables for

detection approaches?

  • Can detection approaches work in practical

deployments?

  • Are crypto approaches actually feasible?