21
Security-Mode ONOS Changhoon Yoon KAIST

Security-ModeONOS• System command execution – Denial of Service ONOS node 1 ONOS node 2 ONOS node N Applications Distributed Core Southbound API Northbound API Providers Protocols

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Security-ModeONOS• System command execution – Denial of Service ONOS node 1 ONOS node 2 ONOS node N Applications Distributed Core Southbound API Northbound API Providers Protocols

Security-Mode ONOS

Changhoon Yoon

KAIST

Page 2: Security-ModeONOS• System command execution – Denial of Service ONOS node 1 ONOS node 2 ONOS node N Applications Distributed Core Southbound API Northbound API Providers Protocols

Collaborators

Thomas Vachuska

Phillip Porras Vinod YegneswaranSeungwon Shin Heedo Kang

Brian O’Connor

Martin Fong

KAIST SRI International

ON. LAB

Page 3: Security-ModeONOS• System command execution – Denial of Service ONOS node 1 ONOS node 2 ONOS node N Applications Distributed Core Southbound API Northbound API Providers Protocols

Security-Mode ONOS ?

1) Application layer access control

• A network application permission-enforce model for managing distributedONOS applications

2) Application auditing

• Provide operators with explicit insight and control over the ONOS core services and APIs used by each ONOS application

Page 4: Security-ModeONOS• System command execution – Denial of Service ONOS node 1 ONOS node 2 ONOS node N Applications Distributed Core Southbound API Northbound API Providers Protocols

Motivation• Powerful authority granted to ONOS applications

- Direct network manipulation- Data exfiltration (IP theft)- Denial of service- anything is possible!

• Applications cannot be trusted- Third-party applications (from untrusted source)

may contain malicious/buggy code

Page 5: Security-ModeONOS• System command execution – Denial of Service ONOS node 1 ONOS node 2 ONOS node N Applications Distributed Core Southbound API Northbound API Providers Protocols

Motivating examples• System command execution – Denial of Service

ONOS node 1 ONOS node 2 ONOS node N

Applications

Distributed Core

Southbound API

Northbound API

Providers

Protocols

Providers

Protocols

Providers

Protocols

sw1

sw2

sw3Host A Host C

JVM JVM JVM

(1) System.exit(

0)

Page 6: Security-ModeONOS• System command execution – Denial of Service ONOS node 1 ONOS node 2 ONOS node N Applications Distributed Core Southbound API Northbound API Providers Protocols

Motivating examples• Southbound API access

ONOS node 1 ONOS node 2 ONOS node N

Applications

Distributed Core

Southbound API

Northbound API

Providers

Protocols

Providers

Protocols

Providers

Protocols

Global Network View

sw1

sw2

sw3

sw1

sw2

sw3(1) sw1disconnected

(2)

Page 7: Security-ModeONOS• System command execution – Denial of Service ONOS node 1 ONOS node 2 ONOS node N Applications Distributed Core Southbound API Northbound API Providers Protocols

Motivating examples• Persistent switch disconnection event generation

Inconsistent global network view

Page 8: Security-ModeONOS• System command execution – Denial of Service ONOS node 1 ONOS node 2 ONOS node N Applications Distributed Core Southbound API Northbound API Providers Protocols

Motivating examples• Administrative API access

Page 9: Security-ModeONOS• System command execution – Denial of Service ONOS node 1 ONOS node 2 ONOS node N Applications Distributed Core Southbound API Northbound API Providers Protocols

Motivating examples• Host and device removal

Page 10: Security-ModeONOS• System command execution – Denial of Service ONOS node 1 ONOS node 2 ONOS node N Applications Distributed Core Southbound API Northbound API Providers Protocols

Permission Model1) Bundle-level role-based access control

- If a bundle is an application bundle,ONLY grant least permissions required (least-privileged)

(e.g., system command execution, Southbound API access are restricted)

2) Application-level role-based access control- If application has ‘USER’ role,

Administrative NB API access is restricted

3) API-level permission-based access control- An application can access a NB API,

ONLY IF it has the required permission

Page 11: Security-ModeONOS• System command execution – Denial of Service ONOS node 1 ONOS node 2 ONOS node N Applications Distributed Core Southbound API Northbound API Providers Protocols

Security Policy FileApplication role

Application permissions

Extra OSGi permissions

Extra Java system permissions

Provides a clear view of application intrinsic

Page 12: Security-ModeONOS• System command execution – Denial of Service ONOS node 1 ONOS node 2 ONOS node N Applications Distributed Core Southbound API Northbound API Providers Protocols

Security-Mode ONOS (SM-ONOS)• The BIG picture

Securty-mode compatibleONOS Application

policyfile

distribute

Securty-Mode ONOScluster

ONOS application developer

ONOS network operator

Securty-mode compatibleONOS Application

deploy

application auditing policy violation notification

ONOS Application

