extending aadl for security design assurance of …...extending aadl for security design assurance...

29
© 2015 Carnegie Mellon University Software Engineering Institute Carnegie Mellon University Pittsburgh, PA 15213 Distribution Statement A: Approved for Public Release; Distribution is Unlimited 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

Upload: others

Post on 17-Apr-2020

21 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Extending AADL for Security Design Assurance of …...Extending AADL for Security Design Assurance of the Internet of Things Presented by Rick Kazman, PhD Team: Carol Woody (PI), Rick

© 2015 Carnegie Mellon University

Software Engineering InstituteCarnegie Mellon UniversityPittsburgh, PA 15213

Distribution Statement A: Approved for Public Release; Distribution is Unlimited

Extending AADL for Security Design Assurance of the Internet of Things

Presented by Rick Kazman, PhDTeam: Carol Woody (PI), Rick Kazman, Robert Ellison, John Hudak, Allen Householder

Page 2: Extending AADL for Security Design Assurance of …...Extending AADL for Security Design Assurance of the Internet of Things Presented by Rick Kazman, PhD Team: Carol Woody (PI), Rick

2SEI Research Review 2015October 7–8, 2015© 2015 Carnegie Mellon UniversityDistribution Statement A: Approved for Public Release; Distribution is Unlimited

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 [email protected].

DM-0002834

Page 3: Extending AADL for Security Design Assurance of …...Extending AADL for Security Design Assurance of the Internet of Things Presented by Rick Kazman, PhD Team: Carol Woody (PI), Rick

3SEI Research Review 2015October 7–8, 2015© 2015 Carnegie Mellon UniversityDistribution Statement A: Approved for Public Release; Distribution is Unlimited

Security Modeling and AADL

IoT Case Study

Conclusions

Agenda

Page 4: Extending AADL for Security Design Assurance of …...Extending AADL for Security Design Assurance of the Internet of Things Presented by Rick Kazman, PhD Team: Carol Woody (PI), Rick

4SEI Research Review 2015October 7–8, 2015© 2015 Carnegie Mellon UniversityDistribution Statement A: Approved for Public Release; Distribution is Unlimited

Security Modeling and AADL

IoT Case Study

Conclusions

Agenda

Page 5: Extending AADL for Security Design Assurance of …...Extending AADL for Security Design Assurance of the Internet of Things Presented by Rick Kazman, PhD Team: Carol Woody (PI), Rick

5SEI Research Review 2015October 7–8, 2015© 2015 Carnegie Mellon UniversityDistribution Statement A: Approved for Public Release; Distribution is Unlimited

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.

Identify Threats

Create ArchitectureCandidate

ModelArchitecture

Find Security Design Flaws

Resolve DesignFlaws

Page 6: Extending AADL for Security Design Assurance of …...Extending AADL for Security Design Assurance of the Internet of Things Presented by Rick Kazman, PhD Team: Carol Woody (PI), Rick

6SEI Research Review 2015October 7–8, 2015© 2015 Carnegie Mellon UniversityDistribution Statement A: Approved for Public Release; Distribution is Unlimited

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.

Using AADL to Model Architectures

Page 7: Extending AADL for Security Design Assurance of …...Extending AADL for Security Design Assurance of the Internet of Things Presented by Rick Kazman, PhD Team: Carol Woody (PI), Rick

7SEI Research Review 2015October 7–8, 2015© 2015 Carnegie Mellon UniversityDistribution Statement A: Approved for Public Release; Distribution is Unlimited

AADL has properties to capture component characteristics.

AADL for Modeling Security Properties

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.

Page 8: Extending AADL for Security Design Assurance of …...Extending AADL for Security Design Assurance of the Internet of Things Presented by Rick Kazman, PhD Team: Carol Woody (PI), Rick

8SEI Research Review 2015October 7–8, 2015© 2015 Carnegie Mellon UniversityDistribution Statement A: Approved for Public Release; Distribution is Unlimited

AADL supports the addition of modeling formalisms beyond the capabilities of the core language.

AADL for Modeling Security Properties

Page 9: Extending AADL for Security Design Assurance of …...Extending AADL for Security Design Assurance of the Internet of Things Presented by Rick Kazman, PhD Team: Carol Woody (PI), Rick

9SEI Research Review 2015October 7–8, 2015© 2015 Carnegie Mellon UniversityDistribution Statement A: Approved for Public Release; Distribution is Unlimited

Security Modeling and AADL

IoT Case Study

Conclusions

Agenda

Page 10: Extending AADL for Security Design Assurance of …...Extending AADL for Security Design Assurance of the Internet of Things Presented by Rick Kazman, PhD Team: Carol Woody (PI), Rick

