Model-based Security with UMLsec Software & Systems Engineering Informatics, Munich University of Technology Germany

Slides:



Advertisements
Similar presentations
Kellan Hilscher. Definition Different perspectives on the components, behavioral specifications, and interactions that make up a software system Importance.
Advertisements

A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
Playing the Devil ’ s Advocate: Verifying Real-Time Systems Jan Jürjens Software & Systems Engineering TU Munich, Germany
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
CMSC 414 Computer (and Network) Security Lecture 2 Jonathan Katz.
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
1/31 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2005] January 22, 2009.
(c) 2007 Mauro Pezzè & Michal Young Ch 1, slide 1 Software Test and Analysis in a Nutshell.
William Stallings Data and Computer Communications 7 th Edition Chapter 2 Protocols and Architecture.
Common Mechanisms in UML
1 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2002] January 26, 2006.
COE 342: Data & Computer Communications (T042) Dr. Marwan Abu-Amara Chapter 2: Protocols and Architecture.
The Role of Modeling in Systems Integration and Business Process Analysis © Sparx Systems Pty Ltd 2011 Ben Constable Sparx Systems.
Incorporating database systems into a secure software development methodology Eduardo B. Fernandez, Jan Jurjens, Nobukazu Yoshioka, and Hironori Washizaki.
The Design Discipline.
UMLSec IS 2935: Developing Secure Systems Courtesy of Jan Jürjens, who developed UMLsec Lecture 10.
What is UML? What is UP? [Arlow and Neustadt, 2005] January 23, 2014
UML - Development Process 1 Software Development Process Using UML (2)
SEG4110 – Advanced Software Design and Reengineering
SCOTT KURODA ADVISOR: DR. FRANZ KURFESS Encouraging Secure Programming Practice in Academia.
Faculty of Informatics and Information Technologies Slovak University of Technology Peter Kajsa and Ľubomír Majtás Design.
CSCE 548 Secure Software Development Security Use Cases.
An Introduction to Software Architecture
Integrating Security Design Into The Software Development Process For E-Commerce Systems By: M.T. Chan, L.F. Kwok (City University of Hong Kong)
William Stallings Data and Computer Communications 7 th Edition Data Communications and Networks Overview Protocols and Architecture.
Introduction to MDA (Model Driven Architecture) CYT.
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
Secure Systems Research Group - FAU Model Checking Techniques for Security Systems UML Sec Tool Framework 7/30/2009 Maha B Abbey PhD Candidate.
SaveUML System design. System overview Possible...
A Meta-Level Specification and Profile for AspectJ in UML Joerg Evermann School of Information Management Victoria University of Wellington.
Systems Analysis and Design in a Changing World, 3rd Edition
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.
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
C. André, J. Boucaron, A. Coadou, J. DeAntoni,
Secure Systems Research Group - FAU Model Checking Techniques for Security Systems 5/14/2009 Maha B Abbey PhD Candidate.
11 SECURING NETWORK COMMUNICATION Chapter 9. Chapter 9: SECURING NETWORK COMMUNICATION2 OVERVIEW  List the major threats to network communications. 
Dr. Darius Silingas | No Magic, Inc. Domain-Specific Profiles for Your UML Tool Building DSL Environments with MagicDraw UML.
1 Qualitative Reasoning of Distributed Object Design Nima Kaveh & Wolfgang Emmerich Software Systems Engineering Dept. Computer Science University College.
Secure Systems Research Group - FAU SW Development methodology using patterns and model checking 8/13/2009 Maha B Abbey PhD Candidate.
Computing and SE II Chapter 9: Design Methods and Design Models Er-Yu Ding Software Institute, NJU.
UMLSec Lecture 12 IS 2620 Developing Secure Systems Courtesy of Jan Jürjens, who developed UMLsec.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
Requirements Engineering-Based Conceptual Modelling From: Requirements Engineering E. Insfran, O. Pastor and R. Wieringa Presented by Chin-Yi Tsai.
CIM LAB MEETING Presentation on UML Rakesh Mopidevi Kwangyeol Ryu.
Lecture 10 March 19, 2013 UMLSec 1. Objective Overview of UMLSec How UML has been extended with security construct Some security constructs in UMLSec.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Modeling the ODP Computational Viewpoint with UML 2.0: The Templeman Library Example José Raúl Romero, Antonio Vallecillo Universidad de Málaga, Spain.
Slide 1 Service-centric Software Engineering. Slide 2 Objectives To explain the notion of a reusable service, based on web service standards, that provides.
INFO 620Lecture #71 Information Systems Analysis and Design Design Class Diagrams and others INFO 620 Glenn Booker.
Supervised By: Dr. Juergen Dingel Suchita Ganesan, Laith “Leo” Juwaidah, Nondini Das Madiha Kazmi, Mojtaba Bagherzadeh Model-Based Monitoring for PapyrusRT.
Version 02U-1 Computer Security: Art and Science1 Correctness by Construction: Developing a Commercial Secure System by Anthony Hall Roderick Chapman.
System Monitoring using Constraint Checking as part of Model Based System Management 2007 Monitoring using Constraint Checking as part.
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.
CPT 123 Internet Skills Class Notes Internet Security Session B.
Secure Systems Research Group - FAU Model Checking Techniques for Security Systems 5/6/2009 Maha B Abbey PhD Candidate.
Session 1 What Is the UML? Written by Thomas A. Pender Published by Wiley Publishing, Inc. October 5, 2011 Presented by Kang-Pyo Lee.
Discussing “Developing Secure Systems with UMLSec” 15 FEB Joe Combs.
UML (Unified Modeling Language)
CS457 Introduction to Information Security Systems
What is UML? What is UP? [Arlow and Neustadt, 2005] October 5, 2017
Arab Open University 2nd Semester, M301 Unit 5
Business Process Measures
UMLSec IS 2935: Developing Secure Systems Courtesy of Jan Jürjens, who developed UMLsec Feb 6, 2006.
Design Yaodong Bi.
PASSI (Process for Agent Societies Specification and Implementation)
Software Development Process Using UML Recap
Presentation transcript:

