SlideShare une entreprise Scribd logo
1  sur  26
Télécharger pour lire hors ligne
21st International Symposium on Stabilization, Safety, and
Security of Distributed Systems 2019
Pisa, Italy
iperfTZ: Understanding Network Bottlenecks for
TrustZone-based Applications
Christian Göttel, Pascal Felber, Valerio Schiavoni
University of Neuchâtel, Computer Science Department, Complex Systems
SSS’19 23.10.2019 | IIUN | Christian Göttel | christian.goettel@unine.ch
iperfTZ: Understanding Network Bottlenecks for TrustZone-based Applications 1 / 21
Introduction
What are Trusted Execution Environments?
Execution Environment (EE):
Sets of hardware and software components that can run
applications. Some examples are:
HypervisorOS
OS
OS
VM
OS OS
VM
CPU CPU CPU CPU
Trusted Execution Environment (TEE):
Any EE that satisfies sets of security requirements
?
Rack
!
Home
Lack of trust in cloud provider
Shield services from compromised
hosts
Regain control over code and data
SSS’19 23.10.2019 | IIUN | Christian Göttel | christian.goettel@unine.ch
iperfTZ: Understanding Network Bottlenecks for TrustZone-based Applications 2 / 21
Introduction
TEE Hardware and Specifications
MultiZone™
2003 201920112007 201520092005 2013 2017
ARM®
OMTP/WAC ATE: TR1
GSMA ATE: TR1
SME/SEVAMD
PSP Secure ProcessorAMD
SGXIntel®
GlobalPlatform Specifications / Technical Documents
Hex Five Security
OmniShield™Imagination
zACI/SSCIBM®
TrustZone®
HardwareSpecifications
HardwareSpecifications
AMD is a trademark of Advanced Micro Devices.
SSS’19 23.10.2019 | IIUN | Christian Göttel | christian.goettel@unine.ch
iperfTZ: Understanding Network Bottlenecks for TrustZone-based Applications 3 / 21
Introduction
TEE Software
2003 201920112007 201520092005 2013 2017
Trusted FoundationsTrusted Logic/Gemalto
Trustonic
G&D MobiCore
<t-base
ZirconGoogle
Kinibi™/Kinibi-M™
(<t-base derivative?)AMD
NVIDIA®
TLK
Android™ Trusty
Qualcomm®
QSEE
STM/Linaro™ OP-TEE
TrustKernel TSEE
ICRI-SC Open-TEE
Solacia/Hansol Secure securiTEE
Sierraware SierraTEE
Nagoya University TOPPERS-SafeG
Samsung®
Knox
Sequitur Labs CoreTEE™
LKTravis Geiselbrecht
Open Trust GroupGzOS
ARM® Trusted Firmware
AMDisatrademarkofAdvancedMicroDevices.
GemaltoisatrademarkofGemalto.
GoogleisaregisteredtrademarkofGoogleLLC.
SSS’19 23.10.2019 | IIUN | Christian Göttel | christian.goettel@unine.ch
iperfTZ: Understanding Network Bottlenecks for TrustZone-based Applications 4 / 21
Introduction
Arm TrustZone
EL0
EL1
EL2
EL3
Normal World Secure World
EL0
EL1
EL2
EL3
Secure Monitor
ARM TF Dispatcher
Hypervisor
OS Driver
App
GP Client API
Hypervisor
TOS TOS
GP API
TA
TrustZone Exception Levels
TrustZone is a set of Arm
security extensions
System on a chip (SoC)
manufacturers are free to
implement any TrustZone
subset
Exception Levels layer the
architecture into a privilege
hierarchy
Secure Monitor Call (SMC)
instruction to switch worlds
SSS’19 23.10.2019 | IIUN | Christian Göttel | christian.goettel@unine.ch
iperfTZ: Understanding Network Bottlenecks for TrustZone-based Applications 5 / 21
Introduction
GlobalPlatform
Trusted OSRich OS
TEE
Trusted space
Platform Hardware
User space
REE
Secure Element
Trusted Storage
Peripherals
Comm. Agent
Driver Driver
Comm. Agent
API
Client API
CA
TA
Core API
Socket API
GlobalPlatform System Architecture
Rich Execution Environment (REE)
Trusted Execution Environment (TEE)
GlobalPlatform Specifications:
CA := Client Application
TEE Client API
TEE Internal Core API
Trusted Storage API
Crypto. Operations API
Time API
Arithmetical API
TEE Sockets API
and many more APIs
SSS’19 23.10.2019 | IIUN | Christian Göttel | christian.goettel@unine.ch
iperfTZ: Understanding Network Bottlenecks for TrustZone-based Applications 6 / 21
Introduction
OP-TEE: Open Portable TEE
EL0
EL1
EL2
EL3
Normal World Secure World
EL0
EL1
EL2
EL3
Secure Monitor Dispatcher
xen
other
Driver Driver
OP-TEE
tee-supplicant
libteeclibc
TA
libutee
OP-TEE
OS PTA
CA
Linux is running in the normal world, while OP-TEE is running in the
secure world.
Client application (CA), (pseudo) trusted application (PTA)
SSS’19 23.10.2019 | IIUN | Christian Göttel | christian.goettel@unine.ch
iperfTZ: Understanding Network Bottlenecks for TrustZone-based Applications 7 / 21
Motivating Scenario
ServerClient
CA
TEE REE
server
REE
Observing high throughput from client REE, . . .
SSS’19 23.10.2019 | IIUN | Christian Göttel | christian.goettel@unine.ch
iperfTZ: Understanding Network Bottlenecks for TrustZone-based Applications 8 / 21
Motivating Scenario
ServerClient
CA
TEE REE
server
REE
ServerClient
TA
TEE REE
server
REE
Observing high throughput from client REE, but low throughput from
client TEE
SSS’19 23.10.2019 | IIUN | Christian Göttel | christian.goettel@unine.ch
iperfTZ: Understanding Network Bottlenecks for TrustZone-based Applications 8 / 21
Motivating Scenario
ServerClient
iperfTZ
TEE REE REE
*
iperfTZ
*
Where * can be: iperf3 or netperf or nuttcp or . . .
SSS’19 23.10.2019 | IIUN | Christian Göttel | christian.goettel@unine.ch
iperfTZ: Understanding Network Bottlenecks for TrustZone-based Applications 9 / 21
Implementation
Architecture
ServerClient
User
CA
TA tee-supplicant
TEE REE
server
REE
SSS’19 23.10.2019 | IIUN | Christian Göttel | christian.goettel@unine.ch
iperfTZ: Understanding Network Bottlenecks for TrustZone-based Applications 10 / 21
Implementation
Threat Model
Client
User
CA
TA tee-supp
TEE REE Server
server
REE
SD / USBeMMC
Server
server
REE
Server
server
REENode
Networking
REE / TEE
SSS’19 23.10.2019 | IIUN | Christian Göttel | christian.goettel@unine.ch
iperfTZ: Understanding Network Bottlenecks for TrustZone-based Applications 11 / 21
Implementation
Threat Model
TA
Client
!
CA
tee-supp
TEE REE Server
server
REE
SD / USBeMMC
Server
server
REE
Server
server
REENode
Networking
REE / TEE
SSS’19 23.10.2019 | IIUN | Christian Göttel | christian.goettel@unine.ch
iperfTZ: Understanding Network Bottlenecks for TrustZone-based Applications 11 / 21
Implementation
Threat Model
TA
Client
!
CA
tee-supp
TEE REE Server
server
REE
SD / USBeMMC
Server
server
REE
Server
server
REENode
Networking
REE / TEE
SSS’19 23.10.2019 | IIUN | Christian Göttel | christian.goettel@unine.ch
iperfTZ: Understanding Network Bottlenecks for TrustZone-based Applications 11 / 21
Implementation
Threat Model
TA
Client
!
CA
tee-supp
TEE REE Server
server
REE
SD / USBeMMC
Server
server
REE
Server
server
REENode
Networking
REE / TEE
SSS’19 23.10.2019 | IIUN | Christian Göttel | christian.goettel@unine.ch
iperfTZ: Understanding Network Bottlenecks for TrustZone-based Applications 11 / 21
Implementation
Threat Model
TA
Client
!
CA
tee-supp
TEE REE Server
server
REE
SD / USBeMMC
Server
server
REE
Server
server
REENode
Networking
REE / TEE
SSS’19 23.10.2019 | IIUN | Christian Göttel | christian.goettel@unine.ch
iperfTZ: Understanding Network Bottlenecks for TrustZone-based Applications 11 / 21
Evaluation
Setup
Comparison of evaluation platforms.
Device QEMU Raspberry
CPU Model Intel Xeon E3-1270 v6 Broadcom BCM2837
CPU Frequency 3.8 GHz 1.2 GHz
Memory Size 63 GiB DDR4 944 MiB LPDDR2
Memory data rate 2400 MT/s 800 MT/s
Network Bandwidth 1 Gbit/s 100 Mbit/s
TZMA  
TZPC  
TZASC  
TrustZone
GIC   (4B )
SSS’19 23.10.2019 | IIUN | Christian Göttel | christian.goettel@unine.ch
iperfTZ: Understanding Network Bottlenecks for TrustZone-based Applications 12 / 21
Evaluation
Shared Memory Benchmark
TEE Context
Whole
Partially
Temporarily
Shared Memory
Memory Object
Evaluate the three different
types of shared memory
Static hash table
implementation of kazlib
Run operations on 1 KiB
chunks:
DEL: delete
GET: retrieve
PUT: insert
MIX20: 20% PUT
MIX50: 50% PUT
SSS’19 23.10.2019 | IIUN | Christian Göttel | christian.goettel@unine.ch
iperfTZ: Understanding Network Bottlenecks for TrustZone-based Applications 13 / 21
Evaluation
Shared Memory Results
0 2 4 6
0
5
10
15
20
Latency[s]
■■■■■■■■■■ ■ ■■
■
■
■
■■■■■■■■■■ ■ ■■
■
■
■
▲▲▲▲▲▲▲▲▲▲ ▲ ▲▲
▲
▲
▲
▲▲▲▲▲▲▲▲▲▲ ▲ ▲
▲
▲
▲
▲
◀◀◀◀◀◀◀◀◀ ◀ ◀ ◀◀
◀
◀
◀
◀◀◀◀◀◀◀◀◀ ◀ ◀ ◀ ◀ ◀
◀
◀
▼▼▼▼▼▼▼▼▼▼ ▼ ▼ ▼ ▼
▼
▼
▼▼▼▼▼▼▼▼▼▼ ▼ ▼ ▼▼
▼
▼
▶▶▶▶▶▶▶▶▶ ▶ ▶ ▶ ▶ ▶
▶
▶
▶▶▶▶▶▶▶▶▶ ▶ ▶ ▶ ▶ ▶
▶
▶
QEMU DEL■
QEMU GET■
QEMU PUT▲
QEMU MIX20▲
QEMU MIX50◀
RPi3 DEL◀
RPi3 GET▼
RPi3 PUT▼
RPi3 MIX20▶
RPi3 MIX50▶
Partially SHM
0 2 4 6
0
5
10
15
20
Throughput [kop/s]
Latency[s]
■■■■■■■■■■ ■ ■
■
■
■
■
■■■■■■■■■■ ■ ■
■
■
■
■
▲▲▲▲▲▲▲▲▲▲ ▲▲
▲
▲
▲
▲
▲▲▲▲▲▲▲▲▲▲ ▲ ▲▲
▲
▲
▲
◀◀◀◀◀◀◀◀◀ ◀ ◀ ◀◀
◀
◀
◀
◀◀◀◀◀◀◀◀◀ ◀ ◀ ◀ ◀ ◀
◀
◀
▼▼▼▼▼▼▼▼▼▼ ▼ ▼ ▼▼
▼
▼
▼▼▼▼▼▼▼▼▼▼ ▼ ▼ ▼▼
▼
▼
▶▶▶▶▶▶▶▶▶ ▶ ▶ ▶ ▶▶
▶
▶
▶▶▶▶▶▶▶▶▶ ▶ ▶ ▶ ▶▶
▶
▶
Whole SHM
0 2 4 6
0
5
10
15
20
25
■■■■■■■■■■ ■ ■■
■
■
■
■■■■■■■■■■ ■■■
■
■
■
▲▲▲▲▲▲▲▲▲▲ ▲▲▲
▲
▲
▲
▲▲▲▲▲▲▲▲▲▲ ▲▲▲
▲
▲
▲
◀◀◀◀◀◀◀◀◀ ◀ ◀ ◀◀
◀
◀
◀
◀◀◀◀◀◀◀◀◀ ◀ ◀ ◀ ◀ ◀◀
◀
▼▼▼▼▼▼▼▼▼▼ ▼ ▼ ▼▼
▼
▼
▼▼▼▼▼▼▼▼▼▼ ▼ ▼ ▼▼
▼
▼
▶▶▶▶▶▶▶▶▶ ▶ ▶ ▶ ▶▶
▶
▶
▶▶▶▶▶▶▶▶▶ ▶ ▶ ▶ ▶▶
▶
▶
Temporarily SHM
0 20 40 60 80
0
5
10
15
20
25
Throughput [kop/s]
■■■■■■■■■■■■■ ■ ■■ ■
■
■
■
■■■■■■■■■■■■■ ■ ■■■
■
■
■
▲▲▲▲▲▲▲▲▲▲▲▲▲▲ ▲▲▲
▲
▲
▲
▲▲▲▲▲▲▲▲▲▲▲▲▲▲ ▲▲▲
▲
▲
▲
◀◀◀◀◀◀◀◀◀◀◀◀◀ ◀ ◀◀◀
◀
◀
◀
◀◀◀◀◀◀◀◀◀◀◀◀◀ ◀ ◀ ◀ ◀ ◀◀
◀
▼▼▼▼▼▼▼▼▼▼▼▼▼▼ ▼ ▼ ▼ ▼
▼
▼
▼▼▼▼▼▼▼▼▼▼▼▼▼▼ ▼ ▼ ▼▼
▼
▼
▶▶▶▶▶▶▶▶▶▶▶▶▶ ▶ ▶ ▶ ▶ ▶
▶
▶
▶▶▶▶▶▶▶▶▶▶▶▶▶ ▶ ▶ ▶ ▶ ▶
▶
▶
Inside REE
12 to 14 × overhead on QEMU and 12 to 17 × on Raspberry Pi
SSS’19 23.10.2019 | IIUN | Christian Göttel | christian.goettel@unine.ch
iperfTZ: Understanding Network Bottlenecks for TrustZone-based Applications 14 / 21
Performance Evaluation
Shared Memory Results
0 2 4 6
0
5
10
15
20
Latency[s]
■■■■■■■■■■ ■ ■■
■
■
■
■■■■■■■■■■ ■ ■■
■
■
■
▲▲▲▲▲▲▲▲▲▲ ▲ ▲▲
▲
▲
▲
▲▲▲▲▲▲▲▲▲▲ ▲ ▲
▲
▲
▲
▲
◀◀◀◀◀◀◀◀◀ ◀ ◀ ◀◀
◀
◀
◀
◀◀◀◀◀◀◀◀◀ ◀ ◀ ◀ ◀ ◀
◀
◀
▼▼▼▼▼▼▼▼▼▼ ▼ ▼ ▼ ▼
▼
▼
▼▼▼▼▼▼▼▼▼▼ ▼ ▼ ▼▼
▼
▼
▶▶▶▶▶▶▶▶▶ ▶ ▶ ▶ ▶ ▶
▶
▶
▶▶▶▶▶▶▶▶▶ ▶ ▶ ▶ ▶ ▶
▶
▶
QEMU DEL■
QEMU GET■
QEMU PUT▲
QEMU MIX20▲
QEMU MIX50◀
RPi3 DEL◀
RPi3 GET▼
RPi3 PUT▼
RPi3 MIX20▶
RPi3 MIX50▶
Partially SHM
0 2 4 6
0
5
10
15
20
Throughput [kop/s]
Latency[s]
■■■■■■■■■■ ■ ■
■
■
■
■
■■■■■■■■■■ ■ ■
■
■
■
■
▲▲▲▲▲▲▲▲▲▲ ▲▲
▲
▲
▲
▲
▲▲▲▲▲▲▲▲▲▲ ▲ ▲▲
▲
▲
▲
◀◀◀◀◀◀◀◀◀ ◀ ◀ ◀◀
◀
◀
◀
◀◀◀◀◀◀◀◀◀ ◀ ◀ ◀ ◀ ◀
◀
◀
▼▼▼▼▼▼▼▼▼▼ ▼ ▼ ▼▼
▼
▼
▼▼▼▼▼▼▼▼▼▼ ▼ ▼ ▼▼
▼
▼
▶▶▶▶▶▶▶▶▶ ▶ ▶ ▶ ▶▶
▶
▶
▶▶▶▶▶▶▶▶▶ ▶ ▶ ▶ ▶▶
▶
▶
Whole SHM
0 2 4 6
0
5
10
15
20
25
■■■■■■■■■■ ■ ■■
■
■
■
■■■■■■■■■■ ■■■
■
■
■
▲▲▲▲▲▲▲▲▲▲ ▲▲▲
▲
▲
▲
▲▲▲▲▲▲▲▲▲▲ ▲▲▲
▲
▲
▲
◀◀◀◀◀◀◀◀◀ ◀ ◀ ◀◀
◀
◀
◀
◀◀◀◀◀◀◀◀◀ ◀ ◀ ◀ ◀ ◀◀
◀
▼▼▼▼▼▼▼▼▼▼ ▼ ▼ ▼▼
▼
▼
▼▼▼▼▼▼▼▼▼▼ ▼ ▼ ▼▼
▼
▼
▶▶▶▶▶▶▶▶▶ ▶ ▶ ▶ ▶▶
▶
▶
▶▶▶▶▶▶▶▶▶ ▶ ▶ ▶ ▶▶
▶
▶
Temporarily SHM
0 20 40 60 80
0
5
10
15
20
25
Throughput [kop/s]
■■■■■■■■■■■■■ ■ ■■ ■
■
■
■
■■■■■■■■■■■■■ ■ ■■■
■
■
■
▲▲▲▲▲▲▲▲▲▲▲▲▲▲ ▲▲▲
▲
▲
▲
▲▲▲▲▲▲▲▲▲▲▲▲▲▲ ▲▲▲
▲
▲
▲
◀◀◀◀◀◀◀◀◀◀◀◀◀ ◀ ◀◀◀
◀
◀
◀
◀◀◀◀◀◀◀◀◀◀◀◀◀ ◀ ◀ ◀ ◀ ◀◀
◀
▼▼▼▼▼▼▼▼▼▼▼▼▼▼ ▼ ▼ ▼ ▼
▼
▼
▼▼▼▼▼▼▼▼▼▼▼▼▼▼ ▼ ▼ ▼▼
▼
▼
▶▶▶▶▶▶▶▶▶▶▶▶▶ ▶ ▶ ▶ ▶ ▶
▶
▶
▶▶▶▶▶▶▶▶▶▶▶▶▶ ▶ ▶ ▶ ▶ ▶
▶
▶
Inside REE
12 to 14 × overhead on QEMU and 12 to 17 × on Raspberry Pi
SSS’19 23.10.2019 | IIUN | Christian Göttel | christian.goettel@unine.ch
iperfTZ: Understanding Network Bottlenecks for TrustZone-based Applications 15 / 21
Evaluation
Shared Memory Results
0 2 4 6
0
5
10
15
20
Latency[s]
■■■■■■■■■■ ■ ■■
■
■
■
■■■■■■■■■■ ■ ■■
■
■
■
▲▲▲▲▲▲▲▲▲▲ ▲ ▲▲
▲
▲
▲
▲▲▲▲▲▲▲▲▲▲ ▲ ▲
▲
▲
▲
▲
◀◀◀◀◀◀◀◀◀ ◀ ◀ ◀◀
◀
◀
◀
◀◀◀◀◀◀◀◀◀ ◀ ◀ ◀ ◀ ◀
◀
◀
▼▼▼▼▼▼▼▼▼▼ ▼ ▼ ▼ ▼
▼
▼
▼▼▼▼▼▼▼▼▼▼ ▼ ▼ ▼▼
▼
▼
▶▶▶▶▶▶▶▶▶ ▶ ▶ ▶ ▶ ▶
▶
▶
▶▶▶▶▶▶▶▶▶ ▶ ▶ ▶ ▶ ▶
▶
▶
QEMU DEL■
QEMU GET■
QEMU PUT▲
QEMU MIX20▲
QEMU MIX50◀
RPi3 DEL◀
RPi3 GET▼
RPi3 PUT▼
RPi3 MIX20▶
RPi3 MIX50▶
Partially SHM
0 2 4 6
0
5
10
15
20
Throughput [kop/s]
Latency[s]
■■■■■■■■■■ ■ ■
■
■
■
■
■■■■■■■■■■ ■ ■
■
■
■
■
▲▲▲▲▲▲▲▲▲▲ ▲▲
▲
▲
▲
▲
▲▲▲▲▲▲▲▲▲▲ ▲ ▲▲
▲
▲
▲
◀◀◀◀◀◀◀◀◀ ◀ ◀ ◀◀
◀
◀
◀
◀◀◀◀◀◀◀◀◀ ◀ ◀ ◀ ◀ ◀
◀
◀
▼▼▼▼▼▼▼▼▼▼ ▼ ▼ ▼▼
▼
▼
▼▼▼▼▼▼▼▼▼▼ ▼ ▼ ▼▼
▼
▼
▶▶▶▶▶▶▶▶▶ ▶ ▶ ▶ ▶▶
▶
▶
▶▶▶▶▶▶▶▶▶ ▶ ▶ ▶ ▶▶
▶
▶
Whole SHM
0 2 4 6
0
5
10
15
20
25
■■■■■■■■■■ ■ ■■
■
■
■
■■■■■■■■■■ ■■■
■
■
■
▲▲▲▲▲▲▲▲▲▲ ▲▲▲
▲
▲
▲
▲▲▲▲▲▲▲▲▲▲ ▲▲▲
▲
▲
▲
◀◀◀◀◀◀◀◀◀ ◀ ◀ ◀◀
◀
◀
◀
◀◀◀◀◀◀◀◀◀ ◀ ◀ ◀ ◀ ◀◀
◀
▼▼▼▼▼▼▼▼▼▼ ▼ ▼ ▼▼
▼
▼
▼▼▼▼▼▼▼▼▼▼ ▼ ▼ ▼▼
▼
▼
▶▶▶▶▶▶▶▶▶ ▶ ▶ ▶ ▶▶
▶
▶
▶▶▶▶▶▶▶▶▶ ▶ ▶ ▶ ▶▶
▶
▶
Temporarily SHM
0 20 40 60 80
0
5
10
15
20
25
Throughput [kop/s]
■■■■■■■■■■■■■ ■ ■■ ■
■
■
■
■■■■■■■■■■■■■ ■ ■■■
■
■
■
▲▲▲▲▲▲▲▲▲▲▲▲▲▲ ▲▲▲
▲
▲
▲
▲▲▲▲▲▲▲▲▲▲▲▲▲▲ ▲▲▲
▲
▲
▲
◀◀◀◀◀◀◀◀◀◀◀◀◀ ◀ ◀◀◀
◀
◀
◀
◀◀◀◀◀◀◀◀◀◀◀◀◀ ◀ ◀ ◀ ◀ ◀◀
◀
▼▼▼▼▼▼▼▼▼▼▼▼▼▼ ▼ ▼ ▼ ▼
▼
▼
▼▼▼▼▼▼▼▼▼▼▼▼▼▼ ▼ ▼ ▼▼
▼
▼
▶▶▶▶▶▶▶▶▶▶▶▶▶ ▶ ▶ ▶ ▶ ▶
▶
▶
▶▶▶▶▶▶▶▶▶▶▶▶▶ ▶ ▶ ▶ ▶ ▶
▶
▶
Inside REE
12 to 14 × overhead on QEMU and 12 to 17 × on Raspberry Pi
SSS’19 23.10.2019 | IIUN | Christian Göttel | christian.goettel@unine.ch
iperfTZ: Understanding Network Bottlenecks for TrustZone-based Applications 16 / 21
Evaluation
OP-TEE Interface Sockets
EL0
EL1
EL2
EL3
Normal World Secure World
1
2
3
45
6
7
8
9
EL0
EL1
EL2
EL3
Shared memory
Socket
tee-supplicant
libc
Driver
OP-TEEnet
Driver
Secure Monitor
PTA
OP-TEE
OS
TA
libutee
OP-TEE Interface Socket
– Use Socket API
— System call
˜ Delegate request
™ SMC
š Map data and switch
› regular ioctl call
œ System call
 Network driver
