Secure Compute Customization
Total Page:16
File Type:pdf, Size:1020Kb
ORNL/TM-2016/710 Secure Enclaves: An Isolation-centric Approach for Creating Secure High Performance Computing Environments Approved for public release. Distribution is unlimited. Ferrol Aderholdt Blake Caldwell Susan Hicks Scott Koch Thomas Naughton Daniel Pelfrey James Pogge Stephen L. Scott Galen Shipman Lawrence Sorrillo June 2015 DOCUMENT AVAILABILITY Reports produced after January 1, 1996, are generally available free via US Department of Energy (DOE) SciTech Connect. Website: http://www.osti.gov/scitech/ Reports produced before January 1, 1996, may be purchased by members of the public from the following source: National Technical Information Service 5285 Port Royal Road Springfield, VA 22161 Telephone: 703-605-6000 (1-800-553-6847) TDD: 703-487-4639 Fax: 703-605-6900 E-mail: [email protected] Website: http://www.ntis.gov/help/ordermethods.aspx Reports are available to DOE employees, DOE contractors, Energy Technology Data Exchange representatives, and International Nuclear Information System representatives from the following source: Office of Scientific and Technical Information PO Box 62 Oak Ridge, TN 37831 Telephone: 865-576-8401 Fax: 865-576-5728 E-mail: [email protected] Website: http://www.osti.gov/contact.html This report was prepared as an account of work sponsored by an agency of the United States Government. Neither the United States Government nor any agency thereof, nor any of their em- ployees, makes any warranty, express or implied, or assumes any legal liability or responsibility for the accuracy, completeness, or usefulness of any information, apparatus, product, or process disclosed, or represents that its use would not infringe privately owned rights. Reference herein to any specific commercial prod- uct, process, or service by trade name, trademark, manufacturer, or otherwise, does not necessarily constitute or imply its endorse- ment, recommendation, or favoring by the United States Govern- ment or any agency thereof. The views and opinions of authors expressed herein do not necessarily state or reflect those of the United States Government or any agency thereof. ORNL/TM-2016/710 Computing & Computational Sciences Directorate DoD-HPC Program Secure Enclaves: An Isolation-centric Approach for Creating Secure High Performance Computing Environments Ferrol Aderholdt2, Blake Caldwell1, Susan Hicks1, Scott Koch1, Thomas Naughton1, Daniel Pelfrey1, James Pogge2, Stephen L. Scott1;2, Galen Shipman2 and Lawrence Sorrillo1 1 Oak Ridge National Laboratory Oak Ridge, TN 37831 2 Tennessee Technological University Cookeville, TN, 38501 Date Published: June 2015 Prepared by OAK RIDGE NATIONAL LABORATORY P.O. Box 2008 Oak Ridge, Tennessee 37831-6285 managed by UT-Battelle, LLC for the US DEPARTMENT OF ENERGY under contract DE-AC05-00OR22725 CONTENTS List of Figures ............................................ x List of Tables ............................................. xi Executive Summary1 1 Introduction 5 1.1 Project Scope.......................................... 6 1.1.1 Customizable Computing Resources.......................... 6 1.1.2 Threat Model...................................... 7 1.2 Report Outline ......................................... 8 2 Background 9 2.1 Terminology........................................... 9 2.1.1 Virtualization...................................... 9 2.1.2 Networking....................................... 9 2.2 Virtualization Classification................................... 11 2.2.1 OS Level Virtualization................................. 11 2.2.2 System-level Virtualization............................... 11 2.3 SDN and Network Function Virtualization........................... 12 2.4 Storage Architectures...................................... 13 2.4.1 The Lustre Storage Architecture............................ 13 2.4.2 The GPFS Storage Architecture ............................ 16 2.5 Security Classifications..................................... 18 2.6 Supporting Security Technologies ............................... 19 2.6.1 NIST .......................................... 19 2.6.2 FIPS........................................... 20 2.6.3 GSSAPI......................................... 20 2.6.4 Kerberos ........................................ 20 2.7 System Management Tools................................... 20 2.7.1 Puppet.......................................... 21 2.7.2 OpenStack ....................................... 21 3 Virtualization 22 3.1 OS level virtualization ..................................... 22 3.1.1 Namespaces....................................... 22 3.1.2 Cgroups......................................... 24 3.1.3 Linux-VServer ..................................... 25 iii 3.1.4 OpenVZ......................................... 26 3.1.5 LXC........................................... 27 3.1.6 Docker ......................................... 27 3.2 System level virtualization ................................... 27 3.2.1 Xen........................................... 27 3.2.2 KVM.......................................... 28 3.3 Virtualization and Security Mechanisms............................ 29 3.3.1 sVirt........................................... 29 3.3.2 SELinux ........................................ 29 3.3.3 AppArmor ....................................... 30 3.3.4 Capabilities....................................... 30 4 Reconfigurable Networks 32 4.1 Typical Networking Environment................................ 32 4.2 Static Networks Involving VRF and Preconfigured VLANS.................. 32 4.3 Software Interfaces for Reconfigurable Networks ....................... 33 4.4 Traditional SDN......................................... 33 4.5 Hybrid SDN........................................... 34 4.6 Overlay Network ........................................ 34 4.7 SDN with OpenStack...................................... 35 4.8 Implementing Neutron Routers................................. 35 4.9 Networking with LXD ..................................... 38 5 Security in HPC Storage 39 5.1 Lustre.............................................. 39 5.1.1 Isolation......................................... 39 5.1.2 Authentication ..................................... 39 5.1.3 Authorization...................................... 40 5.1.4 Integrity......................................... 40 5.1.5 Features in Development................................ 40 5.1.6 Gaps .......................................... 41 5.2 GPFS .............................................. 41 5.2.1 Authentication ..................................... 41 5.2.2 Authorization...................................... 42 5.2.3 Encryption ....................................... 42 5.2.4 Features & Gaps .................................... 43 5.3 Discussion............................................ 43 5.3.1 Comparisons of Security with Lustre and GPFS.................... 43 5.3.2 Performance in Lustre and GPFS............................ 44 6 Bridging Technologies for Secure Storage 45 6.1 Virtualization .......................................... 45 6.2 VLAN/Network Segmentation................................. 46 6.3 I/O Forwarding ......................................... 46 6.3.1 NFS........................................... 46 6.3.2 VirtFS.......................................... 46 iv 6.3.3 DIOD.......................................... 47 7 OpenStack Implementation Details 48 7.1 Core OpenStack Components.................................. 48 7.1.1 Horizon – Dashboard.................................. 49 7.1.2 Nova – Compute .................................... 49 7.1.3 Neutron – Networking ................................. 49 7.1.4 Keystone – Identity Services.............................. 49 7.1.5 Glance – Image Service ................................ 49 7.1.6 Swift – Object Storage................................. 49 7.1.7 Cinder – Block Storage................................. 52 7.2 Emerging OpenStack Components............................... 54 7.2.1 Manila – Filesystem-As-A-Service........................... 54 7.2.2 Magnum – Containers-As-A-Service.......................... 54 7.2.3 LXD – System-Containers-As-A-Service ....................... 55 7.2.4 LXD vs. Magnum ................................... 55 8 Secure Enclaves System Architecture 57 8.1 Isolation-Centric Architecture ................................. 57 8.2 Instances of the Isolation-Centric Architecture......................... 59 8.2.1 Parallel filesystem with host-based subtree limitations for VM............ 59 8.2.2 Parallel filesystem with host-based subtree limitations for VE ............ 60 9 Evaluation 62 9.1 Secure Enclave Testbed Description .............................. 62 9.1.1 SDN in Testbed..................................... 63 9.2 User namespaces ........................................ 65 9.2.1 Shared-storage use case ................................ 65 9.3 HPCCG............................................. 69 9.3.1 Description....................................... 69 9.3.2 Setup .......................................... 69 9.3.3 Discussion & Observations............................... 71 9.4 iperf: TCP Bandwidth...................................... 76 9.4.1 Description....................................... 76 9.4.2 Setup .......................................... 76 9.4.3 Discussion & Observations............................... 76 9.5 On-demand Network Enclaving via SDN & OpenStack’s Neutron .............. 77 9.5.1 Description....................................... 77 9.5.2 Setup .........................................