Friday October 28, 2005 SoBeNeT workshop The role of Security in software processes (UP, XP) and software architecture.

Slides:



Advertisements
Similar presentations
2009 – E. Félix Security DSL Toward model-based security engineering: developing a security analysis DSML Véronique Normand, Edith Félix, Thales Research.
Advertisements

Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
® IBM Software Group © 2014 IBM Corporation Innovation for a smarter planet MBSE for Complex Systems Development Dr. Bruce Powel Douglass, Ph.D. Chief.
Automated Analysis and Code Generation for Domain-Specific Models George Edwards Center for Systems and Software Engineering University of Southern California.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Chapter Extension 19 Alternative Development Techniques © 2008 Pearson Prentice Hall, Experiencing MIS, David Kroenke.
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.
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
Business Area Analysis Focus: Domain View (selected business area) Goals: –Isolate functions and procedures that allow the area to meet its goals –Define.
CS 290C: Formal Models for Web Software Lecture 6: Model Driven Development for Web Software with WebML Instructor: Tevfik Bultan.
1 REQUIREMENTS ENGINEERING and SYSTEMS ANALYSIS Elements and Definitions.
DITSCAP Phase 2 - Verification Pramod Jampala Christopher Swenson.
Software Engineering Tools and Methods Presented by: Mohammad Enamur Rashid( ) Mohammad Rashim Uddin( ) Masud Ur Rahman( )
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.
S/W Project Management
UML - Development Process 1 Software Development Process Using UML (2)
Architecting secure software systems
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
CSCE 548 Secure Software Development Security Use Cases.
PALMS-CI: A Policy-driven Cyberinfrastructure For the Exposure Biology Community Barry Demchak Jacqueline Kerr, Gregory Norman, Ernesto.
Business Requirements Using Unified Modeling Language Eric H. Castain, SVP Internet Services Group, Architecture Wells Fargo March 2005.
1 Phases in Software Development Lecture Software Development Lifecycle Let us review the main steps –Problem Definition –Feasibility Study –Analysis.
Chapter 1: Introduction to Systems Analysis and Design
Demystifying the Business Analysis Body of Knowledge Central Iowa IIBA Chapter December 7, 2005.
Business Analysis and Essential Competencies
Access Control in Web Applications Peter Trommler Faculty of Computer Science Georg Simon Ohm University Nuremberg, Germany U = R I.
OASIS WSQM TC Meeting Dugki Min. 컴퓨터공학부 건국대학교 Agenda 1. Roll Call 2. Review and approval of the agenda 3. Review and approval of the previous.
Integrating Security Design Into The Software Development Process For E-Commerce Systems By: M.T. Chan, L.F. Kwok (City University of Hong Kong)
Tuesday October 25, 2005 SoBeNeT project User group meeting 25/10/2005.
Introduction to MDA (Model Driven Architecture) CYT.
Modeling Dynamic Role- based Access Constraints using UML Khaled Alghathbar George Mason University, USA and King Saud University, Riyadh, Saudi Arabia.
What is a Business Analyst? A Business Analyst is someone who works as a liaison among stakeholders in order to elicit, analyze, communicate and validate.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 4, Requirements Elicitation.
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
Information System Development Courses Figure: ISD Course Structure.
University of Southern California Center for Systems and Software Engineering Model-Based Software Engineering Supannika Koolmanojwong Spring 2013.
Verification and Validation in the Context of Domain-Specific Modelling Janne Merilinna.
Lecture 7: Requirements Engineering
Abstract We present two Model Driven Engineering (MDE) tools, namely the Eclipse Modeling Framework (EMF) and Umple. We identify the structure and characteristic.
1 Introduction to Software Engineering Lecture 1.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
ARCH-2: UML From Design to Implementation using UML Frank Beusenberg Senior Technical Consultant.
Secure Systems Research Group - FAU Model Checking Techniques for Security Systems 5/14/2009 Maha B Abbey PhD Candidate.
Dr. Darius Silingas | No Magic, Inc. Domain-Specific Profiles for Your UML Tool Building DSL Environments with MagicDraw UML.
Secure Systems Research Group - FAU SW Development methodology using patterns and model checking 8/13/2009 Maha B Abbey PhD Candidate.
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.
Requirement Engineering. Recap Elaboration Behavioral Modeling State Diagram Sequence Diagram Negotiation.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Smart Home Technologies
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation.
Tuesday October 25, 2005 Preview SoBeNeT- II project.
Prof. Hany H. Ammar, CSEE, WVU, and
Requirement engineering & Requirement tasks/Management. 1Prepared By:Jay A.Dave.
UML - Development Process 1 Software Development Process Using UML.
Software Engineering Lecture 10: System Engineering.
Models of the OASIS SOA Reference Architecture Foundation Ken Laskey Chair, SOA Reference Model Technical Committee 20 March 2013.
Copyright 2015, Robert W. Hasker. Classic Model Gathering Requirements Specification Scenarios Sequences Design Architecture Class, state models Implementation.
Introduction to Software Engineering 1. Software Engineering Failures – Complexity – Change 2. What is Software Engineering? – Using engineering approaches.
CHESS Methodology and Tool Federico Ciccozzi MBEES Meeting Sälen, January 2011 January 2011.
Chapter 1: Introduction to Systems Analysis and Design
CSCE 548 Secure Software Development Use Cases Misuse Cases
DT249/4 Information Systems Engineering Lecture 0
Model-Driven Analysis Frameworks for Embedded Systems
Chapter 1: Introduction to Systems Analysis and Design
Automated Analysis and Code Generation for Domain-Specific Models
Chapter 1: Introduction to Systems Analysis and Design
Software Development Process Using UML Recap
Presentation transcript:

Friday October 28, 2005 SoBeNeT workshop The role of Security in software processes (UP, XP) and software architecture

Friday October 28, SoBeNeT in a nutshell IWT SBO project ( ) Context: availability of security components Goal: to enable the development of secure application software 4 Research tracks:  Programming and Composition  Software engineering  Tamper and analysis resistance  Shielding and interception

Friday October 28, Agenda 13:30hOverview of research results in using UML for security (Bart De Win) 14:00hUP and security: overview of UMLSec (Jan Jürjens) 15:00hBreak 15:15hXP and security: writing abuser stories -- interactive session (Johan Peeters) 16:45hSecurity in software architectures -- interactive session (Wouter Joosen) 17:20hWorkshop wrap-up

Friday October 28, 2005 Overview of research results in using UML for security Bart De Win, Koen Yskout

Friday October 28, Introduction Importance of security in the software development process UML as industrial standard  Covers significant part of development lifecycle  UML 2.0 (support for behavioral semantics, components)  No formalization Overview of what support is available/being proposed to address security within UML  Only one, but an important vehicle  Selection is world-wide, not SoBeNeT-restricted  Part of survey effort Different goals:  Representation  Realization (automatic)  Verification  Traceability In this presentation we identify rather than assess

Friday October 28, Overview Techniques  Misuse cases (A)  Policy modeling (D)  Security patterns (D) Methods  CORAS  Model based security  CLASP Conclusion

Friday October 28, Misuse cases

Friday October 28, Misuse cases (ctd.) Textual representation of misuse case details Modifications to std. use case template:  Reinterpretation: actor, basic and alternative paths  Introduction: exception paths, capture points, triggers, related business rules, prevention and detection guarantee, stakeholders and threats  Although different template proposals are similar, no standard template yet

Friday October 28, Policy modeling

Friday October 28, Policy Modeling (ctd.) Support for constraint specification using OCL, e.g.  Separation of Duty: context User inv: let M : Set = {{accounts_mgr,purchase_mgr}, } in M->select{m|self.role->intersection(m)-> size->1)->isEmpty

Friday October 28, Policy Modeling (ctd.) Verification  Detection of conflicting constraints and identification of missing constraints  Prior to deployment  By means of USE tool Test scenarios are automatically generated Can be used to analyze modifications on the fly Authorization editor

Friday October 28, Security patterns Application of the idea of design patterns to security  A security pattern represents a proven design solution to a security problem  Usefulness of design patterns has been well established  Relevant for architectural as well as for detailed design Opportunities and challenges  Can have a huge impact on SSE  Watch application area  Quality control is essential

Friday October 28, Security Patterns (ctd.)

Friday October 28, Overview Techniques  Misuse cases (A)  Policy modeling (D)  Security patterns (D) Methods  CORAS  Model based security  CLASP Conclusion

Friday October 28, CORAS Risk Analysis of Security Critical Systems Consists of:  Integrated methodology  UML profile  Knowledge base  Tool Five step methodology (iterative)  Identify context  Identify risks  Analyze risks  Evaluate risks  Treat risks Designed for heavy analysis

Friday October 28, CORAS (ctd.)

Friday October 28, CORAS (ctd.)