ž Send/receive data
SSS’19 23.10.2019 | IIUN | Christian Göttel | christian.goettel@unine.ch
iperfTZ: Understanding Network Bottlenecks for TrustZone-based Applications 17 / 21
Evaluation
OP-TEE Interface Socket Results
0 200 400 600
0
20
40
60
80
100
120
Throughput [Mbit/s]
Latency[s]
■■■■■■ ■ ■ ■ ■ ■
■
■
■
▲▲▲▲▲▲▲ ▲ ▲ ▲
▲
▲
iperf3■ iperfTZ▲
0
1000
2000
3000
Energy[J]
1 2 4 8 16 32 64 128 256 512 1024 2048
Bit rate [Mbit/s]
iperf3
iperfTZ
QEMU
0 20 40 60 80 100
0
10
20
30
40
50
Throughput [Mbit/s]
Latency[s]
■■■■ ■ ■ ■
■
■
■
▲▲▲▲ ▲ ▲ ▲ ▲
▲
▲iperf3■ iperfTZ▲
0
20
40
60
80
100
120
Energy[J]
1 2 4 8 16 32 64 128 256 512
Bit rate [Mbit/s]
iperf3
iperfTZ
Raspberry Pi
QEMU 33 % energy overhead, Raspberry Pi 11 % energy overhead.
SSS’19 23.10.2019 | IIUN | Christian Göttel | christian.goettel@unine.ch
iperfTZ: Understanding Network Bottlenecks for TrustZone-based Applications 18 / 21
Evaluation
Improvements
EL0
EL1
EL2
EL3
Normal World Secure World
1
2
3
456
7
EL0
EL1
EL2
EL3
tee-supplicant
libc
Driver
OP-TEEnet
Driver
Secure Monitor
PTA
OP-TEE
OS
TA
libutee
Forward network requests directly
to the network driver
3
EL0
EL1
EL2
EL3
Normal World Secure World
1
2
4
EL0
EL1
EL2
EL3
tee-supplicant
libc
Driver
OP-TEEnet
Driver
Secure Monitor
OP-TEE
OS
TA
libutee
net
Driver
Use a network driver in the
trusted OS
SSS’19 23.10.2019 | IIUN | Christian Göttel | christian.goettel@unine.ch
iperfTZ: Understanding Network Bottlenecks for TrustZone-based Applications 19 / 21
Conclusion  Future Work
Conclusion:
Performance and energy evaluation of TEEs
Shared memory, interface sockets
Implemented a network performance tool for trusted
applications in Arm TrustZone
Highlight bottlenecks in current OP-TEE design
Future:
Explore additional TrustZone features with different SoCs
Detailed breakdown of energy consumption
Comparison with Intel SGX and AMD SEV
SSS’19 23.10.2019 | IIUN | Christian Göttel | christian.goettel@unine.ch
iperfTZ: Understanding Network Bottlenecks for TrustZone-based Applications 20 / 21
Thank you
Thank you for your attention!
Code is available under https://github.com/ChrisG55/iperfTZ
The research leading to these results has
received funding from the European Union’s
Horizon 2020 research and innovation
programme under the LEGaTO Project
(legato-project.eu), grant agreement No 780681.
SSS’19 23.10.2019 | IIUN | Christian Göttel | christian.goettel@unine.ch
iperfTZ: Understanding Network Bottlenecks for TrustZone-based Applications 21 / 21

