Security analysis of COM with Alloy

Slides:



Advertisements
Similar presentations
.NET Technology. Introduction Overview of.NET What.NET means for Developers, Users and Businesses Two.NET Research Projects:.NET Generics AsmL.
Advertisements

Database System Concepts and Architecture
Comparison of Several Meta-modeling Tools 2 Yi Lu Computer Science Department McGill University
Architecture Representation
Hydra (A General Framework for Formalizing UML with Formal Languages for Embedded Systems*) *from the Ph.D. thesis of William E. McUmber Software Engineering.
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
Background information Formal verification methods based on theorem proving techniques and model­checking –to prove the absence of errors (in the formal.
1 © Wolfgang Pelz UML3 UML 3 Notations describe how to use reusable software. Package Component Deployment Node.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Architecture-driven Modeling and Analysis By David Garlan and Bradley Schmerl Presented by Charita Feldman.
Using UML and Alloy to Specify and Analyze Access Control Features Eunjee Song, Xi Hua SP05-CS681 Project Proposal.
CASE Tools CIS 376 Bruce R. Maxim UM-Dearborn. Prerequisites to Software Tool Use Collection of useful tools that help in every step of building a product.
1 FM Overview of Adaptation. 2 FM RAPIDware: Component-Based Design of Adaptive and Dependable Middleware Project Investigators: Philip McKinley, Kurt.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Architectural Design.
Formal Methods 1. Software Engineering and Formal Methods  Every software engineering methodology is based on a recommended development process  proceeding.
© Drexel University Software Engineering Research Group (SERG) 1 Based on the paper by Philippe Kruchten from Rational Software.
Katanosh Morovat.   This concept is a formal approach for identifying the rules that encapsulate the structure, constraint, and control of the operation.
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
Composition of UML Described Refactoring Rules Presented by Chin-Yi Tsai.
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.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
1 Abstract Model Specification. 2 Explicitly describes behavior in terms of a model using well-defined types (viz. set, sequences, relations, functions)
Formal Verification. Background Information Formal verification methods based on theorem proving techniques and model­checking –To prove the absence of.
ALLOY: A Formal Methods Tool Glenn Gordon Indiana University of Pennsylvania COSC 481- Formal Methods Dr. W. Oblitey 26 April 2005.
Model Checking Early Requirements Specifications in Tropos Presented by Chin-Yi Tsai.
Page 1, CBSE – graduate course Specification of Software Components Frank Lüders Mälardalen University, Dept. of Computer Engineering
Principles of Programming & Software Engineering
CIS 375 Bruce R. Maxim UM-Dearborn
Building Enterprise Applications Using Visual Studio®
Databases (CS507) CHAPTER 2.
The Object-Oriented Thought Process Chapter 13
Component Object Model(COM)
Chapter 8 Environments, Alternatives, and Decisions.
Architecture Brief Pepper
Chapter 1: Introduction to Systems Analysis and Design
Business System Development
Software Process Activities.
Object-Oriented Modeling with UML
What is UML? What is UP? [Arlow and Neustadt, 2005] October 5, 2017
Systems Analysis and Design With UML 2
Software Design and Architecture
Distribution and components
Web Ontology Language for Service (OWL-S)
CHAPTER 2 CREATING AN ARCHITECTURAL DESIGN.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
The Extensible Tool-chain for Evaluation of Architectural Models
Software Connectors – A Taxonomy Approach
Service-centric Software Engineering
Component-Based Software Engineering: Technologies, Development Frameworks, and Quality Assurance Schemes X. Cai, M. R. Lyu, K.F. Wong, R. Ko.
Logical architecture refinement
CS 425/625 Software Engineering Architectural Design
ARCH-5: From Design to Implementation in OpenEdge® using UML and MDA
Design and Implementation
Software engineering -1
Analysis models and design models
Architecture Description Languages
Software Connectors.
An Introduction to Software Architecture
Introduction to Pattern Oriented Analysis and Design (POAD)
Chapter 1: Introduction to Systems Analysis and Design
4+1 View Model of Software Architecture
Department of Computer Science Abdul Wali Khan University Mardan
Automated Analysis and Code Generation for Domain-Specific Models
4+1 View Model of Software Architecture
Chapter 17 - Component-based software engineering
Design Yaodong Bi.
Graphical Modeling of INFOD applications
Chapter 1: Introduction to Systems Analysis and Design
Presentation transcript:

Security analysis of COM with Alloy Presenter: AliReza Namvar

Outline Motivation Problem Review of COM Security in COM Modeling with Alloy Preliminary Conclusions References

Motivation Security aspects in SD Architectural infrastructures Network security protocols Secure applications Architectural infrastructures Security in infrastructures Component-based SD Secure component communications Secure communication of part objects of an application How to preserve secure communication of objects? Considering distributed apps,…Web application. Such infrastructures are used as de-facto-standard in industrial development so the design and validation is a major concern

Problem Formal analysis of existing component based architectural frameworks Case study: modeling security in COM Analysis Tool: Alloy Analyzer Evolution of Security model of COM Extracting Invariant abstractions Specifying the invariants in Alloy so the design and validation is a major concern Analyzing their key properties is vital for their effective and safe use.

Overview of COM What is COM? Interface negotiation Legal/outer vs. inner components An infrastructure for the creation, operation, and management of components. Language and compiler independent, binary version of type coercion Outers follows normal rules of interface negotiation.inner comps are aggregated by other components and they do not obey standard COM rules

Security in COM Two categories of security Activation Call Utilizes OS security: permissions of a user to start a code, etc Based on DCE RPC security architecture Security in cross-process, cross-network server Activation:Dictates how new objects are started , how to connect new and existing objs….Seuring public services Call:security in established connection Read only /read write So the preserving security is much more sophisticated

Security in COM(cntd) “Service Control Manager” Call Security CoRegisterClassObject, IRunningObjectTable::Register IActivationSecurity Interface Call Security DCE RPC mechanism Automatic by COM infrastructure CSS:general APIs,server-side APIs, call-context interfaces to support static and dynamic activation security 1-provides APIs that applications may use to do their own security checking 2-based on setup information..security checking for the processes Not exclusive

Alloy A first-order notation : Combines the best features of Z and UML Schema structuring and a simple set-theoretic semantics Various declaration shorthands State machines with operations over complex states. Alloy has data structures:table,tree, etc Invariant-based reasoning:Formulate assertions that claim an invariant is preserved.

Why Alloy Specification in first order logic Finite Search Atomic representation for objects Relational language Finite Search Deep semantic analysis Offers fully automatic analysis of object models Checks consistency of constraints Simulates execution of operations No Composite structures

Source: http://theory.lcs.mit.edu/~dnj/talks/ Analysis approach Alloy Analyzer is a model refuter! When an assertion is found to be false, it generates a counterexample. Incremental process Source: http://theory.lcs.mit.edu/~dnj/talks/

Preliminary Conclusions First model: Declarative model of Security in COM Extracting security patterns in COM Describes systems state and behavior by listing properties

References Box, D., Essential COM, Addison-Wesley, 1998 Jackson D. and Sullivan K., “COM Revisited: Tool Assisted Modelling of an Architectural Framework”, Proc. ACM SIGSOFT Conf. Foundations of Software Engineering. San Diego, November 2000. Jackson D., Alloy: Lightweight Modelling and Analysis with Alloy.(Alloy’s Book) Microsoft Corporation, The Component Object Model Specification,version 0.9, October 24, 1995, available at: www.microsoft.com/com/resources/comdocs.asp

specification