Automated Provisioning of Cloud and Cloudlet Applications

Similar documents
Panel: Future of Cloud Computing

Providing Information Superiority to Small Tactical Units

Roles and Responsibilities on DevOps Adoption

Software, Security, and Resiliency. Paul Nielsen SEI Director and CEO

ARINC653 AADL Annex Update

Causal Modeling of Observational Cost Data: A Ground-Breaking use of Directed Acyclic Graphs

The CERT Top 10 List for Winning the Battle Against Insider Threats

Julia Allen Principal Researcher, CERT Division

Design Pattern Recovery from Malware Binaries

SEI/CMU Efforts on Assured Systems

Analyzing 24 Years of CVD

Collaborative Autonomy with Group Autonomy for Mobile Systems (GAMS)

Evaluating and Improving Cybersecurity Capabilities of the Electricity Critical Infrastructure

ARINC653 AADL Annex. Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Julien Delange 07/08/2013

Encounter Complexes For Clustering Network Flow

Modeling the Implementation of Stated-Based System Architectures

Smart Grid Maturity Model

Flow Analysis for Network Situational Awareness. Tim Shimeall January Carnegie Mellon University

Inference of Memory Bounds

Advancing Cyber Intelligence Practices Through the SEI s Consortium

Defining Computer Security Incident Response Teams

Cloud Computing. Grace A. Lewis Research, Technology and Systems Solutions (RTSS) Program System of Systems Practice (SoSP) Initiative

Software Assurance Education Overview

Situational Awareness Metrics from Flow and Other Data Sources

OSATE Analysis Support

Components and Considerations in Building an Insider Threat Program

Fall 2014 SEI Research Review Verifying Evolving Software

Static Analysis Alert Audits Lexicon And Rules David Svoboda, CERT Lori Flynn, CERT Presenter: Will Snavely, CERT

Prioritizing Alerts from Static Analysis with Classification Models

Passive Detection of Misbehaving Name Servers

2013 US State of Cybercrime Survey

Investigating APT1. Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Deana Shick and Angela Horneman

Foundations for Summarizing and Learning Latent Structure in Video

Be Like Water: Applying Analytical Adaptability to Cyber Intelligence

Researching New Ways to Build a Cybersecurity Workforce

Information Security Is a Business

Architectural Implications of Cloud Computing

Tactical Cloudlets Webinar

10 Years of FloCon. Prepared for FloCon George Warnagiris - CERT/CC #GeoWarnagiris Carnegie Mellon University

Denial of Service Attacks

Engineering Improvement in Software Assurance: A Landscape Framework

Goal-Based Assessment for the Cybersecurity of Critical Infrastructure

DOS AND DON'TS OF DEVSECOPS

Verifying Periodic Programs with Priority Inheritance Locks

The Insider Threat Center: Thwarting the Evil Insider

Cyber Threat Prioritization

Model-Driven Verifying Compilation of Synchronous Distributed Applications

CONTAINER CLOUD SERVICE. Managing Containers Easily on Oracle Public Cloud

COTS Multicore Processors in Avionics Systems: Challenges and Solutions

Establishing Trust in Disconnected Environments, page 1

Cyber Hygiene: A Baseline Set of Practices

Elements of a Usability Reasoning Framework

By Derrick H. Karimi Member of the Technical Staff Emerging Technology Center. Open Architectures in the Defense Intelligence Community

Integrating the Risk Management Framework (RMF) with DevOps

Current Threat Environment

Report Writer and Security Requirements Finder: User and Admin Manuals

Using CERT-RMM in a Software and System Assurance Context

Pharos Static Analysis Framework

A Catalog of Architectural Tactics for Cyber-Foraging

Scalable Platform Management Forum. Forum Status 10/30/2014

Modeling, Verifying, and Generating Software for Distributed Cyber- Physical Systems using DMPL and AADL

Dr. Kenneth E. Nidiffer Director of Strategic Plans for Government Programs

Cloud Computing. Grace A. Lewis Research, Technology and Systems Solutions (RTSS) Program System of Systems Practice (SoSP) Initiative

Carnegie Mellon University Notice

Open Systems: What s Old Is New Again

The Impact of Mobile Multimedia Applications on Data Center Consolidation

Oracle API Platform Cloud Service

Secure Coding Initiative

IBM s statements regarding its plans, directions, and intent are subject to change or withdrawal without notice at IBM s sole discretion.

