profsandhu.com · 2020. 7. 21. · Routing Service. Device Management; Statistics Collection. Link...

65
Role Based Access Control For Software Defined Networking Formal Models and Implementation Dissertation Defense Abdullah Al-Alaj Institute for Cyber Security Department of Computer Science The University of Texas at San Antonio Committee: Prof. Ravi Sandhu, Ph.D. (Advisor) Dr. Ram Krishnan, Ph.D. (Co-advisor) Dr. Palden Lama, Ph.D. Prof. Gregory White, Ph.D. Dr. Weining Zhang, Ph.D. July 20, 2020.

Transcript of profsandhu.com · 2020. 7. 21. · Routing Service. Device Management; Statistics Collection. Link...

Page 1: profsandhu.com · 2020. 7. 21. · Routing Service. Device Management; Statistics Collection. Link Discovery : Switch Management. Other: Routing Firewall Load . Balancing. Intrusion

Role Based Access Control For Software Defined NetworkingFormal Models and Implementation

Dissertation DefenseAbdullah Al-Alaj

Institute for Cyber SecurityDepartment of Computer Science

The University of Texas at San Antonio

Committee:Prof. Ravi Sandhu, Ph.D. (Advisor)

Dr. Ram Krishnan, Ph.D. (Co-advisor)Dr. Palden Lama, Ph.D.

Prof. Gregory White, Ph.D.Dr. Weining Zhang, Ph.D.

July 20, 2020.

Page 2: profsandhu.com · 2020. 7. 21. · Routing Service. Device Management; Statistics Collection. Link Discovery : Switch Management. Other: Routing Firewall Load . Balancing. Intrusion

• Introduction• SDN-RBAC Model• Parameterized Permissions and Roles• ParaSDN Model for Fine Grained and

Scalable Authorization in SDN• SDN-RBACa Administrative Model• Proxy Operations and Custom Permissions• Conclusion and Future Work

Outline

2@ Abdullah Al-Alaj

Page 3: profsandhu.com · 2020. 7. 21. · Routing Service. Device Management; Statistics Collection. Link Discovery : Switch Management. Other: Routing Firewall Load . Balancing. Intrusion

IntroductionTraditional Networks

3@ Abdullah Al-Alaj

Infrastructure Layer

Management Layer

Control planeData plane

CLI

Control plane

Data plane

DecouplingSDN Idea

Traditional Network

Page 4: profsandhu.com · 2020. 7. 21. · Routing Service. Device Management; Statistics Collection. Link Discovery : Switch Management. Other: Routing Firewall Load . Balancing. Intrusion

IntroductionSoftware Defined Networks (SDN)

4@ Abdullah Al-Alaj

Topology Service

Entry Pushing

Routing Service

Device Management

Statistics Collection

Link Discovery

Switch Management Other

Routing Firewall Load Balancing

Intrusion Prevention

Network Visualization Other. . .

Applications

Network Programming APIs

Network Services Virtual Network Resources

Controller(e.g., Floodlight)

OpenFlow Protocol

Infrastructure

Switches

VLANs

Links

Ports

Config-urations

Traffic payloads

Statistics

Other

Topology

Hosts Devices

Flow tables

Manage

Decoupling

Control plane

Data plane

Flow table

Page 5: profsandhu.com · 2020. 7. 21. · Routing Service. Device Management; Statistics Collection. Link Discovery : Switch Management. Other: Routing Firewall Load . Balancing. Intrusion

SDN

Logically Centralized

Control

Dynamic Flow Control

Network-Wide Visibility

Network Programmability

Features Provided by SDN Architecture

5@ Abdullah Al-Alaj

Page 6: profsandhu.com · 2020. 7. 21. · Routing Service. Device Management; Statistics Collection. Link Discovery : Switch Management. Other: Routing Firewall Load . Balancing. Intrusion

Flow Table Structure

6@ Abdullah Al-Alaj

MAC src

MAC dst

IP src

IP dst

TCP port src

TCP port dst Priority Action Packets

..:00:01 ..:00:04 * * * * Port-4

..:00:04 ..:00:01 Port-1

* * * 10.0.0.3 * * Drop

Port-2 Port-3 Port-4Port-1

OpenFlow Table Entry Rule Priority Action Counters

Host-AMAC: 00:00:00:00:00:01

IP: 10.0.0.1

Host-DMAC: 00:00:00:00:00:04

IP: 10.0.0.4

Host-BMAC: 00:00:00:00:00:02

IP: 10.0.0.2Host-C

MAC: 00:00:00:00:00:03 IP: 10.0.0.3

SDN Controller

OpenFlow Switch

Flow tables

Packetfrom network

Parse header fields

Match Found?

Update counters

Send to controller

Yes

No

Apply actions

Packet Processing in OpenFlow Switch

Page 7: profsandhu.com · 2020. 7. 21. · Routing Service. Device Management; Statistics Collection. Link Discovery : Switch Management. Other: Routing Firewall Load . Balancing. Intrusion

Flow Rule Insertion Example

7@ Abdullah Al-Alaj

Routing app

Host-A

Host-B

Host-D

1 2

3

Parse packet

Read topology info.

Insert flow rule

Insert flow rule: Mac-Host-A -> Mac-Host-D: Port-4

4

5

8

9Switch receives a network packet

If a matching rule found in table, apply actions;otherwise, forward packet to controller.

Forward packet to network apps

Find shortest path

6Read hosts

info.

7

