June 3, 2016 CS 388: Model Integrated Computing 1 Security QoS Modeling (SQML) for Enterprise DRE Systems (eDRE) By Akshay V. Dabholkar Adviser Dr. Aniruddha.

Slides:



Advertisements
Similar presentations
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 2.
Advertisements

Securing the Broker Pattern Patrick Morrison 12/08/2005.
22 May 2015Joe Hoffert Quality of Service Configuration DSML for the Data Distribution Service Joe Hoffert
Seminarium on Component-based Software Engineering Jan Willem Klinkenberg CORBA.
Component Patterns – Architecture and Applications with EJB copyright © 2001, MATHEMA AG Component Patterns Architecture and Applications with EJB JavaForum.
1 12/10/03CCM Workshop QoS Engineering and Qoskets George Heineman Praveen Sharma Joe Loyall Richard Schantz BBN Technologies Distributed Systems Department.
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
Using Architecture Frameworks
Investigating Lightweight Fault Tolerance Strategies for Enterprise Distributed Real-time Embedded Systems Tech-X Corporation Boulder, Colorado Vanderbilt.
Tools and Services for the Long Term Preservation and Access of Digital Archives Joseph JaJa, Mike Smorul, and Sangchul Song Institute for Advanced Computer.
Architectural Design Principles. Outline  Architectural level of design The design of the system in terms of components and connectors and their arrangements.
Software Engineering Module 1 -Components Teaching unit 3 – Advanced development Ernesto Damiani Free University of Bozen - Bolzano Lesson 2 – Components.
QoS-enabled middleware by Saltanat Mashirova. Distributed applications Distributed applications have distinctly different characteristics than conventional.
1 © Talend 2014 XACML Authorization Training Slides 2014 Jan Bernhardt Zsolt Beothy-Elo
● Problem statement ● Proposed solution ● Proposed product ● Product Features ● Web Service ● Delegation ● Revocation ● Report Generation ● XACML 3.0.
© Drexel University Software Engineering Research Group (SERG) 1 Based on the paper by Philippe Kruchten from Rational Software.
Cardea Requirements, Authorization Model, Standards and Approach Globus World Security Workshop January 23, 2004 Rebekah Lepro Metz
26 Sep 2003 Transparent Adaptive Resource Management for Distributed Systems Department of Electrical Engineering and Computer Science Vanderbilt University,
AL-MAAREFA COLLEGE FOR SCIENCE AND TECHNOLOGY INFO 232: DATABASE SYSTEMS CHAPTER 1 DATABASE SYSTEMS (Cont’d) Instructor Ms. Arwa Binsaleh.
©Ian Sommerville 2000 Software Engineering, 6th edition. Slide 1 Component-based development l Building software from reusable components l Objectives.
Computer Science Open Research Questions Adversary models –Define/Formalize adversary models Need to incorporate characteristics of new technologies and.
Computer Science and Engineering 1 Service-Oriented Architecture Security 2.
Introduction to MDA (Model Driven Architecture) CYT.
Cluster Reliability Project ISIS Vanderbilt University.
第十四章 J2EE 入门 Introduction What is J2EE ?
Co-design Environment for Secure Embedded Systems Matt Eby, Janos L. Mathe, Jan Werner, Gabor Karsai, Sandeep Neema, Janos Sztipanovits, Yuan Xue Institute.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 07. Review Architectural Representation – Using UML – Using ADL.
Architecting Web Services Unit – II – PART - III.
SAMANVITHA RAMAYANAM 18 TH FEBRUARY 2010 CPE 691 LAYERED APPLICATION.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 09. Review Introduction to architectural styles Distributed architectures – Client Server Architecture – Multi-tier.
Composing Adaptive Software Authors Philip K. McKinley, Seyed Masoud Sadjadi, Eric P. Kasten, Betty H.C. Cheng Presented by Ana Rodriguez June 21, 2006.
HPEC’02 Workshop September 24-26, 2002, MIT Lincoln Labs Applying Model-Integrated Computing & DRE Middleware to High- Performance Embedded Computing Applications.
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
SOA-39: Securing Your SOA Francois Martel Principal Solution Engineer Mitigating Security Risks of a De-coupled Infrastructure.
DataReader 2 Enhancing Security in Ultra-Large Scale (ULS) Systems using Domain- specific Modeling Joe Hoffert, Akshay Dabholkar, Aniruddha Gokhale, and.
Investigating Survivability Strategies for Ultra-Large Scale (ULS) Systems Vanderbilt University Nashville, Tennessee Institute for Software Integrated.
CoSMIC: Tool-suite for Weaving Deployment & Configuration Crosscutting Concerns of CCM-based DRE Systems Dr. Aniruddha Gokhale (PI) Institute for Software.
07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking.
Secure Systems Research Group - FAU SW Development methodology using patterns and model checking 8/13/2009 Maha B Abbey PhD Candidate.
NA-MIC National Alliance for Medical Image Computing UCSD: Engineering Core 2 Portal and Grid Infrastructure.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
1 Key design time challenges Convert commander’s intent, along with static/dynamic environment, into QoS policies Quantitatively evaluate & explore complex.
Resolving QoS Policy Configuration Challenges for Publish/Subscribe Middleware Platforms AFRL JBI PI Meeting.
MDDPro: Model-Driven Dependability Provisioning in Enterprise Distributed Real-time and Embedded Systems Sumant Tambe* Jaiganesh Balasubramanian Aniruddha.
An Introduction to Software Engineering (Chapter 1 from the textbook)
18 December 2015Joe Hoffert, Aniruddha Gokhale, Doug Schmidt Enabling Trustworthy Systems with the DDS Quality of Service Modeling Language Joe Hoffert,
A QoS Policy Modeling Language for Publish/Subscribe Middleware Platforms A QoS Policy Modeling Language for Publish/Subscribe Middleware Platforms Joe.
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 5/18/2007ã 2007, Spencer Rugaber Architectural Styles and Non- Functional Requirements Jan Bosch. Design and Use of Software Architectures. Addison-Wesley,
Component Patterns – Architecture and Applications with EJB copyright © 2001, MATHEMA AG Component Patterns Architecture and Applications with EJB Markus.
Enhancing Security in Enterprise Distributed Real-time and Embedded Systems using Domain-specific Modeling Akshay Dabholkar, Joe Hoffert, Aniruddha Gokale,
1 Key design time challenges Convert commander’s intent, along with static/dynamic environment, into QoS policies Quantitatively evaluate & explore complex.
Towards A QoS Modeling and Modularization Framework for Component-based Systems Sumant Tambe* Akshay Dabholkar Aniruddha Gokhale Amogh Kavimandan (Presenter)
20 February 2016Joe Hoffert Quality of Service Configuration DSML for the Data Distribution Service Joe Hoffert
Model-Driven Optimizations of Component Systems Vanderbilt University Nashville, Tennessee Institute for Software Integrated Systems OMG Real-time Workshop.
Security and Privacy for the Smart Grid James Bryce Clark, OASIS Robert Griffin, RSA Hal Lockhart, Oracle.
Trustworthy Conferencing via Domain-specific Modeling and Low Latency Reliable Protocols Joe Hoffert, Douglas Schmidt (Vanderbilt University); Mahesh Balakrishnan,
UML AN OVERVIEW. Topics covered in this Session 1. Introducing UML. 2. What constitutes the UML. 3. Concepts of UML.
J2EE Platform Overview (Application Architecture)
Sumant Tambe* Akshay Dabholkar Aniruddha Gokhale
Distribution and components
Applying Domain-Specific Modeling Languages to Develop DRE Systems
Enterprise Service Bus (ESB) (Chapter 9)
Chapter 5 Designing the Architecture Shari L. Pfleeger Joanne M. Atlee
Tools for Composing and Deploying Grid Middleware Web Services
Overview of the OMG Data Distribution Service
SAMANVITHA RAMAYANAM 18TH FEBRUARY 2010 CPE 691
Design Yaodong Bi.
Presentation transcript:

