UNCLASSIFIED Version 1.0 May 2012



Similar documents
The Trivial Cisco IP Phones Compromise

Frontiers in Cyber Security: Beyond the OS

CS 356 Lecture 25 and 26 Operating System Security. Spring 2013

Using Remote Desktop Clients

Where every interaction matters.

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

Discovering passwords in the memory

Course: Information Security Management in e-governance. Day 1. Session 5: Securing Data and Operating systems

Virtualization System Security

Protecting Your Organisation from Targeted Cyber Intrusion

Securing your Virtual Datacenter. Part 1: Preventing, Mitigating Privilege Escalation

CPA SECURITY CHARACTERISTIC SECURE VOIP CLIENT

A Survey on Virtual Machine Security

Host Hardening. Presented by. Douglas Couch & Nathan Heck Security Analysts for ITaP 1

Security Overview for Windows Vista. Bob McCoy, MCSE, CISSP/ISSAP Technical Account Manager Microsoft Corporation

CPNI VIEWPOINT CONFIGURING AND MANAGING REMOTE ACCESS FOR INDUSTRIAL CONTROL SYSTEMS

Mobile Device Management:

Computer Security: Principles and Practice

WIND RIVER SECURE ANDROID CAPABILITY

Enhancing Organizational Security Through the Use of Virtual Smart Cards

SECURITY PRACTICES FOR ADVANCED METERING INFRASTRUCTURE Elif Üstündağ Soykan, Seda Demirağ Ersöz , ICSG 2014

Additional Security Considerations and Controls for Virtual Private Networks

Before we can talk about virtualization security, we need to delineate the differences between the

Secure Web Application Coding Team Introductory Meeting December 1, :00 2:00PM Bits & Pieces Room, Sansom West Room 306 Agenda

Critical Security Controls

Windows 7. Qing Liu Michael Stevens

Security Considerations in Cloud Deployments Matthew Garrett

Control your corner of the cloud.

BlackBerry 10.3 Work and Personal Corporate

SkySecure System Overview

PCI PA - DSS. Point ipos Implementation Guide. Version VeriFone Vx820 using the Point ipos Payment Core

MCTS Guide to Microsoft Windows 7. Chapter 7 Windows 7 Security Features

Advanced Endpoint Protection Overview

WHITE PAPER. FortiWeb and the OWASP Top 10 Mitigating the most dangerous application security threats

UMHLABUYALINGANA MUNICIPALITY FIREWALL MANAGEMENT POLICY

BYOD Guidance: BlackBerry Secure Work Space

BitLocker Drive Encryption Hardware Enhanced Data Protection. Shon Eizenhoefer, Program Manager Microsoft Corporation

A M D DA S 1. 0 For the Manageability, Virtualization and Security of Embedded Solutions

Cyber Security In High-Performance Computing Environment Prakashan Korambath Institute for Digital Research and Education, UCLA July 17, 2014

The evolution of virtual endpoint security. Comparing vsentry with traditional endpoint virtualization security solutions

Dell Client BIOS: Signed Firmware Update

UNCLASSIFIED CPA SECURITY CHARACTERISTIC REMOTE DESKTOP. Version 1.0. Crown Copyright 2011 All Rights Reserved

NERC CIP VERSION 5 COMPLIANCE

Cyber Essentials Scheme

S E C U R I T Y A S S E S S M E N T : B o m g a r A p p l i a n c e s

CMPT 471 Networking II

Public Cloud Security: Surviving in a Hostile Multitenant Environment

CPA SECURITY CHARACTERISTIC ENTERPRISE MANAGEMENT OF DATA AT REST ENCRYPTION

PCI PA - DSS. Point BKX Implementation Guide. Version Atos Xenta, Atos Xenteo and Atos Yomani using the Point BKX Payment Core

KASPERSKY SECURITY INTELLIGENCE SERVICES. EXPERT SERVICES.

PCI PA - DSS. Point XSA Implementation Guide. Atos Worldline Banksys XENTA SA. Version 1.00

Threat Modeling. Frank Piessens ) KATHOLIEKE UNIVERSITEIT LEUVEN

What is Web Security? Motivation

2. From a control perspective, the PRIMARY objective of classifying information assets is to:

Secure Networks for Process Control

IPv6 SECURITY. May The Government of the Hong Kong Special Administrative Region

Host/Platform Security. Module 11

STRATEGIC POLICY. Information Security Policy Documentation. Network Management Policy. 1. Introduction

Sandbox Roulette: Are you ready for the gamble?

Start building a trusted environment now... (before it s too late) IT Decision Makers

Cyber Essentials Questionnaire

UNCLASSIFIED CPA SECURITY CHARACTERISTIC SERVER VIRTUALISATION. Version Crown Copyright 2012 All Rights Reserved

