Extending AADL for Security Design Assurance of the Internet of Things



Similar documents
Supply-Chain Risk Management Framework

Applying Software Quality Models to Software Security

Moving Target Reference Implementation

Exploring the Interactions Between Network Data Analysis and Security Information/Event Management

VoIP in Flow A Beginning

Contracting Officer s Representative (COR) Interactive SharePoint Wiki

Building Resilient Systems: The Secure Software Development Lifecycle

2012 CyberSecurity Watch Survey

Electricity Subsector Cybersecurity Capability Maturity Model (ES-C2M2) (Case Study) James Stevens Senior Member, Technical Staff - CERT Division

Cyber Intelligence Workforce

A Systematic Method for Big Data Technology Selection

How To Ensure Security In A System

Buyer Beware: How To Be a Better Consumer of Security Maturity Models

Software Assurance Competency Model

Copyright 2014 Carnegie Mellon University The Cyber Resilience Review is based on the Cyber Resilience Evaluation Method and the CERT Resilience

Managing for the Long Term: Keys to Securing, Troubleshooting and Monitoring a Private Cloud

Agile Development and Software Architecture: Understanding Scale and Risk

emontage: An Architecture for Rapid Integration of Situational Awareness Data at the Edge

How To Use Elasticsearch

Software Security Engineering: A Guide for Project Managers

Abuse of CPE Devices and Recommended Fixes

Network Monitoring for Cyber Security

Network Analysis with isilk

Overview. CMU/SEI Cyber Innovation Center. Dynamic On-Demand High-Performance Computing System. KVM and Hypervisor Security.

Data Management Maturity (DMM) Model Update

Deriving Software Security Measures from Information Security Standards of Practice

Assurance Cases for Design Analysis of Complex System of Systems Software

Risk Management Framework

Service Measurement Index Framework Version 2.1

Penetration Testing Tools

Architectural Implications of Cloud Computing

SOA for Healthcare: Promises and Pitfalls

CERT Virtual Flow Collection and Analysis

$100 SiLK Network Flow Sensor

Monitoring Trends in Network Flow for Situational Awareness

Operationally Critical Threat, Asset, and Vulnerability Evaluation SM (OCTAVE SM ) Framework, Version 1.0

Adaptive Cruise Control System Overview

Dynamic Vulnerability Assessment

A Study of Systems Engineering Effectiveness. Building a Business Case for Systems Engineering

Created by: Austin Davis Neel Iyer Darcie Jones Sascha Schwarz

Juniper Networks Secure

Common Testing Problems: Pitfalls to Prevent and Mitigate

Understanding & Improving Hypervisor Security

CERT Resilience Management Model (CERT -RMM) V1.1: NIST Special Publication Crosswalk

Getting Started with Service- Oriented Architecture (SOA) Terminology

Department of Homeland Security Cyber Resilience Review (Case Study) Matthew Butkovic Technical Manager - Cybersecurity Assurance, CERT Division

Cutting Edge Practices for Secure Software Engineering

EMC Celerra Version 5.6 Technical Primer: Public Key Infrastructure Support

Information Technology Engineers Examination. Information Security Specialist Examination. (Level 4) Syllabus

SAFECode Security Development Lifecycle (SDL)

March PGP White Paper. Transport Layer Security (TLS) & Encryption: Complementary Security Tools

Plain English Guide To Common Criteria Requirements In The. Field Device Protection Profile Version 0.75

Automotive Ethernet Security Testing. Alon Regev and Abhijit Lahiri

Introduction to the OCTAVE Approach

Threat Modeling. Categorizing the nature and severity of system vulnerabilities. John B. Dickson, CISSP

An Application of an Iterative Approach to DoD Software Migration Planning

1. Fault Attacks for Virtual Machines in Embedded Platforms. Supervisor: Dr Konstantinos Markantonakis,

Incident Management Capability Metrics Version 0.1

Cloud Computing Security in the Tactical Environment the Difference a Year Makes

CMMI for SCAMPI SM Class A Appraisal Results 2011 End-Year Update

