SlideShare a Scribd company logo
On the Performance of ARM TrustZone
Julien Amacher, Valerio Schiavoni
University of Neuchâtel, Switzerland
19th International Conference on Distributed Applications and Interoperable Systems
DAIS 2019 - DTU, Denmark
20/06/2019
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.
(Practical Experience Report)
On the Performance of ARM TrustZone
Julien Amacher, Valerio Schiavoni
University of Neuchâtel, Switzerland
19th International Conference on Distributed Applications and Interoperable Systems
DAIS 2019 - DTU, Denmark
20/06/2019
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.
(Practical Experience Report)
Expect more plots than usual…at least in the paper
On the Performance of ARM TrustZone
Julien Amacher, Valerio Schiavoni
University of Neuchâtel, Switzerland
19th International Conference on Distributed Applications and Interoperable Systems
DAIS 2019 - DTU, Denmark
20/06/2019
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.
as implemented by Broadcom BCM2837
OnThe Performance of ARMTrustZone -V. Schiavoni - DAIS’19
Motivation
• Powerful processing devices at the edge nowadays pervasive
• Off-loading at the edge, rather than on an untrusted cloud
• Technologies to provide privacy and secure processing at the
edge exist since many years
• In this talk, we look at ARM TrustZone
0
5
10
15
20
1998 2000 2002 2004 2006 2008 2010 2012 2014 2016 2018
ARMv6ZTrustZone
ARMv7TrustZone
ARMv8−ATZ/EL3
ARMv8−Mw/TZ
Unitssold[bn]
Year
4
OnThe Performance of ARMTrustZone -V. Schiavoni - DAIS’19
TrustZone in one slide
• TrustZone is a Trusted Execution Environment (TEE) for ARM processors
• Intel SGX (2015), AMD SEV (2017-ish), RISC-V KeyStone (2018)
• Runtime split in two: untrusted area (the Rich Execution Environment or
REE) and the trusted area, the Trusted Execution Environment
5
❽
Kernel mode
User mode
Rich application Trusted application (TA)
Secure
kernel
tee-supplicant
GlobalPlatform
TEE Client API
OP-TEE
driver
Rich kernel
GlobalPlatform
TEE Internal API
Storage
Shared
memory
Secure Monitor
& TEE core
Internal TEE
utility functions
OP-TEE OS
OP-TEE Client
➊
➋ ➌➍ ➎ ➏
➐
REE (non-secure) TEE (secure)
User mode
Kernel mode
❾
➓
REE TEE
OnThe Performance of ARMTrustZone -V. Schiavoni - DAIS’19
TrustZone in 2 slides…
• TEE and REE share the same core
• TEE has unrestricted access to
memory regions, hardware and devices
• Physical memory dedicated to the REE
• The Translation Lookaside Buffer (TLB) is
TEE-aware, secure and unsecure
descriptors stored side-by-side
• TA (trusted application) in theory is
allowed 3-5 Mb, in practice <= 1Mb
6
OnThe Performance of ARMTrustZone -V. Schiavoni - DAIS’19
TrustZone in 3 slides!
• World-switching
• Move from TEE to REE and back via a special hardware
instruction, SMC (Secure Monitor Call)
• Secure storage leveraging a transparent encryption layer from the TEE
• TAs can store encrypted objects on disk
• Signed against anti-tampering
• Secure (fast) interrupts
• But there is even more: key management, protection against
attacks (stack canaries), covert data channels, …
7
© Disney
OnThe Performance of ARMTrustZone -V. Schiavoni - DAIS’19
Problem
• Difficult (if not impossible) to find public studies (scientific papers,
books, or even blog entries) regarding the performance of TrustZone
• By performance we mean:
• Throughput of operations, loading time of trusted applications, etc.
• But also: energy-related costs
• Without these informations, it’s difficult to predict the expected overhead
that programs encounter when inside a TEE
• Essentially, we were missing a baseline
8
OnThe Performance of ARMTrustZone -V. Schiavoni - DAIS’19
Contributions
1. In-depth study of performance and energy of TrustZone
features
2. Insights on the programmability of trusted applications
3. Extensions of the kernel running inside the TEE to securely
extract measurements, as well as methodology to implement
new syscalls
4. Results on emulation and real hardware, i.e., Raspberry Pi
9
Not in this talkIn this talk In the paper
or in 60min
OnThe Performance of ARMTrustZone -V. Schiavoni - DAIS’19
The OP-TEE runtime
• Native support for TrustZone
• Open-source, sponsored by Linaro
• Supports many devices, including cheap
Raspberry PI 3B
• Attempted support newer RaPI 3B+ failed
• Easy to use, and compliant with existing
standards
• SDK with clearly defined APIs
10
RaPi 3B, <=50 $
OnThe Performance of ARMTrustZone -V. Schiavoni - DAIS’19
Experimental Methodology
• Applications implemented in C/C++
• Initial plan to port stress-ng failed
• Many syscalls not available inside TEE
• What is the one thing that is always needed in benchmarks ?
11
Start/stop
recording
Export CSV
Parse CSV
Markers,
duration
Host computerKM001 official application Raspberry Pi
Benchmark
applicationsBenchmark
applicationsBenchmark
applications
Power supply
Execute
benchmark
JTAG
Power
consumption
KM001
Monitoring
program
Time inside TEE
problematic
OnThe Performance of ARMTrustZone -V. Schiavoni - DAIS’19
Time inside TEE
• clock_gettime() supports 4 different types:
• CLOCK_REALTIME
• CLOCK_MONOTONIC
• CLOCK_PROCESS_CPUTIME_ID
• CLOCK_THREAD_CPUTIME_ID
• To read the monitonic counter from the TA, we extended the secure
kernel with new system calls
12
https://github.com/vschiavoni/on-the-performance-of-arm-trustzone
and temperature
OnThe Performance of ARMTrustZone -V. Schiavoni - DAIS’19
After all, it’s about
Performance
• We benchmarked several aspects:
• Power-consumption, idle and burn
and for 3 different CPU governors
• Load and unload of TAs
• Context (World) switching
• Operations on volatile memory
• Operations on persistent (secure)
storage
• CPU benchmarking
• Thermal
benchmarking
OnThe Performance of ARMTrustZone -V. Schiavoni - DAIS’19
After all, it’s about
Performance
• We benchmarked several aspects:
• Power-consumption, idle and burn
and for 3 different CPU governors
• Load and unload of TAs
• Context (World) switching
• Operations on volatile memory
• Operations on persistent (secure)
storage
• CPU
benchmarking
• Thermal
benchmarking
In the paper
OnThe Performance of ARMTrustZone -V. Schiavoni - DAIS’19
Load and Unload TAs
Basic TA operations
0
500
1000
1500
Em
pty
function
TA
loadFirstTA
load
TA
unload
FirstTA
unload
Executiontime[ms]
Large TA (517kB)
Qemu on ESXi
rpi3b ondemand
rpi3b performance
rpi3b powersave
Em
pty
function
TA
loadFirstTA
load
TA
unload
FirstTA
unload
Small TA (102kB)
4 platforms
(1 virt+3 hw)
OnThe Performance of ARMTrustZone -V. Schiavoni - DAIS’19
Load and Unload TAs
Basic TA operations
0
500
1000
1500
Em
pty
function
TA
loadFirstTA
load
TA
unload
FirstTA
unload
Executiontime[ms]
Large TA (517kB)
Qemu on ESXi
rpi3b ondemand
rpi3b performance
rpi3b powersave
Em
pty
function
TA
loadFirstTA
load
TA
unload
FirstTA
unload
Small TA (102kB)
Bigger than
L2 cache
OnThe Performance of ARMTrustZone -V. Schiavoni - DAIS’19
Load and Unload TAs
Basic TA operations
0
500
1000
1500
Em
pty
function
TA
loadFirstTA
load
TA
unload
FirstTA
unload
Executiontime[ms]
Large TA (517kB)
Qemu on ESXi
rpi3b ondemand
rpi3b performance
rpi3b powersave
Em
pty
function
TA
loadFirstTA
load
TA
unload
FirstTA
unload
Small TA (102kB)
avg/stdev
over 10k run
OnThe Performance of ARMTrustZone -V. Schiavoni - DAIS’19
Context SwitchingContext switching
0
50
100
150
200
250
300
1
stcall
Follow
ing
calls
1
stcall
Follow
ing
calls
Executiontime[µs]
REE to TEE TEE to REE
0
10
20
30
40
1
stcall
Follow
ing
calls
1
stcall
Follow
ing
calls
Instrumentationdelay[µs]
rpi3b ondemand rpi3b performance rpi3b powersave
REE TEE
9
10
11
12
13
Calling empty
TA function
Energy[nWh]
• To account for caching effects, we measure the first call (left)
and the following calls (right)
OnThe Performance of ARMTrustZone -V. Schiavoni - DAIS’19
Context SwitchingContext switching
0
50
100
150
200
250
300
1
stcall
Follow
ing
calls
1
stcall
Follow
ing
calls
Executiontime[µs]
REE to TEE TEE to REE
0
10
20
30
40
1
stcall
Follow
ing
calls
1
stcall
Follow
ing
calls
Instrumentationdelay[µs]
rpi3b ondemand rpi3b performance rpi3b powersave
REE TEE
9
10
11
12
13
Calling empty
TA function
Energy[nWh]
• To account for caching effects, we measure the first call (left-
side whiskers) and the following calls (right-side whiskers)
• Both directions (REE to TEE, and TEE to REE)
OnThe Performance of ARMTrustZone -V. Schiavoni - DAIS’19
Context SwitchingContext switching
0
50
100
150
200
250
300
1
stcall
Follow
ing
calls
1
stcall
Follow
ing
calls
Executiontime[µs]
REE to TEE TEE to REE
0
10
20
30
40
1
stcall
Follow
ing
calls
1
stcall
Follow
ing
calls
Instrumentationdelay[µs]
rpi3b ondemand rpi3b performance rpi3b powersave
REE TEE
9
10
11
12
13
Calling empty
TA function
Energy[nWh]
• Instrumentation delay: difference between two consecutive
calls to the time measurement function
• Inside the TEE there are more context switches
OnThe Performance of ARMTrustZone -V. Schiavoni - DAIS’19
Context SwitchingContext switching
0
50
100
150
200
250
300
1
stcall
Follow
ing
calls
1
stcall
Follow
ing
calls
Executiontime[µs]
REE to TEE TEE to REE
0
10
20
30
40
1
stcall
Follow
ing
calls
1
stcall
Follow
ing
calls
Instrumentationdelay[µs]
rpi3b ondemand rpi3b performance rpi3b powersave
REE TEE
9
10
11
12
13
Calling empty
TA function
Energy[nWh]
• Interestingly, the ondemand governor is the most energy-eager
• Expensive to continuously change CPU frequency!
OnThe Performance of ARMTrustZone -V. Schiavoni - DAIS’19
Thermal Benchmarking
• We measure the thermal envelope of the SoC
• Two metrics: software measurements (from our syscalls)…
CPU temperature during prime benchmark
20
30
40
50
60
70
80
90
0 4 8 12 16
Temperature[°C]
ondemand
External sensor
Thermals API
External sensor (w/ fan)
Thermals API (w/ fan)
#1
#2
Time [min]
0 4 8 12 16
powersave
#3
#4
0 4 8 12 16
Max
Ambient
performance
#5
#6
OnThe Performance of ARMTrustZone -V. Schiavoni - DAIS’19
Thermal Benchmarking
ondemand
MAX 66.7 °C 90.5°C
18.2°C
90.5°C
18.2°C
MAX 52.4 °C
MAX 87 °C 90.5°C
19.9°C
MAX 64.3 °C 90.5°C
19.6°C
MAX 67.5 °C 90.5°C
18.2°C
MAX 90.3 °C 90.5°C
19.1°C
powersave performance
fan on fan on fan on
fan off fan off fan off
Broadcom BCM2837
OnThe Performance of ARMTrustZone -V. Schiavoni - DAIS’19
What’s left?
• The mentioned experimental
results, plus:
• Lessons learned
• Considerations on the
memory limitations
• Standard compliancy
• OP-TEE developer friendliness
• How to extend the secure kernel