Cloud Computing Governance & Security. Security Risks in the Cloud

Reducing Application Vulnerabilities by Security Engineering

Security+ Guide to Network Security Fundamentals, Third Edition. Chapter 2 Systems Threats and Risks

Intel s Virtualization Extensions (VT-x) So you want to build a hypervisor?

ICTN Enterprise Database Security Issues and Solutions

Objectives. Windows 7 Security. Desktop OS Market Share. Windows Background. CS140M Fall Lake

Penetration Testing Report. Client: xxxxxx Date: 19 th April 2014

Lecture Embedded System Security Dynamic Root of Trust and Trusted Execution

The Sandbox Roulette: are you ready to gamble? Rafal Wojtczuk Rahul Kashyap

Hardware Security Modules for Protecting Embedded Systems

SANS Institute First Five Quick Wins

Comprehensive Security for Internet-of-Things Devices With ARM TrustZone

The Advantages of a Firewall Over an Interafer

Penetration Testing Windows Vista TM BitLocker TM

Security within a development lifecycle. Enhancing product security through development process improvement

Section 12 MUST BE COMPLETED BY: 4/22

IoT Security Platform

Homeland Security Red Teaming

Build (develop) and document Acceptance Transition to production (installation) Operations and maintenance support (postinstallation)

A SECURITY ARCHITECTURE FOR AGENT-BASED MOBILE SYSTEMS. N. Borselius 1, N. Hur 1, M. Kaprynski 2 and C.J. Mitchell 1

EA-ISP-012-Network Management Policy

Building A Secure Microsoft Exchange Continuity Appliance

Redhawk Network Security, LLC Layton Ave., Suite One, Bend, OR

Overview of Windows 10 Requirements for TPM, HVCI and SecureBoot

Patch and Vulnerability Management Program

Windows Remote Access

Working Together Managing and Securing Enterprise Mobility WHITE PAPER. Larry Klimczyk Digital Defence P:

TNC is an open architecture for network access control. If you re not sure what NAC is, we ll cover that in a second. For now, the main point here is

Cyber Security Metrics Dashboards & Analytics

Guidance Regarding Skype and Other P2P VoIP Solutions

5 Steps to Advanced Threat Protection

Security Principles. Related to. Handset Theft

UNCLASSIFIED CPA SECURITY CHARACTERISTIC SOFTWARE FULL DISK ENCRYPTION. Version 1.1. Crown Copyright 2011 All Rights Reserved

Security and Risk Analysis of VoIP Networks

USB Portable Storage Device: Security Problem Definition Summary

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

Transcription:

Secure By Default: Platforms Computing platforms contain vulnerabilities that can be exploited for malicious purposes. Often exploitation does not require a high degree of expertise, as tools and advice are readily available online. It is now common to see announcements of new vulnerabilities uncovered in widely deployed products, or new malware identified. Finding vulnerabilities and fixing them is a critical element of our efforts to secure systems, however the scale of the problem is increasing. The reactive approach deals with each new symptom as it emerges, but fails to address the root cause of the problem. Security mechanisms in today s computing platforms are often not enabled, or are bypassed to increase performance, improve usability, or to allow maintenance. Platforms are not designed to be secure by default; hence extensive (and expensive) effort must be devoted to managing the risks to our systems. A new approach is needed to reduce the harm caused by common and emerging classes of threat. Platforms that are not secure by default cannot represent commercial good practice, and should not be relied upon to protect sensitive data The rest of this paper will discuss desired characteristics of secure platforms; showing some ideas on how a concerted effort might be made to drive fundamental improvements in platform security. We aim to reduce the risk of a single vulnerability allowing a platform to be exploited. We will also suggest a practical example of how some of these characteristics could be provided. Desired Characteristics of Secure Platforms The term platform covers a huge range of computing environments and their underlying software and hardware. Examples include a conventional laptop/smartphone with a full OS and underlying chipset features, or a single processor chip onto which bespoke firmware can be loaded and executed. A single hardware device may also be thought of as multiple platforms, each with varying capabilities and security controls. The following characteristics are intended to be applied to any of the above examples, though inevitably they are written with the more common scenarios in mind. 1