Contenu connexe

Similaire à iperfTZ: Understanding Network Bottlenecks for TrustZone-based Applications

Approaching hyperconvergedopenstack
Approaching hyperconvergedopenstackApproaching hyperconvergedopenstack
Approaching hyperconvergedopenstackIkuo Kumagai
 
Improving Software quality for the Modern Web
Improving Software quality for the Modern WebImproving Software quality for the Modern Web
Improving Software quality for the Modern WebEuan Garden
 
Next Generation Campus Switching: Are You Ready
Next Generation Campus Switching: Are You ReadyNext Generation Campus Switching: Are You Ready
Next Generation Campus Switching: Are You ReadyCisco Canada
 
APT ATT&CK - Threat-based Purple Teaming with ATT&CK - x33fcon 2019
APT ATT&CK - Threat-based Purple Teaming with ATT&CK - x33fcon 2019APT ATT&CK - Threat-based Purple Teaming with ATT&CK - x33fcon 2019
APT ATT&CK - Threat-based Purple Teaming with ATT&CK - x33fcon 2019Daniel Weiss
 
Linux Native, HTTP Aware Network Security
Linux Native, HTTP Aware Network SecurityLinux Native, HTTP Aware Network Security
Linux Native, HTTP Aware Network SecurityThomas Graf
 
EclipseCon2008: The Dod, Open Source, and OSGi as Server Infrastructure
EclipseCon2008: The Dod, Open Source, and OSGi as Server InfrastructureEclipseCon2008: The Dod, Open Source, and OSGi as Server Infrastructure
EclipseCon2008: The Dod, Open Source, and OSGi as Server InfrastructureKit Plummer
 
26.1.7 lab snort and firewall rules
26.1.7 lab   snort and firewall rules26.1.7 lab   snort and firewall rules
26.1.7 lab snort and firewall rulesFreddy Buenaño
 
[CLASS2014] Palestra Técnica - Franzvitor Fiorim
[CLASS2014] Palestra Técnica - Franzvitor Fiorim[CLASS2014] Palestra Técnica - Franzvitor Fiorim
[CLASS2014] Palestra Técnica - Franzvitor FiorimTI Safe
 
2014/09/02 Cisco UCS HPC @ ANL
2014/09/02 Cisco UCS HPC @ ANL2014/09/02 Cisco UCS HPC @ ANL
2014/09/02 Cisco UCS HPC @ ANLdgoodell
 
Presentation cloud orchestration
Presentation   cloud orchestrationPresentation   cloud orchestration
Presentation cloud orchestrationxKinAnx
 
Microsoft Word Project, Firewalls
Microsoft Word   Project, FirewallsMicrosoft Word   Project, Firewalls
Microsoft Word Project, Firewallskkkseld
 
104 Common network devices
104 Common network devices104 Common network devices
104 Common network devicesSsendiSamuel
 
Nec exp ether071719
Nec exp ether071719Nec exp ether071719
Nec exp ether071719Yutaka Kawai
 
