Attacking SDN Infrastructure
Attacking SDN Infrastructure
SDN INFRASTRUCTURE:
ARE WE READY FOR THE NEXT-GEN NETWORKING?
Changhoon Yoon, Seungsoo Lee
{chyoon87, lss365}@kaist.ac.kr
Contents
1. About us
2. Software-defined Networking (SDN) ?
3. Attacking SDN Infrastructure
Scenario: Attacking Software-Defined Data Center (SDDC)
Vulnerabilities
Seungwon Shin
- Assistant Professor of EE dept. at KAIST
- Research Associate of
Open Networking Foundation (ONF)
- Leading Network and System Security Lab.
Seungsoo Lee
Changhoon Yoon - PhD student at KAIST
- PhD student at KAIST - Project DELTA
- Project SM-ONOS
Traditional Networking
Too complicated
Control plane is implemented with complicated S/W and ASIC
Unstable, increased complexity in management
Closed platform
Control Plane
Vendor specific
Hard to modify (nearly impossible) Data Plane
Hard to add new functionalities
Barrier to innovation Legacy Network Device
Data Plane
Basic SDN operation
L2 Forwarding
Controller
Host A Host B
SDN Switch
Flow Table
MATCH ACTION
Host A Host B FWD
Data Center Network Design
Spine
Leaf Border
Leaf
Servers Edge
East-West Traffic
Spine
Leaf Border
Leaf
Servers Edge
SDDC
Control Plane
Distributed NOS Distributed NOS Distributed NOS
Node #1 Node #2 Node #3
Update, deploy
Spine
Build environment
Leaf Border
Leaf
Servers Edge
Insider(tenant) attacks
Misconfiguration
- DoS/Control plane saturation attack
against the NOS cluster - Direct access to critical SDN components
- Topology Poisoning - CLI/GUI/SSH etc.
SDN Control Plane Components
Open Source SDN Controller (NOS) implementations
Open Network Operating System (ONOS) & OpenDaylight (ODL)
[1] http://www.brocade.com/en/products-services/software-networking/sdn-controllers-applications/sdn-controller.html
Attack Vector: Misconfiguration
Remotely accessible interfaces
Remote SSH to NOS host machines
Karaf container CLI
WebConsole, GUI
REST API
Defenses
Follow the security guideline available here:
http://docs.opendaylight.org/en/latest/getting-started-
guide/security_considerations.html
Changing default credentials
Properly configuring Firewall policies to block remote access
Attack Vector: Malware
Configuration
Deployment environment
Rogue Distributed NOS Distributed NOS Distributed NOS
SDN controller Node #1 Node #2 Node #3
source code
repository
Attack Vector: Malware 2
Compromising SDN Control Plane at Runtime
Deployment environment
Malicious
REST App1 App 2 App 3 App 4 App 5
App
Can install API
Northbound API
SDN apps
at runtime GUI Core Services
Southbound API
CLI
Controller
Distributed NOS Distributed NOS
Node #2 Node #3
Distributed NOS Node #1
Attack Vectors: Insider (tenant) attacks
Malicious tenants
Control plane saturation attack (DoS) against the NOS cluster [1]
Topology Poisoning [2]
SDDC
Control Plane
Distributed NOS Distributed NOS Distributed NOS
Node #1 Node #2 Node #3
Spine
Leaf Border
Leaf
Servers Edge
[1] Shin, Seungwon, and Guofei Gu. "Attacking software-defined networks: A first feasibility study." Proceedings of the second ACM SIGCOMM workshop on Hot topics in software defined networking. ACM, 2013.
[2] Hong, Sungmin, et al. "Poisoning Network Visibility in Software-Defined Networks: New Attacks and Countermeasures." NDSS. 2015.
Attack Scenario 1
Compromising SDN control plane at build time to launch arbitrary SDN controller node injection attack
Build environment
reverse shell
Deployment
DCN Admin/Operator environment
Distributed NOS Distributed NOS Distributed NOS
Node #1 Node #2 Node #3
DCN
The Vulnerabilities (selected from the scenario)
1. No System Integrity Protection
2. No authentication of NOS cluster nodes
3. No application access control
4. Switch Device Firmware Abuse
5. Packet-IN Flooding
6. Control Message Manipulation
7. Eavesdrop Want more?
8. Internal Storage Manipulation
9. . Visit http://sdnsecurity.org !!
(will open in 09/2016)
Vulnerability 1. No system integrity protection
There is no system integrity protection for NOS components
Integrity of the CORE NOS components must be guaranteed
Deployable
SDN controller package
Possible Defenses
Configuration
- Code signing
- Integrity protection mechanisms (e.g. checksum) Distributed NOS
Node #1
Distributed NOS
Node #2
Distributed NOS
Node #3
Vulnerability 2. No authentication of NOS cluster nodes
Distributed NOS Distributed NOS
Node #1 Node #2
San Francisco AS
NewYork AS
External
BGP Routers
External
SD-WAN
- PKI-based authentication for the NOS components
Malicious NOS
Los Angeles AS External
Node
BGP Routers
External
BGP Routers
SDN applications are granted very powerful authority; need to limit Data Plane
Vulnerability 4. Switch device firmware abuse
App 1 App 2 App N
Controller
HP 3800 Switch Match Chart [1]
X2
Controller
a
Hardware Table
Software Table
MATCH ACTION
FLOW_MOD
IP.HOST A -> IP.HOST B
MAC.HOST A -> MAC.HOST B OUT: FW1
FLOW_MOD
IP.HOST B -> IP.HOST A
MAC.HOST B -> MAC.HOST A OUT: FW2
Override IP matching flow rules Possible Defense
with MAC matching flow rules!
- Flow rule conflict detection & arbitration
SDN Controller
Channel
Agent
Agent Manager
Host Agent
[1] http://opensourcesdn.org/projects/project-delta-sdn-security-evaluation-framework/
SDN Application security policy enforcement
Security-Mode ONOS
Inspired by Mobile application security mechanisms
Constrains ONOS (SDN) applications behavior
A security policy per app
OSGi protection domain OSGi protection domain
Detects and blocks Policy Policy
Northbound API
[A-1] Packet-In Flooding [A-3] Internal Storage Manipulation
[A-8] System Variable Manipulation Network Operating System [A-4] Control Message Manipulation