Model-based Security with UMLsec Software & Systems Engineering Informatics, Munich University of Technology Germany Jan Jürjens

Jan Jürjens, TU Munich: Model-based Security with UMLsec2 A Need for Security Society and economies rely on computer networks for communication, finance, energy distribution, transportation... Attacks threaten economical and physical integrity of people and organizations. Interconnected systems can be attacked anonymously and from a safe distance. Networked computers need to be secure.

Jan Jürjens, TU Munich: Model-based Security with UMLsec3 Problems, Causes Many flaws found in design or implementation of security-critical systems, sometimes years after publication or use. Designing secure systems is difficult. Designers often lack background in security. Security as an afterthought. Cannot use security mechanisms „blindly“.

Jan Jürjens, TU Munich: Model-based Security with UMLsec4 Previous approaches „Penetrate-and-patch“: insecure disruptive Traditional formal methods: expensive. training people constructing formal specifications.

Jan Jürjens, TU Munich: Model-based Security with UMLsec5 Goal: Security by design Consider security from early on within development context taking an expansive view in a seamless way. Secure design by model analysis. Secure implementation by test generation.

Jan Jürjens, TU Munich: Model-based Security with UMLsec6 Using UML UML: unprecedented opportunity for high-quality critical systems development feasible in industrial context: De-facto standard in industrial modeling: large number of developers trained in UML. Relatively precisely defined. Many tools in development.

Jan Jürjens, TU Munich: Model-based Security with UMLsec7 Used fragment of UML Activity diagram Class diagram Sequence diagram Statechart diagram Deployment diagram Package Stereotypes, tags, constraints Current: UML 1.5

Jan Jürjens, TU Munich: Model-based Security with UMLsec8 UML Extension mechanisms Stereotype: specialize model element using ¿labelÀ. Tagged value: attach {tag=value} pair to stereotyped element. Constraint: refine semantics of stereotyped element. Profile: gather above information.

Jan Jürjens, TU Munich: Model-based Security with UMLsec9 UMLsec UMLsec: extension for secure systems development. evaluate UML specifications for vulnerabilities encapsulate security engineering patterns also for developers not specialized in security security from early design phases, in system context make certification cost-effective

Jan Jürjens, TU Munich: Model-based Security with UMLsec10 The UMLsec profile Recurring security requirements as stereotypes with tags (secrecy, integrity,...). Associated constraints to evaluate model, indicate possible vulnerabilities. Ensures that stated security requirements enforce given security policy. Ensures that UML specification provides requirements.

Jan Jürjens, TU Munich: Model-based Security with UMLsec11 Basic Security Requirements Secrecy Information Integrity

Jan Jürjens, TU Munich: Model-based Security with UMLsec12 ¿InternetÀ, ¿encryptedÀ, … Kinds of communication links resp. system nodes. For adversary type A, stereotype s, have set Threats (s) ∊ {delete, read, insert, access} of actions that adversaries are capable of. Default attacker: StereotypeThreats () Internet encrypted LAN smart card {delete, read, insert} {delete} ∅

Jan Jürjens, TU Munich: Model-based Security with UMLsec13 Requirements with use case diagrams Capture security requirements in use case diagrams. Constraint: need to appear in corresponding activity diagram.

Jan Jürjens, TU Munich: Model-based Security with UMLsec14 ¿fair exchangeÀ Ensures generic fair exchange condition. Constraint: after a {buy} state in activity diagram is reached, eventually reach {sell} state. (Cannot be ensured for systems that an attacker can stop completely.)

Jan Jürjens, TU Munich: Model-based Security with UMLsec15 Example ¿fair exchangeÀ Customer buys a good from a business. Fair exchange means: after payment, customer is eventually either delivered good or able to reclaim payment.

Jan Jürjens, TU Munich: Model-based Security with UMLsec16 ¿secure linksÀ Ensures that physical layer meets security requirements on communication. Constraint: for each dependency d with stereotype s ∊ {¿secrecyÀ, ¿integrityÀ} between components on nodes n≠m, have a communication link l between n and m with stereotype t such that if s = ¿secrecyÀ: have read ∉ Threats (t). if s = ¿integrityÀ: have insert ∉ Threats (t).