Flow rule: Mac-Host-A -> Mac-Host-D : Port-4

Controller

Port-1

Packetfrom network

Parse header fields

Match Found?

Update counters

Send to controller

Yes

No

Apply actions

Packet Processing in OpenFlow Switch

Host-C

Page 8: profsandhu.com · 2020. 7. 21. · Routing Service. Device Management; Statistics Collection. Link Discovery : Switch Management. Other: Routing Firewall Load . Balancing. Intrusion

• Control which subjects (network apps) can access which objects (virtual network resources) for performing which actions (SDN operations).

Access Control in SDN

8@ Abdullah Al-Alaj

Open interface: needs control

Network apps (Untrusted)

Page 9: profsandhu.com · 2020. 7. 21. · Routing Service. Device Management; Statistics Collection. Link Discovery : Switch Management. Other: Routing Firewall Load . Balancing. Intrusion

Literature of Access Control for SDN

9@ Abdullah Al-Alaj

• Capability-based approaches • Direct relation between operations and apps.• Well studied and known to have administrative complexities.

Role-based approach

Total associations = 3 + 6 = 91 new app requires 1 new associations1 new permission requires 1 new association

App1

App2

App3

P1

P2

P3

P4

P5

P6

r1

Permissions

Network apps

App4

App1

App2

App3

P1

P2

P3

P4

P5

P6

Permissions

Network apps

App4

Total associations =3 x 6 = 181 new app requires 6 new associations1 new permission requires 3 new associations

Capability-based approach

Page 10: profsandhu.com · 2020. 7. 21. · Routing Service. Device Management; Statistics Collection. Link Discovery : Switch Management. Other: Routing Firewall Load . Balancing. Intrusion

Problem Statement:Current Software Defined Networking technology is lacking access control models and enforcement for protecting network resources residing in the SDN controller from unauthorized access by OpenFlow applications.

Thesis Statement:Role-based access control model and its extensions is an effective approach for the specification and administration of dynamic access control for Software Defined Networking.

Problem and Thesis Statement

10@ Abdullah Al-Alaj

Page 11: profsandhu.com · 2020. 7. 21. · Routing Service. Device Management; Statistics Collection. Link Discovery : Switch Management. Other: Routing Firewall Load . Balancing. Intrusion

• Enabling Role Based Authorization for SDN.• SDN-RBAC Model and Authorization Framework with

Implementation & Enforcement in SDN Controller.• Fine-Grained and Scalable Access Control for SDN.

• Access Control Enhanced with Role and Permission Parameters with Authorization Framework Extended with Parameter Engine and Enforcement in SDN Controller.

• Administration of Access Control in SDN.• SDN-RBACa Administrative Model for Managing roles,

Permissions and Network App Authorizations in SDN.• Proxy Operations and Custom Permissions for Enhanced

Engineering of Administrative Units in SDN.

Summary of Contributions

11@ Abdullah Al-Alaj

Page 12: profsandhu.com · 2020. 7. 21. · Routing Service. Device Management; Statistics Collection. Link Discovery : Switch Management. Other: Routing Firewall Load . Balancing. Intrusion

• Enabling Role Based Authorization for SDN.• SDN-RBAC Model and Authorization Framework with

Implementation & Enforcement in SDN Controller.• Fine-Grained and Scalable Access Control for SDN.

• Access Control Enhanced with Role and Permission Parameters with Authorization Framework Extended with Parameter Engine and Enforcement in SDN Controller.

• Administration of Access Control in SDN.• SDN-RBACa Administrative Model for Managing roles,

Permissions and Network App Authorizations in SDN.• Proxy Operations and Custom Permissions for Enhanced

Engineering of Administrative Units in SDN.

Summary of Contributions

12@ Abdullah Al-Alaj

Page 13: profsandhu.com · 2020. 7. 21. · Routing Service. Device Management; Statistics Collection. Link Discovery : Switch Management. Other: Routing Firewall Load . Balancing. Intrusion

SDN-RBAC: Conceptual Model

13@ Abdullah Al-Alaj

Sample Sessions:- deep packet inspection session- transmission rate monitoring session- web-traffic filtering session- shortest path recomputation session- traffic redirection session- etc

Sample Object Types:- FLOW-RULE- DEVICE- PORT-STATS- PORT- LINK- etc.

Sample Roles: - Flow Mod- Device Handler- Bandwidth Monitoring- Link Handler - etc.

Sample Operations: - addFlow- getAllDevices- getBandwidthConsumption- etc.

Sample Apps: - Load Balancer- Firewall- Intrusion Prevention- Routing app- etc.

ROLESAPPSPR

SESSIONS

session_roles

session_app

AR

OPERATIONS(OPS)

PRMS

OBJECT TYPES(OBTS)

many-to-many

one-to-many OTOBJECTS

(OBS)

• Design goal: conformance with the standard NIST-RBAC Reference Model.• SDN-RBAC adopts standard RBAC model with evolutionary changes, rather than revolutionary.

Page 14: profsandhu.com · 2020. 7. 21. · Routing Service. Device Management; Statistics Collection. Link Discovery : Switch Management. Other: Routing Firewall Load . Balancing. Intrusion

SDN-RBAC Formal Model Definition

14@ Abdullah Al-Alaj

Page 15: profsandhu.com · 2020. 7. 21. · Routing Service. Device Management; Statistics Collection. Link Discovery : Switch Management. Other: Routing Firewall Load . Balancing. Intrusion

Use-case in SDN-RBAC