Using DidFail to Analyze Flow of Sensitive Information in Sets of Android Apps

Quality Attribute Driven Software Architecture Reconstruction. Version 1.0 QADSAR SATURN page 1

Improving Software Assurance 1

Table of Contents 1.1. Introduction. Overview of vsphere Integrated Containers 1.2

! CSMIC SMI Tool. User s Guide. !!! July 30, 2014!!!!!!!!!!!!!!! CSMIC Carnegie Mellon University Silicon Valley Moffett Field, CA USA

Open-source library and tools to support the OVF.

The Open Application Platform for Secure Elements.

NO WARRANTY. Use of any trademarks in this presentation is not intended in any way to infringe on the rights of the trademark holder.

An Incident Management Ontology

Semantic Importance Sampling for Statistical Model Checking

NISPOM Change 2: Considerations for Building an Effective Insider Threat Program

The Confluence of Physical and Cyber Security Management

Toad DevOps Toolkit 1.0

Model-Driven Verifying Compilation of Synchronous Distributed Applications

Sizing the Hardware and Database Required by an eg Manager

Virtualization for Desktop Grid Clients

SAP NetWeaver on IBM Cloud Infrastructure Quick Reference Guide Microsoft Windows. December 2017 V2.0

Engineering High- Assurance Software for Distributed Adaptive Real- Time Systems

Table of Contents 1.1. Overview. Containers, Docker, Registries vsphere Integrated Containers Engine

Strip Plots: A Simple Automated Time-Series Visualization

Netflow in Daily Information Security Operations

Five Keys to Agile Test Automation for Government Programs

IBM UrbanCode Cloud Services Security Version 3.0 Revised 12/16/2016. IBM UrbanCode Cloud Services Security

Open Hybrid Cloud & Red Hat Products Announcements

Digital Vellum Vint Cerf Google

RENKU - Reproduce, Reuse, Recycle Research. Rok Roškar and the SDSC Renku team

Merging Enterprise Applications with Docker* Container Technology

VMware AirWatch Content Gateway for Linux. VMware Workspace ONE UEM 1811 Unified Access Gateway

Quest VROOM Quick Setup Guide for Quest Rapid Recovery for Windows and Quest Foglight vapp Installers

McAfee Virtual Network Security Platform 8.4 Revision A

Effecting Large-Scale Adaptive Swarms Through Intelligent Collaboration (ELASTIC)

Transcription:

Automated Provisioning of Cloud and Cloudlet Applications Secure and Assured Mobile Computing Components Software Engineering Institute Carnegie Mellon University Pittsburgh, PA 15213 Jeff Boleng, PhD May 1, 2013

Copyright 2013 Carnegie Mellon University This material is based upon work funded and supported by the Department of Defense under Contract No. FA8721-05-C-0003 with Carnegie Mellon University for the operation of the Software Engineering Institute, a federally funded research and development center. NO WARRANTY. THIS CARNEGIE MELLON UNIVERSITY AND SOFTWARE ENGINEERING INSTITUTE MATERIAL IS FURNISHED ON AN AS-IS BASIS. CARNEGIE MELLON UNIVERSITY MAKES NO WARRANTIES OF ANY KIND, EITHER EXPRESSED OR IMPLIED, AS TO ANY MATTER INCLUDING, BUT NOT LIMITED TO, WARRANTY OF FITNESS FOR PURPOSE OR MERCHANTABILITY, EXCLUSIVITY, OR RESULTS OBTAINED FROM USE OF THE MATERIAL. CARNEGIE MELLON UNIVERSITY DOES NOT MAKE ANY WARRANTY OF ANY KIND WITH RESPECT TO FREEDOM FROM PATENT, TRADEMARK, OR COPYRIGHT INFRINGEMENT. This material has been approved for public release and unlimited distribution except as restricted below. This material may be reproduced in its entirety, without modification, and freely distributed in written or electronic form without requesting formal permission. Permission is required for any other use. Requests for permission should be directed to the Software Engineering Institute at permission@sei.cmu.edu. 2

Overview Motivation and Goal Terminology Architectural Overview Surrogate Selection and Automated Provisioning Current Results Use Cases Next Steps and Future Work Questions 3

Team Jeff Boleng, PhD CMU SEI Grace Lewis CMU SEI Vignesh Shenoy CMU INI Varun Tibrewal CMU INI Manoj Subramaniam CMU INI Sebastian Eschevarria CMU SEI Ben Bradshaw CMU SEI CMU: Carnegie Mellon University SEI: Software Engineering Institute INI: Information Networking Institute 4

