A study of denial of service attacks on the Internet David J. - - PowerPoint PPT Presentation

a study of denial of service attacks on the internet
SMART_READER_LITE
LIVE PREVIEW

A study of denial of service attacks on the Internet David J. - - PowerPoint PPT Presentation

A study of denial of service attacks on the Internet David J. Marchette marchettedj@nswc.navy.mil Naval Surface Warfare Center Code B10 < > - + A study of denial of service attacks on the Internet p.1/39 Outline Background


slide-1
SLIDE 1

< > - +

A study of denial of service attacks on the Internet

David J. Marchette

marchettedj@nswc.navy.mil

Naval Surface Warfare Center Code B10

A study of denial of service attacks on the Internet – p.1/39

slide-2
SLIDE 2

< > - +

Outline

Background Description of the Data Discussion of Results. Conclusions/Discussion

A study of denial of service attacks on the Internet – p.2/39

slide-3
SLIDE 3

< > - +

Computer Security

Companies report hundreds of denial of service attacks each year. They report millions (billions?) of dollars lost.

A study of denial of service attacks on the Internet – p.3/39

slide-4
SLIDE 4

< > - +

Computer Security

Companies report hundreds of denial of service attacks each year. They report millions (billions?) of dollars lost. They lie.

A study of denial of service attacks on the Internet – p.3/39

slide-5
SLIDE 5

< > - +

Computer Security

Companies report hundreds of denial of service attacks each year. They report millions (billions?) of dollars lost. They lie. We need a way to reliably estimate the number, type, and sizes of denial

  • f service attacks on the Internet, without relying on self-reporting by
  • victims. And it must be timely, not days (weeks) after the fact.

A study of denial of service attacks on the Internet – p.3/39

slide-6
SLIDE 6

< > - +

Introduction to Backscatter

This builds on work by David Moore et al, CAIDA, “Inferring Internet Denial-of-Service Activity”, Proceedings of the 10th USENIX Security Symposium, 2001. Many DOS attacks operate by sending packets to a victim with the source address spoofed. This results in response packets sent to the spoofed addresses. By monitoring the unsolicited packets sent to a network, one can estimate the level of attack, how many attacks there are, etc.

A study of denial of service attacks on the Internet – p.4/39

slide-7
SLIDE 7

< > - +

TCP 3-Way Handshake

SYN Client sends a SYNchronize packet.

A study of denial of service attacks on the Internet – p.5/39

slide-8
SLIDE 8

< > - +

TCP 3-Way Handshake

SYN/ACK Server ACKnowledges the SYNchronize.

A study of denial of service attacks on the Internet – p.5/39

slide-9
SLIDE 9

< > - +

TCP 3-Way Handshake

ACK Client ACKnowledges the ACKnowledgment.

A study of denial of service attacks on the Internet – p.5/39

slide-10
SLIDE 10

< > - +

TCP 3-Way Handshake

The communication channel is ready for use.

A study of denial of service attacks on the Internet – p.5/39

slide-11
SLIDE 11

< > - +

TCP 3-Way Handshake

This all works because the machine’s IP addresses are in the packets, so all the routers know where to send the packets. If the client lies about this, you have a denial of service attack.

A study of denial of service attacks on the Internet – p.5/39

slide-12
SLIDE 12

< > - +

Backscatter Cartoon

Victim Attacker(s) The Internet Typical Denial of Service Attack: Syn Flood. Attacker floods the victim with connection requests.

A study of denial of service attacks on the Internet – p.6/39

slide-13
SLIDE 13

< > - +

Backscatter Cartoon

Victim Attacker(s) The Internet Attackers send spoofed SYN packets (“Spoofed” means they put in fake source IPs)

A study of denial of service attacks on the Internet – p.6/39

slide-14
SLIDE 14

< > - +

Backscatter Cartoon

Victim Attacker(s) The Internet Victim responds with SYN/ACK packets

A study of denial of service attacks on the Internet – p.6/39

slide-15
SLIDE 15

< > - +

Backscatter Cartoon

Victim Attacker(s) The Internet Sensors at the spoofed addresses see the response packets us

A study of denial of service attacks on the Internet – p.6/39

slide-16
SLIDE 16

< > - +

Probability of Detecting an Attack

Assume the spoofed IPs are generated randomly, uniformly and

  • independently. Assume m packets are sent in the attack.

Assume we monitor n of the N = 232 possible IP addresses. Assume no packet loss. Then the probability of detecting an attack is: P[detect attack] = 1 −

  • 1 − n