15@ Abdullah Al-Alaj

Multi session app: Data Usage Cap Manager

Page 16: profsandhu.com · 2020. 7. 21. · Routing Service. Device Management; Statistics Collection. Link Discovery : Switch Management. Other: Routing Firewall Load . Balancing. Intrusion

Use-Case Security Configuration in SDN-RBAC

16@ Abdullah Al-Alaj

3 roles

2 sessions

permission to insert flow

rulesrole assigned

to app

role activated in session

permission available to

session

very important role & permission

Page 17: profsandhu.com · 2020. 7. 21. · Routing Service. Device Management; Statistics Collection. Link Discovery : Switch Management. Other: Routing Firewall Load . Balancing. Intrusion

SDN-RBAC Framework Implementation in Floodlight

17@ Abdullah Al-Alaj

Page 18: profsandhu.com · 2020. 7. 21. · Routing Service. Device Management; Statistics Collection. Link Discovery : Switch Management. Other: Routing Firewall Load . Balancing. Intrusion

SDN-RBAC Average Authorization Time

18@ Abdullah Al-Alaj

On average: 0.0245 ms overhead for 50 operations.

Timer Started

Timer Ended

• Test app with 50 ops covered by 10 different roles.• Report authorization time for all 50 requests.• Different security policies.• Test repeated 100 times for each security policy.• Average authorization time is calculated.• floodlight’s boot-up time is ignored.

Page 19: profsandhu.com · 2020. 7. 21. · Routing Service. Device Management; Statistics Collection. Link Discovery : Switch Management. Other: Routing Firewall Load . Balancing. Intrusion

• Enabling Role Based Authorization for SDN.• SDN-RBAC Model and Authorization Framework with

Implementation & Enforcement in SDN Controller.• Fine-Grained and Scalable Access Control for SDN.

• Access Control Enhanced with Role and Permission Parameters with Authorization Framework Extended with Parameter Engine and Enforcement in SDN Controller.

• Administration of Access Control in SDN.• SDN-RBACa Administrative Model for Managing roles,

Permissions and Network App Authorizations in SDN.• Proxy Operations and Custom Permissions for Enhanced

Engineering of Administrative Units in SDN.

Summary of Contributions

19@ Abdullah Al-Alaj

Page 20: profsandhu.com · 2020. 7. 21. · Routing Service. Device Management; Statistics Collection. Link Discovery : Switch Management. Other: Routing Firewall Load . Balancing. Intrusion

Assigned Perms:(addFlow, flow_rulesw0x1)(addFlow, flow_rulesw0x2)(addFlow, flow_rulesw0x3)continue for:deleteFlow x 3readFlow x 3updateFlow x 3

Assigned Perms:(addFlow, flow_rulesw0x4)(addFlow, flow_rulesw0x5)(addFlow, flow_rulesw0x6)continue for:deleteFlow x 3readFlow x 3updateFlow x 3

Assigned Perms:(addFlow, flow_rulesw0x7)(addFlow, flow_rulesw0x8)(addFlow, flow_rulesw0x9)continue for:deleteFlow x 3readFlow x 3updateFlow x 3

• Apps are authorized on object types (e.g., (addFlow, FLOW RULE)) Fine grained access control is required.

Limitations of SDN-RBAC

20@ Abdullah Al-Alaj

0x10x2

0x3

a1 a2 a3

Role: Flow Mod1

0x4

0x5

0x6

Role: Flow Mod2

0x7 0x8

0x9

Role: Flow Mod3

Controller (Floodlight)

a4 a5 a6 a7 a8 a9

• Multiple very closely related roles are defined to achieve fine-grained access control.• Roles are limited in membership.

Role explosion

Permission explosion

CS CIS CE

Requires restriction

Page 21: profsandhu.com · 2020. 7. 21. · Routing Service. Device Management; Statistics Collection. Link Discovery : Switch Management. Other: Routing Firewall Load . Balancing. Intrusion

Introducing Parameterized Roles and Permissions in SDN

21@ Abdullah Al-Alaj

Role: Flow ModAssigned Perms:(addFlow, FLOW RULE)(deleteFlow, FLOW RULE)(updateFlow, FLOW RULE)(readFlow, FLOW RULE)

dept = CS dept = CIS dept = CE

0x10x2

0x3

a1 a2 a3

0x4

0x5

0x6

0x7 0x8

0x9

Controller (Floodlight)

a4 a5 a6 a7 a8 a9

CS CIS CE

Requires restriction

Page 22: profsandhu.com · 2020. 7. 21. · Routing Service. Device Management; Statistics Collection. Link Discovery : Switch Management. Other: Routing Firewall Load . Balancing. Intrusion

Parameterized Permissions and Roles

22@ Abdullah Al-Alaj

• Parameterized Roles:

Example:

• Parameters• name:value pairs.• Add restrictions on access to network resources.

(Flow Mod, {(dept, ⊥), (traffic, ⊥)})

(ri , {(par1 , val1 ), (par2 , val2 ), ...})

Example:

• Parameterized Permissions:

((addFlow, FLOW-RULE), {(dept, ⊥), (traffic, ⊥)})

((opi, oti), {(par1 , val1 ), (par2 , val2 ), ...})

⊥ = Unknown.

Page 23: profsandhu.com · 2020. 7. 21. · Routing Service. Device Management; Statistics Collection. Link Discovery : Switch Management. Other: Routing Firewall Load . Balancing. Intrusion

ParaSDN Conceptual Model