More Related Content

What's hot

LAS16 111 - Raspberry pi3, op-tee and jtag debugging
LAS16 111 - Raspberry pi3, op-tee and jtag debuggingLAS16 111 - Raspberry pi3, op-tee and jtag debugging
LAS16 111 - Raspberry pi3, op-tee and jtag debugging
96Boards
 
Network Programming: Data Plane Development Kit (DPDK)
Network Programming: Data Plane Development Kit (DPDK)Network Programming: Data Plane Development Kit (DPDK)
Network Programming: Data Plane Development Kit (DPDK)
Andriy Berestovskyy
 
U Boot or Universal Bootloader
U Boot or Universal BootloaderU Boot or Universal Bootloader
U Boot or Universal Bootloader
Satpal Parmar
 
Introduction to the DAOS Scale-out object store (HLRS Workshop, April 2017)
Introduction to the DAOS Scale-out object store (HLRS Workshop, April 2017)Introduction to the DAOS Scale-out object store (HLRS Workshop, April 2017)
Introduction to the DAOS Scale-out object store (HLRS Workshop, April 2017)
Johann Lombardi
 
Ducky USB - Indicators of Compromise (IOCs)
Ducky USB - Indicators of Compromise (IOCs)Ducky USB - Indicators of Compromise (IOCs)
Ducky USB - Indicators of Compromise (IOCs)
Brent Muir
 
Demystifying Security Root of Trust Approaches for IoT/Embedded - SFO17-304
Demystifying Security Root of Trust Approaches for IoT/Embedded  - SFO17-304Demystifying Security Root of Trust Approaches for IoT/Embedded  - SFO17-304
Demystifying Security Root of Trust Approaches for IoT/Embedded - SFO17-304
Linaro
 