The Road from Software Testing to Theorem Proving

Discovering passwords in the memory

Certification Report

Revision History Revision Date Changes Initial version published to

Symantec ESM Agent For IBM iseries AS/400

Sustaining Operational Resiliency: A Process Improvement Approach to Security Management

CRR Supplemental Resource Guide. Volume 5. Incident Management. Version 1.1

Trends and New Directions in Software Architecture

Network Security Audit. Vulnerability Assessment (VA)

A Study on the Secure Software Development Life Cycle for Common Criteria (CC) Certification

S E C U R I T Y A S S E S S M E N T : B o m g a r B o x T M. Bomgar. Product Penetration Test. September 2010

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

EPI SUITE 6 INSTALLATION INSTRUCTIONS

Automotive Software Development Challenges Virtualisation and Embedded Security

The Evolving Threat Landscape and New Best Practices for SSL

Windows Remote Access

Application Intrusion Detection

Automatic vs. Manual Code Analysis

Defending the Internet of Things

MEANINGFUL USE DESK AUDIT

Fidelis XPS Power Tools. Gaining Visibility Into Your Cloud: Cloud Services Security. February 2012 PAGE 1 PAGE 1

Threat Modeling. 1. Some Common Definition (RFC 2828)

Beyond the Hype: Advanced Persistent Threats

Leveraging innovative security solutions for government. Helping to protect government IT infrastructure, meet compliance demands and reduce costs

Transcription:

Extending AADL for Security Design Assurance of the Internet of Things Presented by Rick Kazman, PhD Team: Carol Woody (PI), Rick Kazman, Robert Ellison, John Hudak, Allen Householder Software Engineering Institute Carnegie Mellon University Pittsburgh, PA 15213

Copyright 2015 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. Any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the United States Department of Defense. 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. DM-0002834 2

Agenda Security Modeling and AADL IoT Case Study Conclusions 3

Agenda Security Modeling and AADL IoT Case Study Conclusions 4

Value of Security Formal Modeling Crucial security decisions to address threats are made in the architecture. Analyzing an architecture for is a huge opportunity for improving security. Formal modeling provides a means to verify a design. Resolve Design Flaws Identify Threats Create Architecture Candidate Find Security Design Flaws Model Architecture 5

Using AADL to Model Architectures AADL (Architecture Analysis and Design Language): specifies a static representation of a system architecture can model logical flows, binding of software to hardware is strongly typed, allowing a consistency checks via a modeling tool set. 6

AADL for Modeling Security Properties AADL has properties to capture component characteristics. Example: a component that performs encryption can have one property for latency (e.g. 3 ms.), and another for type of encryption, e.g. RSA. 7

AADL for Modeling Security Properties AADL supports the addition of modeling formalisms beyond the capabilities of the core language. 8

Agenda Security Modeling and AADL IoT Case Study Conclusions 9

Extending AADL for Security Our goal was to extend AADL to better address security in the architecture. To drive this analysis we began by specifying threats in the context of a real-world IoT (internet of things) problem: automotive electronics. 10

Using STRIDE to Determine Threats We employed the STRIDE model. STRIDE is a way to walk through categories of threats and determine their potential consequences. 11

Using STRIDE to Determine Threats 12

Using STRIDE to Determine Threats We instantiated STRIDE in the context of the automotive electronics example. For each category we described: 1. how the threat might be realized 2. the implications of this threat on the automotive example 3. the risks that arose from this threat analysis 4. questions about the architecture that drive the design 5. the security property violated 13

Modeling the Automotive Electronics System Engine Status engine_status Clock throttle_setting Throttle Actuator timing_pulse Wheel Motion wheel_pulse data_via_can_bus Cruise Control System data_via_can_bus Brake Pedal brake_status set_speed cc_on_indicator resume Operator Buttons increase_speed decrease_speed cc_system_on_off Indicator Display data_via_can_bus Activates brake Presses buttons DRIVER Radio Station Receive radio signals Digital Radio 14