June 3, 2016 CS 388: Model Integrated Computing 1 Security QoS Modeling (SQML) for Enterprise DRE Systems (eDRE) By Akshay V. Dabholkar Adviser Dr. Aniruddha Gokhale

June 3, 2016 CS 388: Model Integrated Computing 2 Motivation  Security is one of the key QoS Aspects in addition to Real-Time, & Fault Tolerance in making Enterprise DRE (eDRE) systems Trustworthy  Apply the MDE approach to security to be able to express security policy annotations at a higher level and evaluate conflicting requirements at modeling time  Goal is to add model-driven security enhancements to component middleware like CCM (CORBA Component Model)

June 3, CS 388: Model Integrated Computing Security  Definition of security “Safety“ or “freedom from worry“  Types of protection:  Authorization  Access control and data protection (untrusted environment)  Accountability  Audit (weaker) and non-repudiation (stronger)  Availability  Service continuity and disaster recovery  Assurance  System safety and operational correctness

June 3, CS 388: Model Integrated Computing Multiple Security Concerns  Role-Based Access Control (RBAC): for managing user identity and roles for authorization  Evidence Generation: Component code running in the CCM container can be restricted to only use well-defined interfaces, which allows security to be effectively enforced on the code enabling safe deployment of large applications with varying degrees of security enforcements  Multi-level Security Policies: Enterprise, Machine, User & Application Domain policy types  System Partitioning: Based on domain security policies  Container Security: Infrastructure support in the CCM leveraging the CORBA security service and supported protocols for communication, authentication, encryption, integrity and interoperability