N m . The expected number of backscatter packets we detect is: nm N .

A study of denial of service attacks on the Internet – p.7/39

slide-17
SLIDE 17

< > - +

Estimating the Size of an Attack

The probability of seeing exactly j packets is: P[j packets] = m j n N j 1 − n N m−j . This allows us to estimate the size of the original attack: ˆ m = jN n

  • .

Note that the attacker may choose to select from a subset of the 232 possible IP addresses (many tools do this). Usually N = 232, 224, 216 or 28. We need to be able to determine N.

A study of denial of service attacks on the Internet – p.8/39

slide-18
SLIDE 18

< > - +

Expected Time Between Observed Packets

Assume the attacker sends a packet every t time units, and there is no delay effect on the network. The expected number of attack packets between two detected packets (assuming independence) is:

N

  • s=1
  • 1 − n

N s−1 n N s = (1 − (n + 1)(1 − n

N )N)N

n ≈ N(1 − e−N) n ≈ N n

A study of denial of service attacks on the Internet – p.9/39

slide-19
SLIDE 19

< > - +

Time Between Observed Packets

The variance of the number of packets between two detected packets is:

N

  • s=1
  • 1 − n

N s−1 n N s2 − N

  • s=1
  • 1 − n

N s−1 n N s 2 = N(N − n − N(1 + n)2(1 − n

N )2N − n(1 − n N )N(nN − 1))

n2 ≈ N(N − n) n2 .

A study of denial of service attacks on the Internet – p.10/39

slide-20
SLIDE 20

< > - +

The Data

A network of n = 216 IP addresses was monitored from April 2001 through January 2002. Only TCP packets considered in this study. Packets were assumed to be unsolicited if there had been no legitimate session between the source/destination pair (IPs and ports) for 20 minutes prior to the packet. In this study, only SYN/ACK packets were considered. SYN/ACKS are the response to a SYN flood, or a half-open scan. 8 datasets of contiguous data extracted, 7,672,597 unsolicited SYN packets during 193 days.

A study of denial of service attacks on the Internet – p.11/39

slide-21
SLIDE 21

< > - +

The Data Sets

Data Set Name Duration # days # packets April April 4 – April 17 14 10,449 May May 9 – May 17 9 23,264 June June 1 – June 15 15 27,845 July July 1 – July 15 15 59,666 Sept Sept 1 – Sept 17 17 210,774 Oct Sept 19 – Oct 15 26 1,253,714 Dec Oct 28 – Dec 12 66 5,421,893 Jan Jan 1 – Jan 31 31 665,392 Total 193 7,672,597

A study of denial of service attacks on the Internet – p.12/39

slide-22
SLIDE 22

< > - +

The Attacks

A study of denial of service attacks on the Internet – p.13/39

slide-23
SLIDE 23

< > - +

The Attacks

A study of denial of service attacks on the Internet – p.14/39

slide-24
SLIDE 24

< > - +

Number of Attacks

Let T be the gap between attacks. Then the number of attacks is: Data Set T = 5 minutes T = 1 hour April 1,510 1,231 May 3,072 1,585 June 2,901 2,248 July 1,727 1,220 Sept 3,493 1,520 Sept/Oct 5,216 1,847 Oct/Dec 48,050 3,990 Jan 3,804 3,070 69,773 16,831

A study of denial of service attacks on the Internet – p.15/39

slide-25
SLIDE 25

< > - +

What’s Going On?

Even with the more strict definition of attack, this is over 80 attacks per day. Is this realistic?

A study of denial of service attacks on the Internet – p.16/39

slide-26
SLIDE 26

< > - +

What’s Going On?

Even with the more strict definition of attack, this is over 80 attacks per day. Is this realistic? If each attacker attacks once in this period, then there are about 1,600 active attackers.

A study of denial of service attacks on the Internet – p.16/39

slide-27
SLIDE 27

< > - +

What’s Going On?

Even with the more strict definition of attack, this is over 80 attacks per day. Is this realistic? If each attacker attacks once in this period, then there are about 1,600 active attackers. This might be true.

A study of denial of service attacks on the Internet – p.16/39

slide-28
SLIDE 28

< > - +

What’s Going On?

Even with the more strict definition of attack, this is over 80 attacks per day. Is this realistic? If each attacker attacks once in this period, then there are about 1,600 active attackers. This might be true. Some explanations: dropped packets scans against the monitored network scans against the victim with a few spoofs there really are 80 attacks per day

