SlideShare ist ein Scribd-Unternehmen logo
1 von 30
Downloaden Sie, um offline zu lesen
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
Security benefits of the
Nitro architecture
Mark Ryland
Director, Office of the CISO
AWS
S E P 4 0 1 - R 1
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Agenda
Traditional virtualization and its limitations
The Amazon EC2 Nitro architecture
Security benefits of Nitro
Questions
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Related breakouts and previous talks
Tuesday, June 25
SEP402: Encrypting everything with AWS
re:Invent 2017
C5 Instances and the Evolution of Amazon EC2 Virtualization
re:Invent 2017
Amazon EC2 Bare Metal Instances
re:Invent 2018
Powering Next-Gen EC2 Instances: Deep Dive into the Nitro System
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Intel mainboard
Amazon EC2 CR1: January
2013
Traditional software-based
virtualization
Virtual machine monitor is
relatively simple
Device models and privileged OS
are not
Amazon Linux
(dom0)
cr1.8xlarge
(domU/guest)
Amazon EBS volumes
DM
Instance storage
VPC networking
Othersoftware
DM
DM
DM
Xen
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
<_start>:
e9 59 e1 17 00 jmpq ffff82d08037e15e
0f 1f 00 nopl (%rax)
<multiboot1_header_start>:
02 b0 ad 1b 03 00 add 0x31bad(%rax),%dh
00 00 add %al,(%rax)
fb sti
4f 52 rex.WRXB push %r10
e4 0f in $0xf,%al
<multiboot1_header_end>:
0f 1f 40 00 nopl 0x0(%rax)
<multiboot2_header_start>:
d6 (bad)
50 push %rax
52 push %rdx
e8 00 00 00 00 callq ffff82d080200020
88 00 mov %al,(%rax)
VMM
Virtualization: standard instructions
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
<_start>:
e9 59 e1 17 00 jmpq ffff82d08037e15e
0f 1f 00 nopl (%rax)
<multiboot1_header_start>:
02 b0 ad 1b 03 00 add 0x31bad(%rax),%dh
00 00 add %al,(%rax)
fb sti
4f 52 rex.WRXB push %r10
e4 0f in $0xf,%al
<multiboot1_header_end>:
0f 1f 40 00 nopl 0x0(%rax)
<multiboot2_header_start>:
d6 (bad)
50 push %rax
52 push %rdx
e8 00 00 00 00 callq ffff82d080200020
88 00 mov %al,(%rax)
ERROR
Virtualization: privileged instructions
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
<_start>:
e9 59 e1 17 00 jmpq ffff82d08037e15e
0f 1f 00 nopl (%rax)
<multiboot1_header_start>:
02 b0 ad 1b 03 00 add 0x31bad(%rax),%dh
00 00 add %al,(%rax)
fb sti
4f 52 rex.WRXB push %r10
e4 0f in $0xf,%al
<multiboot1_header_end>:
0f 1f 40 00 nopl 0x0(%rax)
<multiboot2_header_start>:
d6 (bad)
50 push %rax
52 push %rdx
e8 00 00 00 00 callq ffff82d080200020
88 00 mov %al,(%rax)
TRAP
VMM
Trap & emulate: virtual machine monitor
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
<_start>:
e9 59 e1 17 00 jmpq ffff82d08037e15e
0f 1f 00 nopl (%rax)
<multiboot1_header_start>:
02 b0 ad 1b 03 00 add 0x31bad(%rax),%dh
00 00 add %al,(%rax)
fb sti
4f 52 rex.WRXB push %r10
e4 0f in $0xf,%al
<multiboot1_header_end>:
0f 1f 40 00 nopl 0x0(%rax)
<multiboot2_header_start>:
d6 (bad)
50 push %rax
52 push %rdx
e8 00 00 00 00 callq ffff82d080200020
88 00 mov %al,(%rax)
VMM
EMULATE
Trap & emulate : virtual machine monitor
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
<_start>:
e9 59 e1 17 00 jmpq ffff82d08037e15e
0f 1f 00 nopl (%rax)
<multiboot1_header_start>:
02 b0 ad 1b 03 00 add 0x31bad(%rax),%dh
00 00 add %al,(%rax)
fb sti
4f 52 rex.WRXB push %r10
e4 0f in $0xf,%al
<multiboot1_header_end>:
0f 1f 40 00 nopl 0x0(%rax)
<multiboot2_header_start>:
d6 (bad)
50 push %rax
52 push %rdx
e8 00 00 00 00 callq ffff82d080200020
88 00 mov %al,(%rax)
VMM
Continue
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
<_start>:
e9 59 e1 17 00 jmpq ffff82d08037e15e
0f 1f 00 nopl (%rax)
<multiboot1_header_start>:
02 b0 ad 1b 03 00 add 0x31bad(%rax),%dh
00 00 add %al,(%rax)
fb sti
4f 52 rex.WRXB push %r10
e4 0f in $0xf,%al
<multiboot1_header_end>:
0f 1f 40 00 nopl 0x0(%rax)
<multiboot2_header_start>:
d6 (bad)
50 push %rax
52 push %rdx
e8 00 00 00 00 callq ffff82d080200020
88 00 mov %al,(%rax)
EMULATE
VMM
TRAP
Device
Model
Device
Model
Device
model
Trap & emulate: devices and I/O
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Beginning the Nitro journey
(Re)invent and simplify; can we do better?
Data center CPUs are powerful and expensive; it is wasteful to use them as accelerators
Device models compete for CPU and system resources; jitter is hard to avoid
Dom0 OS is a big, complicated piece of software and a convenient landing zone
Apply microservices and building block concepts to simplify development,
enhance quality, and speed up innovation?
Use specialized hardware for acceleration and increased security?
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Intel mainboard
Step by step
Multi-year process to decompose
the system
Device model by device model
Learnings along the way
Amazon EBS volumes
DM
Instance storage
VPC networking
DM
Othersoftware
DM
DM
Amazon Linux
(dom0)
cr1.8xlarge
(domU/guest)
Xen
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
PCIe bus
Amazon
RDS
m5d.24xlarge
Nitro hypervisor (KVM-based)
Amazon EBS
volumes
Instance
storage
Intel mainboard
Nitro architecture
ENA
Private network
Nitro controller & other
Nitro computers
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
PCIe bus
Amazon
RDS
Nitro hypervisor (KVM-based)
Instance
storage
Intel mainboard
Nitro architecture
ENA
Private network
m5d.4xlarge
m5d.4xlarge
m5d.4xlarge
m5d.4xlarge
m5d.4xlarge
m5d.4xlarge
Nitro controller & other
Nitro computers
Amazon EBS
volumes
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
PCIe bus
Amazon
RDS
M5d.metal
instance type
Instance
storage
Intel mainboard
Nitro architecture
ENA
Private network
Nitro controller & other
Nitro computers
Amazon EBS
volumes
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
PCIe bus
Amazon
RDS
Instance
storage
Intel mainboard
Nitro architecture
ENA
Private network
Nitro controller & other
Nitro computers
Amazon EBS
volumes
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
PCIe bus
Amazon
RDS
Instance
storage
Intel mainboard
Amazon EBS attach volume API
User calls Amazon EC2 API endpoint
Internal microservices send command to control plane
Control plane sends command to Nitro controller
Nitro controller sends command to EBS controller
EBS controller sends hot-plug event for PCIe device
NVMe device (emulated) shows up on the bus
ENA
Nitro controller & other
Nitro computers
Amazon EBS
volumes
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Key aspects of Nitro
Software device models replaced by (software-defined) hardware devices on the
system bus
Amazon EC2 dynamic system changes modeled as hardware events (e.g., NVMe
and ENA hot-plug, ACPI power state changes)
Extension of microservice architecture into hardware
ENA, NVMe protocols are hardened APIs behind which we can innovate
Data hiding and service decomposition
Apply (relatively) cheap hardware acceleration to a range of issues
Software elements are also microservices, all dynamically updatable
No virtual machine (VM) downtime required even for major updates
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Security (CIA) benefits
Confidentiality
Encryption features
Passive communications design
Additional benefits
Integrity
Secure boot process of Nitro controller (and other Nitro computers)
Secure boot process of mainboard (“customer workload co-processor”)
Availability
Systems can be fully updated without VM downtime
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Integrity: Nitro system
Nitro controller is the root of trust
Nitro controller boots from completely private SSD
Boot process formally verified by AWS Automated Reasoning Group:
https://link.springer.com/chapter/10.1007/978-3-319-96142-2_28
Conducts various integrity checks of
Nitro computers
Continues on with mainboard boot
When necessary, secure software
updates for all components using
secure channels, signed binaries
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
QPI
Integrity: M5d boot process
Mainboard cannot
update firmware
But…
Hold mainboard in reset
during power-up
Validate all firmware;
if valid, continue
Either inject known-good
hypervisor
Or boot customer
OS/hypervisor AMI from
pseudo-NVMe (EBS)
volume
Intel mainboard
Nitro computers &
private network
Nitro controller
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Encryption—performance
Hardware acceleration allows for line-rate AES-256 encryption of EBS,
instance storage, and network without performance penalty
Instance storage: All data
EBS: Now enforceable (for all types) at the account level
Network: Beginning with N types, all direct inter-N customer traffic
Same VPC and across VPC peering, same region
All at up to 100 GB/s
Cf: Project Lever; VPC x-region peering
Caveats
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Encryption—key management
EBS: Volumes have independent lifetimes (plus snapshots); therefore, key
management via AWS KMS
Instance storage: Locally generated, used, and deleted (instance lifecycle)
VPC:
Seed materials regionally generated and managed in AWS KMS
Seeds distributed, not actual secrets; rotated frequently
(previous, current, next)
In all cases, plaintext data keys are
cached/ used only on Nitro computers
Protected from “customer workload co-processor”
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Passive communications design
Hypervisor awaits commands from Nitro controller
Sent via trusted communications channel
Never initiates communications with the controller
Not connected to the network at all
Nitro controller awaits commands from the external control plane
Listens on network substrate awaiting encrypted, authenticated API calls
Never initiates outbound connections
Outbound communications from either layer
are a clear sign of compromise and are
treated accordingly
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Additional confidentiality benefits
No Dom0 in Nitro hypervisor—greater simplicity and safety
No SSH or other interactive modes anywhere—no direct human access
All access via 100% AuthN/AuthZ APIs with logging/auditing
—no APIs for memory access
Only the Nitro controller has access to the physical Amazon EC2 network; the
mainboard does not
End-to-end Nitro system is developed,
deployed, and managed by DevSecOps
process
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
In sum
Big benefits from applying microservice concepts to hardware and full-
system design
Unneeded functionality not present
What remains is better-defined and easier to reason about: build/test/validate
Stronger single root of trust and greater separation of concerns (and code,
and teams) along every dimension
Nitro building blocks will continue to be
applied in Amazon EC2 and beyond
Firecracker, Outposts, etc.
Lots of security value already, and there’s
more that we can do!
Thank you!
© 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
Mark Ryland
markry@amazon.com

