Secure Systems Research Group - FAU SW Development methodology using patterns and model checking 8/13/2009 Maha B Abbey PhD Candidate.

Slides:



Advertisements
Similar presentations
CS 432 Object-Oriented Analysis and Design
Advertisements

Environmental Council of States Network Authentication and Authorization Services The Shared Security Component February 28, 2005.
8.
Building Enterprise Applications Using Visual Studio ®.NET Enterprise Architect.
2-1 © Prentice Hall, 2007 Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
Software Testing and Quality Assurance
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 5: Restaurant.
The Sherlock Project Purdue University, Department of Computer Sciences Sponsored by Tellabs, Inc. Doug Clark - Group Leader Tobey Pasheilich Raj Talwar.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Chapter 6 Methodology Conceptual Databases Design Transparencies © Pearson Education Limited 1995, 2005.
Secure Systems Research Group - FAU Security patterns Eduardo B. Fernandez Dept. of Computer Science and Engineering Florida Atlantic University Boca Raton,
Software Frameworks for Acquisition and Control European PhD – 2009 Horácio Fernandes.
CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
Methodology Conceptual Database Design
Course Instructor: Aisha Azeem
Database Administration Chapter 16. Need for Databases  Data is used by different people, in different departments, for different reasons  Interpretation.
Designing Security In Web Applications Andrew Tomkowiak 10/8/2013 UW-Platteville Software Engineering Department
Incorporating database systems into a secure software development methodology Eduardo B. Fernandez, Jan Jurjens, Nobukazu Yoshioka, and Hironori Washizaki.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Architectural Design.
Chapter 10 Architectural Design
The Design Discipline.
Practical IS security design in accordance with Common Criteria Security and Protection of Information 2005 František VOSEJPKA S.ICZ a.s. June 5, 2005.
© Drexel University Software Engineering Research Group (SERG) 1 Based on the paper by Philippe Kruchten from Rational Software.
UML - Development Process 1 Software Development Process Using UML (2)
Implementation Yaodong Bi. Introduction to Implementation Purposes of Implementation – Plan the system integrations required in each iteration – Distribute.
1 A pattern language for security models Eduardo B. Fernandez and Rouyi Pan Presented by Liping Cai 03/15/2006.
Integrating Security Design Into The Software Development Process For E-Commerce Systems By: M.T. Chan, L.F. Kwok (City University of Hong Kong)
Methodology - Conceptual Database Design Transparencies
Methodology Conceptual Databases Design
9/14/2012ISC329 Isabelle Bichindaritz1 Database System Life Cycle.
Lecture 9: Chapter 9 Architectural Design
Secure Systems Research Group - FAU Model Checking Techniques for Security Systems UML Sec Tool Framework 7/30/2009 Maha B Abbey PhD Candidate.
4/2/03I-1 © 2001 T. Horton CS 494 Object-Oriented Analysis & Design Software Architecture and Design Readings: Ambler, Chap. 7 (Sections to start.
Secure Systems Research Group - FAU Classifying security patterns E.B.Fernandez, H. Washizaki, N. Yoshioka, A. Kubo.
RELATIONAL FAULT TOLERANT INTERFACE TO HETEROGENEOUS DISTRIBUTED DATABASES Prof. Osama Abulnaja Afraa Khalifah
Methodology - Conceptual Database Design. 2 Design Methodology u Structured approach that uses procedures, techniques, tools, and documentation aids to.
Methodology: Conceptual Databases Design
An application architecture specifies the technologies to be used to implement one or more (and possibly all) information systems in terms of DATA, PROCESS,
CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
Methodology - Conceptual Database Design
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.
UML Class Diagram Trisha Cummings. What we will be covering What is a Class Diagram? Essential Elements of a UML Class Diagram UML Packages Logical Distribution.
NA-MIC National Alliance for Medical Image Computing UCSD: Engineering Core 2 Portal and Grid Infrastructure.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
Part VII: Design Continuous
Database Administration
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.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Week 04 Object Oriented Analysis and Designing. What is a model? A model is quicker and easier to build A model can be used in simulations, to learn more.
DESIGN OF SOFTWARE ARCHITECTURE
Slide 1 Service-centric Software Engineering. Slide 2 Objectives To explain the notion of a reusable service, based on web service standards, that provides.
Secure middleware patterns E.B.Fernandez. Middleware security Architectures have been studied and several patterns exist Security aspects have not been.
CS223: Software Engineering Lecture 13: Software Architecture.
OOD OO Design. OOD-2 OO Development Requirements Use case analysis OO Analysis –Models from the domain and application OO Design –Mapping of model.
Securing Web Applications Lesson 4B / Slide 1 of 34 J2EE Web Components Pre-assessment Questions 1. Identify the correct return type returned by the doStartTag()
CompSci 280 S Introduction to Software Development
Web Application Vulnerabilities, Detection Mechanisms, and Defenses
Service-centric Software Engineering
Design and Implementation
Design Tips.
Analysis models and design models
How to Mitigate the Consequences What are the Countermeasures?
Methodology Conceptual Databases Design
Chapter 6: Architectural Design
Software Development Process Using UML Recap
SDMX IT Tools SDMX Registry
Presentation transcript:

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 SW Development Methodology Domain Analysis Requirements Analysis Design Implementation

Secure Systems Research Group - FAU SW Development Methodology Domain Analysis –Conceptual model –Legacy systems identified –Security implications analyzed –Domain and regulatory constraints identified –Institution security policies defined

Secure Systems Research Group - FAU SW Development Methodology Requirements –Use case based role identification and attack analysis –Use cases defining the required interactions with the system –Relate attacks to use cases. –Study each activity within a use case and see which threats are possible –Determine which policies would stop these attacks –Determine the needed rights for each actor and thus apply a need-to-know policy –Set of all use cases defines all the uses of the system and from all the use cases all the rights for each actor can be determined –Define security test cases for the complete system

Secure Systems Research Group - FAU SW Development Methodology Analysis –Authorized semantic analysis patterns –Analysis patterns used to build the conceptual model in a more reliable and efficient way –Conceptual model built where repeated applications of a security model pattern realize the rights determined from use cases –Analysis patterns can be built with predefined authorizations according to the roles in their use cases –Specify the rights for those parts not covered by patterns

Secure Systems Research Group - FAU SW Development Methodology Design –Coordinated application of patterns to multiple architectural layers –Design mechanisms selected to stop the attacks identified earlier and realize the required policies –User interfaces corresponding to use cases and used to enforce the authorizations defined in the analysis stage –Secure interfaces enforce authorizations when users interact with the system. –Components can be secured by using authorization rules for Java or.NET components for example –Distribution provides another dimension where security restrictions can be applied (e.g. web services can be secured using some of the standards and corresponding mechanisms) –Deployment diagrams define secure configurations to be used by security administrators. –A multilayer architecture needed to enforce the security constraints defined at the application level –In each level patterns are used to represent appropriate security mechanisms. –Security constraints must be mapped between levels

Secure Systems Research Group - FAU SW Development Methodology Implementation –Security rules defined in the design stage are reflected in the code. –Rules are expressed as classes, associations, and constraints, they can be implemented as classes in object- oriented languages –Select specific security packages or COTS, e.g., a firewall product, a cryptographic package –Some of the patterns identified earlier in the cycle can be replaced by COTS (these can be tested to see if they include a similar pattern) –Incorporate COTS (commercial off the shelf) security applications

Secure Systems Research Group - FAU Model Checking Model checking –Model checking can be applied during analysis stage and design stage Analysis stage –To check the properties of security patterns –Verify that the analysis model is compliant with the requirements (Use cases, sequence diagrams) Design stage –To check properties on the system designed –To check security constraints »Security constraints become at this stage the properties to validate

Secure Systems Research Group - FAU Model-based Security Engineering Patterns Use Cases Design

Secure Systems Research Group - FAU MetaSearch – Case Study MetaSearch Engine –Simple point of access to search in all relevant information sources with a single query –Personalization capabilities Storage of sources Password for restricted sources –Source range Non confidential such as general company announcements Confidential documents such as protocols, development specifications … –Each employee has access depending on his/her level of access Focus on security critical –Login –Store Login Information functionality of storing the users’ credentials for access to restricted information sources. –Search searching the selected sources with a specific query

Secure Systems Research Group - FAU MetaSearch – Case Study DataBase access Password restricted access Different level of access Sources Search Engine Source Restricted Source Employee Level of Access Need to finalize identification of all the class entities of the domain and construct the conceptual model using UML

Secure Systems Research Group - FAU Security-critical use cases of Metasearch (Requirements)

Secure Systems Research Group - FAU Analysis & Design Analysis Patterns –Help model security requirements –Provide solution for domain specific analysis Design Patterns –Provide solutions in term of complete subsystems, layers, packages –Describe structure and behavior Authentication pattern & Authorization pattern Where can I find already defined patterns? SSL Pattern

Secure Systems Research Group - FAU Secure communication using SSL –Node A: Client PC –Node B: Server

Secure Systems Research Group - FAU Class Structure of Use Case LOGIN EndUser – Central Class Represents user who wants to login using AuthenticateUser() method Invocation of this method is indicated by the dependency with the stereotype > Invocation requires secrecy, use of Stereotype > with tag value {secrecy = (authenticateUser())} Integrity required for returned session cookie cs, protection indicated by tagged value {Integrity = ( sc )} AuthService – Central authentication server validate user session, authenticate user via interface AuthenticationService

Secure Systems Research Group - FAU Feedback