Top Banner
Counteracting UDP Flooding Attacks in SDN Yung-Hao Tung, Hung-Chuan Wei, Chia-Mu Yu Yuan Ze University
23

Counteracting UDP Flooding Attacks in SDN

Dec 23, 2021

Download

Documents

dariahiddleston
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: Counteracting UDP Flooding Attacks in SDN

Counteracting UDP Flooding Attacks

in SDN

Yung-Hao Tung, Hung-Chuan Wei, Chia-Mu Yu

Yuan Ze University

Page 2: Counteracting UDP Flooding Attacks in SDN

Outline

• SDN overview

• Problem statement

• Proposed method

• Experiments

2

Page 3: Counteracting UDP Flooding Attacks in SDN

SDN Introduction • Centralized approach

• SDN mainly divided into control plane and data plane

• SDN uses the OpenFlow protocol

• SDN switch has a flow table, trying to have a rule match against the received packets

3

Page 4: Counteracting UDP Flooding Attacks in SDN

SDN Introduction Framework:

4

Bandwidth

Management

AP

Virtual

Network

Function

Access

Control

Mechanisms

SDN Controller/Network Management

Switch

Switch Switch

Switch

API Openflow

Control plane

Data plane

Page 5: Counteracting UDP Flooding Attacks in SDN

Problem Statement • Network Security

• The easiest way of compromising a network is to launch a flooding attack (ex: TCP SYN flooding, UDP flooding etc ).

• SDN Security Problems

• When a new flow arrives, the SDN switch will send a packet-in message to the SDN controller.

• However, intentional abusing the controller (or say packet-in message) may incur the security problem.

5

Page 6: Counteracting UDP Flooding Attacks in SDN

Problem Statement

6

Controller

Host1 Host2 Host3

Switch

Flooding attack

… …

Flooding attack

Simulation SDN Network Attack Graph

… …

Page 7: Counteracting UDP Flooding Attacks in SDN

PROTOCOL DESIGN

• Our experiment can be divided into two phases

• First, consider a bunch of simple UDP packets transmitted to the switch.

• Then, we began to do the code implementation on the simulated switch and controller, and evaluated the performance and the security of our defense mechanism.

7

Page 8: Counteracting UDP Flooding Attacks in SDN

PROTOCOL DESIGN Attack Model:

• In the case of no match found, the controller will perform a broadcast to ask whether there is a match for the purpose of IP addresses.

• The attacker can assign a random value to the destination field in the packet.

UDP Packet Section. 8

def generate_ip(): # Create random IP return str(random.randint(0, 255)) + '.'\ + str(random.randint(0, 255)) + '.'\ + str(random.randint(0, 255)) + '.'\ + str(random.randint(0, 255))

Page 9: Counteracting UDP Flooding Attacks in SDN

PROTOCOL DESIGN

9

Total Rate CPU(s) Load avg.

Normal state 5 kbits/sec 0.6 us 0.32

Attack state 6100 ↑ kbits/sec

27 ↑ us 0.87 ↑

Page 10: Counteracting UDP Flooding Attacks in SDN

Defense Architecture

r3 : The number of packets receive by the port

t3 : The number of packets sent by the port

10

Initial Settings

Start analysis mode

Drop packet

Normal network

status

If r3

> t3

If t3

>=

r3

YES

YES

NO

Defense architecture flow chart

Page 11: Counteracting UDP Flooding Attacks in SDN

Defense Architecture • Our analysis model has two conditions.

• If the received packet (r3) > send packets (t3):

• This means that the destination of the sending packet does not exist in the current network, resulting in the controller constantly broadcasting.

• If the packet is sent (t3) > = receive packets (r3):

• The controller can handle the packet-in message and broadcast packets.

11

Page 12: Counteracting UDP Flooding Attacks in SDN

Defense Architecture

@set_ev_cls(ofp_event.EventOFPPacketIn, MAIN_DISPATCHER)

def _packet_in_handler(self, ev):

if ev.msg.msg_len < ev.msg.total_len: self.logger.debug("packet truncated: only %s of %s bytes",

ev.msg.msg_len, ev.msg.total_len)

.

.

if(r3 > t3):

actions = []

.

.

elif(t3 >= r3):

flooding

12

UDP Defense Section

Page 13: Counteracting UDP Flooding Attacks in SDN

Defense Architecture

body = ev.msg.body

self.logger.info('datapath port '

'rx-pkts rx-bytes rx-error '

'tx-pkts tx-bytes tx-error')

self.logger.info('---------------- -------- '

'-------- -------- -------- '

'-------- -------- --------')

for stat in sorted(body, key=attrgetter('port_no')):

self.logger.info('%016x %8x %8d %8d %8d %8d %8d %8d',

ev.msg.datapath.id, stat.port_no,

stat.rx_packets, stat.rx_bytes, stat.rx_errors,

stat.tx_packets, stat.tx_bytes, stat.tx_errors 13

Return packets on all ports

Page 14: Counteracting UDP Flooding Attacks in SDN

EXPERIMENTS • Experiment Setting

• In the experiment. we use mininet to simulate the SDN OpenFlow switch, and use RYU to simulate the controller.

• Moreover, IPerf, TOP, IPTRAF are used as monitoring tools.

• For the network topology, we considered two physical hosts and a controller.

• They are on different physical machines for ensuring more accurate measurement.

14

Page 15: Counteracting UDP Flooding Attacks in SDN

EXPERIMENTS • Defense Achievements

• In our experiment, we consider two cases (with and without attack) and observe the difference between these two cases.

15

Page 16: Counteracting UDP Flooding Attacks in SDN

EXPERIMENTS Network bandwidth and controller performance comparison

16

IPerf Top IPtraf

No Defense TX bps:412 Bytes/s

CPU(s): 27.2 us Total rate:

6139.0 Kbits/sec 4846.4 packets/sec

Defense TX bps: 33 Bytes/s

CPU(s): 14.8 us Total rate:

2790.7 Kbits/sec 1861.8 packets/sec

Page 17: Counteracting UDP Flooding Attacks in SDN

Related Work

• Comparison of Defense

17

FloodGuard UDP

No Defense 7 Mbps 6 Mbps

Defense 2 Mbps 2 Mbps

Page 18: Counteracting UDP Flooding Attacks in SDN

CONCLUSION • The proposed defense resist against the UDP flooding with a minor modification in SDN

module.

• The countermeasure particularly designed for only UDP flooding works with better

performance

18

Page 19: Counteracting UDP Flooding Attacks in SDN

Let us know if you have any comments or questions.

Thank you for listening.

Mailbox:

[email protected]

[email protected]

[email protected]

19

Page 20: Counteracting UDP Flooding Attacks in SDN

Question

• Given the operation flow chart probing the switches periodically, it would be a naturally raised question how much overhead this approach would introduce.

• Furthermore, this question extends to what is the parameters we should consider to trade off security and performance compromise.

20

Page 21: Counteracting UDP Flooding Attacks in SDN

Answer

• Using this method, we are only at the expense of request packet for some time. The following mechanisms to facilitate the analysis.

• Although this sacrifices some benign request, but in exchange for increased security.

• But in the time of the attack, a benign request to wait for a short time.

21

Page 22: Counteracting UDP Flooding Attacks in SDN

Qustion

• The conditions, 'If r3 > t3' or 't3 >= r3' over simplifies or ignores lots of other possibilities considering the nature of UDP traffic ( eg. streaming applications).

22

Page 23: Counteracting UDP Flooding Attacks in SDN

Answer

• Perhaps while watching the movie, the flow slightly. But the normal traffic.

• This time we use to calculate packet per second to reduce false positives.

23