Weitere ähnliche Inhalte

Was ist angesagt?

Secrets of Performance Tuning Java on Kubernetes
Secrets of Performance Tuning Java on KubernetesSecrets of Performance Tuning Java on Kubernetes
Secrets of Performance Tuning Java on KubernetesBruno Borges
 
Building Kubernetes images at scale with Tanzu Build Service
Building Kubernetes images at scale with Tanzu Build ServiceBuilding Kubernetes images at scale with Tanzu Build Service
Building Kubernetes images at scale with Tanzu Build ServiceVMware Tanzu
 
Super-NetOps Source of Truth
Super-NetOps Source of TruthSuper-NetOps Source of Truth
Super-NetOps Source of TruthJoel W. King
 
Introduction to CNI (Container Network Interface)
Introduction to CNI (Container Network Interface)Introduction to CNI (Container Network Interface)
Introduction to CNI (Container Network Interface)HungWei Chiu
 
GPU Virtualization in Embedded Automotive Solutions
GPU Virtualization in Embedded Automotive SolutionsGPU Virtualization in Embedded Automotive Solutions
GPU Virtualization in Embedded Automotive SolutionsGlobalLogic Ukraine
 
HTTP Analytics for 6M requests per second using ClickHouse, by Alexander Boc...
HTTP Analytics for 6M requests per second using ClickHouse, by  Alexander Boc...HTTP Analytics for 6M requests per second using ClickHouse, by  Alexander Boc...
HTTP Analytics for 6M requests per second using ClickHouse, by Alexander Boc...Altinity Ltd
 
