SlideShare ist ein Scribd-Unternehmen logo
1 von 48
Downloaden Sie, um offline zu lesen
Model-Based Analysis of Role-Based Access
Control
Lionel Montrieux <lionel.Montrieux@open.ac.uk>

The Open University, Milton Keynes, UK
Contents
•

Introduction

•

Access Control

•

Model-Driven Engineering

•

RBAC with MDE

•

Modelling, Verification

•

Fixing Incorrect Models

•

Performance

•

Case Study

•

Future Work
Introduction - About Me
•

PhD Dissertation: “Model-Based Analysis of Role-Based
Access Control”

•

Supervisors: Charles B. Haley (retired), Yijun Yu, Michel
Wermelinger

•

Examiners: Jon Whittle (Lancaster), Robin Laney (OU)
Access Control
Access Control in a Nutshell
•

Authentication

•

Authorisation
•

MAC

•

DAC

•

RBAC

•

ABAC

•

and many others
Role-Based Access
Control (RBAC)

[Sandhu00]
Model-Driven
Engineering
Model-Driven Engineering
•

“[…] the consideration of models as first-class entities. A
model is an artefact that conforms to a metamodel and
that represents a given aspect of a system” [Bézivin06]

•

Model-Driven Security Engineering [FernandezMedina09]
RBAC Models
UMLsec

[Jürjens05, Montrieux09, Montrieux10]
SecureUML

[Basin09, Basin11]
SecureUML (2)
Our Solution(s)
rbacDSML, rbacUML and rbacMDE	
•

one DSML
•
•

•

for RBAC only
using a UML profile

one DSL
•

•

one extension of UML
•

•

textual

to integrate RBAC into the design

from the same domain meta-model
rbacDSML, rbacUML
and rbacMDE
Domain Meta-Model

in MOF
5 constraints
•

SSoD

•

DSoD

•

Activated roles have been assigned to the user

•

Granted scenarios

•

Forbidden scenarios
A Sample Model
•

Students marks system


•

Professors and TAs can add
marks for the courses they
teach


•

Students can read their own
marks
rbacDSML

Meta-Model, in MOF
Sample rbacDSML
Model

Everything on One Diagram
rbacMDE - Sample Model
• user Doe {

role Student;

role TA;

}

user Wood {

role TA;

}

user Smith {

role Professor;

}

role Student {

permission Access Marks;

ssod Professor;

}

[…]
rbacUML	 	

Meta-Model, in MOF
Sample rbacUML Model

Access Control Diagram
Sample rbacUML Model
(2)

Class Diagram
Sample rbacUML Model
(3)

Sequence Diagram
Sample rbacUML Model
(4)

Activity Diagram
OCL Constraints Categories
•

Well-formedness

•

Verification

•

Satisfiability

•

Completeness

•

Coverage

•

Redundancy
OCL Evaluation Order

Selective evaluation
Demo
Fixing rbacDSML
Models

When errors are found
Overview

How it works
Classification of OCL Constraints
•

∀A: ∃B

•

∀A: ∄B

•

∃A: ∄B
How are Solutions Generated
•

Fixing individual errors
•

•

completeness, correctness

Combining them to fix the whole model
•

“keep” profile

•

heuristics for building the graph

•

completeness, correctness
Demo
The Tool
•

Plugins for IBM Rational
Software Architect 8.0


•

EPL licence


•

Available on github
(contributions are very
welcome)


•

rbacUML and rbacDSML
modelling and verification


•

rbacDSML fixing


•

rbacMDE in progress (using
Xtext)
Performance
250

sum
full
coverage
completeness
redundancy
satis ability
well-formedness
veri cation

time (seconds)

200

150

100

50

0

0

1000

2000

3000

4000

5000

6000

7000

8000

model size (elements + associations)

rbacUML Evaluation
Time

Time vs. model size

9000
220
200
180
160
140
120
100
80
60
40
20
0

Malformed
time (seconds)