SFO15-200: Linux kernel generic TEE driver
SFO15-200: Linux kernel generic TEE driverSFO15-200: Linux kernel generic TEE driver
SFO15-200: Linux kernel generic TEE driver
Linaro
 
Lcu14 306 - OP-TEE Future Enhancements
Lcu14 306 - OP-TEE Future EnhancementsLcu14 306 - OP-TEE Future Enhancements
Lcu14 306 - OP-TEE Future Enhancements
Linaro
 
Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...
Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...
Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...
Linaro
 
HKG18-402 - Build secure key management services in OP-TEE
HKG18-402 - Build secure key management services in OP-TEEHKG18-402 - Build secure key management services in OP-TEE
HKG18-402 - Build secure key management services in OP-TEE
Linaro
 
POWER10 innovations for HPC
POWER10 innovations for HPCPOWER10 innovations for HPC
POWER10 innovations for HPC
Ganesan Narayanasamy
 
Process and Threads in Linux - PPT
Process and Threads in Linux - PPTProcess and Threads in Linux - PPT
Process and Threads in Linux - PPT
QUONTRASOLUTIONS
 
Trusted firmware deep_dive_v1.0_
Trusted firmware deep_dive_v1.0_Trusted firmware deep_dive_v1.0_
Trusted firmware deep_dive_v1.0_
Linaro
 
Storage basics
Storage basicsStorage basics
Storage basics
Luis Juan Koffler
 
Lcu14 107- op-tee on ar mv8
Lcu14 107- op-tee on ar mv8Lcu14 107- op-tee on ar mv8
Lcu14 107- op-tee on ar mv8
Linaro
 
BUD17-400: Secure Data Path with OPTEE
BUD17-400: Secure Data Path with OPTEE BUD17-400: Secure Data Path with OPTEE
BUD17-400: Secure Data Path with OPTEE
Linaro
 
Linux Kernel and Driver Development Training
Linux Kernel and Driver Development TrainingLinux Kernel and Driver Development Training
Linux Kernel and Driver Development Training
Stephan Cadene
 
LCU14 302- How to port OP-TEE to another platform
LCU14 302- How to port OP-TEE to another platformLCU14 302- How to port OP-TEE to another platform
LCU14 302- How to port OP-TEE to another platform
Linaro
 
DPDK & Layer 4 Packet Processing
DPDK & Layer 4 Packet ProcessingDPDK & Layer 4 Packet Processing
DPDK & Layer 4 Packet Processing
Michelle Holley
 

What's hot (20)

LAS16 111 - Raspberry pi3, op-tee and jtag debugging
LAS16 111 - Raspberry pi3, op-tee and jtag debuggingLAS16 111 - Raspberry pi3, op-tee and jtag debugging
LAS16 111 - Raspberry pi3, op-tee and jtag debugging
 
Network Programming: Data Plane Development Kit (DPDK)
Network Programming: Data Plane Development Kit (DPDK)Network Programming: Data Plane Development Kit (DPDK)
Network Programming: Data Plane Development Kit (DPDK)
 
U Boot or Universal Bootloader
U Boot or Universal BootloaderU Boot or Universal Bootloader
U Boot or Universal Bootloader
 
Introduction to the DAOS Scale-out object store (HLRS Workshop, April 2017)
Introduction to the DAOS Scale-out object store (HLRS Workshop, April 2017)Introduction to the DAOS Scale-out object store (HLRS Workshop, April 2017)
Introduction to the DAOS Scale-out object store (HLRS Workshop, April 2017)
 
Ducky USB - Indicators of Compromise (IOCs)
Ducky USB - Indicators of Compromise (IOCs)Ducky USB - Indicators of Compromise (IOCs)
Ducky USB - Indicators of Compromise (IOCs)
 
Demystifying Security Root of Trust Approaches for IoT/Embedded - SFO17-304
Demystifying Security Root of Trust Approaches for IoT/Embedded  - SFO17-304Demystifying Security Root of Trust Approaches for IoT/Embedded  - SFO17-304
Demystifying Security Root of Trust Approaches for IoT/Embedded - SFO17-304
 
SFO15-200: Linux kernel generic TEE driver
SFO15-200: Linux kernel generic TEE driverSFO15-200: Linux kernel generic TEE driver
SFO15-200: Linux kernel generic TEE driver
 
Lcu14 306 - OP-TEE Future Enhancements
Lcu14 306 - OP-TEE Future EnhancementsLcu14 306 - OP-TEE Future Enhancements
Lcu14 306 - OP-TEE Future Enhancements
 
Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...
Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...
Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...
 
HKG18-402 - Build secure key management services in OP-TEE
HKG18-402 - Build secure key management services in OP-TEEHKG18-402 - Build secure key management services in OP-TEE
HKG18-402 - Build secure key management services in OP-TEE
 
POWER10 innovations for HPC
POWER10 innovations for HPCPOWER10 innovations for HPC
POWER10 innovations for HPC
 
Process and Threads in Linux - PPT
Process and Threads in Linux - PPTProcess and Threads in Linux - PPT
Process and Threads in Linux - PPT
 
Trusted firmware deep_dive_v1.0_
Trusted firmware deep_dive_v1.0_Trusted firmware deep_dive_v1.0_
Trusted firmware deep_dive_v1.0_
 
Storage basics
Storage basicsStorage basics
Storage basics
 
Lcu14 107- op-tee on ar mv8
Lcu14 107- op-tee on ar mv8Lcu14 107- op-tee on ar mv8
Lcu14 107- op-tee on ar mv8
 
BUD17-400: Secure Data Path with OPTEE
BUD17-400: Secure Data Path with OPTEE BUD17-400: Secure Data Path with OPTEE
BUD17-400: Secure Data Path with OPTEE
 
Linux Kernel and Driver Development Training
Linux Kernel and Driver Development TrainingLinux Kernel and Driver Development Training
Linux Kernel and Driver Development Training
 
Linux Network Management
Linux Network ManagementLinux Network Management
Linux Network Management
 
LCU14 302- How to port OP-TEE to another platform
LCU14 302- How to port OP-TEE to another platformLCU14 302- How to port OP-TEE to another platform
LCU14 302- How to port OP-TEE to another platform
 
DPDK & Layer 4 Packet Processing
DPDK & Layer 4 Packet ProcessingDPDK & Layer 4 Packet Processing
DPDK & Layer 4 Packet Processing
 

Similar to DAIS19: On the Performance of ARM TrustZone

Affordable trustworthy-systems
Affordable trustworthy-systemsAffordable trustworthy-systems
Affordable trustworthy-systems
microkerneldude
 
Coverage Solutions on Emulators
Coverage Solutions on EmulatorsCoverage Solutions on Emulators
Coverage Solutions on EmulatorsDVClub
 