23@ Abdullah Al-Alaj

many-to-many

one-to-many

APPS

OPERATIONS(OPS)

PRMS

OBJECT TYPES(OBTS) OT

OBJECTS(OBS)

app_sessions

AA

PARAMETERS(PAR)

PVPAIRS

VALUES(VAL)

PPRMS

PARAMETERS(PAR)

PVPAIRS

VALUES(VAL)

PROLES

ROLES

PPA

session_roles

.

.

.

Page 24: profsandhu.com · 2020. 7. 21. · Routing Service. Device Management; Statistics Collection. Link Discovery : Switch Management. Other: Routing Firewall Load . Balancing. Intrusion

ParaSDN Formal Model Definition

24@ Abdullah Al-Alaj

Page 25: profsandhu.com · 2020. 7. 21. · Routing Service. Device Management; Statistics Collection. Link Discovery : Switch Management. Other: Routing Firewall Load . Balancing. Intrusion

Use-Case Security Configuration in SDN-RBAC

25@ Abdullah Al-Alaj

Page 26: profsandhu.com · 2020. 7. 21. · Routing Service. Device Management; Statistics Collection. Link Discovery : Switch Management. Other: Routing Firewall Load . Balancing. Intrusion

ParaSDN Framework Implementation in Floodlight

26@ Abdullah Al-Alaj

.

Page 27: profsandhu.com · 2020. 7. 21. · Routing Service. Device Management; Statistics Collection. Link Discovery : Switch Management. Other: Routing Firewall Load . Balancing. Intrusion

ParaSDN Implementation & Evaluation

27@ Abdullah Al-Alaj

Timer Started

Timer Ended

Page 28: profsandhu.com · 2020. 7. 21. · Routing Service. Device Management; Statistics Collection. Link Discovery : Switch Management. Other: Routing Firewall Load . Balancing. Intrusion

ParaSDN Evaluation - 1

28@ Abdullah Al-Alaj

.

On average: ParaSDN adds 0.031 ms overhead compared to 0.025 for SDN-RBAC.

• Test app with 50 ops covered by 10 different roles.• Report authorization time for all 50 requests.• Different security policies (parameters and roles).• Test repeated 100 times for each security policy.• Average authorization time is calculated.• Floodlight’s boot-up time is ignored.

• 1st parameter in all roles is:activePeriod = “08:00-17:00”.

• Any request submitted outside active period, will be denied.

• Test 8 is conducted outside active period.

Page 29: profsandhu.com · 2020. 7. 21. · Routing Service. Device Management; Statistics Collection. Link Discovery : Switch Management. Other: Routing Firewall Load . Balancing. Intrusion

ParaSDN Evaluation - 2

29@ Abdullah Al-Alaj

Page 30: profsandhu.com · 2020. 7. 21. · Routing Service. Device Management; Statistics Collection. Link Discovery : Switch Management. Other: Routing Firewall Load . Balancing. Intrusion

• Enabling Role Based Authorization for SDN.• SDN-RBAC Model and Authorization Framework with

Implementation & Enforcement in SDN Controller.• Fine-Grained and Scalable Access Control for SDN.

• Access Control Enhanced with Role and Permission Parameters with Authorization Framework Extended with Parameter Engine and Enforcement in SDN Controller.

• Administration of Access Control in SDN.• SDN-RBACa Administrative Model for Managing roles,

Permissions and Network App Authorizations in SDN.• Proxy Operations and Custom Permissions for Enhanced

Engineering of Administrative Units in SDN.

Summary of Contributions

30@ Abdullah Al-Alaj

Page 31: profsandhu.com · 2020. 7. 21. · Routing Service. Device Management; Statistics Collection. Link Discovery : Switch Management. Other: Routing Firewall Load . Balancing. Intrusion

• App-role and permission-role relations need management.• In SDN-RBACa administrative model (inspired by Uni-ARBAC):

• Indirect permission-role assignment. • Permissions are grouped into permission-pools (tasks).• Tasks: units of network functions.• Apps are grouped into app-pools.• Administrative Units for administering app-role and task-role

relations.

Access Control Administration in SDN

31@ Abdullah Al-Alaj

Admin Unit

Manages Portion of

Roles TasksApps

Admin User

Admin User

App-roleassignment

Task-roleassignment

Page 32: profsandhu.com · 2020. 7. 21. · Routing Service. Device Management; Statistics Collection. Link Discovery : Switch Management. Other: Routing Firewall Load . Balancing. Intrusion

SDN-RBACa Administrative Model

32@ Abdullah Al-Alaj

.

Page 33: profsandhu.com · 2020. 7. 21. · Routing Service. Device Management; Statistics Collection. Link Discovery : Switch Management. Other: Routing Firewall Load . Balancing. Intrusion

SDN-RBACa Administrative Model Defenition

33@ Abdullah Al-Alaj

Page 34: profsandhu.com · 2020. 7. 21. · Routing Service. Device Management; Statistics Collection. Link Discovery : Switch Management. Other: Routing Firewall Load . Balancing. Intrusion

• In large SDNs, specialized apps control/analyze and monitor/inspect specific network traffic type.

• These apps should be authorized to access only traffic type they handle and not other type (via roles).

Use Case using SDN-RBACa -Introduction

34@ Abdullah Al-Alaj

• Web Load Balancers• Web Firewalls• etc.

Web-specific apps:

• VoIP Load Balancers• VoIP Firewalls• etc.

VoIP-specific apps:

• FTP Load Balancers• FTP Firewalls• etc.