Modeling STRIDE Attack Types in AADL We did an in-depth AADL-based analysis of several attack types from the STRIDE model. Consider Information Disclosure. To guard against inadvertent information disclosure you need to authenticate and authorize components. This establishes who can access what data, with what rights. 15

Modeling Information Disclosure in AADL We made the following architectural design decisions: For component A to communicate data to component B, they must be of the same group. To support this, we define a property AccessGroup: a list of groups. In addition we ensure that A and B have the proper access rights for the data being communicated. We created a user-defined AADL property, AccessMode, that has one the following values: r for read access, w for write access, rw for read-write access, and x for execute. Finally we create a compound rule that checks AccessGroup and AccessMode properties of each component to ensure they are consistent. 16

Analyzing Security Properties To reason about the satisfaction of security properties in a system architecture we need to: 1. Specify the properties, and the architectural elements they are associated with in AADL; and then 2. Analyze claims over those properties. To analyze claims we use the Resolute model-checker. AADL Model Resolute 17

Model Problem Specified in AADL A subset of automotive electronics includes sensors (WheelRotation, BrakePedal), actuators (ThrottleActuator), and control application software (Cruise Control and Infotainment). 18

Semantics of Access Privileges For example, a vehicle speed sensor can write to a global data area from which multiple control systems of a vehicle can read the vehicle speed. The data would be annotated with an AccessMode of r and a list of subsystems that are allowed to read that data, for example, the cruise control system. A malicious application could attempt to write to the vehicle speed and overwrite the true speed value with a lower value, causing the cruise control to rapidly accelerate the vehicle. 19

Semantics of Access Privileges Thus we need to specify that only certain applications can write speed data, and that only certain applications can read speed data. To accomplish this, we check the AccessGroup that contains the list of components that can access the data. 20

Semantics of Access Privileges We formally specify this in AADL as follows: property set Security_Trust is AccessMode: enumeration (r, w, rw, x) applies to (all); AccessGroup: enumeration (CC, ABS) applies to (all); end Security_Trust; 21

Semantics of Access Privileges An architect would annotate a data type with properties as follows: data VehicleSpeed properties Security_Trust::AccessMode => r; Security_Trust::AccessGroup => CC; end VehicleSpeed; data ThrottlePosition properties Security_Trust::AccessMode => w; Security_Trust::AccessGroup => CC; end ThrottlePosition; 22

Running the Resolute Checker Running the Resolute model checker requires that the model be instantiated. Resolute walks the instantiated model hierarchy looking for components specified in its claims and checks those components according to the logic encoded in the claim. 23

Running the Resolute Checker For example we want to ensure that data being read by the cruise control has AccessMode properties properly specified. We also run the command execution check on incoming data to see if data is properly specified as executable. The read and write privilege checks both failed but the execution check passed. The VehicleSpeed data AccessMode property was set to w on the incoming port and for the ThrottlePosition AccessMode property was set to r causing both checks to fail. 24

Agenda Security Modeling and AADL IoT Case Study Conclusions 25

Limitations An AADL model does not necessarily support security validation. Is the system sufficiently secure for the planned usage? A weakness external to the model enables an attacker to operate outside the model. Example: A buffer overflow vulnerability or successful phishing can enable an attacker to obtain privileges without authentication. Specifications may be correct but not provide the desired level of security assurance. Example: An architect claims that a component sufficiently verifies input data to eliminate the risk of a SQL-injection. But CWE 89 recommends alternative mitigations with a higher level of assurance than input verification, such as component output verification. 26

Conclusions Architectural security modeling has several benefits: guides an architect to reason and design in terms of systemwide security properties provides a framework for checking that such properties are maintained during system maintenance and evolution But it has limitations; it should be considered part of a complete approach to security. This research has also resulted in many collaborations: Prof. Mel Rosso-Llopart (CMU/IRS) / Malware Analysis Prof. Jungwoo Ryoo (Penn State) / Architecture Analysis for Security (AAFS) method Prof. Yuanfang Cai (Drexel U.) / Titan architecture analysis tool 27

28

29