HeapStats: Troubleshooting with Serviceability and the New Runtime Monitoring...
HeapStats: Troubleshooting with Serviceability and the New Runtime Monitoring...HeapStats: Troubleshooting with Serviceability and the New Runtime Monitoring...
HeapStats: Troubleshooting with Serviceability and the New Runtime Monitoring...
Yuji Kubota
 
A15 ibm informix on power8 power linux
A15 ibm informix on power8  power linuxA15 ibm informix on power8  power linux
A15 ibm informix on power8 power linux
BeGooden-IT Consulting
 
ECET 380 Entire Course NEW
ECET 380 Entire Course NEWECET 380 Entire Course NEW
ECET 380 Entire Course NEW
shyamuopuop
 
Nonfunctional Testing: Examine the Other Side of the Coin
Nonfunctional Testing: Examine the Other Side of the CoinNonfunctional Testing: Examine the Other Side of the Coin
Nonfunctional Testing: Examine the Other Side of the Coin
TechWell
 
Host Data Plane Acceleration: SmartNIC Deployment Models
Host Data Plane Acceleration: SmartNIC Deployment ModelsHost Data Plane Acceleration: SmartNIC Deployment Models
Host Data Plane Acceleration: SmartNIC Deployment Models
Netronome
 
EclipseOMRBuildingBlocks4Polyglot_TURBO18
EclipseOMRBuildingBlocks4Polyglot_TURBO18EclipseOMRBuildingBlocks4Polyglot_TURBO18
EclipseOMRBuildingBlocks4Polyglot_TURBO18
Xiaoli Liang
 
FPL'2014 - FlexTiles Workshop - 7 - FlexTiles Emulation platform
FPL'2014 - FlexTiles Workshop - 7 - FlexTiles Emulation platformFPL'2014 - FlexTiles Workshop - 7 - FlexTiles Emulation platform
FPL'2014 - FlexTiles Workshop - 7 - FlexTiles Emulation platform
FlexTiles Team
 
“Quantum” Performance Effects: beyond the Core
“Quantum” Performance Effects: beyond the Core“Quantum” Performance Effects: beyond the Core
“Quantum” Performance Effects: beyond the Core
C4Media
 
DEFCON 23 - Ian Latter - remote access the apt
DEFCON 23 - Ian Latter - remote access the aptDEFCON 23 - Ian Latter - remote access the apt
DEFCON 23 - Ian Latter - remote access the apt
Felipe Prado
 
Software Stacks to enable SDN and NFV
Software Stacks to enable SDN and NFVSoftware Stacks to enable SDN and NFV
Software Stacks to enable SDN and NFV
Yoshihiro Nakajima
 
Emc vplex deep dive
Emc vplex deep diveEmc vplex deep dive
Emc vplex deep dive
solarisyougood
 
iperfTZ: Understanding Network Bottlenecks for TrustZone-based Applications
iperfTZ: Understanding Network Bottlenecks for TrustZone-based ApplicationsiperfTZ: Understanding Network Bottlenecks for TrustZone-based Applications
iperfTZ: Understanding Network Bottlenecks for TrustZone-based Applications
LEGATO project
 
한국통신학회 워크샵: SDN/NFV for Secure Services - Understanding Open Source SDN Contr...
한국통신학회 워크샵: SDN/NFV for Secure Services - Understanding Open Source SDN Contr...한국통신학회 워크샵: SDN/NFV for Secure Services - Understanding Open Source SDN Contr...
한국통신학회 워크샵: SDN/NFV for Secure Services - Understanding Open Source SDN Contr...
Ian Choi
 
RISC-V-Day-Tokyo2018-suzaki
RISC-V-Day-Tokyo2018-suzakiRISC-V-Day-Tokyo2018-suzaki
RISC-V-Day-Tokyo2018-suzaki
Kuniyasu Suzaki
 
2018 Genivi Xen Overview Nov Update
2018 Genivi Xen Overview Nov Update2018 Genivi Xen Overview Nov Update
2018 Genivi Xen Overview Nov Update
The Linux Foundation
 
IMAGE CAPTURE, PROCESSING AND TRANSFER VIA ETHERNET UNDER CONTROL OF MATLAB G...
IMAGE CAPTURE, PROCESSING AND TRANSFER VIA ETHERNET UNDER CONTROL OF MATLAB G...IMAGE CAPTURE, PROCESSING AND TRANSFER VIA ETHERNET UNDER CONTROL OF MATLAB G...
IMAGE CAPTURE, PROCESSING AND TRANSFER VIA ETHERNET UNDER CONTROL OF MATLAB G...
Christopher Diamantopoulos
 
RTI Connext 5.2.0
RTI Connext 5.2.0RTI Connext 5.2.0
RTI Connext 5.2.0
Jan Van Bruaene
 
Plan with confidence: Route to a successful Do178c multicore certification
Plan with confidence: Route to a successful Do178c multicore certificationPlan with confidence: Route to a successful Do178c multicore certification
Plan with confidence: Route to a successful Do178c multicore certification
Massimo Talia
 

Similar to DAIS19: On the Performance of ARM TrustZone (20)

Affordable trustworthy-systems
Affordable trustworthy-systemsAffordable trustworthy-systems
Affordable trustworthy-systems
 
Coverage Solutions on Emulators
Coverage Solutions on EmulatorsCoverage Solutions on Emulators
Coverage Solutions on Emulators
 
HeapStats: Troubleshooting with Serviceability and the New Runtime Monitoring...
HeapStats: Troubleshooting with Serviceability and the New Runtime Monitoring...HeapStats: Troubleshooting with Serviceability and the New Runtime Monitoring...
HeapStats: Troubleshooting with Serviceability and the New Runtime Monitoring...
 
A15 ibm informix on power8 power linux
A15 ibm informix on power8  power linuxA15 ibm informix on power8  power linux
A15 ibm informix on power8 power linux
 
ECET 380 Entire Course NEW
ECET 380 Entire Course NEWECET 380 Entire Course NEW
ECET 380 Entire Course NEW
 
Nonfunctional Testing: Examine the Other Side of the Coin
Nonfunctional Testing: Examine the Other Side of the CoinNonfunctional Testing: Examine the Other Side of the Coin
Nonfunctional Testing: Examine the Other Side of the Coin
 
Host Data Plane Acceleration: SmartNIC Deployment Models
Host Data Plane Acceleration: SmartNIC Deployment ModelsHost Data Plane Acceleration: SmartNIC Deployment Models
Host Data Plane Acceleration: SmartNIC Deployment Models
 
EclipseOMRBuildingBlocks4Polyglot_TURBO18
EclipseOMRBuildingBlocks4Polyglot_TURBO18EclipseOMRBuildingBlocks4Polyglot_TURBO18
EclipseOMRBuildingBlocks4Polyglot_TURBO18
 
