Model-Driven Architecture And The Secure Systems Methodology Masters Thesis Defense 11/16/2007 Patrick Morrison.

Slides:



Advertisements
Similar presentations
Language Specification using Metamodelling Joachim Fischer Humboldt University Berlin LAB Workshop Geneva
Advertisements

Profiles Construction Eclipse ECESIS Project Construction of Complex UML Profiles UPM ETSI Telecomunicación Ciudad Universitaria s/n Madrid 28040,
Lecture # 2 : Process Models
Unifying the conceptual levels of network security through use of patterns Ph.D Dissertation Proposal Candidate: Ajoy Kumar, Advisor: Dr Eduardo B. Fernandez.
Socket Layer Security. In this Presentation: need for web security SSL/TLS transport layer security protocols HTTPS secure shell (SSH)
Production Rule Representation Team Response Presentation to BEIDTF OMG Montreal Aug 2004 Ruleml.org.
MDA > Model Driven Architecture > Orçun Dayıbaş > December, 2006 > METU, Ankara.
Amit, Keyur, Sabhay and Saleh Model Driven Architecture in the Enterprise.
Secure Middleware (?) Patrick Morrison 3/1/2006 Secure Systems Group.
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
SSH : The Secure Shell By Rachana Maheswari CS265 Spring 2003.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Model Driven Architecture (MDA) Partha Kuchana. Agenda What is MDA Modeling Approaches MDA in a NutShell MDA Models SDLC MDA Models (an Example) MDA -
1 SWE Introduction to Software Engineering Lecture 5.
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
CS 290C: Formal Models for Web Software Lecture 6: Model Driven Development for Web Software with WebML Instructor: Tevfik Bultan.
Course Instructor: Aisha Azeem
LUCENTIA Research Group Department of Software and Computing Systems Using i* modeling for the multidimensional design of data warehouses Jose-Norberto.
MDD Tutorial for managers Eclipse ECESIS Project A presentation of MDD basics Model-driven development (MDD) tutorial for managers EUROPEAN SOFTWARE INSTITUTE,
Roles and Responsibilities Jahangheer Shaik. Service Specification Specification requires development of three inter-related documents CIM, PIM and PSM.
Chapter 1 The Systems Development Environment
ARCH-6: UML Modeling with Enterprise Architect Phillip Magnay Technical Architect.
International Telecommunication Union ITU-T Study Group 17, Moscow, 30 March – 8 April 2005 New Recommendations on ODP Arve Meisingset Rapporteur Q15.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
MDA Guide Version CYT. 2 Outline OMG Vision and Process Introduction to MDA How is MDA Used? MDA Transformations Other MDA Capabilities Using the.
1COM6030 Systems Analysis and Design © University of Sheffield 2005 COM 6030 Software Analysis and Design Lecture 4 - System modelling Dr Richard Clayton.
Faculty of Informatics and Information Technologies Slovak University of Technology Peter Kajsa and Ľubomír Majtás Design.
Executable UML The Models are the Code - Executable UML CS387 Paul Krause.
Workshop on Integrated Application of Formal Languages, Geneva J.Fischer Mappings, Use of MOF for Language Families Joachim Fischer Workshop on.
An Approach to Task Modelling for User Interface Design Costin Pribeanu National Institute for Research and Development in Informatics, Bucureşti, Romania.
MDA and QVT  Tom Gullion, Director of Product Management, Together Products.
ITEC224 Database Programming
Secure Systems Research Group - FAU A Pattern-Driven Process for Secure Service-Oriented Applications Ph.D Dissertation Defense Candidate: N. A. Delessy,
Mihir Daptardar Software Engineering 577b Center for Systems and Software Engineering (CSSE) Viterbi School of Engineering 1.
9/14/2012ISC329 Isabelle Bichindaritz1 Database System Life Cycle.
Behzad Akbari Spring 2012 (These slides are based on lecture slides by Lawrie Brown)
MDE Model Driven Engineering Xavier Blanc Université Pierre et Marie Curie
Introduction to MDA (Model Driven Architecture) CYT.
Secure Systems Research Group - FAU Securing Service-Oriented Architectures using a Model-driven Approach Nelly A Delessy.
SWE © Solomon Seifu ELABORATION. SWE © Solomon Seifu Lesson 10 Use Case Design.
University of Southern California Center for Systems and Software Engineering Model-Based Software Engineering Supannika Koolmanojwong Spring 2013.
Methodology - Conceptual Database Design. 2 Design Methodology u Structured approach that uses procedures, techniques, tools, and documentation aids to.
1/26/2004TCSS545A Isabelle Bichindaritz1 Database Management Systems Design Methodology.
Model Driven Development An introduction. Overview Using Models Using Models in Software Feasibility of MDA MDA Technologies The Unified Modeling Language.
A language to describe software texture in abstract design models and implementation.
MDA and Security October 12, 2006 FAU Secure Systems Group Patrick Morrison.
Methodology - Conceptual Database Design
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
On the Role of Abstract Platform in Model Driven Development* Marten van Sinderen Centre for Telematics and Information Technology, University of Twente,
Secure Systems Research Group - FAU SW Development methodology using patterns and model checking 8/13/2009 Maha B Abbey PhD Candidate.
Object-Oriented Software Engineering using Java, Patterns &UML. Presented by: E.S. Mbokane Department of System Development Faculty of ICT Tshwane University.
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
ModelPedia Model Driven Engineering Graphical User Interfaces for Web 2.0 Sites Centro de Informática – CIn/UFPe ORCAS Group Eclipse GMF Fábio M. Pereira.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
XASTRO-2 Presentation CCSDS SAWG th November 2004.
UML Profile BY RAEF MOUSHEIMISH. Background Model is a description of system or part of a system using well- defined language. Model is a description.
Yu, et al.’s “A Model-Driven Development Framework for Enterprise Web Services” In proceedings of the 10 th IEEE Intl Enterprise Distributed Object Computing.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Model Driven Performance Analysis University College London James Skene –
Introduction to Software Engineering 1. Software Engineering Failures – Complexity – Change 2. What is Software Engineering? – Using engineering approaches.
Model Driven Architecture MDA SE-548 Lale Doğan
® IBM Software Group © 2009 IBM Corporation Viewpoints and Views in SysML Dr Graham Bleakley
Page 1 Hitachi Ltd. – FhI FOKUS TTCN-3 User Conference, June 2005 MDA based approach for generation of TTCN-3 test specifications Hideto Ogawa, Hitachi.
Chapter 5 – System Modeling Lecture 1 1Chapter 5 System modeling.
Object-Oriented Software Engineering Using UML, Patterns, and Java,
Evaluating Compuware OptimalJ as an MDA tool
UML profiles.
Constructing MDA-based Application Using Rational XDE for .NET
Software Architecture & Design
Presentation transcript:

Model-Driven Architecture And The Secure Systems Methodology Masters Thesis Defense 11/16/2007 Patrick Morrison

Agenda ► Introduction ► Problem statement ► Approach ► Contribution ► Related Work ► What is MDA? ► Experiment ► Results ► Conclusions ► Future Work

The problem of Security ► “A good percentage of the software deployed in industrial/commercial applications is of poor quality, it is unnecessarily complex, and contains numerous flaws that can be exploited by attackers.” ► “We believe that the solution lies in developing secure software from the beginning, applying security principles along the whole life cycle…We see the use of patterns as a fundamental way, even for developers with little experience, to implicitly apply security principles.” ► [Fer06a, EBF, et. al.]

Security Patterns

Secure Systems Methodology [Fer06a] StageTasksRequirements Use case and activity diagram based role and attack analysis Analysis Class and sequence diagrams, preferring semantic analysis patterns Design Application of design patterns across architectural layers Implementation Mapping design on to selected technical architecture

Methodology Claim, paraphrased ► [by using] “abstract and graphical representations of patterns, the methodology allows the construction of secure computing systems from patterns which aid developers in understanding much more quickly and deeply than programming language “code”

MDA Claim ► [by using] “precise but abstract and graphical representations of algorithms, MDA allows the construction of computing systems from models that can be understood much more quickly and deeply than can programming language “code” [Mel04]. [

Problem ► Can Model-Driven Architecture (MDA) be used to support the secure systems methodology?  To what degree is it now possible to work in terms of high-level models rather than code?  Does MDA allow for the creation and reuse of generic models?  Does MDA reduce the amount of low-level work that needs to be done? ► What would be required to gain these benefits?

Approach ► Establish an MDA tool-chain ► Select an example distributed systems security problem ► Apply the advice of the secure systems methodology to the construction of models for the example system for each lifecycle phase ► Evaluate MDA models against example’s properties and their use in the lifecycle.

Contribution ► A set of models of secure shell (ssh) corresponding to the phases of the secure systems methodology ► An example MDA tool chain that translates UML Classes into Java source code. ► A set of considerations for applying MDA

Related Work ► SecureUML – Models RBAC for web applications ► UMLSec – Models security analysis for existing systems ► Executable UML – automated code generation from UML models, no explicit focus on security ► SysML- modeling notation for systems engineering ► UML Profile for RM-ODP – distributed systems standard, including security considerations ► RSML – process control requirements specification language ► Tropos – Agent-oriented methodology

What is MDA? ► A set of technologies: UML, MOF, XMI, OCL ► A model-centric framework for systems development ► A set of viewpoints ► A scheme for transforming models to to other models, and to text (code)

MDA Technologies ► UML2 – a language and notation for building models ► MOF – a language for building modeling languages, beginning with UML2 ► XMI – a persistence mechanism for MOF, allowing exchange between tools ► QVT – a transformation language for MOF models ► OCL – a language for expressing logical assertions on MOF models, e.g. UML2

MDA Models and Metamodels

MDA Viewpoints ► Computation-Independent Models (CIM) contain domain concepts ► Platform-Independent Models (PIM) define a technology-independent view of the system ► Platform-Specific Models (PSM) contain system descriptions including technology aspects ► Platform – the technical architecture of a given system

MDA Transformations

MDA Transformations, example public class Subject { public String id; } public class Object { public String id; public String id;} public class Right { public String id; public String id; public String access_type; public String access_type; public Boolean copy_flag; public Boolean copy_flag; public Subject s; public Subject s; public Object o; public Object o;} «IMPORT metamodel» «DEFINE javaClass FOR Entity» «FILE name+".java"» public class «name» { «FOREACH attributes AS attr» public «attr.type» «attr.name»; «ENDFOREACH» «FOREACH references AS ref» public «ref.type.name» «ref.name»; «ENDFOREACH» } «ENDFILE» «ENDDEFINE»

MDA Concepts, in UML

MDA Tool-chain ► UML Editor, Model creation, XMI generation  MagicDraw ► Model-to-Model, Model-to-Text transformation  openArchitectureWare ► Target Platform  Java ► Integration  Eclipse

Experiment ► Apply secure systems methodology to building models for abstract version of remote access ► Reverse-engineer SSH design models from architecture documents and source code ► Compare analysis results to SSH architecture ► Evaluate ability of MDA to assist in translation of models from phase N to phase N+1:  Requirements -> Analysis  Analysis -> Design

Example: Remote Access

Example(2): Secure Shell (SSH) ► Widely used network protocol providing security for remote access to user accounts and similar services ► [SSH] “enables secure remote login and other secure network services over an insecure network”  server authentication  client authentication (public key, password, host-based)  confidentiality  Integrity  perfect forward security. ► Well-documented:  Internet standard: RFC’s describe goals, architecture  Open source client implementation: Ganymed SSH-2 for Java

Requirements: Use Cases

Requirements: Sequence Diagram

Requirements: Activity Diagram

Analysis: Initial Class Diagram

Patterns applied during Analysis ► Authenticator ► Known Partners ► Single Access Point ► Checkpoint ► Security Session ► Information Obscurity ► Secure Channels

Analysis: Final Class Diagram

Compare: SSH Transport Protocol (reverse engineered from RFC)

Analysis Result ► Application of standard security patterns to the abstract case of remote access yielded a reasonably comprehensive model of the entities and relationships that participate in the SSH architecture.

Results ► Application of the methodology to a generic version of the example problem yielded a model that corresponds well to an existing solution of the problem ► Models captured fragments of the system from a given viewpoint, in this case depending on the lifecycle phase ► The ability to connect entities between phases depends on a shared metamodel ► No such metamodel exists for the presented models

Results(2), Questions revisited ► To what degree is it now possible to work in terms of high-level models rather than code?  Within constraints, there are opportunities to work with models rather than code ► Does MDA allow for the creation and reuse of generic models?  Insufficient evidence collected to support answering this question. ► Does MDA reduce the amount of low-level work that needs to be done?  MDA increases the amount of work required to build the first application.

Conclusions ► Requirements, Analysis and Design are fundamentally about deciding what you want, while MDA excels in describing what you have. ► Conclusion: MDA can be useful when working with a known domain and a known architecture. ► Metamodels, and transformations on them, are MDA’s driving force. Where they exist or their creation is justified, they can assist in the development process

Conclusions(2) ► MDA is not a good fit for a methodology; but it could be a good fit for an instance of a methodology. ► MDA can capture the details of domain and architecture, allowing systems designers to concentrate on variations within an established framework. ► This does suggest that software alteration and maintenance may be enhanced by the use of MDA

Future Work ► Develop Java platform model to support code generation from existing analysis models ► Choose second, third example applications ► Map examples on to suitable metamodel(s)  Unify lifecycle phase models  Factor out application, secuirty, platform dependencies  Evaluate existing metamodels: SysML, RM-ODP ► Encode security pattern knowledge in the metamodel

Committee ► Dr. E.B. Fernandez ► Dr. Shihong Huang ► Dr. Maria Petrie