time (seconds)

Correct
full
lazy

2000

4000

6000

8000

model size (elements + associations)

time (seconds)

Incorrect
220
200
180
160
140
120
100
80
60
40
20

full
lazy

2000

4000

6000

8000

model size (elements + associations)

rbacUML - selective
evaluation

250
200
150
100
50
0

full
lazy

2000

4000

6000

8000

model size (elements + associations)
Chiselapp

Github for the Fossil dvcs
Chiselapp
•

Created both rbacUML and rbacDSML models

•

PHP_UML to extract a class diagram, grep and manual
inspection for the rest

•

We found a bug

•

… but the maintainer insists that it’s a feature
Chiselapp rbacDSML
model
Future Work
Future Work
•

Nobody “really” uses UML [Petre13]

•

Adaptation

•

Performance improvements [Egyed07, Egyed11,
Reder13]

•

ABAC

•

Bidirectional graph transformations [Hidaka10]
Thank you. Any questions?

The tool: http://computing-research.open.ac.uk/rbac/
My dissertation: http://oro.open.ac.uk/28672/
References
•

[Basin09] Basin, D.; Clavel, M.; Doser, J. & Egea, M. Automated analysis of security-design
models Information and Software Technology, 2009, 51, 815 - 831

•

[Basin11] Basin, D.; Clavel, M. & Egea, M. A decade of model-driven security Proceedings of
the 16th ACM symposium on Access control models and technologies, ACM, 2011, 1-10

•

[Bézivin06] Bézivin, J. Model Driven Engineering: An Emerging Technical Space Generative and
Transformational Techniques in Software Engineering, 2006, 36-64

•

[Egyed07] Egyed, A. Fixing Inconsistencies in UML Design Models ICSE '07: Proceedings of the
29th international conference on Software Engineering, IEEE Computer Society, 2007, 292-301

•

[Egyed11] Egyed, A. Automatically Detecting and Tracking Inconsistencies in Software Design
Models Software Engineering, IEEE Transactions on, 2011, 37, 188 -204

•

[Fernandez-Medina09] Fernández-Medina, E.; Jurjens, J.; Trujillo, J. & Jajodia, S. Model-Driven
Development for secure information systems Information and Software Technology, 2009, 51,
809 - 814
References (2)
•

[Hidaka10] Hidaka, S.; Hu, Z.; Inaba, K.; Kato, H.; Matsuda, K. & Nakano, K.
Bidirectionalizing graph transformations Proceedings of the 15th ACM SIGPLAN
international conference on Functional programming, ACM, 2010, 205-216

•

[Jürjens05] Jürjens, J.; Lehrhuber, M. & Wimmel, G. Model-Based Design and
Analysis of Permission-Based Security Proceedings of the 10th IEEE
International Conference on Engineering of Complex Computer Systems, IEEE
Computer Society, 2005, 224-233

•

[Montrieux09] Montrieux, L. Implementation of Access Control using AspectOriented Programming University of Namur, 2009

•

[Montrieux10] Montrieux, L.; Jürjens, J.; Haley, C. B.; Yu, Y.; Schobbens, P.-Y. &
Toussaint, H. Tool support for code generation from a UMLsec property
Proceedings of the IEEE/ACM international conference on Automated software
engineering, ACM, 2010, 357-358
References (3)
•

[Montrieux11] Montrieux, L.; Wermelinger, M. & Yu, Y. Tool support for
UML-based specification and verification of role-based access control
properties ESEC/FSE: Procs. SIGSOFT Symposium and European Conf.
on Foundations of Software Engineering, ACM, 2011, 456-459

•

[Petre13] Petre, M. UML in practice 35th International Conference on
Software Engineering (ICSE 2013), 2013

•

[Reder13] Reder, A. & Egyed, A. Determining the Cause of a Design Model
Inconsistency Software Engineering, IEEE Transactions on, 2013, 1-1

•