10SEI Research Review 2015October 7–8, 2015© 2015 Carnegie Mellon UniversityDistribution Statement A: Approved for Public Release; Distribution is Unlimited

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.

Extending AADL for Security

Page 11: Extending AADL for Security Design Assurance of …...Extending AADL for Security Design Assurance of the Internet of Things Presented by Rick Kazman, PhD Team: Carol Woody (PI), Rick

11SEI Research Review 2015October 7–8, 2015© 2015 Carnegie Mellon UniversityDistribution Statement A: Approved for Public Release; Distribution is Unlimited

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.

Page 12: Extending AADL for Security Design Assurance of …...Extending AADL for Security Design Assurance of the Internet of Things Presented by Rick Kazman, PhD Team: Carol Woody (PI), Rick

12SEI Research Review 2015October 7–8, 2015© 2015 Carnegie Mellon UniversityDistribution Statement A: Approved for Public Release; Distribution is Unlimited

Using STRIDE to Determine Threats

Page 13: Extending AADL for Security Design Assurance of …...Extending AADL for Security Design Assurance of the Internet of Things Presented by Rick Kazman, PhD Team: Carol Woody (PI), Rick

13SEI Research Review 2015October 7–8, 2015© 2015 Carnegie Mellon UniversityDistribution Statement A: Approved for Public Release; Distribution is Unlimited

We instantiated STRIDE in the context of the automotive electronics example. For each category we described:1. how the threat might be realized2. the implications of this threat on the automotive example3. the risks that arose from this threat analysis4. questions about the architecture that drive the design5. the security property violated

Using STRIDE to Determine Threats

Page 14: Extending AADL for Security Design Assurance of …...Extending AADL for Security Design Assurance of the Internet of Things Presented by Rick Kazman, PhD Team: Carol Woody (PI), Rick

14SEI Research Review 2015October 7–8, 2015© 2015 Carnegie Mellon UniversityDistribution Statement A: Approved for Public Release; Distribution is Unlimited

Modeling the Automotive Electronics System

Engine Status

Wheel Motion

Brake Pedal

engine_status

wheel_pulse

RadioStation

brake_status

Clock

timing_pulse

Throttle Actuator

IndicatorDisplay

Operator Buttons

set_speed

resume increase_speed

decrease_speed

cc_system_on_off

Receive radio signals

throttle_setting

data_via_can_bus

Cruise Control System

cc_on_indicator

DigitalRadio

data_via_can_bus

data_via_can_bus

DRIVER

Presses buttonsActivates brake

Page 15: Extending AADL for Security Design Assurance of …...Extending AADL for Security Design Assurance of the Internet of Things Presented by Rick Kazman, PhD Team: Carol Woody (PI), Rick

15SEI Research Review 2015October 7–8, 2015© 2015 Carnegie Mellon UniversityDistribution Statement A: Approved for Public Release; Distribution is Unlimited

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.

Modeling STRIDE Attack Types in AADL

Page 16: Extending AADL for Security Design Assurance of …...Extending AADL for Security Design Assurance of the Internet of Things Presented by Rick Kazman, PhD Team: Carol Woody (PI), Rick

16SEI Research Review 2015October 7–8, 2015© 2015 Carnegie Mellon UniversityDistribution Statement A: Approved for Public Release; Distribution is Unlimited

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 AccessGroupand AccessMode properties of each component to ensure they are consistent.

Modeling Information Disclosure in AADL

Page 17: Extending AADL for Security Design Assurance of …...Extending AADL for Security Design Assurance of the Internet of Things Presented by Rick Kazman, PhD Team: Carol Woody (PI), Rick

17SEI Research Review 2015October 7–8, 2015© 2015 Carnegie Mellon UniversityDistribution Statement A: Approved for Public Release; Distribution is Unlimited

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 then2. Analyze claims over those properties.

To analyze claims we use the Resolute model-checker.

Analyzing Security Properties

✖✔✖✔

ResoluteAADLModel

Page 18: Extending AADL for Security Design Assurance of …...Extending AADL for Security Design Assurance of the Internet of Things Presented by Rick Kazman, PhD Team: Carol Woody (PI), Rick

18SEI Research Review 2015October 7–8, 2015© 2015 Carnegie Mellon UniversityDistribution Statement A: Approved for Public Release; Distribution is Unlimited

A subset of automotive electronics includes sensors (WheelRotation, BrakePedal), actuators (ThrottleActuator), and control application software (Cruise Control and Infotainment).

Model Problem Specified in AADL

Page 19: Extending AADL for Security Design Assurance of …...Extending AADL for Security Design Assurance of the Internet of Things Presented by Rick Kazman, PhD Team: Carol Woody (PI), Rick