FPL'2014 - FlexTiles Workshop - 7 - FlexTiles Emulation platform
FPL'2014 - FlexTiles Workshop - 7 - FlexTiles Emulation platformFPL'2014 - FlexTiles Workshop - 7 - FlexTiles Emulation platform
FPL'2014 - FlexTiles Workshop - 7 - FlexTiles Emulation platform
 
“Quantum” Performance Effects: beyond the Core
“Quantum” Performance Effects: beyond the Core“Quantum” Performance Effects: beyond the Core
“Quantum” Performance Effects: beyond the Core
 
DEFCON 23 - Ian Latter - remote access the apt
DEFCON 23 - Ian Latter - remote access the aptDEFCON 23 - Ian Latter - remote access the apt
DEFCON 23 - Ian Latter - remote access the apt
 
Software Stacks to enable SDN and NFV
Software Stacks to enable SDN and NFVSoftware Stacks to enable SDN and NFV
Software Stacks to enable SDN and NFV
 
Emc vplex deep dive
Emc vplex deep diveEmc vplex deep dive
Emc vplex deep dive
 
iperfTZ: Understanding Network Bottlenecks for TrustZone-based Applications
iperfTZ: Understanding Network Bottlenecks for TrustZone-based ApplicationsiperfTZ: Understanding Network Bottlenecks for TrustZone-based Applications
iperfTZ: Understanding Network Bottlenecks for TrustZone-based Applications
 
한국통신학회 워크샵: SDN/NFV for Secure Services - Understanding Open Source SDN Contr...
한국통신학회 워크샵: SDN/NFV for Secure Services - Understanding Open Source SDN Contr...한국통신학회 워크샵: SDN/NFV for Secure Services - Understanding Open Source SDN Contr...
한국통신학회 워크샵: SDN/NFV for Secure Services - Understanding Open Source SDN Contr...
 
RISC-V-Day-Tokyo2018-suzaki
RISC-V-Day-Tokyo2018-suzakiRISC-V-Day-Tokyo2018-suzaki
RISC-V-Day-Tokyo2018-suzaki
 
2018 Genivi Xen Overview Nov Update
2018 Genivi Xen Overview Nov Update2018 Genivi Xen Overview Nov Update
2018 Genivi Xen Overview Nov Update
 
IMAGE CAPTURE, PROCESSING AND TRANSFER VIA ETHERNET UNDER CONTROL OF MATLAB G...
IMAGE CAPTURE, PROCESSING AND TRANSFER VIA ETHERNET UNDER CONTROL OF MATLAB G...IMAGE CAPTURE, PROCESSING AND TRANSFER VIA ETHERNET UNDER CONTROL OF MATLAB G...
IMAGE CAPTURE, PROCESSING AND TRANSFER VIA ETHERNET UNDER CONTROL OF MATLAB G...
 
RTI Connext 5.2.0
RTI Connext 5.2.0RTI Connext 5.2.0
RTI Connext 5.2.0
 
Plan with confidence: Route to a successful Do178c multicore certification
Plan with confidence: Route to a successful Do178c multicore certificationPlan with confidence: Route to a successful Do178c multicore certification
Plan with confidence: Route to a successful Do178c multicore certification
 

More from 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 Profit
LEGATO 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 system
LEGATO 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 TEEs
LEGATO project
 
secureTF: A Secure TensorFlow Framework
secureTF: A Secure TensorFlow FrameworksecureTF: A Secure TensorFlow Framework
secureTF: A Secure TensorFlow Framework
LEGATO 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 Case
LEGATO project
 
Smart Home AI at the edge
Smart Home AI at the edgeSmart Home AI at the edge
Smart Home AI at the edge
LEGATO 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 project
LEGATO project
 
LEGaTO Integration
LEGaTO IntegrationLEGaTO Integration
LEGaTO Integration
LEGATO project
 
LEGaTO: Use cases
LEGaTO: Use casesLEGaTO: Use cases
LEGaTO: Use cases
LEGATO project
 
LEGaTO: Software Stack Programming Models
LEGaTO: Software Stack Programming ModelsLEGaTO: Software Stack Programming Models
LEGaTO: Software Stack Programming Models
LEGATO project
 
LEGaTO: Software Stack Runtimes
LEGaTO: Software Stack RuntimesLEGaTO: Software Stack Runtimes
LEGaTO: Software Stack Runtimes
LEGATO project
 
LEGaTO Heterogeneous Hardware
LEGaTO Heterogeneous HardwareLEGaTO Heterogeneous Hardware
LEGaTO Heterogeneous Hardware
LEGATO project
 
LEGaTO: Low-Energy Heterogeneous Computing Workshop
LEGaTO: Low-Energy Heterogeneous Computing WorkshopLEGaTO: Low-Energy Heterogeneous Computing Workshop
LEGaTO: Low-Energy Heterogeneous Computing Workshop
LEGATO 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 TrustZone
LEGATO project
 
Infection Research with Maxeler Dataflow Computing
Infection Research with Maxeler Dataflow ComputingInfection Research with Maxeler Dataflow Computing
Infection Research with Maxeler Dataflow Computing
LEGATO project
 
Smart Home - AI at the edge
Smart Home - AI at the edgeSmart Home - AI at the edge
Smart Home - AI at the edge
LEGATO 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-Resiliency
LEGATO 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 Environments
LEGATO project
 

More from 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
 

Recently uploaded

Chapter 12 - climate change and the energy crisis
Chapter 12 - climate change and the energy crisisChapter 12 - climate change and the energy crisis
Chapter 12 - climate change and the energy crisis
tonzsalvador2222
 
Hemoglobin metabolism_pathophysiology.pptx
Hemoglobin metabolism_pathophysiology.pptxHemoglobin metabolism_pathophysiology.pptx
Hemoglobin metabolism_pathophysiology.pptx
muralinath2
 
Hemostasis_importance& clinical significance.pptx
Hemostasis_importance& clinical significance.pptxHemostasis_importance& clinical significance.pptx
Hemostasis_importance& clinical significance.pptx
muralinath2
 
GBSN - Microbiology (Lab 4) Culture Media
GBSN - Microbiology (Lab 4) Culture MediaGBSN - Microbiology (Lab 4) Culture Media
GBSN - Microbiology (Lab 4) Culture Media
Areesha Ahmad
 
(May 29th, 2024) Advancements in Intravital Microscopy- Insights for Preclini...
(May 29th, 2024) Advancements in Intravital Microscopy- Insights for Preclini...(May 29th, 2024) Advancements in Intravital Microscopy- Insights for Preclini...
(May 29th, 2024) Advancements in Intravital Microscopy- Insights for Preclini...
Scintica Instrumentation
 
GBSN - Biochemistry (Unit 5) Chemistry of Lipids
GBSN - Biochemistry (Unit 5) Chemistry of LipidsGBSN - Biochemistry (Unit 5) Chemistry of Lipids
GBSN - Biochemistry (Unit 5) Chemistry of Lipids
Areesha Ahmad
 