[Sandhu00] Sandhu, R.; Ferraiolo, D. & Kuhn, R. The NIST model for rolebased access control: towards a unified standard Proceedings of the fifth
ACM workshop on Role-based access control, ACM, 2000, 47-63
Pictures Credits
•

LHC by UK dept. for Business, Innovation and Skills (by-nd)

•

Newton’s tree by Bob Franklin (by-nc-nd)

•

Robot by Yo Mostro (by-nc-nd)

•

Giant wrenches by Lars Hammar (by-nc-sa)

•

Speedometer by Don Melanson (by-nc-sa)

•

Case study by Binuri Ranashinghe (by-nc-nd)

•

Holy Grail drawings by Jessica Hardaway (with permission)

•

SecureUML models from [Basin09]

Weitere ähnliche Inhalte

Ähnlich wie Model-Based Analysis of Role-Based Access Control

rbacUML at CodeGeneration 2012
rbacUML at CodeGeneration 2012rbacUML at CodeGeneration 2012
rbacUML at CodeGeneration 2012
Lionel Montrieux
 
RuCORD: Rule-based Composite Operation Recovering and Detection to Support Co...
RuCORD: Rule-based Composite Operation Recovering and Detection to Support Co...RuCORD: Rule-based Composite Operation Recovering and Detection to Support Co...
RuCORD: Rule-based Composite Operation Recovering and Detection to Support Co...
Amanuel Alemayehu
 
Ecmfa2013
Ecmfa2013Ecmfa2013
Ecmfa2013
gogolla
 
Innovation day 2012 16. koenraad rombaut & michiel de paepe - verhaert - mo...
Innovation day 2012   16. koenraad rombaut & michiel de paepe - verhaert - mo...Innovation day 2012   16. koenraad rombaut & michiel de paepe - verhaert - mo...
Innovation day 2012 16. koenraad rombaut & michiel de paepe - verhaert - mo...
Verhaert Masters in Innovation
 

Ähnlich wie Model-Based Analysis of Role-Based Access Control (20)

rbacUML at CodeGeneration 2012
rbacUML at CodeGeneration 2012rbacUML at CodeGeneration 2012
rbacUML at CodeGeneration 2012
 
RuCORD: Rule-based Composite Operation Recovering and Detection to Support Co...
RuCORD: Rule-based Composite Operation Recovering and Detection to Support Co...RuCORD: Rule-based Composite Operation Recovering and Detection to Support Co...
RuCORD: Rule-based Composite Operation Recovering and Detection to Support Co...
 
Closing the Design Cycle Loop with Executable Requirements and OSLC - IBM Int...
Closing the Design Cycle Loop with Executable Requirements and OSLC - IBM Int...Closing the Design Cycle Loop with Executable Requirements and OSLC - IBM Int...
Closing the Design Cycle Loop with Executable Requirements and OSLC - IBM Int...
 
Automated functional size measurement for three tier object relational mappin...
Automated functional size measurement for three tier object relational mappin...Automated functional size measurement for three tier object relational mappin...
Automated functional size measurement for three tier object relational mappin...
 
Incremental Queries and Transformations for Engineering Critical Systems
Incremental Queries and Transformations for Engineering Critical SystemsIncremental Queries and Transformations for Engineering Critical Systems
Incremental Queries and Transformations for Engineering Critical Systems
 
Focap
FocapFocap
Focap
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
Models2013 tutorial-smart featuremodeling-final
Models2013 tutorial-smart featuremodeling-finalModels2013 tutorial-smart featuremodeling-final
Models2013 tutorial-smart featuremodeling-final
 
Thesis Defense (Gwendal DANIEL) - Nov 2017
Thesis Defense (Gwendal DANIEL) - Nov 2017Thesis Defense (Gwendal DANIEL) - Nov 2017
Thesis Defense (Gwendal DANIEL) - Nov 2017
 