19SEI Research Review 2015October 7–8, 2015© 2015 Carnegie Mellon UniversityDistribution Statement A: Approved for Public Release; Distribution is Unlimited

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.

Semantics of Access Privileges

Page 20: Extending AADL for Security Design Assurance of …...Extending AADL for Security Design Assurance of the Internet of Things Presented by Rick Kazman, PhD Team: Carol Woody (PI), Rick

20SEI Research Review 2015October 7–8, 2015© 2015 Carnegie Mellon UniversityDistribution Statement A: Approved for Public Release; Distribution is Unlimited

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.

Semantics of Access Privileges

Page 21: Extending AADL for Security Design Assurance of …...Extending AADL for Security Design Assurance of the Internet of Things Presented by Rick Kazman, PhD Team: Carol Woody (PI), Rick

21SEI Research Review 2015October 7–8, 2015© 2015 Carnegie Mellon UniversityDistribution Statement A: Approved for Public Release; Distribution is Unlimited

We formally specify this in AADL as follows:

property set Security_Trust isAccessMode: enumeration (r, w, rw, x) applies to (all);AccessGroup: enumeration (CC, ABS) applies to (all);

end Security_Trust;

Semantics of Access Privileges

Page 22: Extending AADL for Security Design Assurance of …...Extending AADL for Security Design Assurance of the Internet of Things Presented by Rick Kazman, PhD Team: Carol Woody (PI), Rick

22SEI Research Review 2015October 7–8, 2015© 2015 Carnegie Mellon UniversityDistribution Statement A: Approved for Public Release; Distribution is Unlimited

An architect would annotate a data type with properties as follows:data VehicleSpeedproperties

Security_Trust::AccessMode => r;Security_Trust::AccessGroup => CC;

end VehicleSpeed;

data ThrottlePositionproperties

Security_Trust::AccessMode => w;Security_Trust::AccessGroup => CC;

end ThrottlePosition;

Semantics of Access Privileges

Page 23: Extending AADL for Security Design Assurance of …...Extending AADL for Security Design Assurance of the Internet of Things Presented by Rick Kazman, PhD Team: Carol Woody (PI), Rick

23SEI Research Review 2015October 7–8, 2015© 2015 Carnegie Mellon UniversityDistribution Statement A: Approved for Public Release; Distribution is Unlimited

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.

Running the Resolute Checker

Page 24: Extending AADL for Security Design Assurance of …...Extending AADL for Security Design Assurance of the Internet of Things Presented by Rick Kazman, PhD Team: Carol Woody (PI), Rick

24SEI Research Review 2015October 7–8, 2015© 2015 Carnegie Mellon UniversityDistribution Statement A: Approved for Public Release; Distribution is Unlimited

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.

Running the Resolute Checker

Page 25: Extending AADL for Security Design Assurance of …...Extending AADL for Security Design Assurance of the Internet of Things Presented by Rick Kazman, PhD Team: Carol Woody (PI), Rick

25SEI Research Review 2015October 7–8, 2015© 2015 Carnegie Mellon UniversityDistribution Statement A: Approved for Public Release; Distribution is Unlimited

Security Modeling and AADL

IoT Case Study

Conclusions

Agenda

Page 26: Extending AADL for Security Design Assurance of …...Extending AADL for Security Design Assurance of the Internet of Things Presented by Rick Kazman, PhD Team: Carol Woody (PI), Rick

26SEI Research Review 2015October 7–8, 2015© 2015 Carnegie Mellon UniversityDistribution Statement A: Approved for Public Release; Distribution is Unlimited

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.

Limitations

Page 27: Extending AADL for Security Design Assurance of …...Extending AADL for Security Design Assurance of the Internet of Things Presented by Rick Kazman, PhD Team: Carol Woody (PI), Rick

27SEI Research Review 2015October 7–8, 2015© 2015 Carnegie Mellon UniversityDistribution Statement A: Approved for Public Release; Distribution is Unlimited

Architectural security modeling has several benefits:• guides an architect to reason and design in terms of system-

wide 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

Conclusions

Page 28: Extending AADL for Security Design Assurance of …...Extending AADL for Security Design Assurance of the Internet of Things Presented by Rick Kazman, PhD Team: Carol Woody (PI), Rick

28SEI Research Review 2015October 7–8, 2015© 2015 Carnegie Mellon UniversityDistribution Statement A: Approved for Public Release; Distribution is Unlimited

Page 29: Extending AADL for Security Design Assurance of …...Extending AADL for Security Design Assurance of the Internet of Things Presented by Rick Kazman, PhD Team: Carol Woody (PI), Rick

29SEI Research Review 2015October 7–8, 2015© 2015 Carnegie Mellon UniversityDistribution Statement A: Approved for Public Release; Distribution is Unlimited