S.1 chemistry scheme term 2 for ordinary level
S.1 chemistry scheme term 2 for ordinary levelS.1 chemistry scheme term 2 for ordinary level
S.1 chemistry scheme term 2 for ordinary level
ronaldlakony0
 
Lateral Ventricles.pdf very easy good diagrams comprehensive
Lateral Ventricles.pdf very easy good diagrams comprehensiveLateral Ventricles.pdf very easy good diagrams comprehensive
Lateral Ventricles.pdf very easy good diagrams comprehensive
silvermistyshot
 
Seminar of U.V. Spectroscopy by SAMIR PANDA
 Seminar of U.V. Spectroscopy by SAMIR PANDA Seminar of U.V. Spectroscopy by SAMIR PANDA
Seminar of U.V. Spectroscopy by SAMIR PANDA
SAMIR PANDA
 
Nutraceutical market, scope and growth: Herbal drug technology
Nutraceutical market, scope and growth: Herbal drug technologyNutraceutical market, scope and growth: Herbal drug technology
Nutraceutical market, scope and growth: Herbal drug technology
Lokesh Patil
 
Unveiling the Energy Potential of Marshmallow Deposits.pdf
Unveiling the Energy Potential of Marshmallow Deposits.pdfUnveiling the Energy Potential of Marshmallow Deposits.pdf
Unveiling the Energy Potential of Marshmallow Deposits.pdf
Erdal Coalmaker
 
In silico drugs analogue design: novobiocin analogues.pptx
In silico drugs analogue design: novobiocin analogues.pptxIn silico drugs analogue design: novobiocin analogues.pptx
In silico drugs analogue design: novobiocin analogues.pptx
AlaminAfendy1
 
nodule formation by alisha dewangan.pptx
nodule formation by alisha dewangan.pptxnodule formation by alisha dewangan.pptx
nodule formation by alisha dewangan.pptx
alishadewangan1
 
Nucleic Acid-its structural and functional complexity.
Nucleic Acid-its structural and functional complexity.Nucleic Acid-its structural and functional complexity.
Nucleic Acid-its structural and functional complexity.
Nistarini College, Purulia (W.B) India
 
DERIVATION OF MODIFIED BERNOULLI EQUATION WITH VISCOUS EFFECTS AND TERMINAL V...
DERIVATION OF MODIFIED BERNOULLI EQUATION WITH VISCOUS EFFECTS AND TERMINAL V...DERIVATION OF MODIFIED BERNOULLI EQUATION WITH VISCOUS EFFECTS AND TERMINAL V...
DERIVATION OF MODIFIED BERNOULLI EQUATION WITH VISCOUS EFFECTS AND TERMINAL V...
Wasswaderrick3
 
general properties of oerganologametal.ppt
general properties of oerganologametal.pptgeneral properties of oerganologametal.ppt
general properties of oerganologametal.ppt
IqrimaNabilatulhusni
 
bordetella pertussis.................................ppt
bordetella pertussis.................................pptbordetella pertussis.................................ppt
bordetella pertussis.................................ppt
kejapriya1
 
What is greenhouse gasses and how many gasses are there to affect the Earth.
What is greenhouse gasses and how many gasses are there to affect the Earth.What is greenhouse gasses and how many gasses are there to affect the Earth.
What is greenhouse gasses and how many gasses are there to affect the Earth.
moosaasad1975
 
Comparing Evolved Extractive Text Summary Scores of Bidirectional Encoder Rep...
Comparing Evolved Extractive Text Summary Scores of Bidirectional Encoder Rep...Comparing Evolved Extractive Text Summary Scores of Bidirectional Encoder Rep...
Comparing Evolved Extractive Text Summary Scores of Bidirectional Encoder Rep...
University of Maribor
 
Leaf Initiation, Growth and Differentiation.pdf
Leaf Initiation, Growth and Differentiation.pdfLeaf Initiation, Growth and Differentiation.pdf
Leaf Initiation, Growth and Differentiation.pdf
RenuJangid3
 

Recently uploaded (20)

Chapter 12 - climate change and the energy crisis
Chapter 12 - climate change and the energy crisisChapter 12 - climate change and the energy crisis
Chapter 12 - climate change and the energy crisis
 
Hemoglobin metabolism_pathophysiology.pptx
Hemoglobin metabolism_pathophysiology.pptxHemoglobin metabolism_pathophysiology.pptx
Hemoglobin metabolism_pathophysiology.pptx
 
Hemostasis_importance& clinical significance.pptx
Hemostasis_importance& clinical significance.pptxHemostasis_importance& clinical significance.pptx
Hemostasis_importance& clinical significance.pptx
 
GBSN - Microbiology (Lab 4) Culture Media
GBSN - Microbiology (Lab 4) Culture MediaGBSN - Microbiology (Lab 4) Culture Media
GBSN - Microbiology (Lab 4) Culture Media
 
(May 29th, 2024) Advancements in Intravital Microscopy- Insights for Preclini...
(May 29th, 2024) Advancements in Intravital Microscopy- Insights for Preclini...(May 29th, 2024) Advancements in Intravital Microscopy- Insights for Preclini...
(May 29th, 2024) Advancements in Intravital Microscopy- Insights for Preclini...
 
GBSN - Biochemistry (Unit 5) Chemistry of Lipids
GBSN - Biochemistry (Unit 5) Chemistry of LipidsGBSN - Biochemistry (Unit 5) Chemistry of Lipids
GBSN - Biochemistry (Unit 5) Chemistry of Lipids
 
S.1 chemistry scheme term 2 for ordinary level
S.1 chemistry scheme term 2 for ordinary levelS.1 chemistry scheme term 2 for ordinary level
S.1 chemistry scheme term 2 for ordinary level
 
Lateral Ventricles.pdf very easy good diagrams comprehensive
Lateral Ventricles.pdf very easy good diagrams comprehensiveLateral Ventricles.pdf very easy good diagrams comprehensive
Lateral Ventricles.pdf very easy good diagrams comprehensive
 
Seminar of U.V. Spectroscopy by SAMIR PANDA
 Seminar of U.V. Spectroscopy by SAMIR PANDA Seminar of U.V. Spectroscopy by SAMIR PANDA
Seminar of U.V. Spectroscopy by SAMIR PANDA
 
Nutraceutical market, scope and growth: Herbal drug technology
Nutraceutical market, scope and growth: Herbal drug technologyNutraceutical market, scope and growth: Herbal drug technology
Nutraceutical market, scope and growth: Herbal drug technology
 
Unveiling the Energy Potential of Marshmallow Deposits.pdf
Unveiling the Energy Potential of Marshmallow Deposits.pdfUnveiling the Energy Potential of Marshmallow Deposits.pdf
Unveiling the Energy Potential of Marshmallow Deposits.pdf
 
In silico drugs analogue design: novobiocin analogues.pptx
In silico drugs analogue design: novobiocin analogues.pptxIn silico drugs analogue design: novobiocin analogues.pptx
In silico drugs analogue design: novobiocin analogues.pptx
 
