SECURE TROPOS Michalis Pavlidis 8 May 2012. Seminar Agenda  Secure Tropos  History and Foundation  Tropos  Basics  Secure Tropos  Concepts / Modelling.

Slides:



Advertisements
Similar presentations
Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Advertisements

© Gerald Kotonya and Ian Sommerville Viewpoint-Oriented Requirements Methods.
Object-Oriented Software Development CS 3331 Fall 2009.
Chapters 7 & 9 System Scope
1 Enhancing Requirements Engineering by Quality Modelling: a structured Framework Paolo Donzelli Dept of Informatics Office of the Prime Minister Rome,
Reference Architecture for Enterprise Integration CIMOSA GRAI/GIM PERA Dima Nazzal.
Developing MAS The GAIA Methodology A Brief Summary by António Castro and Prof. Eugénio Oliveira.
Software Testing and Quality Assurance
Knowledge Acquisitioning. Definition The transfer and transformation of potential problem solving expertise from some knowledge source to a program.
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
Viewpoint-oriented requirements methods. Objectives To explain the notion of viewpoints in RE To explain the notion of viewpoints in structured analysis.
Major Exam II Reschedule 5:30 – 7:30 pm in Tue Dec 5 th.
Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Requirements Engineering Course, Dr. Abdollahzadeh 1 Goal.
End-to-End Design of Embedded Real-Time Systems Kang G. Shin Real-Time Computing Laboratory EECS Department The University of Michigan Ann Arbor, MI
AOSE-2003, Melbourne July 15 th 1 Agent Oriented modeling by interleaving formal and informal analysis Anna Perini 1, Marco Pistore 2,1, Marco Roveri 1,
System Engineering Instructor: Dr. Jerry Gao. System Engineering Jerry Gao, Ph.D. Jan System Engineering Hierarchy - System Modeling - Information.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Introduction to Software Design Chapter 1. Chapter 1: Introduction to Software Design2 Chapter Objectives To become familiar with the software challenge.
Domain-Specific Software Engineering Alex Adamec.
Architecture, Implementation, and Testing Architecture and Implementation Prescriptive architecture vs. descriptive architecture Prescriptive architecture:
Enterprise Architecture
Chapter 7 Requirement Modeling : Flow, Behaviour, Patterns And WebApps.
Chapter 10 Architectural Design
Chapter 4 Requirements Engineering
UML - Development Process 1 Software Development Process Using UML (2)
ARTIFICIAL INTELLIGENCE [INTELLIGENT AGENTS PARADIGM]
ITEC224 Database Programming
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyse and.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Requirement Engineering. Review of Last Lecture Problems with requirement Requirement Engineering –Inception (Set of Questions) –Elicitation (Collaborative.
1. 2 Business Process Reengineering (BPR) “the fundamental rethinking and redesign of processes to achieve dramatic improvements in critical, contemporary.
Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.
SOFTWARE DESIGN.
Effective Requirements Management – an overview Kristian Persson Field Product Manager, Telelogic Asia/Pacific.
Chapter 9 요구사항 모델링: 시나리오 기반 방법론 Requirements Modeling: Scenario-Based Methods 임현승 강원대학교 Revised from the slides by Roger S. Pressman and Bruce R. Maxim.
1 Introduction to Software Engineering Lecture 1.
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 05. Review Software design methods Design Paradigms Typical Design Trade-offs.
Requirement Engineering for Trust Management : Model, Methodology Reasoning P. Giorgini, F. Massacci, J. Mylopoulos, N. Zannone, “Requirements Engineering.
2131 Structured System Analysis and Design By Germaine Cheung Hong Kong Computer Institute Lecture 8 (Chapter 7) MODELING SYSTEM REQUIREMENTS WITH USE.
 What is Modeling What is Modeling  Why do we Model Why do we Model  Models in OMT Models in OMT  Principles of Modeling Principles of Modeling 
1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.
A Goal Based Methodology for Developing Domain-Specific Ontological Frameworks Faezeh Ensan, Weichang Du Faculty of Computer Science, University of New.
ECE450 - Software Engineering II1 ECE450 – Software Engineering II Today: Introduction to Software Architecture.
Software Requirements: A More Rigorous Look 1. Features and Use Cases at a High Level of Abstraction  Helps to better understand the main characteristics.
1 Analysing system-user cooperation in KADS H. P. de Greef and J. A. Breuker, Department of Social Science Informatics, University of Amsterdam Knowledge.
Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Requirement Engineering Virtusa Training Group 2004 Trainer: Ojitha Kumanayaka Duration : 1 hour.
1 Chapter 8 Building the Analysis Model (1) Analysis Concepts and Principles.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
CSE 303 – Software Design and Architecture
The Architecture of Systems. System Architecture Every human-made and natural system is characterized by a structure and framework that supports and/or.
Architectural Design Introduction Design has been described as a multistep process in which representations of data and program structure,
Lecture 14 22/10/15. The Object-Oriented Analysis and Design  Process of progressively developing representation of a system component (or object) through.
 2001 John Mylopoulos STRAW’ Software Architectures as Social Structures John Mylopoulos University of Toronto First ICSE Workshop titled “From.
UML - Development Process 1 Software Development Process Using UML.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
Software Production ( ) Lecture 3: Dr. Samer Odeh Hanna (PhD) office: 318.
Chapter 7 Part II Structuring System Process Requirements MIS 215 System Analysis and Design.
LECTURE 5 Nangwonvuma M/ Byansi D. Components, interfaces and integration Infrastructure, Middleware and Platforms Techniques – Data warehouses, extending.
MIS Project Management Instructor: Sihem Smida Project Man agent 3Future Managers1.
Model Checking Early Requirements Specifications in Tropos Presented by Chin-Yi Tsai.
1 The XMSF Profile Overlay to the FEDEP Dr. Katherine L. Morse, SAIC Mr. Robert Lutz, JHU APL
CV-1: Vision The overall vision for transformational endeavors, which provides a strategic context for the capabilities described and a high-level scope.
Web Ontology Language for Service (OWL-S)
Modeling Ideator using Tropos Syed Hamza Javed
Chapter 20 Object-Oriented Analysis and Design
The Tropos visual modeling language A meta-model.
PASSI (Process for Agent Societies Specification and Implementation)
Software Development Process Using UML Recap
Presentation transcript:

SECURE TROPOS Michalis Pavlidis 8 May 2012

Seminar Agenda  Secure Tropos  History and Foundation  Tropos  Basics  Secure Tropos  Concepts / Modelling Activities  Process / Models  SecTro – Tool Support for Secure Tropos  Conclusions 8 May 2012

3 © Haris Mouratidis History, Motivation and Foundations Introduction to Secure Tropos 8 May 2012

Secure Tropos History  Started as a PhD project at the University of Sheffield, U.K. In 2000;  Effort to analyse a national secure health care system for elderly  Initially the need for a security-aware process was identified  It became apparent that such a process should be integrated within a methodological framework 8 May 2012

Secure Tropos motivation The current state of the art fails to report on methodologies that consider security issues in a structured way from the early stages and throughout the development process. 8 May 2012

Secure Tropos Objectives  Develop a methodology that creates a security focus development process, i.e. “force” software engineers to think about security  Support analysis not just of the system but also of its environment  Security is affected by the system environment  Support simultaneous analysis of security and functional requirements  Assist in limiting conflicts  Support all the development stages 8 May 2012

Secure Tropos Foundations  Based on the Tropos methodology  Extends Tropos in two important ways  Concepts Extension  Introduction of security related concepts  Redefinition of existing concepts with security in mind  Process Extension  Definition of security related modelling activities  Definition of security methods  Redefinition of development process 8 May 2012

8 © Haris Mouratidis An introduction Tropos Methodology 8 May 2012

Tropos  Agent Oriented Software Engineering Methodology  adopts ideas from multi-agent system technologies, mostly to define the latest stages of the development process  Strongly Requirements Driven  Adopts i*, which offers actors, goals, and actor dependencies as primitive concepts for modelling during early requirements analysis  Same concepts are used throughout the development process  It describes both the organisational environment of the system and the system itself 8 May 2012

Tropos Key points  A crucial role is given to early requirements analysis that precedes the prescriptive requirements specification of the system.  This means that Tropos includes earlier phases of the software development process than those supported by other software engineering methodologies  Model the what, the how and the why  Tropos rests on the idea of building a model of the system and its environment, that is incrementally refined and extended  It Spans across the overall software development process, from early requirements to implementation 8 May 2012

Tropos Concepts  Actor  Entity that has strategic goals  Social or Artificial (HW or SW) agent, role, position  Goal  Actors’ strategic interests  Soft goal – not clear criteria whether satisfied  Plan  A way of doing something  Resource  A Physical or an informational entity  Dependency  Indicates that an actor depends on another in order to achieve some goal/task or to obtain a resource 8 May 2012

Development Phases  Early Requirements Analysis  Identifies the domain stakeholders and models them as social actors, who depend on one another for goals to be achieved, plans to be performed, and resources to be furnished.  Late Requirements Analysis  The conceptual model is extended including a new actor, which represents the system, and a number of dependencies with other actors of the environment. These dependencies define all the functional and non-functional requirements of the system-to-be.  Both share the same conceptual and methodological approach. 8 May 2012

Development Phases II  Architectural Design  defines the system’s global architecture in terms of sub-systems, interconnected through data and control flows. Sub-systems are represented, in the model, as actors and data/control interconnections are represented as dependencies.  The architectural design provides also a mapping of the system actors to a set of software agents, each characterized by specific capabilities.  The Detailed Design  Specifies agent capabilities and interactions.  Implementation  follows step by step, in a natural way, the detailed design specification on the basis of the established mapping between the implementation platform constructs and the detailed design notions. 8 May 2012

Modelling Activities  Actor modelling  Consists of identifying and analyzing both the actors of the environment and the system’s actors and agents.  Dependency modelling  Consists of identifying actors which depend on one another for goals to be achieved, plans to be performed, and resources to be furnished.  Goal modelling  rests on the analysis of an actor goals, conducted from the point of view of the actor, by using three basic reasoning techniques: means-end analysis, contribution analysis, and AND/OR decomposition. 8 May 2012

Requirements Analysis Diagrams  Actor Diagrams  Describe actors, their goals and the network of dependency relationships among actors  Goal Diagrams  Describe the internal analysis of an actor  Both used for Early and Late Requirements  During Early Requirements depict system environment  During Late Requirements depict the system 8 May 2012

Example of Actor Diagram 8 May 2012

Example of Goal Diagram: Early Requirements 8 May 2012

Late Requirements Actor Diagram 8 May 2012

Architectural Design  New actors (including sub-actors) are introduced in the system as a result of analysis performed at different levels of abstraction, such as inclusion of new actors and delegation of sub-goals to sub- actors upon goal analysis of system’s goals,  Inclusion of new actors according to the choice of a specific architectural style  Inclusion of actors contributing positively to the fulfillment of some specific functional and non- functional requirement. 8 May 2012

Architectural Design 8 May 2012

Architectural Design II 8 May 2012

Architectural Design (cont.)  Next step involves identification of the capabilities needed by the actors to fulfil their goals and plans.  Capabilities are not derived automatically but they can be easily identified by analyzing the extended actor diagram.  The last step consists of defining a set of agent types and assigning each of them one or more different capabilities (agent assignment). 8 May 2012

Detail Design  Tropos adapts existing results from approaches to agent system design.  UML activity diagrams for representing capabilities and plans  a subset of the AUML diagrams for specifying agent protocols.  It takes as input the specifications resulting from the architectural design phase and the reasons for a given element, designed at this level, can be traced back to early requirement analysis. 8 May 2012

Capability Diagram Example 8 May 2012

25 © Haris Mouratidis Concepts, Stages, Activities Going Back to Secure Tropos 8 May 2012

Security requirements in Secure Tropos  How can we define and model security requirements?  As constraints!  Security requirements are most usefully defined as requirements for constraints on system functions  In Secure Tropos security constraints define the system’s security requirements 8 May 2012

Secure Tropos Concepts  Security Constraint:  A security condition imposed to an actor that restricts achievement of an actor’s goals, execution of plans or availability of resources.  Security constraints are outside of the control of an actor.  Contributes to a higher level of abstraction – no protocol related  Human-imposed and environment imposed 8 May 2012

Secure Tropos Concepts II  Secure dependency  Introduces security constraint (s) that must be fulfilled for the dependency to be satisfied  Three different types depending on which actor needs to satisfy the security constraint(s)  The depender must satisfy the security constraint(s)  The dependee must satisfy the security constraint(s)  Both must satisfy the security constraints 8 May 2012

Types of Secure Dependencies 8 May 2012

Secure Goal  Represents strategic interests of an actor with respect to security  Secure goals are mainly introduced in order to contribute towards the achievement of an actor’s or system’s security constraints.  The satisfaction of one or more security constraints by a secure goal is defined through a Satisfies relationship.  A secure goal does not particularly define how the security constraints can be achieved, since alternatives can be considered. 8 May 2012

An Example 8 May 2012

Secure Plans  A secure plan represents a particular way for satisfying a secure goal  In the context of Secure Tropos, this means a specific and defined action that an actor executes to operationalise a secure goal. 8 May 2012

Secure Resource  An informational entity that is needed for the achievement of a secure goal or the fulfilment of a secure task. 8 May 2012

Secure Capability  It represents the ability of an actor to achieve a secure goal, carry out a secure task and/or deliver a secure resource.  For example, consider an actor that is responsible for providing cryptographic services in a system.  This actor should possess secure capabilities to decrypt incoming data and encrypt outgoing data.  Another example is an actor responsible for providing authorisation services to a system.  Such an actor should be provided with secure capabilities to allow her to provide authorisation clearance or reject an authorisation request. 8 May 2012

Modelling Activities  The security constraint modelling involves the modelling of the security constraints imposed to the actors and the system, and it allows developers to perform an analysis by introducing relationships between the security constraints or a security constraint and its context.  The secure entities modelling involves the analysis of the secure entities of the system, and it is considered complimentary to the security constraints modelling.  The secure capability modelling involves the identification of the secure capabilities of the actors and the actors of the system to guarantee the satisfaction of the security constraints. 8 May 2012

Security Constraint Modelling I 8 May 2012

Security Constraint Modelling II 8 May 2012

Security Constraint Modelling III 8 May 2012

Secure Entities 8 May 2012

Security Process  The security-oriented process has the following objectives:  The identification of security requirements of the system;  The selection amongst alternative architectural styles for the system according to the identified security requirements;  The development of a design that satisfies the security requirements of the system;  The attack testing of the system under development. 8 May 2012

Process Activities  Environment Security Analysis  understand the environment  identify security considerations imposed by that environment  Perform a security balance analysis  System Security Analysis  identify system security requirements  System Design  Develop secure architecture  Design testing  Validation  Model  Design 8 May 2012

Secure Tropos Process II  Iterative  Uses the same stages as Tropos process  Early and Late Requirements Analysis, Architectural Design, Detailed Design  The process has recognizable stages  artefacts that are successively closer representations of a working system  Models  Focus on two important models used mostly during Early and Late Requirements but also during Architectural Design 8 May 2012

Diagrams  Security Enhanced Actor Diagram (SEAD)  Defines a set of actors along with their secure dependencies and any security constraints that might be imposed to these actors.  Security Enhanced Goal Diagram (SEGD)  Assist to analyse the security issues of a particular Actor by understanding the implications that Security Constraints, identified in SEAD, have. 8 May 2012

Security Enhanced Actor Diagram 8 May 2012

Graphical Representation 8 May 2012

Security Enhanced Goal Diagram 8 May 2012

Graphical Representation 8 May 2012

Stages, Activities, Outputs 8 May 2012

Loading Page of SecTro 8 May 2012

The main workspace 8 May 2012

Let’s See in Practice 8 May 2012

Summary  Secure Tropos  History and Foundation  Tropos  Basics  Secure Tropos  Concepts / Modelling Activities  Process / Models  SecTro – Tool Support for Secure Tropos  Conclusions 8 May 2012