Edge Device Multi-unicasting for Video Streaming
Edge Device Multi-unicasting for Video StreamingEdge Device Multi-unicasting for Video Streaming
Edge Device Multi-unicasting for Video StreamingTal Lavian Ph.D.
 

Similaire à iperfTZ: Understanding Network Bottlenecks for TrustZone-based Applications (20)

Approaching hyperconvergedopenstack
Approaching hyperconvergedopenstackApproaching hyperconvergedopenstack
Approaching hyperconvergedopenstack
 
Improving Software quality for the Modern Web
Improving Software quality for the Modern WebImproving Software quality for the Modern Web
Improving Software quality for the Modern Web
 
Next Generation Campus Switching: Are You Ready
Next Generation Campus Switching: Are You ReadyNext Generation Campus Switching: Are You Ready
Next Generation Campus Switching: Are You Ready
 
Final project report
Final project reportFinal project report
Final project report
 
APT ATT&CK - Threat-based Purple Teaming with ATT&CK - x33fcon 2019
APT ATT&CK - Threat-based Purple Teaming with ATT&CK - x33fcon 2019APT ATT&CK - Threat-based Purple Teaming with ATT&CK - x33fcon 2019
APT ATT&CK - Threat-based Purple Teaming with ATT&CK - x33fcon 2019
 
Linux Native, HTTP Aware Network Security
Linux Native, HTTP Aware Network SecurityLinux Native, HTTP Aware Network Security
Linux Native, HTTP Aware Network Security
 
OMEGAMON XE for Mainframe Networks v5.3 Long presentation
OMEGAMON XE for Mainframe Networks v5.3 Long presentationOMEGAMON XE for Mainframe Networks v5.3 Long presentation
OMEGAMON XE for Mainframe Networks v5.3 Long presentation
 
EclipseCon2008: The Dod, Open Source, and OSGi as Server Infrastructure
EclipseCon2008: The Dod, Open Source, and OSGi as Server InfrastructureEclipseCon2008: The Dod, Open Source, and OSGi as Server Infrastructure
EclipseCon2008: The Dod, Open Source, and OSGi as Server Infrastructure
 
Itech 1005
Itech 1005Itech 1005
Itech 1005
 
26.1.7 lab snort and firewall rules
26.1.7 lab   snort and firewall rules26.1.7 lab   snort and firewall rules
26.1.7 lab snort and firewall rules
 
[CLASS2014] Palestra Técnica - Franzvitor Fiorim
[CLASS2014] Palestra Técnica - Franzvitor Fiorim[CLASS2014] Palestra Técnica - Franzvitor Fiorim
[CLASS2014] Palestra Técnica - Franzvitor Fiorim
 
ECI OpenFlow 2.0 the Future of SDN
ECI OpenFlow 2.0 the Future of SDN ECI OpenFlow 2.0 the Future of SDN
ECI OpenFlow 2.0 the Future of SDN
 
2014/09/02 Cisco UCS HPC @ ANL
2014/09/02 Cisco UCS HPC @ ANL2014/09/02 Cisco UCS HPC @ ANL
2014/09/02 Cisco UCS HPC @ ANL
 
Presentation cloud orchestration
Presentation   cloud orchestrationPresentation   cloud orchestration
Presentation cloud orchestration
 
Microsoft Word Project, Firewalls
Microsoft Word   Project, FirewallsMicrosoft Word   Project, Firewalls
Microsoft Word Project, Firewalls
 
Industrial IoT bootcamp
Industrial IoT bootcampIndustrial IoT bootcamp
Industrial IoT bootcamp
 
104 Common network devices
104 Common network devices104 Common network devices
104 Common network devices
 
Enabling NFV features in kubernetes
Enabling NFV features in kubernetesEnabling NFV features in kubernetes
Enabling NFV features in kubernetes
 
Nec exp ether071719
Nec exp ether071719Nec exp ether071719
Nec exp ether071719
 
Edge Device Multi-unicasting for Video Streaming
Edge Device Multi-unicasting for Video StreamingEdge Device Multi-unicasting for Video Streaming
Edge Device Multi-unicasting for Video Streaming
 

Plus de LEGATO project

Scrooge Attack: Undervolting ARM Processors for Profit
Scrooge Attack: Undervolting ARM Processors for ProfitScrooge Attack: Undervolting ARM Processors for Profit
Scrooge Attack: Undervolting ARM Processors for ProfitLEGATO project
 
A practical approach for updating an integrity-enforced operating system
A practical approach for updating an integrity-enforced operating systemA practical approach for updating an integrity-enforced operating system
A practical approach for updating an integrity-enforced operating systemLEGATO project
 
TEEMon: A continuous performance monitoring framework for TEEs
TEEMon: A continuous performance monitoring framework for TEEsTEEMon: A continuous performance monitoring framework for TEEs
TEEMon: A continuous performance monitoring framework for TEEsLEGATO project
 
secureTF: A Secure TensorFlow Framework
secureTF: A Secure TensorFlow FrameworksecureTF: A Secure TensorFlow Framework
secureTF: A Secure TensorFlow FrameworkLEGATO project
 
PipeTune: Pipeline Parallelism of Hyper and System Parameters Tuning for Deep...
PipeTune: Pipeline Parallelism of Hyper and System Parameters Tuning for Deep...PipeTune: Pipeline Parallelism of Hyper and System Parameters Tuning for Deep...
PipeTune: Pipeline Parallelism of Hyper and System Parameters Tuning for Deep...LEGATO project
 
LEGaTO: Machine Learning Use Case
LEGaTO: Machine Learning Use CaseLEGaTO: Machine Learning Use Case
LEGaTO: Machine Learning Use CaseLEGATO project
 
Smart Home AI at the edge
Smart Home AI at the edgeSmart Home AI at the edge
Smart Home AI at the edgeLEGATO project
 
LEGaTO: Low-Energy Heterogeneous Computing Use of AI in the project
LEGaTO: Low-Energy Heterogeneous Computing Use of AI in the projectLEGaTO: Low-Energy Heterogeneous Computing Use of AI in the project
LEGaTO: Low-Energy Heterogeneous Computing Use of AI in the projectLEGATO project
 
LEGaTO: Software Stack Programming Models
LEGaTO: Software Stack Programming ModelsLEGaTO: Software Stack Programming Models
LEGaTO: Software Stack Programming ModelsLEGATO project
 
LEGaTO: Software Stack Runtimes
LEGaTO: Software Stack RuntimesLEGaTO: Software Stack Runtimes
LEGaTO: Software Stack RuntimesLEGATO project
 
LEGaTO Heterogeneous Hardware
LEGaTO Heterogeneous HardwareLEGaTO Heterogeneous Hardware
LEGaTO Heterogeneous HardwareLEGATO project
 
LEGaTO: Low-Energy Heterogeneous Computing Workshop
LEGaTO: Low-Energy Heterogeneous Computing WorkshopLEGaTO: Low-Energy Heterogeneous Computing Workshop
LEGaTO: Low-Energy Heterogeneous Computing WorkshopLEGATO project
 
TZ4Fabric: Executing Smart Contracts with ARM TrustZone
TZ4Fabric: Executing Smart Contracts with ARM TrustZoneTZ4Fabric: Executing Smart Contracts with ARM TrustZone
TZ4Fabric: Executing Smart Contracts with ARM TrustZoneLEGATO project
 
Infection Research with Maxeler Dataflow Computing
Infection Research with Maxeler Dataflow ComputingInfection Research with Maxeler Dataflow Computing
Infection Research with Maxeler Dataflow ComputingLEGATO project
 
Smart Home - AI at the edge
Smart Home - AI at the edgeSmart Home - AI at the edge
Smart Home - AI at the edgeLEGATO project
 
FPGA Undervolting and Checkpointing for Energy-Efficiency and Error-Resiliency
FPGA Undervolting and Checkpointing for Energy-Efficiency and Error-ResiliencyFPGA Undervolting and Checkpointing for Energy-Efficiency and Error-Resiliency
FPGA Undervolting and Checkpointing for Energy-Efficiency and Error-ResiliencyLEGATO project
 
Device Data Directory and Asynchronous execution: A path to heterogeneous com...
Device Data Directory and Asynchronous execution: A path to heterogeneous com...Device Data Directory and Asynchronous execution: A path to heterogeneous com...
Device Data Directory and Asynchronous execution: A path to heterogeneous com...LEGATO project
 
Scheduling Task-parallel Applications in Dynamically Asymmetric Environments
Scheduling Task-parallel Applications in Dynamically Asymmetric EnvironmentsScheduling Task-parallel Applications in Dynamically Asymmetric Environments
Scheduling Task-parallel Applications in Dynamically Asymmetric EnvironmentsLEGATO project
 

Plus de LEGATO project (20)

Scrooge Attack: Undervolting ARM Processors for Profit
Scrooge Attack: Undervolting ARM Processors for ProfitScrooge Attack: Undervolting ARM Processors for Profit
Scrooge Attack: Undervolting ARM Processors for Profit
 
A practical approach for updating an integrity-enforced operating system
A practical approach for updating an integrity-enforced operating systemA practical approach for updating an integrity-enforced operating system
A practical approach for updating an integrity-enforced operating system
 
TEEMon: A continuous performance monitoring framework for TEEs
TEEMon: A continuous performance monitoring framework for TEEsTEEMon: A continuous performance monitoring framework for TEEs
TEEMon: A continuous performance monitoring framework for TEEs
 
secureTF: A Secure TensorFlow Framework
secureTF: A Secure TensorFlow FrameworksecureTF: A Secure TensorFlow Framework
secureTF: A Secure TensorFlow Framework
 
PipeTune: Pipeline Parallelism of Hyper and System Parameters Tuning for Deep...
PipeTune: Pipeline Parallelism of Hyper and System Parameters Tuning for Deep...PipeTune: Pipeline Parallelism of Hyper and System Parameters Tuning for Deep...
PipeTune: Pipeline Parallelism of Hyper and System Parameters Tuning for Deep...
 
LEGaTO: Machine Learning Use Case
LEGaTO: Machine Learning Use CaseLEGaTO: Machine Learning Use Case
LEGaTO: Machine Learning Use Case
 
Smart Home AI at the edge
Smart Home AI at the edgeSmart Home AI at the edge
Smart Home AI at the edge
 
LEGaTO: Low-Energy Heterogeneous Computing Use of AI in the project
LEGaTO: Low-Energy Heterogeneous Computing Use of AI in the projectLEGaTO: Low-Energy Heterogeneous Computing Use of AI in the project
LEGaTO: Low-Energy Heterogeneous Computing Use of AI in the project
 