nodule formation by alisha dewangan.pptx
nodule formation by alisha dewangan.pptxnodule formation by alisha dewangan.pptx
nodule formation by alisha dewangan.pptx
 
Nucleic Acid-its structural and functional complexity.
Nucleic Acid-its structural and functional complexity.Nucleic Acid-its structural and functional complexity.
Nucleic Acid-its structural and functional complexity.
 
DERIVATION OF MODIFIED BERNOULLI EQUATION WITH VISCOUS EFFECTS AND TERMINAL V...
DERIVATION OF MODIFIED BERNOULLI EQUATION WITH VISCOUS EFFECTS AND TERMINAL V...DERIVATION OF MODIFIED BERNOULLI EQUATION WITH VISCOUS EFFECTS AND TERMINAL V...
DERIVATION OF MODIFIED BERNOULLI EQUATION WITH VISCOUS EFFECTS AND TERMINAL V...
 
general properties of oerganologametal.ppt
general properties of oerganologametal.pptgeneral properties of oerganologametal.ppt
general properties of oerganologametal.ppt
 
bordetella pertussis.................................ppt
bordetella pertussis.................................pptbordetella pertussis.................................ppt
bordetella pertussis.................................ppt
 
What is greenhouse gasses and how many gasses are there to affect the Earth.
What is greenhouse gasses and how many gasses are there to affect the Earth.What is greenhouse gasses and how many gasses are there to affect the Earth.
What is greenhouse gasses and how many gasses are there to affect the Earth.
 
Comparing Evolved Extractive Text Summary Scores of Bidirectional Encoder Rep...
Comparing Evolved Extractive Text Summary Scores of Bidirectional Encoder Rep...Comparing Evolved Extractive Text Summary Scores of Bidirectional Encoder Rep...
Comparing Evolved Extractive Text Summary Scores of Bidirectional Encoder Rep...
 
Leaf Initiation, Growth and Differentiation.pdf
Leaf Initiation, Growth and Differentiation.pdfLeaf Initiation, Growth and Differentiation.pdf
Leaf Initiation, Growth and Differentiation.pdf
 