Motivation and Goal Goal A secure and assured digital container format for mobile computing components Technical Challenges Myriad of languages, architectures, platforms, APIs, etc. create an exponential challenge for software portability, interoperability, security, and assurance Key Idea Define software portability execution characteristics and an accompanying digital container format to enable secure and assured mobile computing components Impact Agile software components which can be trusted and executed to provide results across the spectrum of computing platforms 5

Goal (expanded) Mobile computing components that are Automatically provisioned JIT provisioned Technology agnostic Dependency fulfillment Secure Trusted computing component Trusted computing provider Assured Input and output format validation Pre/post conditions Run-time invariants 6

Approach and Assumptions Demonstrate full end to end solution Each component may be sub-optimal Digital container for computing components Extend DMTF OVF file format OVF format Xml descriptor with packaged components (tar) Proper packaging is critical Ultimately demonstrate composability 7

Elements of the Solution Automatically provisioned JIT provisioning todays details Technology agnostic run time environment specified Dependency fulfillment prototype using Docker and LXC Secure Trusted computing component OVF code signing Trusted computing provider Certificates and TLS Assured Input and output format validation using MIME types and Tika Pre/post conditions??? Proof carrying code??? Run-time invariants??? Proof carrying code??? 8

Terminology Mobile Device Self explanatory Client Application Application running on the mobile device communicating to the Application Server Offload Element Computing component that migrates to the surrogate Surrogate Client Service running on the mobile device for discovery, provisioning, and offload Validation Service I/O and assurance validation Surrogate Infrastructure server (cloud or cloudlet) Surrogate Server Service running on the surrogate for discovery, provisioning, and offload Application Server Run-time instantiation of the offload element Sandbox Computing environment the application server executes in 9

Architecture Overview 10

Architecture Overview 11

1. Discovery and Provisioning a) Surrogate Server beacons availability b) Surrogate Client contacts Surrogate Server and establishes TLS connection Surrogate checks Mobile Device certificates Mobile Device checks Surrogate certificates c) Surrogate Client submits requirements to Surrogate Server and keeps TLS connections alive d) Surrogate Server determines Surrogate score Selection and returns to Surrogate Client e) Surrogate Client selects best Surrogate, terminates all other TLS connections f) Surrogate Client sends payload to selected Surrogate Server g) Surrogate Server verifies payload integrity via code signing in metadata h) Surrogate Server provisions an execution Sandbox for payload based on the execution type in the metadata (bytecode, script, vm, etc.) 12

Provisioning, Deployment, and Execution i) Surrogate Server provisions the execution Sandbox with the Offload Element j) Surrogate Server provisions the execution platform with Validation Service (currently using Apache Tika) and satisfies dependencies k) Surrogate Server passes back IP address and port of Validation Service back to Surrogate Client l) Surrogate Client starts Client Application with IP and Port m) Client Applications sends data to Validation Service on Surrogate n) Validation Service enforces data input format o) Validation Service passes data to Application Service p) Application Service executing in Sandbox on Surrogate computes result and passes it back to Validation Service on the Mobile Device q) Validation Service on Mobile Device enforces result format r) Validation Service passes result (or error) to Client Application s) Loop to M or end 13

Run-time Environment 14

Software execution landscape (notional) large VM Emulation Component Size Byte Code Platform Interpreted API small Binary Distribution Service* low high Ubiquity *Requires secure and assured infrastructure access 15

Surrogate Selection Component creator determine minimum and optimal execution parameters when packaging Currently memory, CPU, and disk Assigns weights (1-100) that must total 100 Multiple offload elements and multiple surrogates Mobile sends requirements for container execution Surrogate determines if it can execute component Surrogate calculates capability score Mobile calculates final performance score and selects Surrogate Note: Investigating effects of caching 16

Capability Score i SC i Surplus Capability of Surrogate for the resource i C i R i Capability of surrogate for resource i (or optimal requirement*) Requirement of the offload element for resource i W i Weight associated with resource i Capability score of the surrogate for the particular offload element *ensures Surrogate cannot cheat and capture all offload elements 17

Size Benefit Size of the biggest offload element Size of the offload element in consideration 18

Performance Score Final performance score of the Surrogate for the Offload Element Capability score of the Surrogate for the particular Offload Element Network performance factor Size benefit of the Offload Element 19

