Policy Modeling and Compliance Verification in Enterprise Software Systems: a Survey



Similar documents
Towards a Comprehensive Design-time Compliance Management: A Roadmap

Dr. Jana Koehler IBM Zurich Research Laboratory

Lecture 9: Requirements Modelling

Business Process Modeling Information Systems in Industry ( )

CHAPTER 1 INTRODUCTION

Probabilistic Model Checking at Runtime for the Provisioning of Cloud Resources

System modeling. Budapest University of Technology and Economics Department of Measurement and Information Systems

From Workflow Design Patterns to Logical Specifications

Transforming Socio-Technical Security Requirements in SecBPMN Security Policies

Towards Modeling and Transformation of Security Requirements for Service-oriented Architectures

Artificial Intelligence

UML TUTORIALS THE USE CASE MODEL

Specification and Analysis of Contracts Lecture 1 Introduction

A Methodology for the Development of New Telecommunications Services

When security meets software engineering: A case of modelling. secure information systems

Development of dynamically evolving and self-adaptive software. 1. Background

An Approach for Generating Concrete Test Cases Utilizing Formal Specifications of Web Applications

SUMMARY 28TH IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE (ICSM 2012) RIVA DEL GARDA, TRENTO, ITALY SEPTEMBER 24, 2012

WSMC High School Competition The Pros and Cons Credit Cards Project Problem 2007

How To Write A Diagram

The Role of Law in Software Requirements Engineering

Goal-Oriented Requirements Engineering: An Overview of the Current Research. by Alexei Lapouchnian

Software Engineering Reference Framework

Static Program Transformations for Efficient Software Model Checking

On the Modeling and Verification of Security-Aware and Process-Aware Information Systems

Course Outline. Foundation of Business Analysis Course BA30: 4 days Instructor Led

Modeling with I* 2. Yanik Ngoko IME-USP

Business-Driven Software Engineering Lecture 3 Foundations of Processes

BPMN PATTERNS USED IN MANAGEMENT INFORMATION SYSTEMS

The DEMONS Integrated Access Control Model for Collaborative Network Monitoring

To Comply Software and IT System Development with Related Laws Abstract. Keywords: 1. PROBLEM STATEMENT

VALLIAMMAI ENGINEERING COLLEGE S.R.M. Nagar, Kattankulathur DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

7. Classification. Business value. Structuring (repetition) Automation. Classification (after Leymann/Roller) Automation.

APPENDIX E THE ASSESSMENT PHASE OF THE DATA LIFE CYCLE

Model Checking: An Introduction

WoPeD - An Educational Tool for Workflow Nets

11 Tips to make the requirements definition process more effective and results more usable

SERENITY Pattern-based Software Development Life-Cycle

Software Requirements

Chap 1. Introduction to Software Architecture

The Model Checker SPIN

A Classification of Model Checking-based Verification Approaches for Software Models

Business Analyst Interview Questions And Answers

Ingegneria del Software. Gabriele Monfardini - Corso di Ingegneria del Software

Model Driven Interoperability through Semantic Annotations using SoaML and ODM

Ensuring Business Process Compliance Along the Process Life Cycle

Semantic Modeling of Mortgage Backed Securities: Case Study. Mike Bennett, Enterprise Data Management Council Yefim Zhuk, Sallie Mae

MODEL CHECKING OF SERVICES WORKFLOW RECONFIGURATION: A PERSPECTIVE ON DEPENDABILITY

Institut für Parallele und Verteilte Systeme. Abteilung Anwendersoftware. Universität Stuttgart Universitätsstraße 38 D Stuttgart

Information Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay

STUDY ON DOCUMENT-DRIVEN WORKFLOW MANAGEMENT SYSTEM BASED ON SELF-DEFINITION FORMS TECHNOLOGY

Research Overview in. Formal Method in Software Engineering Laboratory

To introduce software process models To describe three generic process models and when they may be used

Budapest University of Technology and Economics Department of Measurement and Information Systems. Business Process Modeling

Model Discovery from Motor Claim Process Using Process Mining Technique

How To Design An Information System

Announcements. SE 1: Software Requirements Specification and Analysis. Review: Use Case Descriptions

Report. Technical. Technologie-Zentrum Informatik. A Classification Framework Designed for Advanced Role-based Access Control Models and Mechanisms

Software Engineering Transfer Degree

Quality Management. Lecture 12 Software quality management

Tilburg University. Publication date: Link to publication

Process Modelling from Insurance Event Log

BPCMont: Business Process Change Management Ontology

Software Requirements Specification

Component visualization methods for large legacy software in C/C++

SysML Modelling Language explained

Regulatory Compliance Needs Process Management

Chapter 10. Practical Database Design Methodology. The Role of Information Systems in Organizations. Practical Database Design Methodology