FTP-specific apps:

• Email Load Balancers• Email Firewalls• etc.

Email-specific apps:

• Web Flow Mod• Web Load Balancing• etc.

Web-specific roles:

• VoIP Flow Mod• VoIP Load Balancing• etc.

VoIP-specific roles:

• Ftp Flow Mod• Ftp Load Balancing• etc.

FTP-specific roles:

• Email Flow Mod• Email Load Balancing• etc.

Email-specific roles:

Authorized via

Authorized via

Authorized via

Authorized via

Apps Roles

Page 35: profsandhu.com · 2020. 7. 21. · Routing Service. Device Management; Statistics Collection. Link Discovery : Switch Management. Other: Routing Firewall Load . Balancing. Intrusion

• In large SDNs, specialized apps control/analyze and monitor/inspect specific network traffic type.

• These apps should be authorized to access only traffic type they handle and not other type (via roles).

Use Case using SDN-RBACa -Introduction

35@ Abdullah Al-Alaj

• Web Load Balancers• Web Firewalls• etc.

Web-specific apps:

• VoIP Load Balancers• VoIP Firewalls• etc.

VoIP-specific apps:

• FTP Load Balancers• FTP Firewalls• etc.

FTP-specific apps:

• Email Load Balancers• Email Firewalls• etc.

Email-specific apps:

• Flow Mod• Load Balancing• etc.

Roles:

Authorized via

Authorized via

Authorized via

Authorized via

Apps Roles

Page 36: profsandhu.com · 2020. 7. 21. · Routing Service. Device Management; Statistics Collection. Link Discovery : Switch Management. Other: Routing Firewall Load . Balancing. Intrusion

Functional Administrative Units for SDN

36@ Abdullah Al-Alaj

• Relations between apps and roles should be managed by different administrative units.

• Roles: {Web Flow Mod, Web Load Balancing, etc.}• App-Pools: {Web Security, Web Load Balance, etc.}Web Admin Unit

• Roles: {Email Flow Mod, Email Load Balancing, , etc.} • App-Pools: {Email Security, Email Load Balance}Email Admin Unit

• Roles: {Email Flow Mod, VoIP Load Balancing, etc.}}• App-Pools: {VoIP Security, VoIP Load Balance}VoIP Admin Unit

• Roles: {FTP Mod Email, FTP Load Balancing, etc.}• App-Pools: {FTP Security, FTP Load Balance}FTP Admin Unit

Administrative Units

Page 37: profsandhu.com · 2020. 7. 21. · Routing Service. Device Management; Statistics Collection. Link Discovery : Switch Management. Other: Routing Firewall Load . Balancing. Intrusion

Custom and Proxy Operations

37@ Abdullah Al-Alaj

(ensure that flow rule handles correct traffic type)

OPProxy2

OPProxy3

OPProxy1

provides restrictive access to specific traffic type.

(verify access to appropriate content)

Page 38: profsandhu.com · 2020. 7. 21. · Routing Service. Device Management; Statistics Collection. Link Discovery : Switch Management. Other: Routing Firewall Load . Balancing. Intrusion

• Custom permissions are those permissions that are created using proxy operations.

Custom Permissions

38@ Abdullah Al-Alaj

Examples:

(addWebFlow, FLOW-RULE)(addVoIPFlow, FLOW-RULE)(addFtpFlow, FLOW-RULE)(createWebMember, LB-POOL-MEMBER)(createVoIPMember, LB-POOL-MEMBER)(createFtpMember, LB-POOL-MEMBER)(readWebPacketInPayload, PI-PAYLOAD)(readVoIPPacketInPayload, PI-PAYLOAD)…

(OPProxy_1, ot)(OPProxy_2, ot)(OPProxy_3, ot)…

Page 39: profsandhu.com · 2020. 7. 21. · Routing Service. Device Management; Statistics Collection. Link Discovery : Switch Management. Other: Routing Firewall Load . Balancing. Intrusion

Task and Role Engineering Custom Permissions

39@ Abdullah Al-Alaj

OPTargetOPProxy

op1c1clone

x11

x13

x12

val1

val2

val3

op2c2clone

x21

x23

x22

val1

val2

val3

op3c3clone

x31

x33

x32

val1

val2

val3

Actual value passed to custom

operation

OPCustom

p1

p3

p2

p4

p6

p5

p7

p9

p8

t1

t2

t3

r1

r2

r3

App1

App2

App3

CustomPermissionsTasksRolesSDN Apps

Page 40: profsandhu.com · 2020. 7. 21. · Routing Service. Device Management; Statistics Collection. Link Discovery : Switch Management. Other: Routing Firewall Load . Balancing. Intrusion

Task and Role Engineering using Custom Permissions - Example

40@ Abdullah Al-Alaj

OPTargetOPProxy

cloneaddFlow

web

voip

ftp

clonedeleteFlow

web

clonereadFlow

Tasks

passed to custom operation

RolesSDN Apps

web

voip

ftp

voip

ftp

Web Traffic Forwarding

Task

VoIP Traffic Forwarding

Task

FTP Traffic Forwarding

Task

Web Flow Mod

VoIP Flow Mod

FTP Flow Mod

Web Intrusion Prevention

VoIP Load Balancer

FTP Application

Firewall

OPCustom

addWebFlow

addVoipFlow

addFtpFlow

deleteWebFlow

deleteVoipFlow

deleteFtpFlow

readWebFlow

readVoipFlow