Friday October 28, Model based security Goals:  Take security into account during the whole development process  Separation of concerns security should be separated from application design Specification using security metamodels or templates, or inline Realization: binding and generation  Transformation to code/deployment descriptor  Template instantiation  enriched model Verification: formal foundation needed Examples: SecureUML, AOM, UMLsec

Friday October 28, Model based security (ctd.) SecureUML e.g. secureUML e.g. componentUML

Friday October 28, Model based security (ctd.) SecureUML (ctd.)  Modeling the policy  Transformation from modeling language to code, deployment descriptors, … E.g. generate an EJB system, a.NET system, …

Friday October 28, Model based security (ctd.) Aspect-Oriented Modeling (AOM)  primary model + aspect models (e.g. security)  Specification: using templates class diagram, sequence diagram, OCL constraints  Realization: instantiation of the templates + composition with primary model Add new classes, extend existing classes, …  Verification: After composition During composition: evolving proof obligations

Friday October 28, Model based security (ctd.) Aspect-Oriented Modeling (ctd.) (BankUser, |User) (BankRole, |Role) … Primary model Template RBAC Aspect model Composed model

Friday October 28, Model based security (ctd.) UMLsec  Extension of UML for recurring security requirements Stereotypes, tags and constraints Superimposed on functional diagrams  Formal foundations support verification and generation  Specification details are hidden from the developer  Tool support is available  More details: see next presentation

Friday October 28, CLASP Comprehensive Lightweight Application Security Process Designed by Secure Software, IBM, WebMethods Set of security-related activities (24) to be included in the software development process Role-based approach Tools: vulnerability root-causes, template sheets, RUP plug-in

Friday October 28, CLASP (ctd.) Institute security awareness program Monitor security metrics Specify operational environment Identify global security policy Identify resources and trust boundaries Identify user roles and resource capabilities Document security-relevant requirements Detail misuse cases Identify attack surface Apply security principles to design Research and assess security posture of technology solutions Annotate class designs with security properties Specify database security configuration Perform security analysis of system requirements and design Integrate security analysis into source management process Implement interface contracts Implement and elaborate resource policies and security technologies Address reported security issues Perform source-level security review Identify, implement and perform security tests Verify security attributes of resources Perform code signing Build operational security guide Manage security issue disclosure process

Friday October 28, Conclusion Spectrum of results is available Main challenges:  Improving the application scope  Industrial validation of results  Quality control of point solutions  Formalization to enable verification and automatisation  Integration of results In summary, need for a secure SW development methodology & process Our future focus:  Integration of SoBeNeT results  Point solutions for architecture and detailed design  Coherent set of activities

Friday October 28, References Misuse cases  G. Sindre and A. Opdahl, Eliciting security requirements with misuse cases, Requirements Engineering, 10, pp , Policy Modeling  P. Epstein and R. Sandhu, Towards a UML based approach to Role Engineering  E. Shin and G.-J. Ahn, UML-based representation of RBAC  G.-J. Ahn and E. Shin, RBAC contraint specification using OCL  K. Sohr, G.-J. Ahn and L. Migge, Articulating and enforcing Authorization policies with UML and OCL, Workshop on Software Engineering for Secure Systems 2005, May 2005.

Friday October 28, References Security patterns  J. Yoder, J. Barcalow, Architectural patterns for Enabling Application Security, Workshop on Programming Languages for Patterns (PLoP),  The Open Group, Security Design Patterns, Technical Guide,  Security pattern website,  D. Kienzle and M. Elder, Security Patterns for Web Application Development, Technical Report, Model based security  J. Jürjens, Secure Systems Development with UML, Springer,  T. Lodderstedt, D. Basin, J. Doser, SecureUML: A UML-Based Modeling Language for Model-Driven Security, UML  D. Basin, J. Doser, T. Lodderstedt, Model Driven Security: from UML Models to Access Control Infrastructures, ACM Transactions on Software Engineering and Methodology, to appear.  E. Song, R. Reddy et al, Verifiable Composition of Access Control and Application Features, 10th ACM Symposium on Access Control Models and Technologies, June 2005.

Friday October 28, References CORAS  R. Fredriksen, M. Kristiansen, B. Gran, K. Stølen, T. Arthur Opperud, T.Dimitrakos. The CORAS framework for a model-based risk management process. In Proc. Computer Safety, Reliability and Security (Safecomp 2002), LNCS 2434, pages , Springer,  CORAS project homepage: CLASP  J. Viega, Security in the software development lifecycle, ibm.com/developerworks/rational/library/content/RationalEdge/o ct04/viega/.  Secure Software Inc. The CLASP Application Security Process, Technical report, 2005.