Jan Jürjens, TU Munich: Model-based Security with UMLsec17 Example ¿secure linksÀ Given default adversary type, constraint for stereotype ¿secure linksÀ violated: According to the Threats default (Internet) scenario, ¿InternetÀ link does not provide secrecy against default adversary.

Jan Jürjens, TU Munich: Model-based Security with UMLsec18 ¿secure dependencyÀ Ensure that ¿callÀ and ¿sendÀ dependencies between components respect security requirements on communicated data given by tags {secrecy}, {integrity}. Constraint: for ¿callÀ or ¿sendÀ dependency from C to D (and similarly for {secrecy}): Msg in D is {secrecy} in C if and only if also in D. If msg in D is {secrecy} in C, dependency stereotyped ¿secrecyÀ.

Jan Jürjens, TU Munich: Model-based Security with UMLsec19 Example ¿secure dependencyÀ Violates ¿secure dependencyÀ: Random generator and ¿callÀ dependency do not give security level for random() to key generator.

Jan Jürjens, TU Munich: Model-based Security with UMLsec20 ¿no down–flowÀ Enforce secure information flow. Constraint: Value of any data specified in {secrecy} may influence only the values of data also specified in {secrecy}. Formalize by referring to formal behavioural semantics.

Jan Jürjens, TU Munich: Model-based Security with UMLsec21 Example ¿no down-flowÀ ¿no down–flowÀ violated: partial information on input of high wm() returned by non-high rx().

Jan Jürjens, TU Munich: Model-based Security with UMLsec22 ¿data securityÀ Security requirements of data marked ¿criticalÀ enforced against threat scenario from deployment diagram. Constraints: Secrecy of {secrecy} data preserved. Integrity of {integrity} data preserved.

Jan Jürjens, TU Munich: Model-based Security with UMLsec23 Example ¿data securityÀ Variant of TLS (INFOCOM`99). Violates {secrecy} of s against default adversary.

Jan Jürjens, TU Munich: Model-based Security with UMLsec24 ¿guarded accessÀ Ensures that in Java, ¿guardedÀ classes only accessed through {guard} classes. Constraints: References of ¿guardedÀ objects remain secret. Each ¿guardedÀ class has {guard} class.

Jan Jürjens, TU Munich: Model-based Security with UMLsec25 Example ¿guarded accessÀ Provides ¿guarded accessÀ: Access to MicSi protected by MicGd.

Jan Jürjens, TU Munich: Model-based Security with UMLsec26 Concepts covered by UMLsec Security requirements: ¿secrecyÀ,… Threat scenarios: Use Threats adv (ster). Security concepts: For example ¿smart cardÀ. Security mechanisms: E.g. ¿guarded accessÀ. Security primitives: Encryption built in. Physical security: Given in deployment diagrams. Security management: Use activity diagrams. Technology specific: Java, CORBA security.

Jan Jürjens, TU Munich: Model-based Security with UMLsec27 Security Analysis Model classes of adversaries. May attack different parts of the system according to threat scenarios. Example: insider attacker may intercept communication links in LAN. To evaluate security of specification, simulate jointly with adversary model.

Jan Jürjens, TU Munich: Model-based Security with UMLsec28 Tool-support: Concepts Meaning of diagrams stated informally in (OMG 2001). Possible ambiguities problem for tool support analysis of behavioral properties (such as security) Use precise semantics for part of UML defined as pseudo-code. Include adversary model for simulation.

Jan Jürjens, TU Munich: Model-based Security with UMLsec29 Tool-support: Technology Commercial modelling tools: so far mainly syntactic checks and code-generation. Goal: more sophisticated analysis; connection to analysis tools. Several possibilities: General purpose language with integrated XML parser (Perl, …) Special purpose XML parsing language (XSLT, …) Data Binding (Castor; XMI: e.g. MDR)

Jan Jürjens, TU Munich: Model-based Security with UMLsec30 Data-binding with MDR Extracts data from XMI file into Java Objects, following UML 1.4 meta-model. Access data via methods. Advantage: No need to worry about XML.

Jan Jürjens, TU Munich: Model-based Security with UMLsec31 Connection with analysis tool Industrial CASE tool with UML-like notation: AUTOFOCUS ( verification code generation test-sequence generation Connect UML tool to underlying analysis engine.

Jan Jürjens, TU Munich: Model-based Security with UMLsec32 Applications Common Electronic Purse Specifications Analysis of multi-layer security protocol for web application of major German bank Analysis of SAP access control configurations for major German bank Risk analysis of critical business processes (for Basel II / KontraG) …

Jan Jürjens, TU Munich: Model-based Security with UMLsec33 Some resources Book: Jan Jürjens, Secure Systems Development with UML, Springer- Verlag, due 2003 CSS’03, Cancun (Mexico), May. More information:

Jan Jürjens, TU Munich: Model-based Security with UMLsec34 Finally We are always interested in industrial challenges for our tools, methods, and ideas to solve practical problems. More info: Contact me here or via Internet. Thanks for your attention !