Secure Middleware (?) Patrick Morrison 3/1/2006 Secure Systems Group.

Slides:



Advertisements
Similar presentations
1Model Driven Architecture – 3. März 2008 – Siegfried Nolte 1.UML – What is it and what is it good for ? 2.MDA – What is it and what is it good for ? 3.MDA.
Advertisements

Programmierung verteilter Systeme Lab Institut für Informatik Universität Augsburg Universitätsstraße 14, Augsburg Tel.: (+49) 821/ , Fax:
Amit, Keyur, Sabhay and Saleh Model Driven Architecture in the Enterprise.
CC 2007, 2011 attribution - R.B. Allen Information System Architectures and Services.
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
The Architecture Design Process
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Systems Engineering Foundations of Software Systems Integration Peter Denno, Allison Barnard Feeney Manufacturing Engineering Laboratory National Institute.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Incorporating database systems into a secure software development methodology Eduardo B. Fernandez, Jan Jurjens, Nobukazu Yoshioka, and Hironori Washizaki.
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.
What is Business Analysis Planning & Monitoring?
February Semantion Privately owned, founded in 2000 First commercial implementation of OASIS ebXML Registry and Repository.
MDA Guide Version CYT. 2 Outline OMG Vision and Process Introduction to MDA How is MDA Used? MDA Transformations Other MDA Capabilities Using the.
Methodology and Tools for End-to-End SOA Configurations By: Fumiko satoh, Yuichi nakamura, Nirmal K. Mukhi, Michiaki Tatsubori, Kouichi ono.
© Drexel University Software Engineering Research Group (SERG) 1 Based on the paper by Philippe Kruchten from Rational Software.
CPTE 209 Software Engineering Summary and Review.
Database System Development Lifecycle © Pearson Education Limited 1995, 2005.
UML - Development Process 1 Software Development Process Using UML (2)
Computers & Employment By Andrew Attard and Stephen Calleja.
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.
Component-Based Software Engineering Dr R Bahsoon 1 Revision Session Component-Based Software Dr. Rami Bahsoon School of Computer Science The University.
1 Introduction to Modeling Languages Striving for Engineering Precision in Information Systems Jim Carpenter Bureau of Labor Statistics, and President,
SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Objectives Lecture 11 : Frameworks SWE 316: Software Design and Architecture  To understand.
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,
1 A pattern language for security models Eduardo B. Fernandez and Rouyi Pan Presented by Liping Cai 03/15/2006.
ITEC 3220M Using and Designing Database Systems
1 Introduction to Database Systems. 2 Database and Database System / A database is a shared collection of logically related data designed to meet the.
Software School of Hunan University Database Systems Design Part III Section 5 Design Methodology.
9/14/2012ISC329 Isabelle Bichindaritz1 Database System Life Cycle.
MDE Model Driven Engineering Xavier Blanc Université Pierre et Marie Curie
Introduction to MDA (Model Driven Architecture) CYT.
Web services for Enterprise Collaboration Applying MDA to web services for enterprise collaboration Doc Mars/ Doc webserv/
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.
KMS Products By Justin Saunders. Overview This presentation will discuss the following: –A list of KMS products selected for review –The typical components.
Model-Driven Architecture And The Secure Systems Methodology Masters Thesis Defense 11/16/2007 Patrick Morrison.
Information System Development Courses Figure: ISD Course Structure.
1/26/2004TCSS545A Isabelle Bichindaritz1 Database Management Systems Design Methodology.
The Systems Development Life Cycle
Information Systems Engineering. Lecture Outline Information Systems Architecture Information System Architecture components Information Engineering Phases.
Secure Systems Research Group - FAU SW Development methodology using patterns and model checking 8/13/2009 Maha B Abbey PhD Candidate.
CEN5011, Fall CEN5011 Software Engineering Dr. Yi Deng ECS359, (305)
Object-Oriented Software Engineering using Java, Patterns &UML. Presented by: E.S. Mbokane Department of System Development Faculty of ICT Tshwane University.
MDA – Model Driven Architecture Olivier Riboux. Overview What is MDA? The Challenges MDA addresses Developing in the MDA Benefits / Conclusion Case Study:
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.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
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.
1 SYS366 Week 1 - Lecture 1 Introduction to Systems.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Aspect-oriented Code Generation Approaches Abid Mehmood & Dayang N. A. Jawawi Department of Software Engineering Faculty of Computer Science and Information.
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.
Module: Software Engineering of Web Applications Dr. Samer Odeh Hanna 1.
Modelowanie i analiza systemów informacyjnych Model Driven Architecture Marek Bazan Marzec 2017.
Module: Software Engineering of Web Applications
Knowledge Management Systems
Chapter 2 Database Environment.
Module: Software Engineering of Web Applications
Introduction To System Analysis and Design PART 2
Evaluating Compuware OptimalJ as an MDA tool
UML profiles.
Analysis models and design models
Constructing MDA-based Application Using Rational XDE for .NET
Module: Software Engineering of Web Applications
Presentation transcript:

Secure Middleware (?) Patrick Morrison 3/1/2006 Secure Systems Group

Agenda Why middleware? What is middleware? How do you secure middleware? Next Steps

Why do a Presentation on Middleware? Follow-up on last year’s report –Tasks to be completed –Areas to be explored Look for middleware’s place in a comprehensive methodology Suggest some ideas for dealing with COTS/externally-developed/NIH products Ask questions for which I don’t have answers