CS Master Level Courses and Areas COURSE DESCRIPTIONS. CSCI 521 Real-Time Systems. CSCI 522 High Performance Computing

The Role of Information Technology Studies in Software Product Quality Improvement

Requirements Specification and Testing Part 1

A Software Framework for Risk-Aware Business Process Management

Model Checking based Software Verification

Sofware Requirements Engineeing

Nr.: Fakultät für Informatik Otto-von-Guericke-Universität Magdeburg

Online, Asynchronous Schema Change in F1

Rules and Business Rules

3SL. Requirements Definition and Management Using Cradle

VAIL-Plant Asset Integrity Management System. Software Development Process

A framework for secure migration processes of legacy systems to the cloud

Requirements Engineering Process

ONTOLOGY FOR MOBILE PHONE OPERATING SYSTEMS

THE PROCESS APPROACH IN ISO 9001:2015

Business Process Modeling with Structured Scenarios

Section C. Requirements Elicitation

Administration of Access Control in Information Systems Using URBAC Model

A Modeling Language for Activity-Oriented Composition of Service-Oriented Software Systems

Hazard Analysis and Critical Control Points (HACCP) 1 Overview

SOFT 437. Software Performance Analysis. Ch 5:Web Applications and Other Distributed Systems

Continual Verification of Non-Functional Properties in Cloud-Based Systems

Diagram Models in Continuous Business Process Improvement

17 Collaborative Software Architecting through Knowledge Sharing

PROCESS STATE INFERENCE FOR SUPPORT OF KNOWLEDGE INTENSIVE WORK

SUPPORTING KNOWLEDGE WORKERS: CASE MANANGEMENT MODEL AND NOTATION (CMMN)

An Automated Development Process for Interlocking Software that. Cuts Costs and Provides Improved Methods for Checking Quality.

PROJECT MANAGEMENT PLAN TEMPLATE < PROJECT NAME >

Feature. Applications of Business Process Analytics and Mining for Internal Control. World

Language-Independent Model Transformation Verification K. Lano, S. Kolahdouz-Rahimi, T. Clark King s College London; University of Middlesex

CDC UNIFIED PROCESS PRACTICES GUIDE

Chapter 10 Practical Database Design Methodology and Use of UML Diagrams

Transcription:

Policy Modeling and Compliance Verification in Enterprise Software Systems: a Survey George Chatzikonstantinou, Kostas Kontogiannis National Technical University of Athens September 24, 2012 MESOCA 12, Riva del Garda, Trento, Italy

Goals of this survey Survey a number of policy modeling and policy compliance verification techniques Propose a corresponding basic classification for these Outline advantages and disadvantages of each class of techniques

Ambiguity of the term policy Many aspects and features of ESS are described by the term policy It mainly depends on the context Possible interpretations include: requirement process condition

Definition and Types of Policy Definition Policy is a rule that defines an intentional, expected or mandatory behavior or property of a system. We focused on four policy types, mainly because of their importance as this is documented in the surveyed literature Security Policies Business Process Policies Regulatory Policies Design Policies

Table of contents 1 Policy Modeling Issues related to Policy Modeling 2 Policy Compliance Verification Issues related to Policy Compliance Verification 3 Conclusion 4 Future Avenues of Research

Issues related to Policy Modeling Introduction Policy Modeling The process of creating an abstract and formal(?) representation of a policy. Limitations of natural language (NL) : NL is inherently ambiguous processing documents written in NL with CASE tools is not a trivial task This leads to the necessity for defining formal or semi-formal languages/notations

Issues related to Policy Modeling The ideal modeling notation Ideally a modeling notation should: not leave room for ambiguities be expressive enough to denote any policy required be easily understood by all stakeholders allow the use of CASE tools

Issues related to Policy Modeling The ideal modeling notation Ideally a modeling notation should: not leave room for ambiguities be expressive enough to denote any policy required be easily understood by all stakeholders allow the use of CASE tools There is always a trade-off between expressiveness and complexity

Classification Graphical Notations Policy Modeling Classification Formal Languages

Classification UML Profiles Graphical Notations Sequence Charts Directed Graphs Policy Modeling Classification Agent Based Formal Languages

Classification UML Profiles Graphical Notations Sequence Charts Directed Graphs Policy Modeling Classification Agent Based Formal Languages Logic Based High Level

Graphical Notations - UML Profiles UML Profiles Sequence Charts Directed Graphs Agent Based Pros : Cons : the majority of IT experts are familiar with UML and the new notation can be easily adapted CASE tools for UML profiles any deviation from the standard may lead to interoperability problems

Graphical Notations - UML Profiles - Examples UML Profiles Sequence Charts Directed Graphs SecureUML [Lodderstedt et al. 2002] UML4SOA [Bruni et al. 2009] Agent Based