Cilium + Istio with Gloo Mesh
Cilium + Istio with Gloo MeshCilium + Istio with Gloo Mesh
Cilium + Istio with Gloo MeshChristian Posta
 
Yocto project and open embedded training
Yocto project and open embedded trainingYocto project and open embedded training
Yocto project and open embedded trainingH Ming
 
Get Your Insecure PostgreSQL Passwords to SCRAM
Get Your Insecure PostgreSQL Passwords to SCRAMGet Your Insecure PostgreSQL Passwords to SCRAM
Get Your Insecure PostgreSQL Passwords to SCRAMJonathan Katz
 
Running PostgreSQL in Kubernetes: from day 0 to day 2 with CloudNativePG - Do...
Running PostgreSQL in Kubernetes: from day 0 to day 2 with CloudNativePG - Do...Running PostgreSQL in Kubernetes: from day 0 to day 2 with CloudNativePG - Do...
Running PostgreSQL in Kubernetes: from day 0 to day 2 with CloudNativePG - Do...DoKC
 
Ceph Block Devices: A Deep Dive
Ceph Block Devices:  A Deep DiveCeph Block Devices:  A Deep Dive
Ceph Block Devices: A Deep DiveRed_Hat_Storage
 
The best way to run Elastic on Kubernetes
The best way to run Elastic on KubernetesThe best way to run Elastic on Kubernetes
The best way to run Elastic on KubernetesElasticsearch
 
Intel® QuickAssist Technology Introduction, Applications, and Lab, Including ...
Intel® QuickAssist Technology Introduction, Applications, and Lab, Including ...Intel® QuickAssist Technology Introduction, Applications, and Lab, Including ...
Intel® QuickAssist Technology Introduction, Applications, and Lab, Including ...Michelle Holley
 
Minio Cloud Storage
Minio Cloud StorageMinio Cloud Storage
Minio Cloud StorageMinio
 
HKG18-120 - Devicetree Schema Documentation and Validation
HKG18-120 - Devicetree Schema Documentation and Validation HKG18-120 - Devicetree Schema Documentation and Validation
HKG18-120 - Devicetree Schema Documentation and Validation Linaro
 
SK hynix CXL Disaggregated Memory Solution
SK hynix CXL Disaggregated Memory SolutionSK hynix CXL Disaggregated Memory Solution
SK hynix CXL Disaggregated Memory SolutionMemory Fabric Forum
 
Git installation and configuration
Git installation and configurationGit installation and configuration
Git installation and configurationKishor Kumar
 

Was ist angesagt? (20)

Secrets of Performance Tuning Java on Kubernetes
Secrets of Performance Tuning Java on KubernetesSecrets of Performance Tuning Java on Kubernetes
Secrets of Performance Tuning Java on Kubernetes
 
Building Kubernetes images at scale with Tanzu Build Service
Building Kubernetes images at scale with Tanzu Build ServiceBuilding Kubernetes images at scale with Tanzu Build Service
Building Kubernetes images at scale with Tanzu Build Service
 
Super-NetOps Source of Truth
Super-NetOps Source of TruthSuper-NetOps Source of Truth
Super-NetOps Source of Truth
 
Introduction to CNI (Container Network Interface)
Introduction to CNI (Container Network Interface)Introduction to CNI (Container Network Interface)
Introduction to CNI (Container Network Interface)
 
GPU Virtualization in Embedded Automotive Solutions
GPU Virtualization in Embedded Automotive SolutionsGPU Virtualization in Embedded Automotive Solutions
GPU Virtualization in Embedded Automotive Solutions
 