LEGaTO Integration
LEGaTO IntegrationLEGaTO Integration
LEGaTO Integration
 
LEGaTO: Use cases
LEGaTO: Use casesLEGaTO: Use cases
LEGaTO: Use cases
 
LEGaTO: Software Stack Programming Models
LEGaTO: Software Stack Programming ModelsLEGaTO: Software Stack Programming Models
LEGaTO: Software Stack Programming Models
 
LEGaTO: Software Stack Runtimes
LEGaTO: Software Stack RuntimesLEGaTO: Software Stack Runtimes
LEGaTO: Software Stack Runtimes
 
LEGaTO Heterogeneous Hardware
LEGaTO Heterogeneous HardwareLEGaTO Heterogeneous Hardware
LEGaTO Heterogeneous Hardware
 
LEGaTO: Low-Energy Heterogeneous Computing Workshop
LEGaTO: Low-Energy Heterogeneous Computing WorkshopLEGaTO: Low-Energy Heterogeneous Computing Workshop
LEGaTO: Low-Energy Heterogeneous Computing Workshop
 
TZ4Fabric: Executing Smart Contracts with ARM TrustZone
TZ4Fabric: Executing Smart Contracts with ARM TrustZoneTZ4Fabric: Executing Smart Contracts with ARM TrustZone
TZ4Fabric: Executing Smart Contracts with ARM TrustZone
 
Infection Research with Maxeler Dataflow Computing
Infection Research with Maxeler Dataflow ComputingInfection Research with Maxeler Dataflow Computing
Infection Research with Maxeler Dataflow Computing
 
Smart Home - AI at the edge
Smart Home - AI at the edgeSmart Home - AI at the edge
Smart Home - AI at the edge
 
FPGA Undervolting and Checkpointing for Energy-Efficiency and Error-Resiliency
FPGA Undervolting and Checkpointing for Energy-Efficiency and Error-ResiliencyFPGA Undervolting and Checkpointing for Energy-Efficiency and Error-Resiliency
FPGA Undervolting and Checkpointing for Energy-Efficiency and Error-Resiliency
 
Device Data Directory and Asynchronous execution: A path to heterogeneous com...
Device Data Directory and Asynchronous execution: A path to heterogeneous com...Device Data Directory and Asynchronous execution: A path to heterogeneous com...
Device Data Directory and Asynchronous execution: A path to heterogeneous com...
 
Scheduling Task-parallel Applications in Dynamically Asymmetric Environments
Scheduling Task-parallel Applications in Dynamically Asymmetric EnvironmentsScheduling Task-parallel Applications in Dynamically Asymmetric Environments
Scheduling Task-parallel Applications in Dynamically Asymmetric Environments
 

Dernier

6.2 Pests of Sesame_Identification_Binomics_Dr.UPR
6.2 Pests of Sesame_Identification_Binomics_Dr.UPR6.2 Pests of Sesame_Identification_Binomics_Dr.UPR
6.2 Pests of Sesame_Identification_Binomics_Dr.UPRPirithiRaju
 
Abnormal LFTs rate of deco and NAFLD.pptx
Abnormal LFTs rate of deco and NAFLD.pptxAbnormal LFTs rate of deco and NAFLD.pptx
Abnormal LFTs rate of deco and NAFLD.pptxzeus70441
 
Environmental Acoustics- Speech interference level, acoustics calibrator.pptx
Environmental Acoustics- Speech interference level, acoustics calibrator.pptxEnvironmental Acoustics- Speech interference level, acoustics calibrator.pptx
Environmental Acoustics- Speech interference level, acoustics calibrator.pptxpriyankatabhane
 
GENERAL PHYSICS 2 REFRACTION OF LIGHT SENIOR HIGH SCHOOL GENPHYS2.pptx
GENERAL PHYSICS 2 REFRACTION OF LIGHT SENIOR HIGH SCHOOL GENPHYS2.pptxGENERAL PHYSICS 2 REFRACTION OF LIGHT SENIOR HIGH SCHOOL GENPHYS2.pptx
GENERAL PHYSICS 2 REFRACTION OF LIGHT SENIOR HIGH SCHOOL GENPHYS2.pptxRitchAndruAgustin
 
final waves properties grade 7 - third quarter
final waves properties grade 7 - third quarterfinal waves properties grade 7 - third quarter
final waves properties grade 7 - third quarterHanHyoKim
 
Charateristics of the Angara-A5 spacecraft launched from the Vostochny Cosmod...
Charateristics of the Angara-A5 spacecraft launched from the Vostochny Cosmod...Charateristics of the Angara-A5 spacecraft launched from the Vostochny Cosmod...
Charateristics of the Angara-A5 spacecraft launched from the Vostochny Cosmod...Christina Parmionova
 
Introduction of Human Body & Structure of cell.pptx
Introduction of Human Body & Structure of cell.pptxIntroduction of Human Body & Structure of cell.pptx
Introduction of Human Body & Structure of cell.pptxMedical College
 
well logging & petrophysical analysis.pptx
well logging & petrophysical analysis.pptxwell logging & petrophysical analysis.pptx
well logging & petrophysical analysis.pptxzaydmeerab121
 
Oxo-Acids of Halogens and their Salts.pptx
Oxo-Acids of Halogens and their Salts.pptxOxo-Acids of Halogens and their Salts.pptx
Oxo-Acids of Halogens and their Salts.pptxfarhanvvdk
 
6.1 Pests of Groundnut_Binomics_Identification_Dr.UPR
6.1 Pests of Groundnut_Binomics_Identification_Dr.UPR6.1 Pests of Groundnut_Binomics_Identification_Dr.UPR
6.1 Pests of Groundnut_Binomics_Identification_Dr.UPRPirithiRaju
 
Loudspeaker- direct radiating type and horn type.pptx
Loudspeaker- direct radiating type and horn type.pptxLoudspeaker- direct radiating type and horn type.pptx
Loudspeaker- direct radiating type and horn type.pptxpriyankatabhane
 
Science (Communication) and Wikipedia - Potentials and Pitfalls
Science (Communication) and Wikipedia - Potentials and PitfallsScience (Communication) and Wikipedia - Potentials and Pitfalls
Science (Communication) and Wikipedia - Potentials and PitfallsDobusch Leonhard
 
Gas-ExchangeS-in-Plants-and-Animals.pptx
Gas-ExchangeS-in-Plants-and-Animals.pptxGas-ExchangeS-in-Plants-and-Animals.pptx
Gas-ExchangeS-in-Plants-and-Animals.pptxGiovaniTrinidad
 
Environmental acoustics- noise criteria.pptx
Environmental acoustics- noise criteria.pptxEnvironmental acoustics- noise criteria.pptx
Environmental acoustics- noise criteria.pptxpriyankatabhane
 
Replisome-Cohesin Interfacing A Molecular Perspective.pdf
Replisome-Cohesin Interfacing A Molecular Perspective.pdfReplisome-Cohesin Interfacing A Molecular Perspective.pdf
Replisome-Cohesin Interfacing A Molecular Perspective.pdfAtiaGohar1
 
DECOMPOSITION PATHWAYS of TM-alkyl complexes.pdf
DECOMPOSITION PATHWAYS of TM-alkyl complexes.pdfDECOMPOSITION PATHWAYS of TM-alkyl complexes.pdf
DECOMPOSITION PATHWAYS of TM-alkyl complexes.pdfDivyaK787011
 
complex analysis best book for solving questions.pdf
complex analysis best book for solving questions.pdfcomplex analysis best book for solving questions.pdf
complex analysis best book for solving questions.pdfSubhamKumar3239
 
How we decide powerpoint presentation.pptx
How we decide powerpoint presentation.pptxHow we decide powerpoint presentation.pptx
How we decide powerpoint presentation.pptxJosielynTars
 
KDIGO-2023-CKD-Guideline-Public-Review-Draft_5-July-2023.pdf
KDIGO-2023-CKD-Guideline-Public-Review-Draft_5-July-2023.pdfKDIGO-2023-CKD-Guideline-Public-Review-Draft_5-July-2023.pdf
KDIGO-2023-CKD-Guideline-Public-Review-Draft_5-July-2023.pdfGABYFIORELAMALPARTID1
 

Dernier (20)

6.2 Pests of Sesame_Identification_Binomics_Dr.UPR
6.2 Pests of Sesame_Identification_Binomics_Dr.UPR6.2 Pests of Sesame_Identification_Binomics_Dr.UPR
6.2 Pests of Sesame_Identification_Binomics_Dr.UPR
 
Abnormal LFTs rate of deco and NAFLD.pptx
Abnormal LFTs rate of deco and NAFLD.pptxAbnormal LFTs rate of deco and NAFLD.pptx
Abnormal LFTs rate of deco and NAFLD.pptx
 
Environmental Acoustics- Speech interference level, acoustics calibrator.pptx
Environmental Acoustics- Speech interference level, acoustics calibrator.pptxEnvironmental Acoustics- Speech interference level, acoustics calibrator.pptx
Environmental Acoustics- Speech interference level, acoustics calibrator.pptx
 
GENERAL PHYSICS 2 REFRACTION OF LIGHT SENIOR HIGH SCHOOL GENPHYS2.pptx
GENERAL PHYSICS 2 REFRACTION OF LIGHT SENIOR HIGH SCHOOL GENPHYS2.pptxGENERAL PHYSICS 2 REFRACTION OF LIGHT SENIOR HIGH SCHOOL GENPHYS2.pptx
GENERAL PHYSICS 2 REFRACTION OF LIGHT SENIOR HIGH SCHOOL GENPHYS2.pptx
 
final waves properties grade 7 - third quarter
final waves properties grade 7 - third quarterfinal waves properties grade 7 - third quarter
final waves properties grade 7 - third quarter
 
Charateristics of the Angara-A5 spacecraft launched from the Vostochny Cosmod...
Charateristics of the Angara-A5 spacecraft launched from the Vostochny Cosmod...Charateristics of the Angara-A5 spacecraft launched from the Vostochny Cosmod...
Charateristics of the Angara-A5 spacecraft launched from the Vostochny Cosmod...
 
Introduction of Human Body & Structure of cell.pptx
Introduction of Human Body & Structure of cell.pptxIntroduction of Human Body & Structure of cell.pptx
Introduction of Human Body & Structure of cell.pptx
 