Graphical Notations - Sequence Charts UML Profiles Sequence Charts Directed Graphs Agent Based Pros : Cons : visualize the behavior of the system in terms of scenarios/anti-scenarios policies must be formulated as sequences of messages exchanged between entities

Graphical Notations - Sequence Charts - Examples UML Profiles Sequence Charts Directed Graphs Agent Based TMSC [B. Sengupta et al. 2006] MSC extension supports conditional/partial scenarios Property Sequence Charts [M. Aytili et al. 2006] messages enriched with temporal properties

Graphical Notations - Directed Graphs UML Profiles Sequence Charts Directed Graphs Agent Based Pros : Cons : models can be easily used and understood from most stakeholders regardless of their scientific background can be used in model checking techniques policies must be transformed into event-driven transitions between states

Graphical Notations - Directed Graphs - Examples UML Profiles Sequence Charts Directed Graphs Agent Based Visual Timed event Scenarios [A. Alfonso et al. 2004] limited set of graphical elements model complex scenarios for real time systems YAWL [W. van der Aalst et al. 2003] Petri-nets extension

Graphical Notations - Agent Based UML Profiles Sequence Charts Directed Graphs Agent Based Pros : Cons : assists in developing a deeper understanding of the system provides a more clear view of the environment the system operates in lacks in describing the exact sequence of activities and the responsible actors for each activity

Graphical Notations - Agent Based - Examples UML Profiles Sequence Charts Directed Graphs Agent Based Active-i* [T. Xu et al. 2010] combines i* with UML activity diagrams Agents with Commitments [A. Chopra et al. 2010] extends Tropos modeling notation

Formal Languages Visual notations have the advantage of being easily understood by most stakeholders but they sometimes lack in formality When formality is more important than the ease of use, formal languages can be used These languages are mostly based on mathematical logic high level programming languages

Formal Languages - Logic Based Logic Based High Level Pros : Cons : enable processing and reasoning can be used to express semantics of abstract representations high complexity a mathematical background is required

Graphical Notations - Logic Based - Examples Logic Based High Level MFOTL [D. Basin et al. 2010] based on temporal logic used to describe complex security policies FLAVOR [R. Thion et al. 2010] based on deontic logic express obligations and permissions

Formal Languages - High Level Languages Logic Based High Level Pros : Cons : easy for software professionals to learn and use do not have the complexity of logic based ones cannot be used from all stakeholders (e.g. business analysts)

Graphical Notations - Logic Based - High Level Languages Logic Based High Level PROPOLS [J. Yu et al. 2006] encoded in OWL specify policies for BPEL schemas Rei [L. Kagal et al. 2003] it is implemented in Prolog policies in systems that change dynamically priorities among policies (resolution of conflicts)

Issues related to Policy Compliance Verification Introduction Policy Compliance Verification The process of assessing whether a software system satisfies a certain policy or not. Applications of compliance verification during development to assist design decision making during runtime to control system maintenance and evolution in combination with policy enforcement techniques to build self-adaptive systems Focus on automatic or semi-automatic methods

Classification Model Checkers Probabilistic Model Checkers Theorem Provers

Model Checkers Model Checkers Probabilistic Model Checkers Theorem Provers Pros : Cons : fully automated verification process generate counterexample can not easily apply to runtime analysis demanding in terms of execution time and memory

Model Checkers - Examples Model Checkers Probabilistic Model Checkers Theorem Provers Osman et al. 2006 runtime verification uses local model checking techniques

Probabilistic Model Checkers - Examples Model Checkers Probabilistic Model Checkers Theorem Provers A. Filieri et al. 2011 evaluate the satisfaction of reliability requirements runtime verification system model and properties are transformed in symbolic expressions at design-time

Theorem Provers Model Checkers Probabilistic Model Checkers Theorem Provers Pros : Cons : same notation for the system and the properties generate the sequence of steps of the proof strong mathematical background is required low flexibility for fully automated provers

Conclusion Traditional model checking techniques (MCTs) do not manage to fulfil the execution time constraints imposed by runtime analysis. Modifications must be made to traditional MCTs (e.g. local model checking) While theorem provers solve the problem of state explosion they also have limitations There are approaches that try to combine MCTs with theorem provers [e.g. W. Kong 2005]

Future Avenues of Research Combine reverse engineering with monitoring techniques to verify that the system at hand complies with a set of policies. Tracing events against compliance constraints to identify deviations from service level agreements. Tracing actual resource usage patterns so that the system can be re-configured to meet dynamically changing needs.

Acknowledgements This research has been co-financed by the European Union (European Social Fund ESF) and Greek national funds through the Operational Program Education and Lifelong Learning of the National Strategic Reference Framework (NSRF) - Research Funding Program: Heracleitus II. Investing in knowledge society through the European Social Fund.