readFtpFlow

addFlow(traffic)

deleteFlow(traffic)

readFlow(traffic)

Web Flow Viewing Task

Voip Flow Viewing

FTP Flow Viewing Task

CustomPermissions

(addWebFlow, FlOW-RULE)

(addVoipFlow, FlOW-RULE)

(addFtpFlow, FlOW-RULE)

(deleteWebFlow, FlOW-RULE)

(deleteVoipFlow, FlOW-RULE)

(deleteFtpFlow, FlOW-RULE)

(readWebFlow, FlOW-RULE)

(readVoipFlow, FlOW-RULE)

(readFtpFlow, FlOW-RULE)

web

web

web

Web Traffic Forwarding

TaskWeb Flow

Mod

Web Intrusion Prevention

addWebFlow

deleteWebFlow

readWebFlow

Web Flow Viewing Task

(addWebFlow, FlOW-RULE)

(deleteWebFlow, FlOW-RULE)

(readWebFlow, FlOW-RULE)

Page 41: profsandhu.com · 2020. 7. 21. · Routing Service. Device Management; Statistics Collection. Link Discovery : Switch Management. Other: Routing Firewall Load . Balancing. Intrusion

@ Abdullah Al-Alaj

Use-Case andAdministrative Actions

41

Web Admin Unit VoIP Admin Unit

Tasks, roles, and app-pools in white are exclusively managed by:Tasks, roles, and app-pools in gray are exclusively managed by:

1. Administrative Action to assign task to a role:assign_task_to_role(web_functions_admin_user, Web Traffic Forwarding Task, Web Flow Mod) is allowed.Authorization Function: can_manage_task_role(web_functions_admin_user, Web Traffic Forwarding Task, Web Flow Mod) = True.Reason: ∃Web Admin Unit ∈AU : ((web_functions_admin_user, Web Admin Unit) ∈ TA_admin) ∧Web Flow Mod ∈ roles(Web Admin Unit) ∧Web Traffic Forwarding Task ∈ tasks(Web Admin Unit).

Example:

Administrative User Assignment:TA_admin = {(web_functions_admin_user, Web Admin Unit), (voip_functions_admin_user, VoIP Admin Unit)}.

Page 42: profsandhu.com · 2020. 7. 21. · Routing Service. Device Management; Statistics Collection. Link Discovery : Switch Management. Other: Routing Firewall Load . Balancing. Intrusion

Evaluation and Comparison

42@ Abdullah Al-Alaj

• Evaluation of SDN-RBACa operational model with tasks and proxy permissions.

• Test app with 50 proxy operations ops covered by 10 different roles.• Report authorization time for all 50 requests.• Different security policies.• Test repeated 100 times for each security policy.• Average authorization time is calculated.

• Operational model of SDN-RBACa adds an average of 0.0252 msoverhead on the floodlight controller while SDN-RBAC adds 0.0245 ms on average.

• Using tasks in SDN-RBACa operational model introduces additional variance in the authorization check time.

• The operational model of SDN-RBACa introduces acceptable overhead to the controller for the sake of access control administration.

Page 43: profsandhu.com · 2020. 7. 21. · Routing Service. Device Management; Statistics Collection. Link Discovery : Switch Management. Other: Routing Firewall Load . Balancing. Intrusion

• We presented SDN-RBAC, a model for enabling role based authorization for SDN. SDN-RBAC is implemented and enforced in Floodlight controller.

• We presented ParaSDN, a fine-Grained and Scalable Access Control for SDN Enhanced with Role and Permission Parameters. The Authorization Framework includes Parameter Engine and Enforcement in SDN Controller.

• We presented SDN-RBACa, an administrative model for SND enhanced with Proxy Operations and Custom Permissions.

Future Work:• Access Control for SDN-Enabled technologies.• Risk-Aware Access Control for SDN Apps.

Conclusion and Future Work

43

Page 44: profsandhu.com · 2020. 7. 21. · Routing Service. Device Management; Statistics Collection. Link Discovery : Switch Management. Other: Routing Firewall Load . Balancing. Intrusion

Dissertation Publications

44

Published:

1. Abdullah Al-Alaj, Ram Krishnan, and Ravi Sandhu. "SDN-RBAC: An Access Control Model for SDN Controller Applications." 2019 4th International Conference on Computing, Communications and Security (ICCCS). IEEE, 2019.

2. Abdullah Al-Alaj, Ravi Sandhu, and Ram Krishnan. "A Formal Access Control Model for SE-Floodlight Controller." Proceedings of the ACM International Workshop on Security in Software Defined Networks & Network Function Virtualization. ACM, 2019.

Submitted for review:

3. Abdullah Al-Alaj, Ram Krishnan, and Ravi Sandhu. ParaSDN: An Access Control Model for SDN Applications based on Parameterized Roles and Permissions. In 2020 IEEE 6th International Conference on Collaboration and Internet Computing (CIC ). Atlanta, Georgia, USA, IEEE, 2020.

4. Abdullah Al-Alaj, Ravi Sandhu, and Ram Krishnan. A Model for the Administration of Access Control in Software Defined Networking using Custom Permissions. In 2020 Second IEEE International Conference on Trust, Privacy and Security in Intelligent Systems and Applications (TPS-ISA). Atlanta, Georgia, USA, IEEE, 2020.

Page 45: profsandhu.com · 2020. 7. 21. · Routing Service. Device Management; Statistics Collection. Link Discovery : Switch Management. Other: Routing Firewall Load . Balancing. Intrusion