Testing Approach Face detection Java and python containers Prime number calculation Java, python, and C executable containers Time-to-Result Surrogate Discovery Time + Surrogate SelectionTime + Offload and Deploy time + Input/Output communication time + Input/Output Validation time 20

Sample Timing (prime number calculation) 21

Testing Scenario Select correct offload element for surrogate capability Select offload element with smallest weight if all capability scores were equal Select best surrogate with differing capability scores Still experimenting with TTR 22

Initial Test Results RAM min 512MB Max 2048MB CPU min 1GHz Max 2GHz Only the weight was changed as shown Selected Cloudlet Discovery Time Deploy Time Average IO Time Test Case 1: Cloudlet 1 Cloudlet 2 Choudlet 3 Java Java Java 1.0GHz, 4096MB 3.0GHz, 1000MB 2.0, 3072MB CPU:10,RAM:90 270 100 280 3 3179 9145 3112 CPU:20,RAM:80 240 100 260 3 3163 8920 3233 CPU:40,RAM:60 180 100 220 3 3017 10868 3305 CPU:50, RAM:50 150 100 200 3 3379 9168 4564 CPU:60, RAM:40 120 100 180 3 3024 9327 3163 CPU:80, RAM:20 60 100 140 3 3110 9012 3357 CPU:90, RAM:10 30 100 120 3 Java Java Java 1.0GHz, 4096MB 3.0GHz, 1024MB 2.0, 1536MB CPU:20,RAM:80 240 100 180 1 3329 10126 3178 CPU:40,RAM:60 180 100 160 1 3046 9467 3450 CPU:50, RAM:50 150 100 150 3 3107 9975 3450 CPU:60, RAM:40 120 100 140 3 3280 9467 3789 CPU:80, RAM:20 60 100 120 3 3100 9437 3327 CPU:90, RAM:10 30 100 110 3 3256 9045 3189 Selected Cloudlet Discovery Time Deploy Time Average IO Time Test Case 1: Cloudlet 1 Cloudlet 2 Choudlet 3 Java Python Java 1.0GHz, 4096MB 2.0GHz, 1536MB 2.0, 1536MB CPU:20,RAM:80 240, 240 180, 228 180, 180 1 3705 9787 2954 CPU:40,RAM:60 180, 180 160, 208 160, 160 2 3309 9052 3198 CPU:50, RAM:50 150, 150 150, 198 150, 150 2 3167 9783 3006 CPU:60, RAM:40 120, 120 140, 188 140, 140 2 3017 9104 3048 CPU:80, RAM:20 60, 60 120, 168 120, 120 2 3188 9227 3175 CPU:90, RAM:10 30, 30 110, 158 110, 110 2 3179 9085 3094 (Cloudlet score, final perfomance score considering the size of the package) 23

Use Cases Cloudlet Metadata Available Memory Available Disk Platform Connected to Cloud? XXX YYY ZZZ Yes/No Cloudlet Metadata Compute Rqmts Signature & ID I/O formats Dependencies Assurance Rqmts Cloudlet Metadata Cloudlet Metadata Available Memory Available Disk Platform Connected to Cloud?... XXX YYY ZZZ Yes/No Cloudlet Metadata Virtual Machine Emulation Platform Byte code Interpreted Available Memory Available Disk Platform Connected to Cloud? XXX YYY ZZZ Yes/No API Cloudlet Metadata Distribution Binary Service 24

Use Cases Cyber foraging Rapid re-configuration of deployed sensors Distribute search logic in large scale distributed databases Interoperability or translation for existing or legacy systems Service market place of composable computing components Image processing Speech recognition Crowd analysis Extend MIT mood meter with offload elements and mobile devices POI location via face detection and recognition 25

Next Steps and Future Work Finish prototype using Docker and all other existing components More testing Dependency satisfaction Input/Output validation Need to get output validation functioning on mobile device Wide range of offload elements Wide configuration of Surrogates Open source the solution Propose formal extensions to DMTF OVF (tentative) Demonstrate component composability Examine deeper assurance solutions (e.g. DNS Server component) Pre/post condition specification and enforcement Run-time invariant specification and enforcement Populate project artifacts on SATURN blog 26

Questions and Feedback Thank you for your time and attention. We welcome feedback and collaboration. Please contact me at jlboleng@sei.cmu.edu with questions or feedback. http://saturnnetwork.wordpress.com/category/secure-and-assuredmobile-computing-components/ 27