Processor Security Controls Limit Access and Cannot be Bypassed Modern processors have evolved over time, and security mechanisms have been added to defend against or limit the scope of an attack. These measures are hampered or rendered irrelevant by the requirement to support modes of operation which bypass the security features. For example, x86 architectures provide legacy support for real mode, and also for System Management Mode (SMM). Both of these are required on some platforms (e.g. SMM code often performs power management functions), but both allow code to run outside the privilege restrictions normally enforced on the chip. New types of platforms do not require these mechanisms, and so we are at a point where it is feasible to deprecate them where they are not needed. New versions of existing platforms may require legacy support today, but a medium term deadline should be identified beyond which they will not be supported by default. The elimination of bypasses has long been a core objective of security design, as has least privilege ; limiting the access of a component to that required to do its job (in the above example, power management functions should not be given arbitrary memory access). A secure platform should have a clear hierarchy of control, and limit unnecessary access to system resources. Direct Memory Access (DMA) is Limited and Controlled Peripheral devices on a platform can be anything from graphics cards to wireless networking devices; as such they can require direct access to memory and can potentially access/alter data on the core platform. Any of these devices could be malicious (attached to the platform by an attacker), or compromised (a vulnerability in an existing peripheral allows an attacker to gain control of it). It is therefore good practice to limit access to areas of memory required for operation, and to deny access completely to untrusted peripherals. These controls will limit the potential for an attack on the core platform via a peripheral device. A secure platform should be able to limit the direct memory access granted to peripherals, and to report which restrictions are in place. 2

DMA from External Devices is Additionally Protected Some external interfaces (such as Firewire or Thunderbolt) also offer DMA capabilities; hence privileged access to the core platform is exposed outside the physical casing. This raises the possibility of an attack via this interface requiring only the briefest physical access to the platform. A secure platform exposing an external DMA-capable interface must mitigate the impact of unauthorised access, e.g. by requiring authentication of all attached devices. Central Processor Access From Other Processing Elements is Minimised and Controlled There can be performance or efficiency benefits to allow processing elements such as graphics processors access to main processor resources. It is important to realise that these accesses can potentially be used to attack the main processor. Again the principle of least privilege should apply in this situation; access should be limited to the resources required to do the job. A secure platform should ensure that external accesses to the main processor from other processing elements are strictly limited to those required for operation. Ideally it should be possible to disable them when sensitive data is being processed. Processes Consuming Platform Resources can be Identified and Controlled The owner of a computing platform may (depending on the deployment scenario) be the user, the enterprise, or a service provider. This entity should be able to determine which processes are running, and to prevent unwanted software from executing. A secure platform should not permit arbitrary resource consumption in an opaque manner. Debug Functionality Does Not Compromise Security Most platform components incorporate test circuitry such to enable product testing during development and on the production line, for example using JTAG functionality to probe functions and extract test data. By design some of this functionality may allow access to sensitive data on the platform (e.g. cryptographic key material). 3

On a secure platform, debug features should be controlled once production testing is complete. Debug features should not allow unprivileged access to protected resources. I/O Control Even if it is not possible to attack a process directly, malware can potentially hijack the input or output paths. A passive attack could capture sensitive data (e.g. voice traffic passing from the microphone to a VOIP encryption application), while a more active man-in-the-middle attack could alter or insert data (e.g. entering commands to subvert the system, or overwriting alert messages with more benign alternatives). A secure platform should treat control of input/output paths to/from applications processing sensitive data as a security function, and limit access accordingly. Secure Device Identity In addition to strong user authentication (such as a smartcard or other token-based mechanism), a secure platform should be able to strongly identify itself to the network. Most widely deployed systems today use port or MAC address-based device authentication, which is easy to spoof and can be inflexible in a mobile environment. Strong, reliable device identification allows access control decisions to be made on a perdevice basis, as well as per-user (e.g. some platforms may be able to access data not available to less protected hardware). Additionally such mechanisms can automate asset management processes and keep track of valuable devices. For example, log files would show when and where each device has been used, and by whom. It becomes unnecessary to manage bureaucratic processes to document where devices have been deployed. Secure Credential Storage A secure platform should provide a mechanism for storing private keys such that the keys themselves are not directly accessible to applications. The platform can then make use of these keys (for signing or encryption) without exposing them to theft and use on another platform. Such a mechanism offers a degree of protection for sensitive keys such as authentication credentials for a web service; potentially a malicious process on that platform can still produce valid signatures, but it cannot steal the credentials to later access the service from elsewhere. 4

Measured/Verified Boot An unauthorised entity should not be able to modify the boot process of a secure platform, and any attempt to do so should be detected. During the boot process, highly privileged code is executed which has access to most of the platform s resources. Malicious implants at this level are difficult if not impossible for the Operating System to detect; protection in hardware is required. Verified Boot is a mechanism which only allows authorised code to be executed during boot, e.g. only code signed by the platform manufacturer. Measured Boot is a mechanism by which the platform can record which code is loaded during boot, and provide this information to a remote entity in an authenticated manner. The remote entity can then use this data to make access control decisions based on the state of the platform. A secure platform should implement both of these mechanisms, continuing as far as possible into the boot process. Secure Update/Recovery Modern software and firmware is designed to be updated in the field (post-production). This can be to fix a bug or security vulnerability, or to allow a corrupted system to be reinitialised into a usable state. Potential threats arise both from malicious updates and also from slow deployment of security updates leaving platforms in a vulnerable state. A secure platform should only accept updates and other executable code from an authenticated source. Security updates should be made available and deployed onto platforms as rapidly as practical following discovery of a flaw. Control Flow Integrity The control flow of software describes the order in which commands are executed. A common attack vector is to target critical memory locations which direct the control flow. Typically these should not be accessible; however software bugs can expose them. A buffer overflow in which the return address of a function is overwritten is a example of such an attack. Reducing the harm caused by these bugs requires a platform to either prevent dangerous memory corruptions from occurring, or to reduce the chances that an attacker can gain control as a result. A secure platform will defend against memory corruption events which could affect the control flow. 5