well logging & petrophysical analysis.pptx
well logging & petrophysical analysis.pptxwell logging & petrophysical analysis.pptx
well logging & petrophysical analysis.pptx
 
Oxo-Acids of Halogens and their Salts.pptx
Oxo-Acids of Halogens and their Salts.pptxOxo-Acids of Halogens and their Salts.pptx
Oxo-Acids of Halogens and their Salts.pptx
 
6.1 Pests of Groundnut_Binomics_Identification_Dr.UPR
6.1 Pests of Groundnut_Binomics_Identification_Dr.UPR6.1 Pests of Groundnut_Binomics_Identification_Dr.UPR
6.1 Pests of Groundnut_Binomics_Identification_Dr.UPR
 
Interferons.pptx.
Interferons.pptx.Interferons.pptx.
Interferons.pptx.
 
Loudspeaker- direct radiating type and horn type.pptx
Loudspeaker- direct radiating type and horn type.pptxLoudspeaker- direct radiating type and horn type.pptx
Loudspeaker- direct radiating type and horn type.pptx
 
Science (Communication) and Wikipedia - Potentials and Pitfalls
Science (Communication) and Wikipedia - Potentials and PitfallsScience (Communication) and Wikipedia - Potentials and Pitfalls
Science (Communication) and Wikipedia - Potentials and Pitfalls
 
Gas-ExchangeS-in-Plants-and-Animals.pptx
Gas-ExchangeS-in-Plants-and-Animals.pptxGas-ExchangeS-in-Plants-and-Animals.pptx
Gas-ExchangeS-in-Plants-and-Animals.pptx
 
Environmental acoustics- noise criteria.pptx
Environmental acoustics- noise criteria.pptxEnvironmental acoustics- noise criteria.pptx
Environmental acoustics- noise criteria.pptx
 
Replisome-Cohesin Interfacing A Molecular Perspective.pdf
Replisome-Cohesin Interfacing A Molecular Perspective.pdfReplisome-Cohesin Interfacing A Molecular Perspective.pdf
Replisome-Cohesin Interfacing A Molecular Perspective.pdf
 
DECOMPOSITION PATHWAYS of TM-alkyl complexes.pdf
DECOMPOSITION PATHWAYS of TM-alkyl complexes.pdfDECOMPOSITION PATHWAYS of TM-alkyl complexes.pdf
DECOMPOSITION PATHWAYS of TM-alkyl complexes.pdf
 
complex analysis best book for solving questions.pdf
complex analysis best book for solving questions.pdfcomplex analysis best book for solving questions.pdf
complex analysis best book for solving questions.pdf
 
How we decide powerpoint presentation.pptx
How we decide powerpoint presentation.pptxHow we decide powerpoint presentation.pptx
How we decide powerpoint presentation.pptx
 
KDIGO-2023-CKD-Guideline-Public-Review-Draft_5-July-2023.pdf
KDIGO-2023-CKD-Guideline-Public-Review-Draft_5-July-2023.pdfKDIGO-2023-CKD-Guideline-Public-Review-Draft_5-July-2023.pdf
KDIGO-2023-CKD-Guideline-Public-Review-Draft_5-July-2023.pdf
 