June 3, CS 388: Model Integrated Computing CORBA Security Model v1.8 Client Application (Message Sender) ORB Security Enforcement Subsystem Execution Context Credential Identity Privileges Message Policy Decision Core Target Object Domain Domain Policy  Security protection based upon policy  Policy may be domain specific  Policy enforced by ORB The ORB enforces –Access Control –Message Protection –Audit Policy The ORB implements –PEP (Policy Evaluation Points) –PDP (Policy Decision Points), i.e., portable interceptors The ORB Services implement –Policy Repository –Security Protocols (e.g., SSLIOP) –Authentication Methods –Cryptographic Algorithms CCM Security adopts the EJB Security Specification

June 3, CS 388: Model Integrated Computing Secure Invocation Model Current ORB Core Target ORB Security Security Association ORB Security Access control Secure Invocation Secure Invocation Access control Access Decision Policy Obj-Reference Client Credentials Current Credentials Security Association Policy Secure Inter- operability

June 3, 2016 CS 388: Model Integrated Computing 7 Modeling Approach  Platform Independent Component Modeling Language (PICML)  Captures CCM application lifecycle  e.g., Assembly, Packaging, Deployment, etc.  Component QoS Modeling Language (CQML)  Enhances PICML  Captures Component QoS requirements  Leverage and enhance to capture security requirements for eDRE applications  Solution: Security QoS Modeling Language (SQML)

June 3, CS 388: Model Integrated Computing User-Role-Rights Mapping (Effective Rights)  Responsibility of the System Administrator and defined in the application server deployment site through access control policies  The roles can be application specific or platform (CCM) specific  CCM Specific roles: Designer, Developer, Implementer, Assembler, Packager, Deployer, End-User  Application Specific roles: Administrator, User, Director, Programmer, Manager, etc. The Users & Groups are shown for completeness. User/Group → Role mappings are defined in the application access policies

June 3, CS 388: Model Integrated Computing Operation/Interface Classification Modeling (Required Rights)  Responsibility of the Component Developer  Operations/Interfaces are classified according to the standard CORBA family rights [corba:gsum]  Well-defined Component Interfaces  Allows for coarse-grained control over operation access  Used underneath in the container to determine access decisions to the operations  Granted Rights vs. Required Rights Rights assignment on a two-way method

Different effective set of rights based on role June 3, CS 388: Model Integrated Computing Effective Vs. Required Rights  Specified by developers  Per-type!  System-wide!  Group operations by “sensitivity “  get(g), set(s), use(u), manage(m)  Rights Combinators: any, all  Granted by Policy  Per domain

June 3, 2016 CS 388: Model Integrated Computing 11 CCM QoS Levels  Address three CCM QoS levels – ports, components and assemblies  SQML provides fine-grained as well as coarse- grained access control and security guarantees A CCM Assembly The CORBA Component Model Configure Security QoS Properties

June 3, CS 388: Model Integrated Computing Access Control Granularity  Fine-grained:  Interface Operation  Assembly Property  Component Attribute  Coarse-grained:  Interface  Set of Operations  Class of Operations (based on Required Rights - corba:gsum)  Inter-Component Execution Flow (Path in an Assembly)

June 3, CS 388: Model Integrated Computing Policy Definition Rules Allow/Deny access to all operations with same rights Two-Level evaluation: Operation name & Required Rights Two-Level Evaluation: Operation name & Required Rights Component Attributes have implicit get/set rights Critical path in the system (part of a functionality/workflow) Two-Level Evaluation: Operation name & Required Rights