A study of denial of service attacks on the Internet – p.16/39

slide-29
SLIDE 29

< > - +

What Do We Do?

We can eliminate the dropped packets by considering only attacks with several packets. This biases our estimate of the number of attacks by eliminating “small” attacks. There are ways to detect some kinds of scans, and we can eliminate these. The best solution: better and more sensors.

A study of denial of service attacks on the Internet – p.17/39

slide-30
SLIDE 30

< > - +

Number of Attacks Revisited

Only consider “big” attacks, those of more than 10 packets: Data Set T = 5 minutes T = 1 hour April 54 42 May 62 60 June 97 80 July 149 107 Sept 375 192 Sept/Oct 1,324 177 Oct/Dec 6,551 414 Jan 263 206 8,875 1,278 46/day 7/day

A study of denial of service attacks on the Internet – p.18/39

slide-31
SLIDE 31

< > - +

Are the Random Assumptions Valid?

Our models assume random, independent spoofed IP addresses. We will now consider some attacks to determine whether these assumptions are valid. We are also interested in determining (if possible): the effect/success of the attack. the number of attackers. the attack tool used.

A study of denial of service attacks on the Internet – p.19/39

slide-32
SLIDE 32

< > - +

Attack #1: 2,160 Packets

A study of denial of service attacks on the Internet – p.20/39

slide-33
SLIDE 33

< > - +

What’s Going On?

The “streaks” are caused by resends: When no response is forthcoming the victim waits, then resends the packet. The victim waits twice as long, then resends. The victim waits twice as long, then resends. Three or four resends, then the victim gives up. Resends can be detected by looking at the IP/port pairing and the sequence number, as well as the time between packets. From here on out we eliminate these resends.

A study of denial of service attacks on the Internet – p.21/39

slide-34
SLIDE 34

< > - +

Size of Attacks, Histograms

A study of denial of service attacks on the Internet – p.22/39

slide-35
SLIDE 35

< > - +

Size of Attacks, Histograms

A study of denial of service attacks on the Internet – p.23/39

slide-36
SLIDE 36

< > - +

Attack #2; 1,997 Packets

2 4 6 10000 20000 30000 40000 50000 60000 Time (hours) Spoofed IP

A study of denial of service attacks on the Internet – p.24/39

slide-37
SLIDE 37

< > - +

Attack #3; 7,137 Packets

0.00 0.05 0.10 0.15 10000 20000 30000 40000 50000 60000 Time (hours) Spoofed IP

A study of denial of service attacks on the Internet – p.25/39

slide-38
SLIDE 38

< > - +

Attack #5

20 40 60 80 100 10000 20000 30000 40000 50000 60000 Time (hours) Spoofed IP

A study of denial of service attacks on the Internet – p.26/39

slide-39
SLIDE 39

< > - +

From Whence the Patterns?

Three possibilities: It is caused by the attacker code (non-random spoofed IP selection). It is caused by something to do with the way packets are routed, possibly with multiple attackers. It is caused by the victim (load balancing?).

A study of denial of service attacks on the Internet – p.27/39

slide-40
SLIDE 40

< > - +

Hypothesis: Supreme Random Leetness

From the code to stacheldrahtV4: srandom ((time (0) + random () % getpid ())); /* supreme random leetness */ Notes: time(0) returns seconds. This code is only executed when the attacker chooses not to select over all 232 addresses, but instead only (a subset of) the last three octets. If the code is executed once, it is executed for every spoofed IP address. Does calling random() in the seed introduce structure?. This does not appear to produce the observed patterns.

A study of denial of service attacks on the Internet – p.28/39

slide-41
SLIDE 41

< > - +

Hypothesis: Routing

Assume multiple attackers, different distances away. Packets from each take different length routes. These are interleaved at the sensor. Can this cause the dependence that is observed?

A study of denial of service attacks on the Internet – p.29/39

slide-42
SLIDE 42

< > - +

Hypothesis: Routing

Assume multiple attackers, different distances away. Packets from each take different length routes. These are interleaved at the sensor. Can this cause the dependence that is observed? Routes must depend on spoofed IP address. Only if the attackers split up the spoofed addresses.

A study of denial of service attacks on the Internet – p.29/39

slide-43
SLIDE 43

< > - +

Hypothesis: Routing