Thank you!

Questions?

45

Page 46: profsandhu.com · 2020. 7. 21. · Routing Service. Device Management; Statistics Collection. Link Discovery : Switch Management. Other: Routing Firewall Load . Balancing. Intrusion

Backup Slides

46

Page 47: profsandhu.com · 2020. 7. 21. · Routing Service. Device Management; Statistics Collection. Link Discovery : Switch Management. Other: Routing Firewall Load . Balancing. Intrusion

Selected roles in SDN-RBAC

47© Abdullah Al-Alaj

Page 48: profsandhu.com · 2020. 7. 21. · Routing Service. Device Management; Statistics Collection. Link Discovery : Switch Management. Other: Routing Firewall Load . Balancing. Intrusion

SDN-RBAC - Check Access

48

se

ri∈ session_roles(se)

assigned_perms(ri)

session_roles(se)

avail_session_perms

session_roles

SDN-RBAC checkAccess

assigned_perms

se

assigned_perms(ri)

perm pi matches request?

true/false

request from session (se)

true/false

pi ∈ assigned_perms(ri)

loop

loop

Page 49: profsandhu.com · 2020. 7. 21. · Routing Service. Device Management; Statistics Collection. Link Discovery : Switch Management. Other: Routing Firewall Load . Balancing. Intrusion

SDN-RBAC App Authorization- Example

49

dces

Flow Mod

{(addFlow, FLOW-RULE), …}

{Flow Mod}

avail_session_perms

session_roles

SDN-RBAC checkAccess

assigned_perms

dces

{(addFlow, FLOW-RULE), …}

matches request?

true

request from session (dces)

true

(addFlow, FLOW-RULE)

loop

loop

addFlow, fri

- dces = DataCapEnforcingSession

Page 50: profsandhu.com · 2020. 7. 21. · Routing Service. Device Management; Statistics Collection. Link Discovery : Switch Management. Other: Routing Firewall Load . Balancing. Intrusion

SDN-RBAC: Specifications of System Functions

50© Abdullah Al-Alaj

Session Creation/Deletion

Adding/Dropping Active Role Access Check

Apps are authorized based on object type.

Page 51: profsandhu.com · 2020. 7. 21. · Routing Service. Device Management; Statistics Collection. Link Discovery : Switch Management. Other: Routing Firewall Load . Balancing. Intrusion

Methods for Inter-session Interaction for SDN-RBAC

51© Abdullah Al-Alaj

Atomic sessions

Two sessions access shared data

Conditional session creation

Interaction via inter-session interaction APIs

Active role set sent from master to slave sessions

Page 52: profsandhu.com · 2020. 7. 21. · Routing Service. Device Management; Statistics Collection. Link Discovery : Switch Management. Other: Routing Firewall Load . Balancing. Intrusion

• Who is responsible of specifying:- (T) the tasks and corresponding sessions. - (C) the condition for session creation/deletion.- (A) the active role set.- (R) role to be added/dropped during execution.

Session Handling Approaches

52

© Abdullah Al-Alaj

Developer-driven Approach

System-driven Approach

Session-driven Approach

Session Handling Approaches

(T) DD (C) DD(A) DD(R) DD

(T) CR (C) CR(A) CR(R) CR

(T) DD (C) SR(A) SR(R) SR

DD = determined by Developer at Design-time.CR = determined by Controller at Run-time.SR = determined by Session at Run-time.

Page 53: profsandhu.com · 2020. 7. 21. · Routing Service. Device Management; Statistics Collection. Link Discovery : Switch Management. Other: Routing Firewall Load . Balancing. Intrusion

• Developer has full and prior knowledge of • all possible sessions • active role set required for each session to achieve its task.

• This information is provided to the controller before app execution. • The controller knows in advance:

• what session instances will be created.• the tasks that will execute in each session.• active role set required for each session.

Developer-driven Session Handling (1)

53© Abdullah Al-Alaj

(T) DD (C) DD(A) DD(R) DD

Page 54: profsandhu.com · 2020. 7. 21. · Routing Service. Device Management; Statistics Collection. Link Discovery : Switch Management. Other: Routing Firewall Load . Balancing. Intrusion

• To show that SDN-RBAC authorization system can identify and reject any unauthorized operations:

• We forced DataUsageAnalysisSession to read link information via operation getAllLinks.

• The permission (getAllLinks, LINK) is assigned to the role LinkHandler. • Role LinkHandler is not a member of the active role set of

DataUsageAnalysisSession. • A snapshot of the execution result is shown below.

Usability demonstration (1)Access Denies

54

Unauthorized

Snapshot1

© Abdullah Al-Alaj

Page 55: profsandhu.com · 2020. 7. 21. · Routing Service. Device Management; Statistics Collection. Link Discovery : Switch Management. Other: Routing Firewall Load . Balancing. Intrusion

• We forced DataUsageAnalysisSession to read device statistics via operation getBandwidthConsumption.

• The permission (getBandwidthConsumption, PORT-STATS) is assigned to the role BandwidthMonitoring.

• Role BandwidthMonitoring is a member of the active role set of DataUsageAnalysisSession.

• A snapshot of the execution result is shown below. • The snapshot below shows how DataUsageAnalysisSession was able to pass the

authorization.

Usability demonstration (2)Access Allowed

55

Authorized

Snapshot2

© Abdullah Al-Alaj