June 3, 2016 CS 388: Model Integrated Computing 14 Model Interpreter  Inject security related assertions and constraints to the CCM component deployment and configuration plan and generate security policies and permissions  Generate User → Role → Granted-Rights mappings defined by the system administrator for deployment in Security Assertion Markup Language (SAML)  Generate Operation → Required-Rights mapping for an interface that are determined by the component designer  Generate Policy definition files in eXtended Access Control Markup Language (XACML)  Based on the mappings and policy rules, generate method permissions defined on operations of the interface definition for the User roles that have rights to invoke a method  Generate additional metadata to configure the CCM container for applying the defined Security policies and enforcing them on the object interactions

June 3, CS 388: Model Integrated Computing Future Work  Define efficient rule and policy validation and rule combining algorithms.  Extend the critical path functionality to provide Business Process & Workflow security  Provide middleware infrastructure support for security in the CCM container through container portable interceptors, leveraging the facilities of the CORBA security service implementation available with TAO  Implement Policy Evaluation Point (PEP), Policy Decision Point (PDP), Policy Repository in CIAO  Enable D & C tools like DAnCE to integrate security QoS properties with application deployment and configure the CCM middleware to enforce them  This project will be extended in future R&D activities at ISIS to support Security QoS that is independent of the underlying middleware technology  Weaving of Concerns: Investigate the ramifications of having FT, RT and Security working in tandem

Enabling Trustworthy Systems with the DDS Quality of Service Modeling Language Joe Hoffert, Aniruddha Gokhale, Doug Schmidt

Outline  Trustworthy Systems via Model Driven Engineering (MDE)  Use Case: Data Distribution Service (DDS)  DDS QoS Modeling Language (DQML)  DQML Metamodel Overview  DQML Application: DDS Benchmark Environment (DBE)  DBE Interpreter  DQML Demonstration  Future Work

Trustworthy Systems (1/2)  Security Technology  Software Security  Software design  specification languages, methods, and tools supporting security by design  Static code verification via:  security-friendly APIs  disciplined styles of programming  automated tools for lightweight static checking  Trusted Platforms  Understanding composition  Evaluating security and vulnerability  Examining minimal configurations (hardware & software) that provide trusted platforms  Systems Science  Model-Based Integration of Secure Systems  model-based design  Quality of Service (QoS)-enabled component middleware TRUST Goals for Enterprise Publish/Subscribe DRE Systems

 Manage inherent complexity  Scope models to area/level of concern  Compose larger scope using modeling artifacts (e.g., application infrastructure/framework, higher level tools)  Understand composition via separation of concerns  Simplify vulnerability, provability analysis Trustworthy Systems (2/2)  Reduce accidental complexity  Increase confidence, reuse via MDE tools  Close security loopholes via misused tools, software, and configurations Facilitation of TRUST Goals via Model Driven Engineering (MDE)

 Coupling of business logic, infrastructure, QoS configuration (i.e., all crafted in handwritten code)  Intermixing of concerns/areas of focus  Lack of composition understanding  “Provability” via testing  Potential loopholes in untested code paths  Unintended functionality (i.e., design != implementation) Non-Trustworthy Systems Vulnerability, Lack of Confidence/Provability

Use Case: The OMG Data Distribution Service (DDS) Application Logical Data Store read write Provides flexibility, power and modular structure by decoupling: Location – anonymous pub/sub Redundancy – any number of readers & writers Time – asynchronous, time-independent data distribution Platform – same as CORBA middleware Architecturally Broken into: Data Centric Publish/Subscribe (DCPS) -Lower layer APIs to exchange topic data based on QoS policies Data Local Reconstruction Layer (DLRL) -Upper layer APIs that make topic data appear local

QoS Policies Supported by DDS  DCPS entities (e.g., topics, data readers/writers) configurable via QoS policies  QoS tailored to data distribution in tactical information systems  Request/offered compatibility checked by DDS at Runtime  Consistency checked by DDS at Runtime  DEADLINE  Establishes contract regarding rate at which periodic data is refreshed  LATENCY_BUDGET  Establishes guidelines for acceptable end-to-end delays  TIME_BASED_FILTER  Mediates exchanges between slow consumers & fast producers  RESOURCE_LIMITS  Controls resources utilized by service  RELIABILITY (BEST_EFFORT, RELIABLE)  Enables use of real-time transports for data  HISTORY (KEEP_LAST, KEEP_ALL)  Controls which (of multiple) data values are delivered  DURABILITY (VOLATILE, TRANSIENT, PERSISTENT)  Determines if data outlives time when they are written  … and 15 more …  Implications for Trustworthiness