Assume multiple attackers, different distances away. Packets from each take different length routes. These are interleaved at the sensor. Can this cause the dependence that is observed? Routes must depend on spoofed IP address. Only if the attackers split up the spoofed addresses. This does not seem to explain the structure.

A study of denial of service attacks on the Internet – p.29/39

slide-44
SLIDE 44

< > - +

Hypothesis: Victim Actions

0.00 0.05 0.10 0.15 0.20 10000 20000 30000 40000 50000 60000 Time (hours) Spoofed IP

Does this contradict the hypothesis?

A study of denial of service attacks on the Internet – p.30/39

slide-45
SLIDE 45

< > - +

Deterministic Algorithm

Assume m attackers each pick a different starting IP address. Each attacker increments the IP address by a fixed amount. Packets arrive at a random time, with random interleaving. This should give a “linear” pattern like we see. Let’s look at this.

A study of denial of service attacks on the Internet – p.31/39

slide-46
SLIDE 46

< > - +

Hypothesis: Deterministic Algorithm

100 attackers, each starting at a random IP , then incrementing by a fixed amount:

50 100 150 200 10000 20000 30000 40000 50000 60000 Time (hours) Spoofed IP 50 100 150 200 10000 20000 30000 40000 50000 60000 Time (hours) Spoofed IP

A study of denial of service attacks on the Internet – p.32/39

slide-47
SLIDE 47

< > - +

Hypothesis: Deterministic Algorithm

100 attackers, each starting at a random IP , then incrementing by a fixed amount:

50 100 150 200 10000 20000 30000 40000 50000 60000 Time (hours) Spoofed IP 20 40 60 80 100 10000 20000 30000 40000 50000 60000 Time (hours) Spoofed IP

Which is the real attack?

A study of denial of service attacks on the Internet – p.32/39

slide-48
SLIDE 48

< > - +

Deterministic Notes

The simulations are similar to the attack patterns. The attackers do not all seem to use the same increment. Adding multiple increments changes the slopes of the lines. There may be packet losses that are not present in the simulations. The simulation’s packet interleaving is probably not quite right.

A study of denial of service attacks on the Internet – p.33/39

slide-49
SLIDE 49

< > - +

Periodogram

20 40 60 80 100 10000 20000 30000 40000 50000 60000 Time (hours) Spoofed IP 200 600 1000 1400 0e+00 1e+18 2e+18 3e+18 4e+18 Frequency Amplitude

A study of denial of service attacks on the Internet – p.34/39

slide-50
SLIDE 50

< > - +

Autocorrelation

20 40 60 80 100 10000 20000 30000 40000 50000 60000 Time (hours) Spoofed IP 200 400 600 800 1000 0.0 0.2 0.4 0.6 0.8 1.0 Lag ACF

Series x

A study of denial of service attacks on the Internet – p.35/39

slide-51
SLIDE 51

< > - +

Thinking about Models

Even deterministic attacks have random aspects to them: Random start times of the attacks from multiple attackers. Random initial IP address. The path length to the victim differs. Different random delays on the path. Packet loss. This results in a (possibly random) interleaving of the packets from different attackers, as well as random arrival times. Some attacks may mix in some random IP selections. Some attacks are purely random.

A study of denial of service attacks on the Internet – p.36/39

slide-52
SLIDE 52

< > - +

Discussion

A single attack packet can generate multiple responses. This means that our estimates must take this into account. Some attack tools use purely random spoofed IP addresses. Some attack tools appear to use a deterministic algorithm. This effects our estimates. Pattern might allow a signature as to the tool used. Pattern might allow for a determination of number of attackers. Attack may not be purely deterministic. Attacks can overlap, making the definition of “attack” tricky. Other header features should be investigated: Destination port. Sequence number.

A study of denial of service attacks on the Internet – p.37/39

slide-53
SLIDE 53

< > - +

Time

20000 40000 60000 1e+09 3e+09 20 40 60 80 100 20000 40000 60000

Spoofed IP Source Port

1050 1150 1250 20 40 60 80 100 1e+09 3e+09 1050 1150 1250

Sequence Number

A study of denial of service attacks on the Internet – p.38/39

slide-54
SLIDE 54

< > - +

Future Work

Stochastic/deterministic model for attacks. Expand the investigation to other header parameters. Look at other attacks besides SYN floods. Explain the bumps in the “size of attack” histograms (are they really there?). Test network for running attack tools. See if we can determine the attack tool from the pattern of the attack. More sensors.

A study of denial of service attacks on the Internet – p.39/39