Page 13: Security-ModeONOS• System command execution – Denial of Service ONOS node 1 ONOS node 2 ONOS node N Applications Distributed Core Southbound API Northbound API Providers Protocols

Secure application activation• In Security-Mode, an ONOS operator MUST…

1) review application security policy2) agree and accept security policy

… prior to activating an application

• Upon the policy acceptance, policy is immediatelyenforced to the application bundles

• ONOS operator should be able to go through the secure app activation process ANYWHERE in the cluster!

Page 14: Security-ModeONOS• System command execution – Denial of Service ONOS node 1 ONOS node 2 ONOS node N Applications Distributed Core Southbound API Northbound API Providers Protocols

Secure application activation• Extend existing application state machine

• An application can only be activated, if ‘Security State’ of the application is ‘SECURED’

Application State Machine (in ONOS)

ACTIVEINSTALLED

activate

install

END

START

uninstall uninstall

deactivate

Application State Machine (in Security-Mode ONOS)

ACTIVEINSTALLED

activate(SecurityState == SECURED)

install

END

START

uninstall uninstall

activate(SecurityState != SECURED)

deactivate

Page 15: Security-ModeONOS• System command execution – Denial of Service ONOS node 1 ONOS node 2 ONOS node N Applications Distributed Core Southbound API Northbound API Providers Protocols

Security State of Application• SM-ONOS maintains Security State of each application

(via Strongly consistent / RAFT-based consistent store)• Security States

- INSTALLED : Application has been installed- REVIEWED : Security policy has been reviewed by ONOS operator- SECURED : Security policy has been accepted and enforced- POLICY_VIOLATED : Application has violated security policy

Security State Machine (in Security-Mode ONOS)

SECUREDINSTALLED

review accept policy

activateREVIEWED

policyviolation

START

END

uninstall uninstall uninstall

POLICY_VIOLATED

Page 16: Security-ModeONOS• System command execution – Denial of Service ONOS node 1 ONOS node 2 ONOS node N Applications Distributed Core Southbound API Northbound API Providers Protocols

Distributed security policy enforcement• Application subsystem enables

‘Cluster-wide’ application installation/activation

• Application security policy MUST be consistently enforced to distributed applications!

• How? - Consistent distributed store

Page 17: Security-ModeONOS• System command execution – Denial of Service ONOS node 1 ONOS node 2 ONOS node N Applications Distributed Core Southbound API Northbound API Providers Protocols

Distributed security policy enforcement

• Security policy and state information- synchronized using strongly consistent store

• Security policy violation events- synchronized using eventually consistent store

Manager

Policy builder

Felix Security-enabled OSGi Framework

Security Distributed Store

sync &persist

Policy enforcer

Permissions

PolicyViolatedEvent

StateUpdatedEvent Permissions

Gossip-based eventually consistent distributed store

RAFT-based strongly consistent distributed store

StateUpdatedEvent

Page 18: Security-ModeONOS• System command execution – Denial of Service ONOS node 1 ONOS node 2 ONOS node N Applications Distributed Core Southbound API Northbound API Providers Protocols

Application security policy enforcement• How to locally enforce security policy ?

- Leverage both Java and OSGi security framework

Native Operating System

Java VM

Core

Southbound API

Providers

App 1 App N

Protocols

Network Elements

Java Security OSG

i Security

Application layerNetwork OS layer Northbound API

OSGi Framework

Java Security

APP 1 APP 2OSGi protection domain

SB API

Core

NB API

OSGi protection domain

Admin Service

ONOS NB-API permission checkpoint

Bundle1

OSGi protection domain

Bundle3

Policyfile

Device Manager Host Manager

Service

Provider Service Provider Registry

Providers

Protocols

Network Elements

Security Manager

grantpermissions

A

BB

C

Bundle-level RBACA

App-level RBACB

API-level permission-based ACC

Bundle2

Policyfile

Page 19: Security-ModeONOS• System command execution – Denial of Service ONOS node 1 ONOS node 2 ONOS node N Applications Distributed Core Southbound API Northbound API Providers Protocols

Summary

• New application layer access control

• Secure application activation mechanism

• Distributed application security policy enforcement

Page 20: Security-ModeONOS• System command execution – Denial of Service ONOS node 1 ONOS node 2 ONOS node N Applications Distributed Core Southbound API Northbound API Providers Protocols

Thank You

Page 21: Security-ModeONOS• System command execution – Denial of Service ONOS node 1 ONOS node 2 ONOS node N Applications Distributed Core Southbound API Northbound API Providers Protocols

LearnmoreaboutONOSandjointhecommunityatonosproject.org

“Software-defined networking can radically reshape the wide area network. The introduction ofONOS provides another open source SDN option designed for service provider networks with thepotential to deliver the performance, scale, availability and core features that we value”

JohnDonovanSeniorExecutiveVicePresidentAT&TTechnology&Operations

BUILD USE CHAMPION