HTTP Analytics for 6M requests per second using ClickHouse, by Alexander Boc...
HTTP Analytics for 6M requests per second using ClickHouse, by  Alexander Boc...HTTP Analytics for 6M requests per second using ClickHouse, by  Alexander Boc...
HTTP Analytics for 6M requests per second using ClickHouse, by Alexander Boc...
 
Cilium + Istio with Gloo Mesh
Cilium + Istio with Gloo MeshCilium + Istio with Gloo Mesh
Cilium + Istio with Gloo Mesh
 
Yocto project and open embedded training
Yocto project and open embedded trainingYocto project and open embedded training
Yocto project and open embedded training
 
Get Your Insecure PostgreSQL Passwords to SCRAM
Get Your Insecure PostgreSQL Passwords to SCRAMGet Your Insecure PostgreSQL Passwords to SCRAM
Get Your Insecure PostgreSQL Passwords to SCRAM
 
Jenkins CI
Jenkins CIJenkins CI
Jenkins CI
 
Running PostgreSQL in Kubernetes: from day 0 to day 2 with CloudNativePG - Do...
Running PostgreSQL in Kubernetes: from day 0 to day 2 with CloudNativePG - Do...Running PostgreSQL in Kubernetes: from day 0 to day 2 with CloudNativePG - Do...
Running PostgreSQL in Kubernetes: from day 0 to day 2 with CloudNativePG - Do...
 
Ceph Block Devices: A Deep Dive
Ceph Block Devices:  A Deep DiveCeph Block Devices:  A Deep Dive
Ceph Block Devices: A Deep Dive
 
The best way to run Elastic on Kubernetes
The best way to run Elastic on KubernetesThe best way to run Elastic on Kubernetes
The best way to run Elastic on Kubernetes
 
Intel® QuickAssist Technology Introduction, Applications, and Lab, Including ...
Intel® QuickAssist Technology Introduction, Applications, and Lab, Including ...Intel® QuickAssist Technology Introduction, Applications, and Lab, Including ...
Intel® QuickAssist Technology Introduction, Applications, and Lab, Including ...
 
Minio Cloud Storage
Minio Cloud StorageMinio Cloud Storage
Minio Cloud Storage
 
HKG18-120 - Devicetree Schema Documentation and Validation
HKG18-120 - Devicetree Schema Documentation and Validation HKG18-120 - Devicetree Schema Documentation and Validation
HKG18-120 - Devicetree Schema Documentation and Validation
 
Pcie drivers basics
Pcie drivers basicsPcie drivers basics
Pcie drivers basics
 
SK hynix CXL Disaggregated Memory Solution
SK hynix CXL Disaggregated Memory SolutionSK hynix CXL Disaggregated Memory Solution
SK hynix CXL Disaggregated Memory Solution
 
eBPF Basics
eBPF BasicseBPF Basics
eBPF Basics
 
Git installation and configuration
Git installation and configurationGit installation and configuration
Git installation and configuration
 

Ähnlich wie Security benefits of the Nitro architecture - SEP401-R - AWS re:Inforce 2019

C5 Instances and the Evolution of Amazon EC2 Virtualization - CMP332 - re:Inv...
C5 Instances and the Evolution of Amazon EC2 Virtualization - CMP332 - re:Inv...C5 Instances and the Evolution of Amazon EC2 Virtualization - CMP332 - re:Inv...
C5 Instances and the Evolution of Amazon EC2 Virtualization - CMP332 - re:Inv...Amazon Web Services
 
The Nitro Project: Next-Generation EC2 Infrastructure - AWS Online Tech Talks
The Nitro Project: Next-Generation EC2 Infrastructure - AWS Online Tech TalksThe Nitro Project: Next-Generation EC2 Infrastructure - AWS Online Tech Talks
The Nitro Project: Next-Generation EC2 Infrastructure - AWS Online Tech TalksAmazon Web Services
 
Deep Dive on New Amazon EC2 Instances and Virtualization Technologies - AWS O...
Deep Dive on New Amazon EC2 Instances and Virtualization Technologies - AWS O...Deep Dive on New Amazon EC2 Instances and Virtualization Technologies - AWS O...
Deep Dive on New Amazon EC2 Instances and Virtualization Technologies - AWS O...Amazon Web Services
 
State of the Union: Compute & DevOps
State of the Union: Compute & DevOpsState of the Union: Compute & DevOps
State of the Union: Compute & DevOpsAmazon Web Services
 
Black Belt Tips for IT Operations - AWS Summit Sydney 2018
Black Belt Tips for IT Operations - AWS Summit Sydney 2018Black Belt Tips for IT Operations - AWS Summit Sydney 2018
Black Belt Tips for IT Operations - AWS Summit Sydney 2018Amazon Web Services
 