Security Primitives Many platforms provide features designed to enable/improve security within applications: controls on execution of code in arbitrary memory, stack protections, and implementations of common crypto functions (including entropy generation) are all good examples. While the secure development of applications is outside the scope of this paper, we observe that including these primitives and encouraging their use is hugely beneficial to platform security. Re-use of standard components and technologies simplifies security design and also the assurance process. A Practical Example Having described the characteristics of a secure platform, we should now show how some of these might be realised using technological primitives that exist today. Further work is still required to deprecate legacy features and implement robust I/O control; however there are grounds for optimism that the overall goal is achievable. Robust Domain Isolation on a Secure Platform A computing platform will process sensitive data; in a connected world it is likely also to be required to process untrusted data in a secure manner. For example, email access usually shares a platform with a web browser; web-based malware can compromise corporate and/or personal data. Limiting/monitoring web access reduces the risk, but some users require access to untrusted data (e.g. if they work with untrusted 3 rd parties, or conduct research using potentially untrusted sources) in order to carry out critical tasks. Improvements to platform security require effort and resources, and may break existing insecure/legacy implementations. We believe that confronting these issues is not only important but necessary in order to deliver the next generation of secure computing platforms. A secure platform can be used to isolate sensitive and untrusted domains such that data/code running in one trust domain cannot interfere with or leak into another. This includes minimising the level of information which can pass between domains via a side-channel, e.g. timing information. 6

One approach to implementing this is to use virtualisation combined with the other characteristics described above: A purpose built baremetal hypervisor designed to isolate virtual machines (VMs) from each other. Trusted/Verified Boot ensuring that the system (up to and including the hypervisor) boots up in a known state, and that this can be verified remotely. Hardware-level controls exist to limit access to/from peripherals on a per-vm basis; legacy modes of operation which bypass these controls do not operate on the platform. The result is a higher degree of confidence that processes/operating Systems running in different virtual machines can be effectively isolated from each other. Several of the above features are implemented in some platforms today: the Trusted Platform Module (TPM) is capable of implementing Secure device Identity; Secure Credential Storage, and of storing/reporting measurements of the platform state during boot. NIST, the US technology standards agency, has produced guidelines 1 for implementing measured boot and firmware signing at the BIOS level of a PC platform. TPMs are deployed in a significant proportion of laptops as well as desktops and servers. Input/Output Memory Management Units (IOMMUs) exist which support access controls for peripheral devices. These features should be activated and used where available (even if not all are available) and implemented across the range of existing computing platforms, from servers to mobile devices. 1 BIOS Integrity Measurement Guidelines: http://csrc.nist.gov/publications/drafts/800-155/draft-sp800-155_dec2011.pdf BIOS Protection Guidelines: http://csrc.nist.gov/publications/nistpubs/800-147/nist-sp800-147-april2011.pdf 7

Summary: Secure Platform Characteristics 1. A secure platform should have a clear hierarchy of control, and limit unnecessary access to system resources. 2. A secure platform should be able to limit the direct memory access granted to peripherals, and to report which restrictions are in place. 3. A secure platform exposing an external DMA-capable interface must mitigate the impact of unauthorised access. 4. A secure platform should ensure that external accesses to the main processor from other processing elements are strictly limited to those required for operation. Ideally it should be possible to disable them when sensitive data is being processed. 5. A secure platform should not permit arbitrary resource consumption in an opaque manner. 6. On a secure platform, debug features should be controlled once production testing is complete. Debug features should not allow unprivileged access to protected resource. 7. A secure platform should treat control of input/output paths to/from applications processing sensitive data as a security function, and limit access accordingly. 8. A secure platform should be able to strongly identify itself to the network. 9. A secure platform should provide a mechanism for storing private keys such that the keys themselves are not directly accessible to applications. 10. An unauthorised entity should not be able to modify the boot process of a secure platform, and any attempt to do so should be detected. 11. A secure platform should only accept updates and other executable code from an authenticated source. Security updates should be made available and deployed onto platforms as rapidly as practical following discovery of a flaw. 12. A secure platform will defend against memory corruption events which could affect the control flow 8