Page 56: profsandhu.com · 2020. 7. 21. · Routing Service. Device Management; Statistics Collection. Link Discovery : Switch Management. Other: Routing Firewall Load . Balancing. Intrusion

Parameter Checking Functions

56

Page 57: profsandhu.com · 2020. 7. 21. · Routing Service. Device Management; Statistics Collection. Link Discovery : Switch Management. Other: Routing Firewall Load . Balancing. Intrusion

App Authorization Function

57

Page 58: profsandhu.com · 2020. 7. 21. · Routing Service. Device Management; Statistics Collection. Link Discovery : Switch Management. Other: Routing Firewall Load . Balancing. Intrusion

Verifier Example

58

Page 59: profsandhu.com · 2020. 7. 21. · Routing Service. Device Management; Statistics Collection. Link Discovery : Switch Management. Other: Routing Firewall Load . Balancing. Intrusion

Parameter Value Assignment

59

.

• Parameter values, assigned via assignAppadministrative action, propagate automatically from role parameters to permission parameters.

Example:

3. Parameter values propagate from parameterized role to parameterized permission.

2. Parameter value assigned to parameterized role via assignAppadministrative action.

1. Parameterized permission assigned to parameterized role. Parameter values are unknown.

((addFlow, FLOW-RULE), {(dept, {CS}), (traffic, web)})(Flow Mod, {(dept, {CS}), (traffic, web)})

((addFlow, FLOW-RULE), {(dept, ⊥), (traffic, ⊥)})(Flow Mod, {(dept, ⊥), (traffic, ⊥)})

Page 60: profsandhu.com · 2020. 7. 21. · Routing Service. Device Management; Statistics Collection. Link Discovery : Switch Management. Other: Routing Firewall Load . Balancing. Intrusion

ParaSDN : App Authorization Example

60

• checkAccess(DataCapEnforcingSession, addFlow, fow_rule[switch _ id=0x2,tcp _ dst=80,...] ) ≡

∃(Flow Mod, {(dept, {CS}), (traffc, web)}) ∈ PROLES :

(Flow Mod, {(dept, {CS}), (traffic, web)}) ∈ session_roles(DataCapEnforcingSession),

∃((addFlow, FLOW-RULE), {(dept, {CS}), (traffic, web)}) ∈ PPRMS :

(((addFlow, FLOW-RULE), {(dept, {CS}), (traffic, web)}), (Flow Mod, {(dept, {CS}), (traffic, web)})) ∈ PPA ∧

(addFlow, type(flow_rule[switch _ id=0x2, tcp _ dst=80,...])) = (addFlow, FLOW-RULE) ∧

ParamCheck(DataCapEnforcingSession, addFlow, flow_rule[switch _ id=0x2, tcp _ dst=80,...], {(dept, {CS}), (traffic, web)}) = True.

PPA = {..., (((addFlow, FLOW-RULE), {(dept, {CS}), (traffic, web)}), (Flow Mod, {(dept, {CS}), (traffic, web)})), ...}.

= true

= true= true

Page 61: profsandhu.com · 2020. 7. 21. · Routing Service. Device Management; Statistics Collection. Link Discovery : Switch Management. Other: Routing Firewall Load . Balancing. Intrusion

Parameter Engine - Use Case Example

61

DataCapEnforcingSession, addFlow, flow_rule[switch _ id=0x2, tcp _ dst=80,...], {(dept, {CS}), (traffic, web)}

type(addFlow, flow_rule[switch _ id=0x2, tcp _ dst=80,...]), {(dept, {CS}), (traffic, web)}

(FLOW-RULE, dept)

VRuleSwitch

VRuleTraffic

(FLOW-RULE, traffic)

{VRuleSwitch,VRuleTraffic}

VRuleSwitch

flow_rule[switch _ id=0x2, tcp _ dst=80,...], (dept, {CS})

true/false

VRuleTraffic

flow_rule[switch _ id=0x2, tcp _ dst=80,...], (traffic, web)

true/false

true

(∃d ∈ pvpair.val : flow_rule.switch_id ∈switches(d));

(flow_rule.tcp_dst ∈protocol_ports(pvpair.val))

Param Check Point(PCP)

Verifiers Retrieval Point (VRP) Verifiers Map

Request Evaluation & Decision

(PDP)

verifier’s result = false

verifier’s result = false

…switches:CS= [0x1, x02]CE= [x03]…protocol_ports:web = [80, 443]voip= [5060,…]ftp= [20,21]…

CONFIG

Page 62: profsandhu.com · 2020. 7. 21. · Routing Service. Device Management; Statistics Collection. Link Discovery : Switch Management. Other: Routing Firewall Load . Balancing. Intrusion

Administrative Actions - Examples

62

Page 63: profsandhu.com · 2020. 7. 21. · Routing Service. Device Management; Statistics Collection. Link Discovery : Switch Management. Other: Routing Firewall Load . Balancing. Intrusion

Configuration of the SDN-RBACa in a use case (1)

63@ Abdullah Al-Alaj

Page 64: profsandhu.com · 2020. 7. 21. · Routing Service. Device Management; Statistics Collection. Link Discovery : Switch Management. Other: Routing Firewall Load . Balancing. Intrusion

Configuration of the SDN-RBACa in a use case (2)

64@ Abdullah Al-Alaj

Page 65: profsandhu.com · 2020. 7. 21. · Routing Service. Device Management; Statistics Collection. Link Discovery : Switch Management. Other: Routing Firewall Load . Balancing. Intrusion

Access Request Authorization Check with Proxy Operation

65