DAIS19: On the Performance of ARM TrustZone

  • 1. On the Performance of ARM TrustZone Julien Amacher, Valerio Schiavoni University of Neuchâtel, Switzerland 19th International Conference on Distributed Applications and Interoperable Systems DAIS 2019 - DTU, Denmark 20/06/2019 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. (Practical Experience Report)
  • 2. On the Performance of ARM TrustZone Julien Amacher, Valerio Schiavoni University of Neuchâtel, Switzerland 19th International Conference on Distributed Applications and Interoperable Systems DAIS 2019 - DTU, Denmark 20/06/2019 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. (Practical Experience Report) Expect more plots than usual…at least in the paper
  • 3. On the Performance of ARM TrustZone Julien Amacher, Valerio Schiavoni University of Neuchâtel, Switzerland 19th International Conference on Distributed Applications and Interoperable Systems DAIS 2019 - DTU, Denmark 20/06/2019 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. as implemented by Broadcom BCM2837
  • 4. OnThe Performance of ARMTrustZone -V. Schiavoni - DAIS’19 Motivation • Powerful processing devices at the edge nowadays pervasive • Off-loading at the edge, rather than on an untrusted cloud • Technologies to provide privacy and secure processing at the edge exist since many years • In this talk, we look at ARM TrustZone 0 5 10 15 20 1998 2000 2002 2004 2006 2008 2010 2012 2014 2016 2018 ARMv6ZTrustZone ARMv7TrustZone ARMv8−ATZ/EL3 ARMv8−Mw/TZ Unitssold[bn] Year 4
  • 5. OnThe Performance of ARMTrustZone -V. Schiavoni - DAIS’19 TrustZone in one slide • TrustZone is a Trusted Execution Environment (TEE) for ARM processors • Intel SGX (2015), AMD SEV (2017-ish), RISC-V KeyStone (2018) • Runtime split in two: untrusted area (the Rich Execution Environment or REE) and the trusted area, the Trusted Execution Environment 5 ❽ Kernel mode User mode Rich application Trusted application (TA) Secure kernel tee-supplicant GlobalPlatform TEE Client API OP-TEE driver Rich kernel GlobalPlatform TEE Internal API Storage Shared memory Secure Monitor & TEE core Internal TEE utility functions OP-TEE OS OP-TEE Client ➊ ➋ ➌➍ ➎ ➏ ➐ REE (non-secure) TEE (secure) User mode Kernel mode ❾ ➓ REE TEE
  • 6. OnThe Performance of ARMTrustZone -V. Schiavoni - DAIS’19 TrustZone in 2 slides… • TEE and REE share the same core • TEE has unrestricted access to memory regions, hardware and devices • Physical memory dedicated to the REE • The Translation Lookaside Buffer (TLB) is TEE-aware, secure and unsecure descriptors stored side-by-side • TA (trusted application) in theory is allowed 3-5 Mb, in practice <= 1Mb 6
  • 7. OnThe Performance of ARMTrustZone -V. Schiavoni - DAIS’19 TrustZone in 3 slides! • World-switching • Move from TEE to REE and back via a special hardware instruction, SMC (Secure Monitor Call) • Secure storage leveraging a transparent encryption layer from the TEE • TAs can store encrypted objects on disk • Signed against anti-tampering • Secure (fast) interrupts • But there is even more: key management, protection against attacks (stack canaries), covert data channels, … 7 © Disney
  • 8. OnThe Performance of ARMTrustZone -V. Schiavoni - DAIS’19 Problem • Difficult (if not impossible) to find public studies (scientific papers, books, or even blog entries) regarding the performance of TrustZone • By performance we mean: • Throughput of operations, loading time of trusted applications, etc. • But also: energy-related costs • Without these informations, it’s difficult to predict the expected overhead that programs encounter when inside a TEE • Essentially, we were missing a baseline 8
  • 9. OnThe Performance of ARMTrustZone -V. Schiavoni - DAIS’19 Contributions 1. In-depth study of performance and energy of TrustZone features 2. Insights on the programmability of trusted applications 3. Extensions of the kernel running inside the TEE to securely extract measurements, as well as methodology to implement new syscalls 4. Results on emulation and real hardware, i.e., Raspberry Pi 9 Not in this talkIn this talk In the paper or in 60min
  • 10. OnThe Performance of ARMTrustZone -V. Schiavoni - DAIS’19 The OP-TEE runtime • Native support for TrustZone • Open-source, sponsored by Linaro • Supports many devices, including cheap Raspberry PI 3B • Attempted support newer RaPI 3B+ failed • Easy to use, and compliant with existing standards • SDK with clearly defined APIs 10 RaPi 3B, <=50 $
  • 11. OnThe Performance of ARMTrustZone -V. Schiavoni - DAIS’19 Experimental Methodology • Applications implemented in C/C++ • Initial plan to port stress-ng failed • Many syscalls not available inside TEE • What is the one thing that is always needed in benchmarks ? 11 Start/stop recording Export CSV Parse CSV Markers, duration Host computerKM001 official application Raspberry Pi Benchmark applicationsBenchmark applicationsBenchmark applications Power supply Execute benchmark JTAG Power consumption KM001 Monitoring program Time inside TEE problematic
  • 12. OnThe Performance of ARMTrustZone -V. Schiavoni - DAIS’19 Time inside TEE • clock_gettime() supports 4 different types: • CLOCK_REALTIME • CLOCK_MONOTONIC • CLOCK_PROCESS_CPUTIME_ID • CLOCK_THREAD_CPUTIME_ID • To read the monitonic counter from the TA, we extended the secure kernel with new system calls 12 https://github.com/vschiavoni/on-the-performance-of-arm-trustzone and temperature
  • 13. OnThe Performance of ARMTrustZone -V. Schiavoni - DAIS’19 After all, it’s about Performance • We benchmarked several aspects: • Power-consumption, idle and burn and for 3 different CPU governors • Load and unload of TAs • Context (World) switching • Operations on volatile memory • Operations on persistent (secure) storage • CPU benchmarking • Thermal benchmarking
  • 14. OnThe Performance of ARMTrustZone -V. Schiavoni - DAIS’19 After all, it’s about Performance • We benchmarked several aspects: • Power-consumption, idle and burn and for 3 different CPU governors • Load and unload of TAs • Context (World) switching • Operations on volatile memory • Operations on persistent (secure) storage • CPU benchmarking • Thermal benchmarking In the paper
  • 15. OnThe Performance of ARMTrustZone -V. Schiavoni - DAIS’19 Load and Unload TAs Basic TA operations 0 500 1000 1500 Em pty function TA loadFirstTA load TA unload FirstTA unload Executiontime[ms] Large TA (517kB) Qemu on ESXi rpi3b ondemand rpi3b performance rpi3b powersave Em pty function TA loadFirstTA load TA unload FirstTA unload Small TA (102kB) 4 platforms (1 virt+3 hw)
  • 16. OnThe Performance of ARMTrustZone -V. Schiavoni - DAIS’19 Load and Unload TAs Basic TA operations 0 500 1000 1500 Em pty function TA loadFirstTA load TA unload FirstTA unload Executiontime[ms] Large TA (517kB) Qemu on ESXi rpi3b ondemand rpi3b performance rpi3b powersave Em pty function TA loadFirstTA load TA unload FirstTA unload Small TA (102kB) Bigger than L2 cache
  • 17. OnThe Performance of ARMTrustZone -V. Schiavoni - DAIS’19 Load and Unload TAs Basic TA operations 0 500 1000 1500 Em pty function TA loadFirstTA load TA unload FirstTA unload Executiontime[ms] Large TA (517kB) Qemu on ESXi rpi3b ondemand rpi3b performance rpi3b powersave Em pty function TA loadFirstTA load TA unload FirstTA unload Small TA (102kB) avg/stdev over 10k run
  • 18. OnThe Performance of ARMTrustZone -V. Schiavoni - DAIS’19 Context SwitchingContext switching 0 50 100 150 200 250 300 1 stcall Follow ing calls 1 stcall Follow ing calls Executiontime[µs] REE to TEE TEE to REE 0 10 20 30 40 1 stcall Follow ing calls 1 stcall Follow ing calls Instrumentationdelay[µs] rpi3b ondemand rpi3b performance rpi3b powersave REE TEE 9 10 11 12 13 Calling empty TA function Energy[nWh] • To account for caching effects, we measure the first call (left) and the following calls (right)
  • 19. OnThe Performance of ARMTrustZone -V. Schiavoni - DAIS’19 Context SwitchingContext switching 0 50 100 150 200 250 300 1 stcall Follow ing calls 1 stcall Follow ing calls Executiontime[µs] REE to TEE TEE to REE 0 10 20 30 40 1 stcall Follow ing calls 1 stcall Follow ing calls Instrumentationdelay[µs] rpi3b ondemand rpi3b performance rpi3b powersave REE TEE 9 10 11 12 13 Calling empty TA function Energy[nWh] • To account for caching effects, we measure the first call (left- side whiskers) and the following calls (right-side whiskers) • Both directions (REE to TEE, and TEE to REE)
  • 20. OnThe Performance of ARMTrustZone -V. Schiavoni - DAIS’19 Context SwitchingContext switching 0 50 100 150 200 250 300 1 stcall Follow ing calls 1 stcall Follow ing calls Executiontime[µs] REE to TEE TEE to REE 0 10 20 30 40 1 stcall Follow ing calls 1 stcall Follow ing calls Instrumentationdelay[µs] rpi3b ondemand rpi3b performance rpi3b powersave REE TEE 9 10 11 12 13 Calling empty TA function Energy[nWh] • Instrumentation delay: difference between two consecutive calls to the time measurement function • Inside the TEE there are more context switches
  • 21. OnThe Performance of ARMTrustZone -V. Schiavoni - DAIS’19 Context SwitchingContext switching 0 50 100 150 200 250 300 1 stcall Follow ing calls 1 stcall Follow ing calls Executiontime[µs] REE to TEE TEE to REE 0 10 20 30 40 1 stcall Follow ing calls 1 stcall Follow ing calls Instrumentationdelay[µs] rpi3b ondemand rpi3b performance rpi3b powersave REE TEE 9 10 11 12 13 Calling empty TA function Energy[nWh] • Interestingly, the ondemand governor is the most energy-eager • Expensive to continuously change CPU frequency!
  • 22. OnThe Performance of ARMTrustZone -V. Schiavoni - DAIS’19 Thermal Benchmarking • We measure the thermal envelope of the SoC • Two metrics: software measurements (from our syscalls)… CPU temperature during prime benchmark 20 30 40 50 60 70 80 90 0 4 8 12 16 Temperature[°C] ondemand External sensor Thermals API External sensor (w/ fan) Thermals API (w/ fan) #1 #2 Time [min] 0 4 8 12 16 powersave #3 #4 0 4 8 12 16 Max Ambient performance #5 #6
  • 23. OnThe Performance of ARMTrustZone -V. Schiavoni - DAIS’19 Thermal Benchmarking ondemand MAX 66.7 °C 90.5°C 18.2°C 90.5°C 18.2°C MAX 52.4 °C MAX 87 °C 90.5°C 19.9°C MAX 64.3 °C 90.5°C 19.6°C MAX 67.5 °C 90.5°C 18.2°C MAX 90.3 °C 90.5°C 19.1°C powersave performance fan on fan on fan on fan off fan off fan off Broadcom BCM2837
  • 24. OnThe Performance of ARMTrustZone -V. Schiavoni - DAIS’19 What’s left? • The mentioned experimental results, plus: • Lessons learned • Considerations on the memory limitations • Standard compliancy • OP-TEE developer friendliness • How to extend the secure kernel