Why? Follow-up Tasks from “A methodology for secure software design of complex applications” (Report 4) –T1 - Complete and refine our methodology to develop secure software. Define security requirements and their mapping to software aspects such as distribution and components. For this purpose we need to analyze possible threats and relate them to use cases and architectural levels. –T2 - Define an access control model able to express a variety of security policies. –T3 - Design an abstract multi-layer enforcement architecture for the model of T2. High-level constraints are mapped to implementations, including middleware, web services, database management systems (DBMSs), and operating systems. (Use MDA CIM and PIM) –T4 - Develop patterns that correspond to sets of policies and build a catalog of conceptual security patterns for complex applications. –T5 - Apply this methodology to the teaching of security. –T6 - Validate the methodology and model by testing them in real environments. –Develop a Common Criteria Protection Profile for secure medical/financial data access systems –Develop matrix (concern by lifecycle phase) to show methodology’s coverage

Why Middleware: Follow-up Task 1 …Define security requirements and their mapping to software aspects such as distribution and components. … Task 3 … High-level constraints are mapped to implementations, including middleware …

What Is Middleware? Definitions Attributes Examples Security Goals

What is Middleware: Definitions “Typically, as indicated earlier, these rules are kept in a centralized middleware (a Web Application server) that connects all databases. The WAS keeps a model of the institution information. This model is used as a reference to define security constraints.” [1] “The applications in these systems are usually integrated using a Web Application Server (WAS), a type of middleware that has a global enterprise model, typically implemented using object-oriented components such as J2EE or.NET.” [2] “This will be a multi-layer architecture where the high-level constraints are mapped to implementation-oriented mechanisms such as middleware, web services, database management systems (DBMSs), and operating systems.”[3]

What is Middleware: Definitions (2) Wikipedia: “In computing, middleware consists of software agents acting as an intermediary between different application components. It is used most often to support complex, distributed applications. The software agents involved may be one or many.” Pat: “If it’s not your application and it’s not the OS, it’s middleware*.” (* - unless your application is the middleware) For the methodology, our definition is ____________________________________

What is Middleware: Attributes Provides services to applications Requires system resources, dependencies Has vulnerabilities and constraints May or may not implement its own access control model Developer may not have control over its design

What is Middleware: Examples Web Application Servers Web Servers DBMS’s Web Services …

What is Middleware: Security Goals Engineer application to depend on middleware only as much as necessary, in view of middleware’s capabilities, liabilities and constraints Engineer system to account for middleware’s capabilities, liabilities and constraints. So, how do you find middleware’s capabilities, liabilities and constraints?

How do you secure middleware? DIY – Do It Yourself CC – Common Criteria MDA – Model-Driven Architecture Suggestions: _______________

Securing Middleware: DIY Consider security principles Research thoroughly Choose wisely Configure carefully Document everything Hope for the best

Securing Middleware: Common Criteria Common Criteria collects substantial security knowledge in a structured English framework [4] Define your security requirements - ST Find a Protection Profile that meets your ST Choose TOE’s that have been validated against the PP/ST you’ve selected Follow advice of TOE/ST/PP on configuration and use of selected product(s) If you know CC, you know this is oversimplified

CC compared to DIY Consider security principles – shared effort Research thoroughly – shared effort Choose wisely – (probably) limited to existing CC profiles – shorter list Configure carefully – shared effort Document everything – shared effort Hope for the best – risk somewhat mitigated

Securing Middleware: MDA MDA – Model-driven architecture, a platform for abstracting system details in a machine-readable format [5] Models and Meta-models – CIM – Computation Independent Model “Domain Model” – business-level view –PIM – Platform Independent Model –PSM – Platform Specific Model UML-based machine-readable Documented standards

Securing Middleware: MDA Figure from MDA Guide Version [5]

Securing Middleware: MDA [e.g.] UML Profile for enterprise distributed Object Computing (EDOC) (CIM) –Enterprise Collaboration Architecture (ECA) –Metamodel and UML Profile for Java and EJB (PIM- >PSA) –Flow Composition Model (FCM) –UML Profile for Patterns –UML Profile for ECA –UML Profile for Meta Object Facility –UML Profile for Relationships

Securing Middleware: MDA Obtain or develop CIM – embodies requirements Obtain or develop PIM – embodies analysis, design Obtain or develop PSM for system’s middleware – embodies implementation *Obtain tool support for automated translation* Hope for the best!

Method Comparisons DIY can be risky… but it’s easy to get started CC is more rigorous than DIY, but there are fewer options. Covers requirements and analysis phases. MDA can be as rigorous as CC, and is amenable to machine transforms… but few tools, data-points exist. Spans the lifecycle.

Methodology and the MDA

Next Steps Decide whether to commit to MDA, building CIM’s, PIM’s Explore other options – suggestions?

References [1] “Aspect-Oriented versus architecture-oriented security”, Eduardo B.Fernandez, Carlos Oviedo, and Alex J. Kotlarchyk [2] "Towards Secure Architectures for Middleware Systems", Eduardo B. Fernandez,Shihong Huang, Maria M. Larrondo-Petrie [3] “A methodology for secure software design of complex applications”, E.B. Fernandez, T. Sorgente, M. VanHilst, and M.M. Larrondo-Petrie [4] [5]