Deep Dive on Amazon EC2 Instances & Performance Optimization Best Practices (...
Deep Dive on Amazon EC2 Instances & Performance Optimization Best Practices (...Deep Dive on Amazon EC2 Instances & Performance Optimization Best Practices (...
Deep Dive on Amazon EC2 Instances & Performance Optimization Best Practices (...Amazon Web Services
 
Amazon EC2 deepdive and a sprinkel of AWS Compute | AWS Floor28
Amazon EC2 deepdive and a sprinkel of AWS Compute | AWS Floor28Amazon EC2 deepdive and a sprinkel of AWS Compute | AWS Floor28
Amazon EC2 deepdive and a sprinkel of AWS Compute | AWS Floor28Amazon Web Services
 
Powering Next-Gen EC2 Instances: Deep Dive into the Nitro System (CMP303-R1) ...
Powering Next-Gen EC2 Instances: Deep Dive into the Nitro System (CMP303-R1) ...Powering Next-Gen EC2 Instances: Deep Dive into the Nitro System (CMP303-R1) ...
Powering Next-Gen EC2 Instances: Deep Dive into the Nitro System (CMP303-R1) ...Amazon Web Services
 
Getting Started with ARM-Based EC2 A1 Instances - CMP302 - Anaheim AWS Summit
Getting Started with ARM-Based EC2 A1 Instances - CMP302 - Anaheim AWS SummitGetting Started with ARM-Based EC2 A1 Instances - CMP302 - Anaheim AWS Summit
Getting Started with ARM-Based EC2 A1 Instances - CMP302 - Anaheim AWS SummitAmazon Web Services
 
SharePoint 2010 Virtualisation - SharePoint Saturday UK
SharePoint 2010 Virtualisation - SharePoint Saturday UKSharePoint 2010 Virtualisation - SharePoint Saturday UK
SharePoint 2010 Virtualisation - SharePoint Saturday UKMichael Noel
 
AWSome Day Geneva Main Track: Infrastructure Part 1.pdf
AWSome Day Geneva Main Track: Infrastructure Part 1.pdfAWSome Day Geneva Main Track: Infrastructure Part 1.pdf
AWSome Day Geneva Main Track: Infrastructure Part 1.pdfAmazon Web Services
 
2020-ntn-vsphere_performance_principles_bondzio.pdf
2020-ntn-vsphere_performance_principles_bondzio.pdf2020-ntn-vsphere_performance_principles_bondzio.pdf
2020-ntn-vsphere_performance_principles_bondzio.pdfPhmNgcTr3
 
Modernizing Your Microsoft Business Applications - CMP201 - Anaheim AWS Summit
Modernizing Your Microsoft Business Applications - CMP201 - Anaheim AWS SummitModernizing Your Microsoft Business Applications - CMP201 - Anaheim AWS Summit
Modernizing Your Microsoft Business Applications - CMP201 - Anaheim AWS SummitAmazon Web Services
 
AWSome Day Online 2020_Module 2: Getting started with the cloud
AWSome Day Online 2020_Module 2: Getting started with the cloudAWSome Day Online 2020_Module 2: Getting started with the cloud
AWSome Day Online 2020_Module 2: Getting started with the cloudAmazon Web Services
 
All about Azure workshop deck
All about Azure workshop deckAll about Azure workshop deck
All about Azure workshop deckAlexey Bokov
 
Mythical Mysfits: Monolith to Microservices with Docker and Fargate - MAD305 ...
Mythical Mysfits: Monolith to Microservices with Docker and Fargate - MAD305 ...Mythical Mysfits: Monolith to Microservices with Docker and Fargate - MAD305 ...
Mythical Mysfits: Monolith to Microservices with Docker and Fargate - MAD305 ...Amazon Web Services
 
Deep Dive into Firecracker Using Lightweight Virtual Machines to Enhance the ...
Deep Dive into Firecracker Using Lightweight Virtual Machines to Enhance the ...Deep Dive into Firecracker Using Lightweight Virtual Machines to Enhance the ...
Deep Dive into Firecracker Using Lightweight Virtual Machines to Enhance the ...Amazon Web Services
 
Amazon EC2 instances: Customizable cloud computing across workloads - DEM20-S...
Amazon EC2 instances: Customizable cloud computing across workloads - DEM20-S...Amazon EC2 instances: Customizable cloud computing across workloads - DEM20-S...
Amazon EC2 instances: Customizable cloud computing across workloads - DEM20-S...Amazon Web Services
 
Windows Server Core
Windows Server CoreWindows Server Core
Windows Server CoreMark Wilson
 

Ähnlich wie Security benefits of the Nitro architecture - SEP401-R - AWS re:Inforce 2019 (20)

C5 Instances and the Evolution of Amazon EC2 Virtualization - CMP332 - re:Inv...
C5 Instances and the Evolution of Amazon EC2 Virtualization - CMP332 - re:Inv...C5 Instances and the Evolution of Amazon EC2 Virtualization - CMP332 - re:Inv...
C5 Instances and the Evolution of Amazon EC2 Virtualization - CMP332 - re:Inv...
 
The Nitro Project: Next-Generation EC2 Infrastructure - AWS Online Tech Talks
The Nitro Project: Next-Generation EC2 Infrastructure - AWS Online Tech TalksThe Nitro Project: Next-Generation EC2 Infrastructure - AWS Online Tech Talks
The Nitro Project: Next-Generation EC2 Infrastructure - AWS Online Tech Talks
 
Deep Dive on New Amazon EC2 Instances and Virtualization Technologies - AWS O...
Deep Dive on New Amazon EC2 Instances and Virtualization Technologies - AWS O...Deep Dive on New Amazon EC2 Instances and Virtualization Technologies - AWS O...
Deep Dive on New Amazon EC2 Instances and Virtualization Technologies - AWS O...
 
State of the Union: Compute & DevOps
State of the Union: Compute & DevOpsState of the Union: Compute & DevOps
State of the Union: Compute & DevOps
 
Black Belt Tips for IT Operations - AWS Summit Sydney 2018
Black Belt Tips for IT Operations - AWS Summit Sydney 2018Black Belt Tips for IT Operations - AWS Summit Sydney 2018
Black Belt Tips for IT Operations - AWS Summit Sydney 2018
 
Deep Dive on Amazon EC2 Instances & Performance Optimization Best Practices (...
Deep Dive on Amazon EC2 Instances & Performance Optimization Best Practices (...Deep Dive on Amazon EC2 Instances & Performance Optimization Best Practices (...
Deep Dive on Amazon EC2 Instances & Performance Optimization Best Practices (...
 
Amazon EC2 deepdive and a sprinkel of AWS Compute | AWS Floor28
Amazon EC2 deepdive and a sprinkel of AWS Compute | AWS Floor28Amazon EC2 deepdive and a sprinkel of AWS Compute | AWS Floor28
Amazon EC2 deepdive and a sprinkel of AWS Compute | AWS Floor28
 
Powering Next-Gen EC2 Instances: Deep Dive into the Nitro System (CMP303-R1) ...
Powering Next-Gen EC2 Instances: Deep Dive into the Nitro System (CMP303-R1) ...Powering Next-Gen EC2 Instances: Deep Dive into the Nitro System (CMP303-R1) ...
Powering Next-Gen EC2 Instances: Deep Dive into the Nitro System (CMP303-R1) ...
 
Getting Started with ARM-Based EC2 A1 Instances - CMP302 - Anaheim AWS Summit
Getting Started with ARM-Based EC2 A1 Instances - CMP302 - Anaheim AWS SummitGetting Started with ARM-Based EC2 A1 Instances - CMP302 - Anaheim AWS Summit
Getting Started with ARM-Based EC2 A1 Instances - CMP302 - Anaheim AWS Summit
 
SharePoint 2010 Virtualisation - SharePoint Saturday UK
SharePoint 2010 Virtualisation - SharePoint Saturday UKSharePoint 2010 Virtualisation - SharePoint Saturday UK
SharePoint 2010 Virtualisation - SharePoint Saturday UK
 
AWSome Day Geneva Main Track: Infrastructure Part 1.pdf
AWSome Day Geneva Main Track: Infrastructure Part 1.pdfAWSome Day Geneva Main Track: Infrastructure Part 1.pdf
AWSome Day Geneva Main Track: Infrastructure Part 1.pdf
 
2020-ntn-vsphere_performance_principles_bondzio.pdf
2020-ntn-vsphere_performance_principles_bondzio.pdf2020-ntn-vsphere_performance_principles_bondzio.pdf
2020-ntn-vsphere_performance_principles_bondzio.pdf
 
Modernizing Your Microsoft Business Applications - CMP201 - Anaheim AWS Summit
Modernizing Your Microsoft Business Applications - CMP201 - Anaheim AWS SummitModernizing Your Microsoft Business Applications - CMP201 - Anaheim AWS Summit
Modernizing Your Microsoft Business Applications - CMP201 - Anaheim AWS Summit
 
Azure IaaS Feb 23 2016 Let's Dev This Cloud
Azure IaaS Feb 23 2016 Let's Dev This CloudAzure IaaS Feb 23 2016 Let's Dev This Cloud
Azure IaaS Feb 23 2016 Let's Dev This Cloud
 
AWSome Day Online 2020_Module 2: Getting started with the cloud
AWSome Day Online 2020_Module 2: Getting started with the cloudAWSome Day Online 2020_Module 2: Getting started with the cloud
AWSome Day Online 2020_Module 2: Getting started with the cloud
 
All about Azure workshop deck
All about Azure workshop deckAll about Azure workshop deck
All about Azure workshop deck
 
Mythical Mysfits: Monolith to Microservices with Docker and Fargate - MAD305 ...
Mythical Mysfits: Monolith to Microservices with Docker and Fargate - MAD305 ...Mythical Mysfits: Monolith to Microservices with Docker and Fargate - MAD305 ...
Mythical Mysfits: Monolith to Microservices with Docker and Fargate - MAD305 ...
 
Deep Dive into Firecracker Using Lightweight Virtual Machines to Enhance the ...
Deep Dive into Firecracker Using Lightweight Virtual Machines to Enhance the ...Deep Dive into Firecracker Using Lightweight Virtual Machines to Enhance the ...
Deep Dive into Firecracker Using Lightweight Virtual Machines to Enhance the ...
 
Amazon EC2 instances: Customizable cloud computing across workloads - DEM20-S...
Amazon EC2 instances: Customizable cloud computing across workloads - DEM20-S...Amazon EC2 instances: Customizable cloud computing across workloads - DEM20-S...
Amazon EC2 instances: Customizable cloud computing across workloads - DEM20-S...
 
Windows Server Core
Windows Server CoreWindows Server Core
Windows Server Core
 

Mehr von Amazon Web Services

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Amazon Web Services
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Amazon Web Services
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateAmazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSAmazon Web Services
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Amazon Web Services
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Amazon Web Services
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...Amazon Web Services
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsAmazon Web Services
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareAmazon Web Services
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSAmazon Web Services
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAmazon Web Services
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareAmazon Web Services
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWSAmazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckAmazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without serversAmazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...Amazon Web Services
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceAmazon Web Services
 

Mehr von Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

Security benefits of the Nitro architecture - SEP401-R - AWS re:Inforce 2019

  • 1. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. Security benefits of the Nitro architecture Mark Ryland Director, Office of the CISO AWS S E P 4 0 1 - R 1
  • 2. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Agenda Traditional virtualization and its limitations The Amazon EC2 Nitro architecture Security benefits of Nitro Questions
  • 3. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Related breakouts and previous talks Tuesday, June 25 SEP402: Encrypting everything with AWS re:Invent 2017 C5 Instances and the Evolution of Amazon EC2 Virtualization re:Invent 2017 Amazon EC2 Bare Metal Instances re:Invent 2018 Powering Next-Gen EC2 Instances: Deep Dive into the Nitro System
  • 4. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 5. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Intel mainboard Amazon EC2 CR1: January 2013 Traditional software-based virtualization Virtual machine monitor is relatively simple Device models and privileged OS are not Amazon Linux (dom0) cr1.8xlarge (domU/guest) Amazon EBS volumes DM Instance storage VPC networking Othersoftware DM DM DM Xen
  • 6. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. <_start>: e9 59 e1 17 00 jmpq ffff82d08037e15e 0f 1f 00 nopl (%rax) <multiboot1_header_start>: 02 b0 ad 1b 03 00 add 0x31bad(%rax),%dh 00 00 add %al,(%rax) fb sti 4f 52 rex.WRXB push %r10 e4 0f in $0xf,%al <multiboot1_header_end>: 0f 1f 40 00 nopl 0x0(%rax) <multiboot2_header_start>: d6 (bad) 50 push %rax 52 push %rdx e8 00 00 00 00 callq ffff82d080200020 88 00 mov %al,(%rax) VMM Virtualization: standard instructions
  • 7. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. <_start>: e9 59 e1 17 00 jmpq ffff82d08037e15e 0f 1f 00 nopl (%rax) <multiboot1_header_start>: 02 b0 ad 1b 03 00 add 0x31bad(%rax),%dh 00 00 add %al,(%rax) fb sti 4f 52 rex.WRXB push %r10 e4 0f in $0xf,%al <multiboot1_header_end>: 0f 1f 40 00 nopl 0x0(%rax) <multiboot2_header_start>: d6 (bad) 50 push %rax 52 push %rdx e8 00 00 00 00 callq ffff82d080200020 88 00 mov %al,(%rax) ERROR Virtualization: privileged instructions
  • 8. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. <_start>: e9 59 e1 17 00 jmpq ffff82d08037e15e 0f 1f 00 nopl (%rax) <multiboot1_header_start>: 02 b0 ad 1b 03 00 add 0x31bad(%rax),%dh 00 00 add %al,(%rax) fb sti 4f 52 rex.WRXB push %r10 e4 0f in $0xf,%al <multiboot1_header_end>: 0f 1f 40 00 nopl 0x0(%rax) <multiboot2_header_start>: d6 (bad) 50 push %rax 52 push %rdx e8 00 00 00 00 callq ffff82d080200020 88 00 mov %al,(%rax) TRAP VMM Trap & emulate: virtual machine monitor
  • 9. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. <_start>: e9 59 e1 17 00 jmpq ffff82d08037e15e 0f 1f 00 nopl (%rax) <multiboot1_header_start>: 02 b0 ad 1b 03 00 add 0x31bad(%rax),%dh 00 00 add %al,(%rax) fb sti 4f 52 rex.WRXB push %r10 e4 0f in $0xf,%al <multiboot1_header_end>: 0f 1f 40 00 nopl 0x0(%rax) <multiboot2_header_start>: d6 (bad) 50 push %rax 52 push %rdx e8 00 00 00 00 callq ffff82d080200020 88 00 mov %al,(%rax) VMM EMULATE Trap & emulate : virtual machine monitor
  • 10. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. <_start>: e9 59 e1 17 00 jmpq ffff82d08037e15e 0f 1f 00 nopl (%rax) <multiboot1_header_start>: 02 b0 ad 1b 03 00 add 0x31bad(%rax),%dh 00 00 add %al,(%rax) fb sti 4f 52 rex.WRXB push %r10 e4 0f in $0xf,%al <multiboot1_header_end>: 0f 1f 40 00 nopl 0x0(%rax) <multiboot2_header_start>: d6 (bad) 50 push %rax 52 push %rdx e8 00 00 00 00 callq ffff82d080200020 88 00 mov %al,(%rax) VMM Continue
  • 11. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. <_start>: e9 59 e1 17 00 jmpq ffff82d08037e15e 0f 1f 00 nopl (%rax) <multiboot1_header_start>: 02 b0 ad 1b 03 00 add 0x31bad(%rax),%dh 00 00 add %al,(%rax) fb sti 4f 52 rex.WRXB push %r10 e4 0f in $0xf,%al <multiboot1_header_end>: 0f 1f 40 00 nopl 0x0(%rax) <multiboot2_header_start>: d6 (bad) 50 push %rax 52 push %rdx e8 00 00 00 00 callq ffff82d080200020 88 00 mov %al,(%rax) EMULATE VMM TRAP Device Model Device Model Device model Trap & emulate: devices and I/O
  • 12. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Beginning the Nitro journey (Re)invent and simplify; can we do better? Data center CPUs are powerful and expensive; it is wasteful to use them as accelerators Device models compete for CPU and system resources; jitter is hard to avoid Dom0 OS is a big, complicated piece of software and a convenient landing zone Apply microservices and building block concepts to simplify development, enhance quality, and speed up innovation? Use specialized hardware for acceleration and increased security?
  • 13. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 14. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Intel mainboard Step by step Multi-year process to decompose the system Device model by device model Learnings along the way Amazon EBS volumes DM Instance storage VPC networking DM Othersoftware DM DM Amazon Linux (dom0) cr1.8xlarge (domU/guest) Xen
  • 15. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. PCIe bus Amazon RDS m5d.24xlarge Nitro hypervisor (KVM-based) Amazon EBS volumes Instance storage Intel mainboard Nitro architecture ENA Private network Nitro controller & other Nitro computers
  • 16. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. PCIe bus Amazon RDS Nitro hypervisor (KVM-based) Instance storage Intel mainboard Nitro architecture ENA Private network m5d.4xlarge m5d.4xlarge m5d.4xlarge m5d.4xlarge m5d.4xlarge m5d.4xlarge Nitro controller & other Nitro computers Amazon EBS volumes
  • 17. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. PCIe bus Amazon RDS M5d.metal instance type Instance storage Intel mainboard Nitro architecture ENA Private network Nitro controller & other Nitro computers Amazon EBS volumes
  • 18. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. PCIe bus Amazon RDS Instance storage Intel mainboard Nitro architecture ENA Private network Nitro controller & other Nitro computers Amazon EBS volumes
  • 19. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. PCIe bus Amazon RDS Instance storage Intel mainboard Amazon EBS attach volume API User calls Amazon EC2 API endpoint Internal microservices send command to control plane Control plane sends command to Nitro controller Nitro controller sends command to EBS controller EBS controller sends hot-plug event for PCIe device NVMe device (emulated) shows up on the bus ENA Nitro controller & other Nitro computers Amazon EBS volumes
  • 20. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Key aspects of Nitro Software device models replaced by (software-defined) hardware devices on the system bus Amazon EC2 dynamic system changes modeled as hardware events (e.g., NVMe and ENA hot-plug, ACPI power state changes) Extension of microservice architecture into hardware ENA, NVMe protocols are hardened APIs behind which we can innovate Data hiding and service decomposition Apply (relatively) cheap hardware acceleration to a range of issues Software elements are also microservices, all dynamically updatable No virtual machine (VM) downtime required even for major updates
  • 21. © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 22. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Security (CIA) benefits Confidentiality Encryption features Passive communications design Additional benefits Integrity Secure boot process of Nitro controller (and other Nitro computers) Secure boot process of mainboard (“customer workload co-processor”) Availability Systems can be fully updated without VM downtime
  • 23. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Integrity: Nitro system Nitro controller is the root of trust Nitro controller boots from completely private SSD Boot process formally verified by AWS Automated Reasoning Group: https://link.springer.com/chapter/10.1007/978-3-319-96142-2_28 Conducts various integrity checks of Nitro computers Continues on with mainboard boot When necessary, secure software updates for all components using secure channels, signed binaries
  • 24. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. QPI Integrity: M5d boot process Mainboard cannot update firmware But… Hold mainboard in reset during power-up Validate all firmware; if valid, continue Either inject known-good hypervisor Or boot customer OS/hypervisor AMI from pseudo-NVMe (EBS) volume Intel mainboard Nitro computers & private network Nitro controller
  • 25. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Encryption—performance Hardware acceleration allows for line-rate AES-256 encryption of EBS, instance storage, and network without performance penalty Instance storage: All data EBS: Now enforceable (for all types) at the account level Network: Beginning with N types, all direct inter-N customer traffic Same VPC and across VPC peering, same region All at up to 100 GB/s Cf: Project Lever; VPC x-region peering Caveats
  • 26. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Encryption—key management EBS: Volumes have independent lifetimes (plus snapshots); therefore, key management via AWS KMS Instance storage: Locally generated, used, and deleted (instance lifecycle) VPC: Seed materials regionally generated and managed in AWS KMS Seeds distributed, not actual secrets; rotated frequently (previous, current, next) In all cases, plaintext data keys are cached/ used only on Nitro computers Protected from “customer workload co-processor”
  • 27. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Passive communications design Hypervisor awaits commands from Nitro controller Sent via trusted communications channel Never initiates communications with the controller Not connected to the network at all Nitro controller awaits commands from the external control plane Listens on network substrate awaiting encrypted, authenticated API calls Never initiates outbound connections Outbound communications from either layer are a clear sign of compromise and are treated accordingly
  • 28. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Additional confidentiality benefits No Dom0 in Nitro hypervisor—greater simplicity and safety No SSH or other interactive modes anywhere—no direct human access All access via 100% AuthN/AuthZ APIs with logging/auditing —no APIs for memory access Only the Nitro controller has access to the physical Amazon EC2 network; the mainboard does not End-to-end Nitro system is developed, deployed, and managed by DevSecOps process
  • 29. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. In sum Big benefits from applying microservice concepts to hardware and full- system design Unneeded functionality not present What remains is better-defined and easier to reason about: build/test/validate Stronger single root of trust and greater separation of concerns (and code, and teams) along every dimension Nitro building blocks will continue to be applied in Amazon EC2 and beyond Firecracker, Outposts, etc. Lots of security value already, and there’s more that we can do!
  • 30. Thank you! © 2019,Amazon Web Services, Inc. or its affiliates. All rights reserved. Mark Ryland markry@amazon.com