DDS QoS Policies Interactions of QoS Policies have implications for: Consistency/Validity e.g., Deadline period < TimeBasedFilter minimum separation (for a DataReader) Compatibility/Connectivity e.g., best-effort communication offered (by DataWriter), reliable communication requested (by DataReader) DataWriter Durability- Volatile Durability- Transient Reliability- Best Effort Reliability- Reliable Deadline- 10ms Deadline- 20ms Liveliness- Manual By Topic Liveliness- Automatic Topic Will Settings Be Consistent? Or Will QoS Settings Need Updating? Timebased- 15ms DataWriter DataReader Will Data Flow? Or Will QoS Settings Need Updating? DataReader

DDS Trustworthiness Needs (1/2)  Compatibility and Consistency of QoS Settings  Data needs to flow as intended  Close software loopholes that might be maliciously exploited  Fixing at code time untenable  Implies long turn-around times  Code, compile, run, check status, iterate  Introduces accidental complexity  DDS QoS Modeling Language (DQML) models QoS configurations and allows checking at design/modeling time  Supports quick and easy fixes by “sharing” QoS policies  Supports correct-by-construction configurations  Fixing at run-time untenable  Updating QoS settings on the fly  Introduces inherent complexity  Unacceptable for certain systems (e.g., RT, mission critical, provable properties)

DDS Trustworthiness Needs (2/2)  QoS configurations generated automatically  Eliminate accidental complexities  Close configuration loopholes for malicious exploitation  Decouple configurations from application logic  Refinement of configuration separate from refinement of code  DQML generates QoS settings files for DDS Applications  Creates consistent configurations  Promotes separation of concerns  Configuration changes unentangled with business logic changes  Increases confidence QoS Settings

DDS Application Development  Business/application logic mixed with QoS configuration code  Accidental complexity  Obfuscation of configuration concerns  DQML decouples QoS configuration from business logic  Facilitates configuration analysis  Reduces accidental complexity DataWriter QoS configuration & datawriter creation QoS configuration & publisher creation QoS Configuration Business logic = Higher confidence DDS application

DQML Design Decisions No Abortive Errors User can ignore constraint errors Useful for developing pieces of a distributed application Initially focused on flexibility QoS Associations vs. Containment Entities and QoS Policies associated via connections rather than containment Provides flexibility, reusability Eases resolution of constraint violations

DQML Application: DDS Benchmark Environment (DBE) Part of Real-Time DDS Examination & Evaluation Project (RT-DEEP) DataReader DataWriter QoS DataReader QoS Developed by DRE Group at ISIS DBE runs Perl scripts to deploy DataReaders and DataWriters onto nodes Passes QoS settings files (generated by hand) Requirement for testing and evaluating non-trivial QoS configurations

DBE Interpreter Model the Desired QoS Policies via DQML Invoke the DBE Interpreter Generates One QoS Settings File for Each DBE DataReader and DataWriter to Use DBE QoS Settings DataReader DataWriter Have DBE Launch DataReaders and DataWriters with Generated QoS Settings Files No Manual Intervention

DQML Demonstration Create DDS entities, QoS policies, and connections Run constraint checking consistency check compatibility check fix at design time Invoke DBE Interpreter automatically generate QoS settings files

Future Work  Incorporate into Larger Scale Tool Chains  e.g., Deployment and Configuration Engine (DAnCE) in CoSMIC Tool Chain  Develop mapping between SQML security model and DDS security service (as input for security PIM)  Incorporate with TRUST Trustworthy Systems  Combine QoS polices and patterns to provide higher level services  Build on DDS patterns 1  Continuous data, state data, alarm/event data, hot-swap and failover, controlled data access, filtered by data content 1 Gordon Hunt, OMG Workshop Presentation, July, 2006  Fault-tolerance service (e.g., using ownership/ownership strength, durability policies, multiple readers and writers, hot- swap and failover pattern)  Security service (e.g., using time based filter, liveliness policies, controlled data access pattern)  Real-time data service (e.g., using deadline, transport priority, latency budget policies, continuous data pattern)