http://se.informatik.uni-wuerzburg.de/ SSP 2018, Hildesheim
Addressing Shortcomings
- f Existing DDoS Protection Software
Using Software-Defined Networking
Lukas Iffländer, Stefan Geissler, Jürgen Walter, Lukas Beierlieb, Samuel Kounev 08.11.2018
Addressing Shortcomings of Existing DDoS Protection Software Using - - PowerPoint PPT Presentation
Addressing Shortcomings of Existing DDoS Protection Software Using Software-Defined Networking SSP 2018, Hildesheim Lukas Ifflnder , Stefan Geissler, Jrgen Walter, Lukas Beierlieb, Samuel Kounev 08.11.2018
http://se.informatik.uni-wuerzburg.de/ SSP 2018, Hildesheim
Lukas Iffländer, Stefan Geissler, Jürgen Walter, Lukas Beierlieb, Samuel Kounev 08.11.2018
Lukas Iffländer, Stefan Geissler, Jürgen Walter, Lukas Beierlieb, Samuel Kounev 2
Addressing Shortcomings of Existing DDoS Protection Software Using Software-Defined Networking
Motivation
systems hardware Need for more effective mitigation approaches
Lukas Iffländer, Stefan Geissler, Jürgen Walter, Lukas Beierlieb, Samuel Kounev 3
Addressing Shortcomings of Existing DDoS Protection Software Using Software-Defined Networking
SYN Flood
Lukas Iffländer, Stefan Geissler, Jürgen Walter, Lukas Beierlieb, Samuel Kounev 4
Addressing Shortcomings of Existing DDoS Protection Software Using Software-Defined Networking
TCP
necessary
in a three-way handshake
Lukas Iffländer, Stefan Geissler, Jürgen Walter, Lukas Beierlieb, Samuel Kounev 5
Addressing Shortcomings of Existing DDoS Protection Software Using Software-Defined Networking
TCP Handshake
Client Server
Lukas Iffländer, Stefan Geissler, Jürgen Walter, Lukas Beierlieb, Samuel Kounev 6
Addressing Shortcomings of Existing DDoS Protection Software Using Software-Defined Networking
SYN Flood
Client Server
Backlog:
TCB sIP1 TCB sIP1 TCB sIP2 TCB sIP1 TCB sIP2 TCB sIP3 TCB sIP1 TCB sIP2 TCB sIP3 TCB sIP4
Lukas Iffländer, Stefan Geissler, Jürgen Walter, Lukas Beierlieb, Samuel Kounev 7
Addressing Shortcomings of Existing DDoS Protection Software Using Software-Defined Networking
SYN Flood Explanation
Lukas Iffländer, Stefan Geissler, Jürgen Walter, Lukas Beierlieb, Samuel Kounev 8
Addressing Shortcomings of Existing DDoS Protection Software Using Software-Defined Networking
SYN Flood
Lukas Iffländer, Stefan Geissler, Jürgen Walter, Lukas Beierlieb, Samuel Kounev 9
Addressing Shortcomings of Existing DDoS Protection Software Using Software-Defined Networking
SYN Cookies
Client Server
MSS
time mod 32 crypt. HASH source IP/Port dest. IP/Port
5 3 24
calculate expected cookie, compare with ackn-1
Lukas Iffländer, Stefan Geissler, Jürgen Walter, Lukas Beierlieb, Samuel Kounev 10
Addressing Shortcomings of Existing DDoS Protection Software Using Software-Defined Networking
SYN Cookies
Lukas Iffländer, Stefan Geissler, Jürgen Walter, Lukas Beierlieb, Samuel Kounev 11
Addressing Shortcomings of Existing DDoS Protection Software Using Software-Defined Networking
SYN PROXY – Connection Establishment
Client SYN PROXY Server
Lukas Iffländer, Stefan Geissler, Jürgen Walter, Lukas Beierlieb, Samuel Kounev 12
Addressing Shortcomings of Existing DDoS Protection Software Using Software-Defined Networking
SYN PROXY – Data Transfer
Client SYN PROXY Server
Lukas Iffländer, Stefan Geissler, Jürgen Walter, Lukas Beierlieb, Samuel Kounev 13
Addressing Shortcomings of Existing DDoS Protection Software Using Software-Defined Networking
SYN PROXY
Lukas Iffländer, Stefan Geissler, Jürgen Walter, Lukas Beierlieb, Samuel Kounev 14
Addressing Shortcomings of Existing DDoS Protection Software Using Software-Defined Networking
Limitations
SYN Cookies
SYN PROXY
Lukas Iffländer, Stefan Geissler, Jürgen Walter, Lukas Beierlieb, Samuel Kounev 15
Addressing Shortcomings of Existing DDoS Protection Software Using Software-Defined Networking
In a Nutshell
Lukas Iffländer, Stefan Geissler, Jürgen Walter, Lukas Beierlieb, Samuel Kounev 16
Addressing Shortcomings of Existing DDoS Protection Software Using Software-Defined Networking
SYN Flood
Lukas Iffländer, Stefan Geissler, Jürgen Walter, Lukas Beierlieb, Samuel Kounev 17
Addressing Shortcomings of Existing DDoS Protection Software Using Software-Defined Networking
SDN and NFV
a set of flows
sets of connected switches
addressed to them
hardware (instead of being an ASIC)
Lukas Iffländer, Stefan Geissler, Jürgen Walter, Lukas Beierlieb, Samuel Kounev 18
Addressing Shortcomings of Existing DDoS Protection Software Using Software-Defined Networking
SDN/NFV Approach
Server Gateway Attacker Client
Lukas Iffländer, Stefan Geissler, Jürgen Walter, Lukas Beierlieb, Samuel Kounev 19
Addressing Shortcomings of Existing DDoS Protection Software Using Software-Defined Networking
SDN/NFV Approach
Server Gateway Attacker Client OF-switch Controller VNF
Lukas Iffländer, Stefan Geissler, Jürgen Walter, Lukas Beierlieb, Samuel Kounev 20
Addressing Shortcomings of Existing DDoS Protection Software Using Software-Defined Networking
SDN/NFV Approach
Server Gateway Attacker Client OF-switch Controller VNF
Prio Match Action GW VNF SERV VNF VNF GW 1 VNF, daddr=s_ip SERV
Lukas Iffländer, Stefan Geissler, Jürgen Walter, Lukas Beierlieb, Samuel Kounev 21
Addressing Shortcomings of Existing DDoS Protection Software Using Software-Defined Networking
SDN/NFV Approach
Server Gateway Attacker Client OF-switch Controller VNF
Prio Match Action GW VNF SERV VNF VNF GW 1 VNF, daddr=s_ip SERV
SYN
SYN ACK
Lukas Iffländer, Stefan Geissler, Jürgen Walter, Lukas Beierlieb, Samuel Kounev 22
Addressing Shortcomings of Existing DDoS Protection Software Using Software-Defined Networking
SDN/NFV Approach
Server Gateway Attacker Client OF-switch Controller VNF
Prio Match Action GW VNF SERV VNF VNF GW 1 VNF, daddr=s_ip SERV
SYN
SYN ACK
ACK SYN+
SYN ACK
ACK REST OF
10 GW, from client SERV 10 SERV, to client GW
data data
Lukas Iffländer, Stefan Geissler, Jürgen Walter, Lukas Beierlieb, Samuel Kounev 23
Addressing Shortcomings of Existing DDoS Protection Software Using Software-Defined Networking
Lukas Iffländer, Stefan Geissler, Jürgen Walter, Lukas Beierlieb, Samuel Kounev 24
Addressing Shortcomings of Existing DDoS Protection Software Using Software-Defined Networking
Implementation: Kernel Modification
Lukas Iffländer, Stefan Geissler, Jürgen Walter, Lukas Beierlieb, Samuel Kounev 25
Addressing Shortcomings of Existing DDoS Protection Software Using Software-Defined Networking
Implementation: VNF
VNF is split in DPDK application and Python application DPDK:
Python:
Lukas Iffländer, Stefan Geissler, Jürgen Walter, Lukas Beierlieb, Samuel Kounev 26
Addressing Shortcomings of Existing DDoS Protection Software Using Software-Defined Networking
Lukas Iffländer, Stefan Geissler, Jürgen Walter, Lukas Beierlieb, Samuel Kounev 27
Addressing Shortcomings of Existing DDoS Protection Software Using Software-Defined Networking
Virtual Testbed
Lukas Iffländer, Stefan Geissler, Jürgen Walter, Lukas Beierlieb, Samuel Kounev 28
Addressing Shortcomings of Existing DDoS Protection Software Using Software-Defined Networking
Testing Methodology
Lukas Iffländer, Stefan Geissler, Jürgen Walter, Lukas Beierlieb, Samuel Kounev 29
Addressing Shortcomings of Existing DDoS Protection Software Using Software-Defined Networking
First Results
No Protection SYN Cookies Our Approach AVG Successfull Connections out
35 30.2
Lukas Iffländer, Stefan Geissler, Jürgen Walter, Lukas Beierlieb, Samuel Kounev 30
Addressing Shortcomings of Existing DDoS Protection Software Using Software-Defined Networking
Limitations
Lukas Iffländer, Stefan Geissler, Jürgen Walter, Lukas Beierlieb, Samuel Kounev 31
Addressing Shortcomings of Existing DDoS Protection Software Using Software-Defined Networking
Lukas Iffländer, Stefan Geissler, Jürgen Walter, Lukas Beierlieb, Samuel Kounev 32
Addressing Shortcomings of Existing DDoS Protection Software Using Software-Defined Networking
Conclusion
Lukas Iffländer, Stefan Geissler, Jürgen Walter, Lukas Beierlieb, Samuel Kounev 33
Addressing Shortcomings of Existing DDoS Protection Software Using Software-Defined Networking
Future Work
Lukas Iffländer, Stefan Geissler, Jürgen Walter, Lukas Beierlieb, Samuel Kounev 34
Addressing Shortcomings of Existing DDoS Protection Software Using Software-Defined Networking
Phone: +49 (931) 31 89947 Mail: lukas.ifflaender@uni-wuerzburg.de Web: https://go.uniwue.de/ifflaender
Lukas Iffländer, Stefan Geissler, Jürgen Walter, Lukas Beierlieb, Samuel Kounev 35
Addressing Shortcomings of Existing DDoS Protection Software Using Software-Defined Networking
Bibliography
Lukas Iffländer, Stefan Geissler, Jürgen Walter, Lukas Beierlieb, Samuel Kounev 36
Addressing Shortcomings of Existing DDoS Protection Software Using Software-Defined Networking
Lukas Iffländer, Stefan Geissler, Jürgen Walter, Lukas Beierlieb, Samuel Kounev 37
Addressing Shortcomings of Existing DDoS Protection Software Using Software-Defined Networking
Implementation: Kernel Modification
static u32 tcp_v4_init_seq(const struct sk_buff *skb) { return secure_tcp_seq(ip_hdr(skb)->daddr, ip_hdr(skb)->saddr, tcp_hdr(skb)->dest, tcp_hdr(skb)->source); }
Lukas Iffländer, Stefan Geissler, Jürgen Walter, Lukas Beierlieb, Samuel Kounev 38
Addressing Shortcomings of Existing DDoS Protection Software Using Software-Defined Networking
Implementation: Kernel Modification
static u32 tcp_v4_init_seq(const struct sk_buff *skb) { struct tcphdr *tcph; unsigned char *payload_start, *payload_end; tcph = tcp_hdr(skb); payload_start = (unsigned char *)((unsigned char *)tcph+(tcph->doff * 4)); payload_end = skb_tail_pointer(skb); if (payload_end - payload_start == 4) return cpu_to_be32(*((u32 *)payload_start)); return secure_tcp_seq(ip_hdr(skb)->daddr, ip_hdr(skb)->saddr, tcp_hdr(skb)->dest, tcp_hdr(skb)->source); }
Lukas Iffländer, Stefan Geissler, Jürgen Walter, Lukas Beierlieb, Samuel Kounev 39
Addressing Shortcomings of Existing DDoS Protection Software Using Software-Defined Networking
DPDK Features
Lukas Iffländer, Stefan Geissler, Jürgen Walter, Lukas Beierlieb, Samuel Kounev 40
Addressing Shortcomings of Existing DDoS Protection Software Using Software-Defined Networking
DPDK Application
Lukas Iffländer, Stefan Geissler, Jürgen Walter, Lukas Beierlieb, Samuel Kounev 41
Addressing Shortcomings of Existing DDoS Protection Software Using Software-Defined Networking
Python application
into flow modification REST request
Lukas Iffländer, Stefan Geissler, Jürgen Walter, Lukas Beierlieb, Samuel Kounev 42
Addressing Shortcomings of Existing DDoS Protection Software Using Software-Defined Networking
NICs and Drivers
NIC base addr length head tail RAM mempool descriptor ring pool addr 0 pool addr 1 pool addr 2 pool addr 3
T H
Lukas Iffländer, Stefan Geissler, Jürgen Walter, Lukas Beierlieb, Samuel Kounev 43
Addressing Shortcomings of Existing DDoS Protection Software Using Software-Defined Networking
Kernel Modification Validation
echo -n -e '\x01\x23\x45\x67' > payload hping3 --count 1 --syn --dest-port 80 --data 4 --file payload 192.168.0.10
Lukas Iffländer, Stefan Geissler, Jürgen Walter, Lukas Beierlieb, Samuel Kounev 44
Addressing Shortcomings of Existing DDoS Protection Software Using Software-Defined Networking
Kernel Modification Validation
Lukas Iffländer, Stefan Geissler, Jürgen Walter, Lukas Beierlieb, Samuel Kounev 45
Addressing Shortcomings of Existing DDoS Protection Software Using Software-Defined Networking
Kernel Modification Validation
Lukas Iffländer, Stefan Geissler, Jürgen Walter, Lukas Beierlieb, Samuel Kounev 46
Addressing Shortcomings of Existing DDoS Protection Software Using Software-Defined Networking
THREADS Validation