Secure Systems Research Group - FAU A Pattern-Driven Process for Secure Service-Oriented Applications Ph.D Dissertation Defense Candidate: N. A. Delessy,

Slides:



Advertisements
Similar presentations
Andrea Maurino Web Service Design Methodology Batini, De Paoli, Maurino, Grega, Comerio WP2-WP3 Roma 24/11/2005.
Advertisements

Copyright © 2006 Data Access Technologies, Inc. Open Source eGovernment Reference Architecture Approach to Semantic Interoperability Cory Casanave, President.
1 CIS224 Software Projects: Software Engineering and Research Methods Lecture 11 Brief introduction to the UML Specification (Based on UML Superstructure.
ARCH-05 Application Prophecy UML 101 Peter Varhol Principal Product Manager.
Case Tools Trisha Cummings. Our Definition of CASE  CASE is the use of computer-based support in the software development process.  A CASE tool is a.
A Successful RHIO Implementation
Overview of OASIS SOA Reference Architecture Foundation (SOA-RAF)
Environmental Council of States Network Authentication and Authorization Services The Shared Security Component February 28, 2005.
Formal Techniques in Software Engineering Universiteit AntwerpenIntroduction 1.1 Formal Techniques in Software Engineering 3de BAC Informatica Chapter.
A Pattern-Driven Security Process for SOA Applications
1 Introduction to XML. XML eXtensible implies that users define tag content Markup implies it is a coded document Language implies it is a metalanguage.
Secure Systems Research Group - FAU Patterns for access control E.B. Fernandez.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Secure Middleware (?) Patrick Morrison 3/1/2006 Secure Systems Group.
Model Driven Architecture (MDA) Partha Kuchana. Agenda What is MDA Modeling Approaches MDA in a NutShell MDA Models SDLC MDA Models (an Example) MDA -
CS 290C: Formal Models for Web Software Lecture 6: Model Driven Development for Web Software with WebML Instructor: Tevfik Bultan.
Applying the ISO RM-ODP Standard in e-Government B. Meneklis 1, A. Kaliontzoglou 2,3, D. Polemi 1, C. Douligeris 1 1 University of Piraeus, Department.
Supplement 02CASE Tools1 Supplement 02 - Case Tools And Franchise Colleges By MANSHA NAWAZ.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
LUCENTIA Research Group Department of Software and Computing Systems Using i* modeling for the multidimensional design of data warehouses Jose-Norberto.
Secure Systems Research Group - FAU Web Services Standards Presented by Keiko Hashizume.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Deriving AO Software Architectures using the AO-ADL Tool Suite Luis Fernández, Lidia Fuentes, Mónica Pinto, Juan A. Valenzuela Universidad de Málaga
Model Driven Security Framework for Definition of Security Requirements for SOA Based Applications Authors: Muhammad Qaisar Saleem, Jafreezal Jaafar, and.
Tsinghua University Service-Oriented Enterprise Coordination Prof. Dr. Yushun Fan Department of Automation, Tsinghua University,
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
Methodology and Tools for End-to-End SOA Configurations By: Fumiko satoh, Yuichi nakamura, Nirmal K. Mukhi, Michiaki Tatsubori, Kouichi ono.
Using MDA in Web Software Architectures Santiago Meliá Cristina Cachero Jaime Gómez Universidad de Alicante Spain.
Faculty of Informatics and Information Technologies Slovak University of Technology Peter Kajsa and Ľubomír Majtás Design.
An Introduction to Software Architecture
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyse and.
Integrating Security Design Into The Software Development Process For E-Commerce Systems By: M.T. Chan, L.F. Kwok (City University of Hong Kong)
Model transformation with a dedicated imperative language IRISA Rennes (France) - Triskell team Jean-Marc Jézéquel Didier Vojtisek Jean-Philippe Thibault.
Introduction to MDA (Model Driven Architecture) CYT.
Secure Systems Research Group - FAU Securing Service-Oriented Architectures using a Model-driven Approach Nelly A Delessy.
Larry L. Johnson Federal Transition Framework.
Secure Systems Research Group - FAU Classifying security patterns E.B.Fernandez, H. Washizaki, N. Yoshioka, A. Kubo.
Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.
Effective Requirements Management – an overview Kristian Persson Field Product Manager, Telelogic Asia/Pacific.
Secure Systems Research Group - FAU Using patterns to compare web services standards E. Fernandez and N. Delessy.
COMPAS Compliance-driven Models, Languages, and Architectures for Services "The COMPAS project will design and implement novel models, languages, and an.
Ocean Observatories Initiative Data Management (DM) Subsystem Overview Michael Meisinger September 29, 2009.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
Illustrations and Answers for TDT4252 exam, June
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
SOA-39: Securing Your SOA Francois Martel Principal Solution Engineer Mitigating Security Risks of a De-coupled Infrastructure.
1 UNIT –II Architecting Web Service. 2 Why SOA? – business point of view  Information Technology (IT) workers face many challenges, including: Limited.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
Secure Systems Research Group - FAU SW Development methodology using patterns and model checking 8/13/2009 Maha B Abbey PhD Candidate.
Secure Systems Research Group - FAU A Trust Model for Web Services Ph.D Dissertation Progress Report Candidate: Nelly A. Delessy, Advisor: Dr E.B. Fernandez.
Secure Systems Research Group - FAU 1 A Trust Model for Web Services Ph.D Dissertation Progess Report Candidate: Nelly A. Delessy, Advisor: Dr E.B. Fernandez.
Using security patterns to develop secure systems Eduardo B. Fernandez Florida Atlantic University.
Security Patterns for Web Services 02/03/05 Nelly A. Delessy.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Providing web services to mobile users: The architecture design of an m-service portal Minder Chen - Dongsong Zhang - Lina Zhou Presented by: Juan M. Cubillos.
MDA and Separation of Aspects: An approach based on multiples views and Subject Oriented Design Quercus Software Engineering Group Computer Science Department.
Implementing The SOA Reference Model An ESB Developer’s Perspective David Millman Principal Architect 9/8/2008.
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.
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.
CHESS Methodology and Tool Federico Ciccozzi MBEES Meeting Sälen, January 2011 January 2011.
Process 4 Hours.
Evaluating Compuware OptimalJ as an MDA tool
Design and Implementation
Service Oriented Architecture (SOA)
An Introduction to Software Architecture
Metadata The metadata contains
Presentation transcript:

Secure Systems Research Group - FAU A Pattern-Driven Process for Secure Service-Oriented Applications Ph.D Dissertation Defense Candidate: N. A. Delessy, Advisor: Dr E.B. Fernandez March 2008

Secure Systems Research Group - FAU Agenda Introduction –Problem Statement –Methodology and Overview of the Solution –Summary of Contributions Related Work

Secure Systems Research Group - FAU Agenda Contributions –The Pattern-Driven Process –Security-Enabled Metamodels for Service- Oriented and Web Services-Based Applications –The Decision-Guiding Map of Security Patterns and its Corresponding Catalog –The Chain of Model Transformation Definitions Conclusions and Future Work

Secure Systems Research Group - FAU Introduction Problem Statement –Service-Oriented Architecture (SOA) considered to be the new phase in the evolution of distributed enterprise applications –SOA could enable the design and realization of flexible applications across multiple organizations –Security issues associated with SOA: trust establishment among actors in an inter- organizational context –no central authority –users may not be known in advance channels of communication more vulnerable

Secure Systems Research Group - FAU Introduction Problem Statement –Actual solutions: Production of numerous, often overlapping security standards by the industry –  But there is no clear view of how to use them Security mechanisms and schemes proposed for SOA and web services –  They are not new, they are used in current distributed systems –A real problem hinders the widespread use of SOA: A methodology to design and build secure service- oriented applications is needed

Secure Systems Research Group - FAU Introduction Methodology and Overview of the Solution –We adapt the methodology in [Fer06b],[Fer06c] –Our process builds upon two different approaches to secure service-oriented applications: model-driven engineering the use of security patterns.

Secure Systems Research Group - FAU Introduction Methodology and Overview of the Solution –Security patterns are selected and applied at each step of the development process. We propose the use of a structured map –  Their selection is rendered easier Their application are automated since our patterns are described using UML models –In order to validate our process, we apply it to a real world example: a travel agency system

Secure Systems Research Group - FAU Introduction Summary of Contributions –The Pattern-Driven Process: describes in detail the different activities and artifacts produced at each step of the development –Security-Enabled Metamodels for Service-Oriented and Web Services-Based Applications: Allow the description of service-oriented and web services-based applications, with an emphasis on security, and in a flexible way, thanks to their security interfaces

Secure Systems Research Group - FAU Introduction Summary of Contributions –The Decision-Guiding Map of Security Patterns and its Corresponding Catalog Identified patterns that covered all layers and policy types Wrote and publish some of them –The Chain of Model Transformation Definitions Described using the OMG standard QVT

Secure Systems Research Group - FAU Related Work Several approaches have been presented to secure service oriented applications –Many use a formal approach, but they are applicable in very specific cases e.g. [Yua04] addresses low-level aspects of security at the discovery phase of web services –[Ala04] proposes a model-driven approach that extends OCL to define access control policies –[Nak05] uses a MDA approach, but a low-level only

Secure Systems Research Group - FAU Related Work Several approaches have been presented to secure service oriented applications –[Char05], [Ray04] are Aspect-Oriented approaches to secure web services compositions, by resp. extending BPEL to insert pointcuts and defining model weaving operations the security expert would need to know resp. BPEL language or the unsecure application model –[Gut06] presents a whole process to secure web services-based systems Not detailed, no mention of automatic transformations

Secure Systems Research Group - FAU The Pattern-Driven Process Software Lifecycle Stage ActorsMDA viewpointArtifactDescription of the artifact AnalysisBusiness analysts Computational independentCIMDescribes the problem space (customer needs, a.k.a. requirements) DesignArchitectsPlatform independentPIMDescribes how the chosen architectural style resolves the problem (i.e. in terms or components and connectors) Refined Design Architects Developers Platform specificPSMDescribes how the problem is resolved using the chosen platform CodingDevelopersRuntime executionCode/ Configuration files How the specific language and (virtual) machine resolves the problem

Secure Systems Research Group - FAU The Pattern-Driven Process Software Lifecycle Stage Artifact Artifact for Service-oriented applications as a composition of services Transformations AnalysisCIMUML conceptual class diagram, activity diagram derived from Use cases CIM to PIM (1) is manual CIM2secCIM is a simple automated operation DesignPIMClass diagram in terms of services, activity diagram describing the service compositions PIM2secPIM, and PIM to PSM (PIM2PSM) are automated Refined Design PSMClass diagram describing web services and activity diagram describing the web services interactions PSM2secPSM is automated, PSM to code is semi- automated CodingCode/ Configuration files WSDL files, BPEL files, XACML rules

Secure Systems Research Group - FAU The Pattern- Driven Process

Secure Systems Research Group - FAU Example: Travel Agency

Secure Systems Research Group - FAU Example: Travel Agency

Secure Systems Research Group - FAU The Security-Enabled Metamodel for Service-Oriented Applications Survey of existing SOA metamodels A security-enabled metamodel, not a secure metamodel –For enhanced flexibility: security patterns can be added dynamically Includes a simple security interface –Designed from the security requirements for service oriented applications

Secure Systems Research Group - FAU The Security-Enabled Metamodel for Service-Oriented Applications Security goals/TrustSecurity RequirementsPolicy type Confidentiality of stored information SR1. Access to services and their operations must be controlledAccess Control policies SR2. Service requesters must be authenticatedAuthentication policies Confidentiality of information in transmission SR3. The contents of exchanged messages must be kept confidential Message-level confidentiality policies Integrity of stored information SR1. Access to services and their operations must be controlledAccess Control policies SR2. Service requesters must be authenticatedAuthentication policies Integrity of information in transmission SR5. A service must verify that the contents of received messages have not been modified during their transit. Message-level integrity policies SR6. The contents of the received message must be authenticated Message-level authenticity policies SR7. A service must verify that the received messages have not been replayed.Message freshness policies Trusted participants SR8. Services and principals must be trusted only in a determined way Trust establishment and trust propagation policies SR9. Identity management and identity propagation must be clearly definedIdentification policies Non repudiation SR10. Service requester cannot deny having sent a message Message-level non-repudiation policies SR11. Accesses to a service must be logged Logging policies Audit policies Non repudiation policies

Secure Systems Research Group - FAU The Security- Enabled Metamodel for Service- Oriented Applications

Secure Systems Research Group - FAU The Security-Enabled Metamodel for Service-Oriented Applications Using the metamodel

Secure Systems Research Group - FAU The Security-Enabled Metamodel for Service-Oriented Applications Using the metamodel

Secure Systems Research Group - FAU The Security- Enabled Metamodel for Web Services- Based Applications

Secure Systems Research Group - FAU The Decision-Guiding Map of Security Patterns

Secure Systems Research Group - FAU The Corresponding Catalog of Security Patterns Examples –The Identity Provider Pattern allows the formation of a dynamically created identity within an identity federation consisting of several service providers. Therefore, identity and security information about a subject can be transmitted in a transparent way for the user among service providers from different security domains. –The Policy-Based Access Control Pattern decides if a subject is authorized to access an object according to policies defined in a central policy repository.

Secure Systems Research Group - FAU The Identity Provider Pattern context FederatedIdentity inv: forall(p | self.federatedAttributes->includes(p) implies self.subject.localIdentity.localAttributes->includes(p)) inv: self.federatedAttributes->excludes( self.subject.localIdentity.localAttributes.oclAsType( PrivateAttribute))

Secure Systems Research Group - FAU Policy-Based Access Control Pattern

Secure Systems Research Group - FAU The Chain of Transformation Definitions PIM2PSM –Simple QVT Relations CIM2secCIM, PIM2secPIM and PSM2secPSM –Relations between models are not static –  Model weaving operation

Secure Systems Research Group - FAU PIM2PSM Transformation Definition Example: Relation InvRec2All

Secure Systems Research Group - FAU PIM2PSM Travel Agency Example: Generated PSM

Secure Systems Research Group - FAU PIM2secPIM Transformation Definition Travel Agency example: Produced relation

Secure Systems Research Group - FAU PIM2secPIM Transformation Definition Travel Agency example: Produced PIM

Secure Systems Research Group - FAU Conclusions Benefits: –The process decouples the application domain expertise from the security expertise that are both needed to build a secure application.  The inclusion of security during the software development process becomes more convenient for the architects/designers.  Understanding security patterns from their human- readable description and knowing how to use the security-enabled metamodels are sufficient skills to use our process..

Secure Systems Research Group - FAU Conclusions Benefits: –The insertion of security is semi-automated and traceable.  The process is flexible and can easily adapt to changing requirements. –Given that SOA was developed in order to provide enterprises with modular, reusable and adaptable architectures, but that security was the principal factor that hindered its use, we believe that our process can act as an enabler for service-oriented applications.

Secure Systems Research Group - FAU Future Work Identification and writing of more security patterns at all levels, in order to ‘cover’ all security policies. Implementation into a tool. It should be able to make accurate suggestions of security patterns during the development of an application using all relationship types. Additionally, many MDA frameworks exist. The model transformation specifications should be implementable easily using one of those.

Secure Systems Research Group - FAU Future Work Our results consist in the design of a software development process for secure service- oriented applications. However, it would be valuable to abstract this process so that it could be architectural-style-independent, not only applicable to service-oriented applications. Finally, we need to investigate ways to validate our process. In particular, this leads to the problem of security patterns validation, which is resolved using methods in [Jur02]. But how can we verify that their application produces a secure design?

Secure Systems Research Group - FAU Thank You!