Hardware-Software allocation specification of IMA systems for early simulation
Hardware-Software allocation specification of IMA systems for early simulationHardware-Software allocation specification of IMA systems for early simulation
Hardware-Software allocation specification of IMA systems for early simulation
 
comparative study software quality models
comparative study  software quality models comparative study  software quality models
comparative study software quality models
 
AI Infra Day | Model Lifecycle Management Quality Assurance at Uber Scale
AI Infra Day | Model Lifecycle Management Quality Assurance at Uber ScaleAI Infra Day | Model Lifecycle Management Quality Assurance at Uber Scale
AI Infra Day | Model Lifecycle Management Quality Assurance at Uber Scale
 
Viper architecture
Viper architectureViper architecture
Viper architecture
 
Ecmfa2013
Ecmfa2013Ecmfa2013
Ecmfa2013
 
Parallel verification of software architecture design
Parallel verification of software architecture designParallel verification of software architecture design
Parallel verification of software architecture design
 
Cse3 March2009cwd35with Crane
Cse3 March2009cwd35with CraneCse3 March2009cwd35with Crane
Cse3 March2009cwd35with Crane
 
Innovation day 2012 16. koenraad rombaut & michiel de paepe - verhaert - mo...
Innovation day 2012   16. koenraad rombaut & michiel de paepe - verhaert - mo...Innovation day 2012   16. koenraad rombaut & michiel de paepe - verhaert - mo...
Innovation day 2012 16. koenraad rombaut & michiel de paepe - verhaert - mo...
 
Applying system thinking to model-based software engineering
Applying system thinking to model-based software engineeringApplying system thinking to model-based software engineering
Applying system thinking to model-based software engineering
 
Rejunevating software reengineering processes
Rejunevating software reengineering processesRejunevating software reengineering processes
Rejunevating software reengineering processes
 
COMMitMDE'18: Eclipse Hawk: model repository querying as a service
COMMitMDE'18: Eclipse Hawk: model repository querying as a serviceCOMMitMDE'18: Eclipse Hawk: model repository querying as a service
COMMitMDE'18: Eclipse Hawk: model repository querying as a service
 

Mehr von Lionel Montrieux

Open University CRC Students conference 2010
Open University CRC Students conference 2010Open University CRC Students conference 2010
Open University CRC Students conference 2010
Lionel Montrieux
 

Mehr von Lionel Montrieux (7)

Reusable Self-Adaptation through Bidirectional Programming
Reusable Self-Adaptation through Bidirectional ProgrammingReusable Self-Adaptation through Bidirectional Programming
Reusable Self-Adaptation through Bidirectional Programming
 
Self-Adaptive Cloud Infrastructures with Bidirectional Programming
Self-Adaptive Cloud Infrastructures with Bidirectional ProgrammingSelf-Adaptive Cloud Infrastructures with Bidirectional Programming
Self-Adaptive Cloud Infrastructures with Bidirectional Programming
 
Self-Adaptive Federated Authorisation Infrastructures
Self-Adaptive Federated Authorisation InfrastructuresSelf-Adaptive Federated Authorisation Infrastructures
Self-Adaptive Federated Authorisation Infrastructures
 
Bidirectional Programming for Self-adaptive Software
Bidirectional Programming for Self-adaptive SoftwareBidirectional Programming for Self-adaptive Software
Bidirectional Programming for Self-adaptive Software
 
rbacDSL - slides from Code Generation 2014
rbacDSL - slides from Code Generation 2014rbacDSL - slides from Code Generation 2014
rbacDSL - slides from Code Generation 2014
 
Open University CRC Students conference 2010
Open University CRC Students conference 2010Open University CRC Students conference 2010
Open University CRC Students conference 2010
 
Security Analysis for Evolvable Software
Security Analysis for Evolvable SoftwareSecurity Analysis for Evolvable Software
Security Analysis for Evolvable Software
 

Kürzlich hochgeladen

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Kürzlich hochgeladen (20)

2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 

Model-Based Analysis of Role-Based Access Control