iperfTZ: Understanding Network Bottlenecks for TrustZone-based Applications

  • 1. 21st International Symposium on Stabilization, Safety, and Security of Distributed Systems 2019 Pisa, Italy iperfTZ: Understanding Network Bottlenecks for TrustZone-based Applications Christian Göttel, Pascal Felber, Valerio Schiavoni University of Neuchâtel, Computer Science Department, Complex Systems SSS’19 23.10.2019 | IIUN | Christian Göttel | christian.goettel@unine.ch iperfTZ: Understanding Network Bottlenecks for TrustZone-based Applications 1 / 21
  • 2. Introduction What are Trusted Execution Environments? Execution Environment (EE): Sets of hardware and software components that can run applications. Some examples are: HypervisorOS OS OS VM OS OS VM CPU CPU CPU CPU Trusted Execution Environment (TEE): Any EE that satisfies sets of security requirements ? Rack ! Home Lack of trust in cloud provider Shield services from compromised hosts Regain control over code and data SSS’19 23.10.2019 | IIUN | Christian Göttel | christian.goettel@unine.ch iperfTZ: Understanding Network Bottlenecks for TrustZone-based Applications 2 / 21
  • 3. Introduction TEE Hardware and Specifications MultiZone™ 2003 201920112007 201520092005 2013 2017 ARM® OMTP/WAC ATE: TR1 GSMA ATE: TR1 SME/SEVAMD PSP Secure ProcessorAMD SGXIntel® GlobalPlatform Specifications / Technical Documents Hex Five Security OmniShield™Imagination zACI/SSCIBM® TrustZone® HardwareSpecifications HardwareSpecifications AMD is a trademark of Advanced Micro Devices. SSS’19 23.10.2019 | IIUN | Christian Göttel | christian.goettel@unine.ch iperfTZ: Understanding Network Bottlenecks for TrustZone-based Applications 3 / 21
  • 4. Introduction TEE Software 2003 201920112007 201520092005 2013 2017 Trusted FoundationsTrusted Logic/Gemalto Trustonic G&D MobiCore <t-base ZirconGoogle Kinibi™/Kinibi-M™ (<t-base derivative?)AMD NVIDIA® TLK Android™ Trusty Qualcomm® QSEE STM/Linaro™ OP-TEE TrustKernel TSEE ICRI-SC Open-TEE Solacia/Hansol Secure securiTEE Sierraware SierraTEE Nagoya University TOPPERS-SafeG Samsung® Knox Sequitur Labs CoreTEE™ LKTravis Geiselbrecht Open Trust GroupGzOS ARM® Trusted Firmware AMDisatrademarkofAdvancedMicroDevices. GemaltoisatrademarkofGemalto. GoogleisaregisteredtrademarkofGoogleLLC. SSS’19 23.10.2019 | IIUN | Christian Göttel | christian.goettel@unine.ch iperfTZ: Understanding Network Bottlenecks for TrustZone-based Applications 4 / 21
  • 5. Introduction Arm TrustZone EL0 EL1 EL2 EL3 Normal World Secure World EL0 EL1 EL2 EL3 Secure Monitor ARM TF Dispatcher Hypervisor OS Driver App GP Client API Hypervisor TOS TOS GP API TA TrustZone Exception Levels TrustZone is a set of Arm security extensions System on a chip (SoC) manufacturers are free to implement any TrustZone subset Exception Levels layer the architecture into a privilege hierarchy Secure Monitor Call (SMC) instruction to switch worlds SSS’19 23.10.2019 | IIUN | Christian Göttel | christian.goettel@unine.ch iperfTZ: Understanding Network Bottlenecks for TrustZone-based Applications 5 / 21
  • 6. Introduction GlobalPlatform Trusted OSRich OS TEE Trusted space Platform Hardware User space REE Secure Element Trusted Storage Peripherals Comm. Agent Driver Driver Comm. Agent API Client API CA TA Core API Socket API GlobalPlatform System Architecture Rich Execution Environment (REE) Trusted Execution Environment (TEE) GlobalPlatform Specifications: CA := Client Application TEE Client API TEE Internal Core API Trusted Storage API Crypto. Operations API Time API Arithmetical API TEE Sockets API and many more APIs SSS’19 23.10.2019 | IIUN | Christian Göttel | christian.goettel@unine.ch iperfTZ: Understanding Network Bottlenecks for TrustZone-based Applications 6 / 21
  • 7. Introduction OP-TEE: Open Portable TEE EL0 EL1 EL2 EL3 Normal World Secure World EL0 EL1 EL2 EL3 Secure Monitor Dispatcher xen other Driver Driver OP-TEE tee-supplicant libteeclibc TA libutee OP-TEE OS PTA CA Linux is running in the normal world, while OP-TEE is running in the secure world. Client application (CA), (pseudo) trusted application (PTA) SSS’19 23.10.2019 | IIUN | Christian Göttel | christian.goettel@unine.ch iperfTZ: Understanding Network Bottlenecks for TrustZone-based Applications 7 / 21
  • 8. Motivating Scenario ServerClient CA TEE REE server REE Observing high throughput from client REE, . . . SSS’19 23.10.2019 | IIUN | Christian Göttel | christian.goettel@unine.ch iperfTZ: Understanding Network Bottlenecks for TrustZone-based Applications 8 / 21
  • 9. Motivating Scenario ServerClient CA TEE REE server REE ServerClient TA TEE REE server REE Observing high throughput from client REE, but low throughput from client TEE SSS’19 23.10.2019 | IIUN | Christian Göttel | christian.goettel@unine.ch iperfTZ: Understanding Network Bottlenecks for TrustZone-based Applications 8 / 21
  • 10. Motivating Scenario ServerClient iperfTZ TEE REE REE * iperfTZ * Where * can be: iperf3 or netperf or nuttcp or . . . SSS’19 23.10.2019 | IIUN | Christian Göttel | christian.goettel@unine.ch iperfTZ: Understanding Network Bottlenecks for TrustZone-based Applications 9 / 21
  • 11. Implementation Architecture ServerClient User CA TA tee-supplicant TEE REE server REE SSS’19 23.10.2019 | IIUN | Christian Göttel | christian.goettel@unine.ch iperfTZ: Understanding Network Bottlenecks for TrustZone-based Applications 10 / 21
  • 12. Implementation Threat Model Client User CA TA tee-supp TEE REE Server server REE SD / USBeMMC Server server REE Server server REENode Networking REE / TEE SSS’19 23.10.2019 | IIUN | Christian Göttel | christian.goettel@unine.ch iperfTZ: Understanding Network Bottlenecks for TrustZone-based Applications 11 / 21
  • 13. Implementation Threat Model TA Client ! CA tee-supp TEE REE Server server REE SD / USBeMMC Server server REE Server server REENode Networking REE / TEE SSS’19 23.10.2019 | IIUN | Christian Göttel | christian.goettel@unine.ch iperfTZ: Understanding Network Bottlenecks for TrustZone-based Applications 11 / 21
  • 14. Implementation Threat Model TA Client ! CA tee-supp TEE REE Server server REE SD / USBeMMC Server server REE Server server REENode Networking REE / TEE SSS’19 23.10.2019 | IIUN | Christian Göttel | christian.goettel@unine.ch iperfTZ: Understanding Network Bottlenecks for TrustZone-based Applications 11 / 21
  • 15. Implementation Threat Model TA Client ! CA tee-supp TEE REE Server server REE SD / USBeMMC Server server REE Server server REENode Networking REE / TEE SSS’19 23.10.2019 | IIUN | Christian Göttel | christian.goettel@unine.ch iperfTZ: Understanding Network Bottlenecks for TrustZone-based Applications 11 / 21
  • 16. Implementation Threat Model TA Client ! CA tee-supp TEE REE Server server REE SD / USBeMMC Server server REE Server server REENode Networking REE / TEE SSS’19 23.10.2019 | IIUN | Christian Göttel | christian.goettel@unine.ch iperfTZ: Understanding Network Bottlenecks for TrustZone-based Applications 11 / 21
  • 17. Evaluation Setup Comparison of evaluation platforms. Device QEMU Raspberry CPU Model Intel Xeon E3-1270 v6 Broadcom BCM2837 CPU Frequency 3.8 GHz 1.2 GHz Memory Size 63 GiB DDR4 944 MiB LPDDR2 Memory data rate 2400 MT/s 800 MT/s Network Bandwidth 1 Gbit/s 100 Mbit/s TZMA TZPC TZASC TrustZone GIC (4B ) SSS’19 23.10.2019 | IIUN | Christian Göttel | christian.goettel@unine.ch iperfTZ: Understanding Network Bottlenecks for TrustZone-based Applications 12 / 21
  • 18. Evaluation Shared Memory Benchmark TEE Context Whole Partially Temporarily Shared Memory Memory Object Evaluate the three different types of shared memory Static hash table implementation of kazlib Run operations on 1 KiB chunks: DEL: delete GET: retrieve PUT: insert MIX20: 20% PUT MIX50: 50% PUT SSS’19 23.10.2019 | IIUN | Christian Göttel | christian.goettel@unine.ch iperfTZ: Understanding Network Bottlenecks for TrustZone-based Applications 13 / 21
  • 19. Evaluation Shared Memory Results 0 2 4 6 0 5 10 15 20 Latency[s] ■■■■■■■■■■ ■ ■■ ■ ■ ■ ■■■■■■■■■■ ■ ■■ ■ ■ ■ ▲▲▲▲▲▲▲▲▲▲ ▲ ▲▲ ▲ ▲ ▲ ▲▲▲▲▲▲▲▲▲▲ ▲ ▲ ▲ ▲ ▲ ▲ ◀◀◀◀◀◀◀◀◀ ◀ ◀ ◀◀ ◀ ◀ ◀ ◀◀◀◀◀◀◀◀◀ ◀ ◀ ◀ ◀ ◀ ◀ ◀ ▼▼▼▼▼▼▼▼▼▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼▼▼▼▼▼▼▼▼▼ ▼ ▼ ▼▼ ▼ ▼ ▶▶▶▶▶▶▶▶▶ ▶ ▶ ▶ ▶ ▶ ▶ ▶ ▶▶▶▶▶▶▶▶▶ ▶ ▶ ▶ ▶ ▶ ▶ ▶ QEMU DEL■ QEMU GET■ QEMU PUT▲ QEMU MIX20▲ QEMU MIX50◀ RPi3 DEL◀ RPi3 GET▼ RPi3 PUT▼ RPi3 MIX20▶ RPi3 MIX50▶ Partially SHM 0 2 4 6 0 5 10 15 20 Throughput [kop/s] Latency[s] ■■■■■■■■■■ ■ ■ ■ ■ ■ ■ ■■■■■■■■■■ ■ ■ ■ ■ ■ ■ ▲▲▲▲▲▲▲▲▲▲ ▲▲ ▲ ▲ ▲ ▲ ▲▲▲▲▲▲▲▲▲▲ ▲ ▲▲ ▲ ▲ ▲ ◀◀◀◀◀◀◀◀◀ ◀ ◀ ◀◀ ◀ ◀ ◀ ◀◀◀◀◀◀◀◀◀ ◀ ◀ ◀ ◀ ◀ ◀ ◀ ▼▼▼▼▼▼▼▼▼▼ ▼ ▼ ▼▼ ▼ ▼ ▼▼▼▼▼▼▼▼▼▼ ▼ ▼ ▼▼ ▼ ▼ ▶▶▶▶▶▶▶▶▶ ▶ ▶ ▶ ▶▶ ▶ ▶ ▶▶▶▶▶▶▶▶▶ ▶ ▶ ▶ ▶▶ ▶ ▶ Whole SHM 0 2 4 6 0 5 10 15 20 25 ■■■■■■■■■■ ■ ■■ ■ ■ ■ ■■■■■■■■■■ ■■■ ■ ■ ■ ▲▲▲▲▲▲▲▲▲▲ ▲▲▲ ▲ ▲ ▲ ▲▲▲▲▲▲▲▲▲▲ ▲▲▲ ▲ ▲ ▲ ◀◀◀◀◀◀◀◀◀ ◀ ◀ ◀◀ ◀ ◀ ◀ ◀◀◀◀◀◀◀◀◀ ◀ ◀ ◀ ◀ ◀◀ ◀ ▼▼▼▼▼▼▼▼▼▼ ▼ ▼ ▼▼ ▼ ▼ ▼▼▼▼▼▼▼▼▼▼ ▼ ▼ ▼▼ ▼ ▼ ▶▶▶▶▶▶▶▶▶ ▶ ▶ ▶ ▶▶ ▶ ▶ ▶▶▶▶▶▶▶▶▶ ▶ ▶ ▶ ▶▶ ▶ ▶ Temporarily SHM 0 20 40 60 80 0 5 10 15 20 25 Throughput [kop/s] ■■■■■■■■■■■■■ ■ ■■ ■ ■ ■ ■ ■■■■■■■■■■■■■ ■ ■■■ ■ ■ ■ ▲▲▲▲▲▲▲▲▲▲▲▲▲▲ ▲▲▲ ▲ ▲ ▲ ▲▲▲▲▲▲▲▲▲▲▲▲▲▲ ▲▲▲ ▲ ▲ ▲ ◀◀◀◀◀◀◀◀◀◀◀◀◀ ◀ ◀◀◀ ◀ ◀ ◀ ◀◀◀◀◀◀◀◀◀◀◀◀◀ ◀ ◀ ◀ ◀ ◀◀ ◀ ▼▼▼▼▼▼▼▼▼▼▼▼▼▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼▼▼▼▼▼▼▼▼▼▼▼▼▼ ▼ ▼ ▼▼ ▼ ▼ ▶▶▶▶▶▶▶▶▶▶▶▶▶ ▶ ▶ ▶ ▶ ▶ ▶ ▶ ▶▶▶▶▶▶▶▶▶▶▶▶▶ ▶ ▶ ▶ ▶ ▶ ▶ ▶ Inside REE 12 to 14 × overhead on QEMU and 12 to 17 × on Raspberry Pi SSS’19 23.10.2019 | IIUN | Christian Göttel | christian.goettel@unine.ch iperfTZ: Understanding Network Bottlenecks for TrustZone-based Applications 14 / 21
  • 20. Performance Evaluation Shared Memory Results 0 2 4 6 0 5 10 15 20 Latency[s] ■■■■■■■■■■ ■ ■■ ■ ■ ■ ■■■■■■■■■■ ■ ■■ ■ ■ ■ ▲▲▲▲▲▲▲▲▲▲ ▲ ▲▲ ▲ ▲ ▲ ▲▲▲▲▲▲▲▲▲▲ ▲ ▲ ▲ ▲ ▲ ▲ ◀◀◀◀◀◀◀◀◀ ◀ ◀ ◀◀ ◀ ◀ ◀ ◀◀◀◀◀◀◀◀◀ ◀ ◀ ◀ ◀ ◀ ◀ ◀ ▼▼▼▼▼▼▼▼▼▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼▼▼▼▼▼▼▼▼▼ ▼ ▼ ▼▼ ▼ ▼ ▶▶▶▶▶▶▶▶▶ ▶ ▶ ▶ ▶ ▶ ▶ ▶ ▶▶▶▶▶▶▶▶▶ ▶ ▶ ▶ ▶ ▶ ▶ ▶ QEMU DEL■ QEMU GET■ QEMU PUT▲ QEMU MIX20▲ QEMU MIX50◀ RPi3 DEL◀ RPi3 GET▼ RPi3 PUT▼ RPi3 MIX20▶ RPi3 MIX50▶ Partially SHM 0 2 4 6 0 5 10 15 20 Throughput [kop/s] Latency[s] ■■■■■■■■■■ ■ ■ ■ ■ ■ ■ ■■■■■■■■■■ ■ ■ ■ ■ ■ ■ ▲▲▲▲▲▲▲▲▲▲ ▲▲ ▲ ▲ ▲ ▲ ▲▲▲▲▲▲▲▲▲▲ ▲ ▲▲ ▲ ▲ ▲ ◀◀◀◀◀◀◀◀◀ ◀ ◀ ◀◀ ◀ ◀ ◀ ◀◀◀◀◀◀◀◀◀ ◀ ◀ ◀ ◀ ◀ ◀ ◀ ▼▼▼▼▼▼▼▼▼▼ ▼ ▼ ▼▼ ▼ ▼ ▼▼▼▼▼▼▼▼▼▼ ▼ ▼ ▼▼ ▼ ▼ ▶▶▶▶▶▶▶▶▶ ▶ ▶ ▶ ▶▶ ▶ ▶ ▶▶▶▶▶▶▶▶▶ ▶ ▶ ▶ ▶▶ ▶ ▶ Whole SHM 0 2 4 6 0 5 10 15 20 25 ■■■■■■■■■■ ■ ■■ ■ ■ ■ ■■■■■■■■■■ ■■■ ■ ■ ■ ▲▲▲▲▲▲▲▲▲▲ ▲▲▲ ▲ ▲ ▲ ▲▲▲▲▲▲▲▲▲▲ ▲▲▲ ▲ ▲ ▲ ◀◀◀◀◀◀◀◀◀ ◀ ◀ ◀◀ ◀ ◀ ◀ ◀◀◀◀◀◀◀◀◀ ◀ ◀ ◀ ◀ ◀◀ ◀ ▼▼▼▼▼▼▼▼▼▼ ▼ ▼ ▼▼ ▼ ▼ ▼▼▼▼▼▼▼▼▼▼ ▼ ▼ ▼▼ ▼ ▼ ▶▶▶▶▶▶▶▶▶ ▶ ▶ ▶ ▶▶ ▶ ▶ ▶▶▶▶▶▶▶▶▶ ▶ ▶ ▶ ▶▶ ▶ ▶ Temporarily SHM 0 20 40 60 80 0 5 10 15 20 25 Throughput [kop/s] ■■■■■■■■■■■■■ ■ ■■ ■ ■ ■ ■ ■■■■■■■■■■■■■ ■ ■■■ ■ ■ ■ ▲▲▲▲▲▲▲▲▲▲▲▲▲▲ ▲▲▲ ▲ ▲ ▲ ▲▲▲▲▲▲▲▲▲▲▲▲▲▲ ▲▲▲ ▲ ▲ ▲ ◀◀◀◀◀◀◀◀◀◀◀◀◀ ◀ ◀◀◀ ◀ ◀ ◀ ◀◀◀◀◀◀◀◀◀◀◀◀◀ ◀ ◀ ◀ ◀ ◀◀ ◀ ▼▼▼▼▼▼▼▼▼▼▼▼▼▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼▼▼▼▼▼▼▼▼▼▼▼▼▼ ▼ ▼ ▼▼ ▼ ▼ ▶▶▶▶▶▶▶▶▶▶▶▶▶ ▶ ▶ ▶ ▶ ▶ ▶ ▶ ▶▶▶▶▶▶▶▶▶▶▶▶▶ ▶ ▶ ▶ ▶ ▶ ▶ ▶ Inside REE 12 to 14 × overhead on QEMU and 12 to 17 × on Raspberry Pi SSS’19 23.10.2019 | IIUN | Christian Göttel | christian.goettel@unine.ch iperfTZ: Understanding Network Bottlenecks for TrustZone-based Applications 15 / 21
  • 21. Evaluation Shared Memory Results 0 2 4 6 0 5 10 15 20 Latency[s] ■■■■■■■■■■ ■ ■■ ■ ■ ■ ■■■■■■■■■■ ■ ■■ ■ ■ ■ ▲▲▲▲▲▲▲▲▲▲ ▲ ▲▲ ▲ ▲ ▲ ▲▲▲▲▲▲▲▲▲▲ ▲ ▲ ▲ ▲ ▲ ▲ ◀◀◀◀◀◀◀◀◀ ◀ ◀ ◀◀ ◀ ◀ ◀ ◀◀◀◀◀◀◀◀◀ ◀ ◀ ◀ ◀ ◀ ◀ ◀ ▼▼▼▼▼▼▼▼▼▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼▼▼▼▼▼▼▼▼▼ ▼ ▼ ▼▼ ▼ ▼ ▶▶▶▶▶▶▶▶▶ ▶ ▶ ▶ ▶ ▶ ▶ ▶ ▶▶▶▶▶▶▶▶▶ ▶ ▶ ▶ ▶ ▶ ▶ ▶ QEMU DEL■ QEMU GET■ QEMU PUT▲ QEMU MIX20▲ QEMU MIX50◀ RPi3 DEL◀ RPi3 GET▼ RPi3 PUT▼ RPi3 MIX20▶ RPi3 MIX50▶ Partially SHM 0 2 4 6 0 5 10 15 20 Throughput [kop/s] Latency[s] ■■■■■■■■■■ ■ ■ ■ ■ ■ ■ ■■■■■■■■■■ ■ ■ ■ ■ ■ ■ ▲▲▲▲▲▲▲▲▲▲ ▲▲ ▲ ▲ ▲ ▲ ▲▲▲▲▲▲▲▲▲▲ ▲ ▲▲ ▲ ▲ ▲ ◀◀◀◀◀◀◀◀◀ ◀ ◀ ◀◀ ◀ ◀ ◀ ◀◀◀◀◀◀◀◀◀ ◀ ◀ ◀ ◀ ◀ ◀ ◀ ▼▼▼▼▼▼▼▼▼▼ ▼ ▼ ▼▼ ▼ ▼ ▼▼▼▼▼▼▼▼▼▼ ▼ ▼ ▼▼ ▼ ▼ ▶▶▶▶▶▶▶▶▶ ▶ ▶ ▶ ▶▶ ▶ ▶ ▶▶▶▶▶▶▶▶▶ ▶ ▶ ▶ ▶▶ ▶ ▶ Whole SHM 0 2 4 6 0 5 10 15 20 25 ■■■■■■■■■■ ■ ■■ ■ ■ ■ ■■■■■■■■■■ ■■■ ■ ■ ■ ▲▲▲▲▲▲▲▲▲▲ ▲▲▲ ▲ ▲ ▲ ▲▲▲▲▲▲▲▲▲▲ ▲▲▲ ▲ ▲ ▲ ◀◀◀◀◀◀◀◀◀ ◀ ◀ ◀◀ ◀ ◀ ◀ ◀◀◀◀◀◀◀◀◀ ◀ ◀ ◀ ◀ ◀◀ ◀ ▼▼▼▼▼▼▼▼▼▼ ▼ ▼ ▼▼ ▼ ▼ ▼▼▼▼▼▼▼▼▼▼ ▼ ▼ ▼▼ ▼ ▼ ▶▶▶▶▶▶▶▶▶ ▶ ▶ ▶ ▶▶ ▶ ▶ ▶▶▶▶▶▶▶▶▶ ▶ ▶ ▶ ▶▶ ▶ ▶ Temporarily SHM 0 20 40 60 80 0 5 10 15 20 25 Throughput [kop/s] ■■■■■■■■■■■■■ ■ ■■ ■ ■ ■ ■ ■■■■■■■■■■■■■ ■ ■■■ ■ ■ ■ ▲▲▲▲▲▲▲▲▲▲▲▲▲▲ ▲▲▲ ▲ ▲ ▲ ▲▲▲▲▲▲▲▲▲▲▲▲▲▲ ▲▲▲ ▲ ▲ ▲ ◀◀◀◀◀◀◀◀◀◀◀◀◀ ◀ ◀◀◀ ◀ ◀ ◀ ◀◀◀◀◀◀◀◀◀◀◀◀◀ ◀ ◀ ◀ ◀ ◀◀ ◀ ▼▼▼▼▼▼▼▼▼▼▼▼▼▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼▼▼▼▼▼▼▼▼▼▼▼▼▼ ▼ ▼ ▼▼ ▼ ▼ ▶▶▶▶▶▶▶▶▶▶▶▶▶ ▶ ▶ ▶ ▶ ▶ ▶ ▶ ▶▶▶▶▶▶▶▶▶▶▶▶▶ ▶ ▶ ▶ ▶ ▶ ▶ ▶ Inside REE 12 to 14 × overhead on QEMU and 12 to 17 × on Raspberry Pi SSS’19 23.10.2019 | IIUN | Christian Göttel | christian.goettel@unine.ch iperfTZ: Understanding Network Bottlenecks for TrustZone-based Applications 16 / 21
  • 22. Evaluation OP-TEE Interface Sockets EL0 EL1 EL2 EL3 Normal World Secure World 1 2 3 45 6 7 8 9 EL0 EL1 EL2 EL3 Shared memory Socket tee-supplicant libc Driver OP-TEEnet Driver Secure Monitor PTA OP-TEE OS TA libutee OP-TEE Interface Socket – Use Socket API — System call ˜ Delegate request ™ SMC š Map data and switch › regular ioctl call œ System call  Network driver ž Send/receive data SSS’19 23.10.2019 | IIUN | Christian Göttel | christian.goettel@unine.ch iperfTZ: Understanding Network Bottlenecks for TrustZone-based Applications 17 / 21
  • 23. Evaluation OP-TEE Interface Socket Results 0 200 400 600 0 20 40 60 80 100 120 Throughput [Mbit/s] Latency[s] ■■■■■■ ■ ■ ■ ■ ■ ■ ■ ■ ▲▲▲▲▲▲▲ ▲ ▲ ▲ ▲ ▲ iperf3■ iperfTZ▲ 0 1000 2000 3000 Energy[J] 1 2 4 8 16 32 64 128 256 512 1024 2048 Bit rate [Mbit/s] iperf3 iperfTZ QEMU 0 20 40 60 80 100 0 10 20 30 40 50 Throughput [Mbit/s] Latency[s] ■■■■ ■ ■ ■ ■ ■ ■ ▲▲▲▲ ▲ ▲ ▲ ▲ ▲ ▲iperf3■ iperfTZ▲ 0 20 40 60 80 100 120 Energy[J] 1 2 4 8 16 32 64 128 256 512 Bit rate [Mbit/s] iperf3 iperfTZ Raspberry Pi QEMU 33 % energy overhead, Raspberry Pi 11 % energy overhead. SSS’19 23.10.2019 | IIUN | Christian Göttel | christian.goettel@unine.ch iperfTZ: Understanding Network Bottlenecks for TrustZone-based Applications 18 / 21
  • 24. Evaluation Improvements EL0 EL1 EL2 EL3 Normal World Secure World 1 2 3 456 7 EL0 EL1 EL2 EL3 tee-supplicant libc Driver OP-TEEnet Driver Secure Monitor PTA OP-TEE OS TA libutee Forward network requests directly to the network driver 3 EL0 EL1 EL2 EL3 Normal World Secure World 1 2 4 EL0 EL1 EL2 EL3 tee-supplicant libc Driver OP-TEEnet Driver Secure Monitor OP-TEE OS TA libutee net Driver Use a network driver in the trusted OS SSS’19 23.10.2019 | IIUN | Christian Göttel | christian.goettel@unine.ch iperfTZ: Understanding Network Bottlenecks for TrustZone-based Applications 19 / 21
  • 25. Conclusion Future Work Conclusion: Performance and energy evaluation of TEEs Shared memory, interface sockets Implemented a network performance tool for trusted applications in Arm TrustZone Highlight bottlenecks in current OP-TEE design Future: Explore additional TrustZone features with different SoCs Detailed breakdown of energy consumption Comparison with Intel SGX and AMD SEV SSS’19 23.10.2019 | IIUN | Christian Göttel | christian.goettel@unine.ch iperfTZ: Understanding Network Bottlenecks for TrustZone-based Applications 20 / 21
  • 26. Thank you Thank you for your attention! Code is available under https://github.com/ChrisG55/iperfTZ The research leading to these results has received funding from the European Union’s Horizon 2020 research and innovation programme under the LEGaTO Project (legato-project.eu), grant agreement No 780681. SSS’19 23.10.2019 | IIUN | Christian Göttel | christian.goettel@unine.ch iperfTZ: Understanding Network Bottlenecks for TrustZone-based Applications 21 / 21