SlideShare a Scribd company logo
1 of 22
Download to read offline
WaTZ: A Trusted WebAssembly Runtime
Environment with Remote Attestation for TrustZone
Jämes Ménétrey Marcelo Pasin Pascal Felber Valerio Schiavoni
University of Neuchâtel, Switzerland
July 10-13, 2022
42nd IEEE International Conference on Distributed Computing Systems
(ICDCS ’22), Bologna, Italy 🇮🇹
Ménétrey et al. — WaTZ: A Trusted WebAssembly Runtime Environment with Remote Attestation for TrustZone — ICDCS ’22 / 22
Context
Developers
Your apps
• We process and store sensitive data on edge or
IoT devices
• Developers deploy applications on those systems
they assume to be trustworthy
• How can we better protect deployed applications
and systems?
2
IoT devices
Hardware
Firmware
Premises
OS
Software stack
Your apps
Attack surface of your system
Ménétrey et al. — WaTZ: A Trusted WebAssembly Runtime Environment with Remote Attestation for TrustZone — ICDCS ’22 / 22
Context (cont.)
Hardware
Firmware
Premises
OS
Software stack
Your apps
Attack surface of your system
• One way to better secure applications and systems is
to use Trusted Execution Environments (TEEs)
• There are many TEE technologies, the most
widespread on IoT devices is Arm TrustZone
• TEEs isolate applications from the rest of the system
3
Ménétrey et al. — WaTZ: A Trusted WebAssembly Runtime Environment with Remote Attestation for TrustZone — ICDCS ’22 / 22
Primer on Arm TrustZone
4
Attack surface of your system
Secure world
Secure OS
TA
TA
TA
Secure Monitor
Hardware
OS
App
App
App
Hypervisor
Communication
Premises
Normal world
• TrustZone is split in two worlds
• Trusted Application (TA) is
isolated from the normal world
• Limited amount of memory in
the TEE, this reduces the size
of the attack surface
• We use OP-TEE, an open-
source trusted OS
Ménétrey et al. — WaTZ: A Trusted WebAssembly Runtime Environment with Remote Attestation for TrustZone — ICDCS ’22 / 22
OP-TEE limitations and pitfalls
5
• No POSIX API (e.g., printf), but Global Platform (GP) API
➡ Hard to write or migrate existing applications
• SDK only available for C programming language
➡ Constrained development environment
• TrustZone does not come with attestation
➡ Lack of trust when deploying applications
Ménétrey et al. — WaTZ: A Trusted WebAssembly Runtime Environment with Remote Attestation for TrustZone — ICDCS ’22 / 22
How to ease the development experience?
6
Ménétrey et al. — WaTZ: A Trusted WebAssembly Runtime Environment with Remote Attestation for TrustZone — ICDCS ’22 / 22
Introduction to WebAssembly
7
• WebAssembly (Wasm) is a standard for a
lightweight bytecode format
• A compilation target for most mainstream
programming languages
• Initially meant for the web, can be used
anywhere today
• Include WebAssembly System Interface
(WASI) for system interactions
Image: Standardising WASI, Mozilla, 2020
developer
WebAssembly
runtime
clang
user
cargo tinygo
Ménétrey et al. — WaTZ: A Trusted WebAssembly Runtime Environment with Remote Attestation for TrustZone — ICDCS ’22 / 22
RQ1: Challenges when embedding Wasm into TrustZone
8
• Interoperability: Leverage WASI to replace POSIX and deliver features
bound to the TEE
• Performance: Execution of ahead-of-time compiled Wasm binaries
App
Secure world
Normal world
Suppl.
Trusted app
Wasm runtime
WASI
Secure OS
Wasm app
RPC
OS
GP
Wasm app Contributions
Ménétrey et al. — WaTZ: A Trusted WebAssembly Runtime Environment with Remote Attestation for TrustZone — ICDCS ’22 / 22
RQ1: Results
9
• Language agnostic: Wasm introduces an intermediate bytecode, enabling to
use various programming languages
• Abstraction: Wasm applications no longer depend on TEE-specific concerns
• Sandbox: The hosted app and the secure OS are mutually distrusted
App
Secure world
Normal world
Suppl.
Trusted app
Wasm runtime
WASI
Secure OS
Wasm app
RPC
OS
GP
Wasm app Contributions
Ménétrey et al. — WaTZ: A Trusted WebAssembly Runtime Environment with Remote Attestation for TrustZone — ICDCS ’22 / 22
RQ1: Contributions
10
• An embedded Wasm
runtime in the TEE to
abstract TEE-specific
concerns for the hosted
applications, called WaTZ
• An easy way to run
applications in the TEE
Secure world
Secure OS
TA
WaTZ
TA
Secure Monitor
Hardware
OS
App
App
App
Hypervisor
Communication
Premises
Normal world Wasm
App
Contributions
Ménétrey et al. — WaTZ: A Trusted WebAssembly Runtime Environment with Remote Attestation for TrustZone — ICDCS ’22 / 22
RQ2: How to trust a remotely executed application?
11
Ménétrey et al. — WaTZ: A Trusted WebAssembly Runtime Environment with Remote Attestation for TrustZone — ICDCS ’22 / 22
Attestation of applications
• Attestation is a way to prove the trustworthiness of a piece of software
• TEEs help obtaining such a proof, called evidence
• Remote attestation provides this proof for remotely executed software
• Remote attestation is present in many state-of-the-art TEEs, such as
Intel SGX, but is missing from TrustZone
12
Ménétrey et al. — WaTZ: A Trusted WebAssembly Runtime Environment with Remote Attestation for TrustZone — ICDCS ’22 / 22
Remote attestation primer
Attester
(TrustZone)
Veri
fi
er
Reference Value
Provider
13
Reference values
=
?
Provision references values
Forward results
Evidence
Claims
H( )
Code
measurement
Issue evidence
Provision confidential data
Relying party
Ménétrey et al. — WaTZ: A Trusted WebAssembly Runtime Environment with Remote Attestation for TrustZone — ICDCS ’22 / 22
RQ2: Trust remote execution of Wasm applications
14
• Root of Trust: A secret value
only available in the secure
world for signature
• Secure boot: The system
cannot be booted without
signed bootloader and OS
Secure world
Secure OS
Firmware
Hardware
OS
Hypervisor
Normal world
Boot
Root of trust
Verify
Verify
Start
Ménétrey et al. — WaTZ: A Trusted WebAssembly Runtime Environment with Remote Attestation for TrustZone — ICDCS ’22 / 22
⑤ Provision data
RQ2: Protocol for remote attestation
15
• Protocol: Inspired by SIGMA and Intel SGX, enables us to authenticate
remotely executing Wasm applications and detect genuine platforms
Wasm runtime
(TA)
Attestation service
(Secure OS)
Cloud
(Veri
fi
er)
① Challenge
② Request signing
Code measurement
(Wasm bytecode)
③ Send Evidence
④ Forward evidence
Download certificates
Certi
fi
cates catalog
Extract
public key
IoT device
Ménétrey et al. — WaTZ: A Trusted WebAssembly Runtime Environment with Remote Attestation for TrustZone — ICDCS ’22 / 22
RQ2: Contributions
16
• The foundation to protect
the platform and infer trust
• A remote attestation
protocol to establish trust
with remote Wasm software
Secure world
Secure OS
TA
WaTZ
TA
Firmware
Hardware
OS
App
App
Hypervisor
Communication
Premises
Normal world Wasm
App
Veri
fi
er
Cloud
Trust insurance &
data provisioning
Root of
trust
Verify
Verify
Attestation
service
Contributions
Ménétrey et al. — WaTZ: A Trusted WebAssembly Runtime Environment with Remote Attestation for TrustZone — ICDCS ’22 / 22
RQ3: What about performance?
17
Ménétrey et al. — WaTZ: A Trusted WebAssembly Runtime Environment with Remote Attestation for TrustZone — ICDCS ’22 / 22
2mm
3mm
adi ata
bic
cho
cor
cov
der
doi
dur
f2d
flo gem
ges
gev
gra
h3d
j1d
j2d
lu
lud
mvt nus
s2d
s2k
sym
syr
tri
trm
0
1
2
3
4
1.14
1.16
1.03
1.47
1.26
1.29
1.07
1.06
1.15
1.25
1.49
1.83
1.13
2.47
1.15
1.26
1.03
1.47
1.98
1.77
1.1
1.27
1.13
1.35
1.12
1.72
1.1
1.89
1.14
1.09
1.13
1.15
1.03
1.47
1.26
1.29
1.07
1.06
1.14
1.24
1.49
1.82
1.13
2.46
1.16
1.27
1.03
1.47
1.99
1.76
1.1
1.27
1.14
1.33
1.12
1.72
1.1
1.88
1.15
1.08
Normalised
run
time
J
better
Native: REE (= 1) Wasm: REE (WAMR) TEE (WaTZ)
Wasm performance: micro-benchmarks
18
Polybench/C: slowdown of 1.34x compared to native
• Polybench/C is a compiler performance benchmark
We made these
Ménétrey et al. — WaTZ: A Trusted WebAssembly Runtime Environment with Remote Attestation for TrustZone — ICDCS ’22 / 22
160 161 170 320 140 145 240 142 280 310 230 150 410 260 110
0
1
2
3
4
0.99
0.98
1.01
0.99
1.3
1.14
1.2
1.18
1.22
1.18
1.4
1.38
1.1
0.96
1.28
1.85
1.88
1.89
1.96
1.94
1.98
1.96
1.96
1.95
1.99
2.05
2.01
2.1
2.09
2.08
1.85
1.87
1.91
1.94
1.94
1.96
1.97
1.97
1.97
2.03
2.04
2.06
2.08
2.09
2.1
Native: REE (= 1) TEE Wasm: REE (WAMR) TEE (WaTZ)
130 100 980 250 400 270 510 120 300 210 190 180 290 990 500 520
0
1
2
3
4
1
1.3
1.23
1.62
1.51
1.34
1.22
1.5
1.74
1.27
1.71
1.7
1.66
1.28
1.53
1.78
2.12
2.11
2.06
2.14
2.15
2.14
2.23
2.22
2.21
2.2
2.22
2.23
2.23
2.32
2.32
2.52
2.1
2.11
2.12
2.13
2.14
2.18
2.23
2.24
2.26
2.26
2.28
2.28
2.28
2.3
2.35
2.54
Normalised
run
time
J
better
Wasm performance: macro-benchmarks
19
SQLite Speedtest1 benchmarks
Native (REE)
Wasm (REE)
Native (TEE)
Wasm (TEE)
2.1x
1.31x
1.01x
1.62x
2.12x
We made these
We made these
Ménétrey et al. — WaTZ: A Trusted WebAssembly Runtime Environment with Remote Attestation for TrustZone — ICDCS ’22 / 22
Wasm attestation: benchmarks
20
• We tested the remote attestation protocol using Genann, a neural network
library
• The Wasm application has access to API to control the remote attestation
process: handshake, collect_quote, send_quote and receive_data
Wasm runtime
Genann
Cloud
(Veri
fi
er)
handshake
Secure OS
collect_quote
send_quote
receive_data
Ménétrey et al. — WaTZ: A Trusted WebAssembly Runtime Environment with Remote Attestation for TrustZone — ICDCS ’22 / 22
handshake collect quote send quote Baseline
1.34 s 239 ms 1 ms 1.58 s
,! Baseline Size receive data Total
1.58 s 0.1 MB 168 ms 1.75 s
1.58 s 1 MB 209 ms 1.79 s
Wasm attestation: benchmarks
21
0 2 4 6 8 10 12 14 16 18
0.5
1.0
1.5
2.0
2.5
3.0
Time [ms] (J Lower is better)
Data
size
[MB]
Encrypt Decrypt
Execution time of the function receive_data
in more details
Time taken for the receive_data based on the size of the data
handshake collect quote send quote Baseline
1.34 s 239 ms 1 ms 1.58 s
,! Baseline Size receive data Total
1.58 s 0.1 MB 168 ms 1.75 s
1.58 s 1 MB 209 ms 1.79 s
Execution time of the functions handshake, collect_quote and send_quote
Ménétrey et al. — WaTZ: A Trusted WebAssembly Runtime Environment with Remote Attestation for TrustZone — ICDCS ’22 / 22
Thanks for your attention!
Takeaway
• WaTZ is a trusted WebAssembly runtime in TrustZone for edge and IoT devices with
sufficient performance for practical deployments
• Applications compiled into WebAssembly do not need to be modified, as long as the
system calls are covered by WASI
• Remote attestation is supported thanks to additional hardware components and
integration in the Wasm runtime
• WaTZ is open-source with all the instructions to reproduce the experiments
22
Read me online!

More Related Content

What's hot

Test Driven Development With Python
Test Driven Development With PythonTest Driven Development With Python
Test Driven Development With PythonSiddhi
 
OpenStack構築手順書Mitaka版 (期間限定公開)
OpenStack構築手順書Mitaka版 (期間限定公開)OpenStack構築手順書Mitaka版 (期間限定公開)
OpenStack構築手順書Mitaka版 (期間限定公開)VirtualTech Japan Inc.
 
Automated-Testing-inside-containers
Automated-Testing-inside-containersAutomated-Testing-inside-containers
Automated-Testing-inside-containersManoj Kumar Kumar
 
CI-Jenkins.pptx
CI-Jenkins.pptxCI-Jenkins.pptx
CI-Jenkins.pptxMEDOBEST1
 
Getting started with Jenkins
Getting started with JenkinsGetting started with Jenkins
Getting started with JenkinsEdureka!
 
Run your Appium tests using Docker Android - AppiumConf 2019
Run your Appium tests using Docker Android - AppiumConf 2019Run your Appium tests using Docker Android - AppiumConf 2019
Run your Appium tests using Docker Android - AppiumConf 2019Sargis Sargsyan
 
Automatisation des tests - objectifs et concepts - partie 2
Automatisation des tests  - objectifs et concepts - partie 2Automatisation des tests  - objectifs et concepts - partie 2
Automatisation des tests - objectifs et concepts - partie 2Christophe Rochefolle
 
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...XavierPestel
 
Introduction à l’intégration continue avec Jenkins
Introduction à l’intégration continue avec JenkinsIntroduction à l’intégration continue avec Jenkins
Introduction à l’intégration continue avec JenkinsEric Hogue
 
ATDD Using Robot Framework
ATDD Using Robot FrameworkATDD Using Robot Framework
ATDD Using Robot FrameworkPekka Klärck
 
Alphorm.com Formation Docker (1/2) : Installation et Administration
Alphorm.com Formation Docker (1/2) : Installation et AdministrationAlphorm.com Formation Docker (1/2) : Installation et Administration
Alphorm.com Formation Docker (1/2) : Installation et AdministrationAlphorm
 
Golang Project Layout and Practice
Golang Project Layout and PracticeGolang Project Layout and Practice
Golang Project Layout and PracticeBo-Yi Wu
 
Building Windows Images with Packer
Building Windows Images with PackerBuilding Windows Images with Packer
Building Windows Images with PackerMatt Wrock
 

What's hot (20)

Jenkins
JenkinsJenkins
Jenkins
 
はじめてのScriptable Build Pipeline
はじめてのScriptable Build PipelineはじめてのScriptable Build Pipeline
はじめてのScriptable Build Pipeline
 
Test Driven Development With Python
Test Driven Development With PythonTest Driven Development With Python
Test Driven Development With Python
 
OpenStack構築手順書Mitaka版 (期間限定公開)
OpenStack構築手順書Mitaka版 (期間限定公開)OpenStack構築手順書Mitaka版 (期間限定公開)
OpenStack構築手順書Mitaka版 (期間限定公開)
 
Jenkins.pdf
Jenkins.pdfJenkins.pdf
Jenkins.pdf
 
Automated-Testing-inside-containers
Automated-Testing-inside-containersAutomated-Testing-inside-containers
Automated-Testing-inside-containers
 
CI-Jenkins.pptx
CI-Jenkins.pptxCI-Jenkins.pptx
CI-Jenkins.pptx
 
Docker + WASM.pdf
Docker + WASM.pdfDocker + WASM.pdf
Docker + WASM.pdf
 
Getting started with Jenkins
Getting started with JenkinsGetting started with Jenkins
Getting started with Jenkins
 
Run your Appium tests using Docker Android - AppiumConf 2019
Run your Appium tests using Docker Android - AppiumConf 2019Run your Appium tests using Docker Android - AppiumConf 2019
Run your Appium tests using Docker Android - AppiumConf 2019
 
Automatisation des tests - objectifs et concepts - partie 2
Automatisation des tests  - objectifs et concepts - partie 2Automatisation des tests  - objectifs et concepts - partie 2
Automatisation des tests - objectifs et concepts - partie 2
 
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...
 
Jenkins presentation
Jenkins presentationJenkins presentation
Jenkins presentation
 
Introduction à l’intégration continue avec Jenkins
Introduction à l’intégration continue avec JenkinsIntroduction à l’intégration continue avec Jenkins
Introduction à l’intégration continue avec Jenkins
 
Infrastructure as Code
Infrastructure as CodeInfrastructure as Code
Infrastructure as Code
 
ATDD Using Robot Framework
ATDD Using Robot FrameworkATDD Using Robot Framework
ATDD Using Robot Framework
 
Alphorm.com Formation Docker (1/2) : Installation et Administration
Alphorm.com Formation Docker (1/2) : Installation et AdministrationAlphorm.com Formation Docker (1/2) : Installation et Administration
Alphorm.com Formation Docker (1/2) : Installation et Administration
 
Golang Project Layout and Practice
Golang Project Layout and PracticeGolang Project Layout and Practice
Golang Project Layout and Practice
 
Jenkins CI presentation
Jenkins CI presentationJenkins CI presentation
Jenkins CI presentation
 
Building Windows Images with Packer
Building Windows Images with PackerBuilding Windows Images with Packer
Building Windows Images with Packer
 

Similar to WaTZ: A Trusted WebAssembly Runtime Environment with Remote Attestation for TrustZone - Presentation slides

Attestation Mechanisms for Trusted Execution Environments Demystified - Prese...
Attestation Mechanisms for Trusted Execution Environments Demystified - Prese...Attestation Mechanisms for Trusted Execution Environments Demystified - Prese...
Attestation Mechanisms for Trusted Execution Environments Demystified - Prese...Jämes Ménétrey
 
HiPEAC 2022_Marcelo Pasin presentation
HiPEAC 2022_Marcelo Pasin presentationHiPEAC 2022_Marcelo Pasin presentation
HiPEAC 2022_Marcelo Pasin presentationVEDLIoT Project
 
VMware Developer-Ready Transformation
VMware Developer-Ready TransformationVMware Developer-Ready Transformation
VMware Developer-Ready TransformationVMware Tanzu
 
WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...
WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...
WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...Amir Zmora
 
IoT Tech Expo 2023_Marcelo Pasin presentation
IoT Tech Expo 2023_Marcelo Pasin presentationIoT Tech Expo 2023_Marcelo Pasin presentation
IoT Tech Expo 2023_Marcelo Pasin presentationVEDLIoT Project
 
Dependable Cloud Comuting
Dependable Cloud ComutingDependable Cloud Comuting
Dependable Cloud ComutingKazuhiko Kato
 
Automated Deployment and Management of Edge Clouds
Automated Deployment and Management of Edge CloudsAutomated Deployment and Management of Edge Clouds
Automated Deployment and Management of Edge CloudsJay Bryant
 
Twine: An Embedded Trusted Runtime for WebAssembly - Presentation slides
Twine: An Embedded Trusted Runtime for WebAssembly - Presentation slidesTwine: An Embedded Trusted Runtime for WebAssembly - Presentation slides
Twine: An Embedded Trusted Runtime for WebAssembly - Presentation slidesJämes Ménétrey
 
DEVNET-1169 CI/CT/CD on a Micro Services Applications using Docker, Salt & Ni...
DEVNET-1169	CI/CT/CD on a Micro Services Applications using Docker, Salt & Ni...DEVNET-1169	CI/CT/CD on a Micro Services Applications using Docker, Salt & Ni...
DEVNET-1169 CI/CT/CD on a Micro Services Applications using Docker, Salt & Ni...Cisco DevNet
 
VMworld 2015: vCloud Air 2015 – Getting Started with Hybrid Cloud
VMworld 2015: vCloud Air 2015 – Getting Started with Hybrid CloudVMworld 2015: vCloud Air 2015 – Getting Started with Hybrid Cloud
VMworld 2015: vCloud Air 2015 – Getting Started with Hybrid CloudVMworld
 
Slash Avionics Integration Costs with DO-178C Certifiable Connectivity Software
Slash Avionics Integration Costs with DO-178C Certifiable Connectivity SoftwareSlash Avionics Integration Costs with DO-178C Certifiable Connectivity Software
Slash Avionics Integration Costs with DO-178C Certifiable Connectivity SoftwareReal-Time Innovations (RTI)
 
Slide DevSecOps Microservices
Slide DevSecOps Microservices Slide DevSecOps Microservices
Slide DevSecOps Microservices Hendri Karisma
 
OpenShift Taiwan Vol.1 Technology Overview
OpenShift Taiwan Vol.1 Technology OverviewOpenShift Taiwan Vol.1 Technology Overview
OpenShift Taiwan Vol.1 Technology OverviewJason Peng
 
Schneider-Electric & NextNine – Comparing Remote Connectivity Solutions
Schneider-Electric & NextNine – Comparing Remote Connectivity SolutionsSchneider-Electric & NextNine – Comparing Remote Connectivity Solutions
Schneider-Electric & NextNine – Comparing Remote Connectivity SolutionsHoneywell
 
Instrumenting the real-time web: Node.js in production
Instrumenting the real-time web: Node.js in productionInstrumenting the real-time web: Node.js in production
Instrumenting the real-time web: Node.js in productionbcantrill
 
[OpenStack Days Korea 2016] An SDN Pioneer's Vision of Networking
[OpenStack Days Korea 2016] An SDN Pioneer's Vision of Networking[OpenStack Days Korea 2016] An SDN Pioneer's Vision of Networking
[OpenStack Days Korea 2016] An SDN Pioneer's Vision of NetworkingOpenStack Korea Community
 
MS Cloud Day - Deploying and monitoring windows azure applications
MS Cloud Day - Deploying and monitoring windows azure applicationsMS Cloud Day - Deploying and monitoring windows azure applications
MS Cloud Day - Deploying and monitoring windows azure applicationsSpiffy
 
Dotcom monitor platform overview
Dotcom monitor platform overviewDotcom monitor platform overview
Dotcom monitor platform overviewtrippj
 
Microsoft System Center 2012 R2 Overview - Presented by Atidan
Microsoft System Center 2012 R2 Overview - Presented by AtidanMicrosoft System Center 2012 R2 Overview - Presented by Atidan
Microsoft System Center 2012 R2 Overview - Presented by AtidanDavid J Rosenthal
 
eMagic-Data Center Management System
eMagic-Data Center Management SystemeMagic-Data Center Management System
eMagic-Data Center Management SystemSandesh Sonar
 

Similar to WaTZ: A Trusted WebAssembly Runtime Environment with Remote Attestation for TrustZone - Presentation slides (20)

Attestation Mechanisms for Trusted Execution Environments Demystified - Prese...
Attestation Mechanisms for Trusted Execution Environments Demystified - Prese...Attestation Mechanisms for Trusted Execution Environments Demystified - Prese...
Attestation Mechanisms for Trusted Execution Environments Demystified - Prese...
 
HiPEAC 2022_Marcelo Pasin presentation
HiPEAC 2022_Marcelo Pasin presentationHiPEAC 2022_Marcelo Pasin presentation
HiPEAC 2022_Marcelo Pasin presentation
 
VMware Developer-Ready Transformation
VMware Developer-Ready TransformationVMware Developer-Ready Transformation
VMware Developer-Ready Transformation
 
WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...
WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...
WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...
 
IoT Tech Expo 2023_Marcelo Pasin presentation
IoT Tech Expo 2023_Marcelo Pasin presentationIoT Tech Expo 2023_Marcelo Pasin presentation
IoT Tech Expo 2023_Marcelo Pasin presentation
 
Dependable Cloud Comuting
Dependable Cloud ComutingDependable Cloud Comuting
Dependable Cloud Comuting
 
Automated Deployment and Management of Edge Clouds
Automated Deployment and Management of Edge CloudsAutomated Deployment and Management of Edge Clouds
Automated Deployment and Management of Edge Clouds
 
Twine: An Embedded Trusted Runtime for WebAssembly - Presentation slides
Twine: An Embedded Trusted Runtime for WebAssembly - Presentation slidesTwine: An Embedded Trusted Runtime for WebAssembly - Presentation slides
Twine: An Embedded Trusted Runtime for WebAssembly - Presentation slides
 
DEVNET-1169 CI/CT/CD on a Micro Services Applications using Docker, Salt & Ni...
DEVNET-1169	CI/CT/CD on a Micro Services Applications using Docker, Salt & Ni...DEVNET-1169	CI/CT/CD on a Micro Services Applications using Docker, Salt & Ni...
DEVNET-1169 CI/CT/CD on a Micro Services Applications using Docker, Salt & Ni...
 
VMworld 2015: vCloud Air 2015 – Getting Started with Hybrid Cloud
VMworld 2015: vCloud Air 2015 – Getting Started with Hybrid CloudVMworld 2015: vCloud Air 2015 – Getting Started with Hybrid Cloud
VMworld 2015: vCloud Air 2015 – Getting Started with Hybrid Cloud
 
Slash Avionics Integration Costs with DO-178C Certifiable Connectivity Software
Slash Avionics Integration Costs with DO-178C Certifiable Connectivity SoftwareSlash Avionics Integration Costs with DO-178C Certifiable Connectivity Software
Slash Avionics Integration Costs with DO-178C Certifiable Connectivity Software
 
Slide DevSecOps Microservices
Slide DevSecOps Microservices Slide DevSecOps Microservices
Slide DevSecOps Microservices
 
OpenShift Taiwan Vol.1 Technology Overview
OpenShift Taiwan Vol.1 Technology OverviewOpenShift Taiwan Vol.1 Technology Overview
OpenShift Taiwan Vol.1 Technology Overview
 
Schneider-Electric & NextNine – Comparing Remote Connectivity Solutions
Schneider-Electric & NextNine – Comparing Remote Connectivity SolutionsSchneider-Electric & NextNine – Comparing Remote Connectivity Solutions
Schneider-Electric & NextNine – Comparing Remote Connectivity Solutions
 
Instrumenting the real-time web: Node.js in production
Instrumenting the real-time web: Node.js in productionInstrumenting the real-time web: Node.js in production
Instrumenting the real-time web: Node.js in production
 
[OpenStack Days Korea 2016] An SDN Pioneer's Vision of Networking
[OpenStack Days Korea 2016] An SDN Pioneer's Vision of Networking[OpenStack Days Korea 2016] An SDN Pioneer's Vision of Networking
[OpenStack Days Korea 2016] An SDN Pioneer's Vision of Networking
 
MS Cloud Day - Deploying and monitoring windows azure applications
MS Cloud Day - Deploying and monitoring windows azure applicationsMS Cloud Day - Deploying and monitoring windows azure applications
MS Cloud Day - Deploying and monitoring windows azure applications
 
Dotcom monitor platform overview
Dotcom monitor platform overviewDotcom monitor platform overview
Dotcom monitor platform overview
 
Microsoft System Center 2012 R2 Overview - Presented by Atidan
Microsoft System Center 2012 R2 Overview - Presented by AtidanMicrosoft System Center 2012 R2 Overview - Presented by Atidan
Microsoft System Center 2012 R2 Overview - Presented by Atidan
 
eMagic-Data Center Management System
eMagic-Data Center Management SystemeMagic-Data Center Management System
eMagic-Data Center Management System
 

Recently uploaded

Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Intelisync
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 

Recently uploaded (20)

Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 

WaTZ: A Trusted WebAssembly Runtime Environment with Remote Attestation for TrustZone - Presentation slides

  • 1. WaTZ: A Trusted WebAssembly Runtime Environment with Remote Attestation for TrustZone Jämes Ménétrey Marcelo Pasin Pascal Felber Valerio Schiavoni University of Neuchâtel, Switzerland July 10-13, 2022 42nd IEEE International Conference on Distributed Computing Systems (ICDCS ’22), Bologna, Italy 🇮🇹
  • 2. Ménétrey et al. — WaTZ: A Trusted WebAssembly Runtime Environment with Remote Attestation for TrustZone — ICDCS ’22 / 22 Context Developers Your apps • We process and store sensitive data on edge or IoT devices • Developers deploy applications on those systems they assume to be trustworthy • How can we better protect deployed applications and systems? 2 IoT devices Hardware Firmware Premises OS Software stack Your apps Attack surface of your system
  • 3. Ménétrey et al. — WaTZ: A Trusted WebAssembly Runtime Environment with Remote Attestation for TrustZone — ICDCS ’22 / 22 Context (cont.) Hardware Firmware Premises OS Software stack Your apps Attack surface of your system • One way to better secure applications and systems is to use Trusted Execution Environments (TEEs) • There are many TEE technologies, the most widespread on IoT devices is Arm TrustZone • TEEs isolate applications from the rest of the system 3
  • 4. Ménétrey et al. — WaTZ: A Trusted WebAssembly Runtime Environment with Remote Attestation for TrustZone — ICDCS ’22 / 22 Primer on Arm TrustZone 4 Attack surface of your system Secure world Secure OS TA TA TA Secure Monitor Hardware OS App App App Hypervisor Communication Premises Normal world • TrustZone is split in two worlds • Trusted Application (TA) is isolated from the normal world • Limited amount of memory in the TEE, this reduces the size of the attack surface • We use OP-TEE, an open- source trusted OS
  • 5. Ménétrey et al. — WaTZ: A Trusted WebAssembly Runtime Environment with Remote Attestation for TrustZone — ICDCS ’22 / 22 OP-TEE limitations and pitfalls 5 • No POSIX API (e.g., printf), but Global Platform (GP) API ➡ Hard to write or migrate existing applications • SDK only available for C programming language ➡ Constrained development environment • TrustZone does not come with attestation ➡ Lack of trust when deploying applications
  • 6. Ménétrey et al. — WaTZ: A Trusted WebAssembly Runtime Environment with Remote Attestation for TrustZone — ICDCS ’22 / 22 How to ease the development experience? 6
  • 7. Ménétrey et al. — WaTZ: A Trusted WebAssembly Runtime Environment with Remote Attestation for TrustZone — ICDCS ’22 / 22 Introduction to WebAssembly 7 • WebAssembly (Wasm) is a standard for a lightweight bytecode format • A compilation target for most mainstream programming languages • Initially meant for the web, can be used anywhere today • Include WebAssembly System Interface (WASI) for system interactions Image: Standardising WASI, Mozilla, 2020 developer WebAssembly runtime clang user cargo tinygo
  • 8. Ménétrey et al. — WaTZ: A Trusted WebAssembly Runtime Environment with Remote Attestation for TrustZone — ICDCS ’22 / 22 RQ1: Challenges when embedding Wasm into TrustZone 8 • Interoperability: Leverage WASI to replace POSIX and deliver features bound to the TEE • Performance: Execution of ahead-of-time compiled Wasm binaries App Secure world Normal world Suppl. Trusted app Wasm runtime WASI Secure OS Wasm app RPC OS GP Wasm app Contributions
  • 9. Ménétrey et al. — WaTZ: A Trusted WebAssembly Runtime Environment with Remote Attestation for TrustZone — ICDCS ’22 / 22 RQ1: Results 9 • Language agnostic: Wasm introduces an intermediate bytecode, enabling to use various programming languages • Abstraction: Wasm applications no longer depend on TEE-specific concerns • Sandbox: The hosted app and the secure OS are mutually distrusted App Secure world Normal world Suppl. Trusted app Wasm runtime WASI Secure OS Wasm app RPC OS GP Wasm app Contributions
  • 10. Ménétrey et al. — WaTZ: A Trusted WebAssembly Runtime Environment with Remote Attestation for TrustZone — ICDCS ’22 / 22 RQ1: Contributions 10 • An embedded Wasm runtime in the TEE to abstract TEE-specific concerns for the hosted applications, called WaTZ • An easy way to run applications in the TEE Secure world Secure OS TA WaTZ TA Secure Monitor Hardware OS App App App Hypervisor Communication Premises Normal world Wasm App Contributions
  • 11. Ménétrey et al. — WaTZ: A Trusted WebAssembly Runtime Environment with Remote Attestation for TrustZone — ICDCS ’22 / 22 RQ2: How to trust a remotely executed application? 11
  • 12. Ménétrey et al. — WaTZ: A Trusted WebAssembly Runtime Environment with Remote Attestation for TrustZone — ICDCS ’22 / 22 Attestation of applications • Attestation is a way to prove the trustworthiness of a piece of software • TEEs help obtaining such a proof, called evidence • Remote attestation provides this proof for remotely executed software • Remote attestation is present in many state-of-the-art TEEs, such as Intel SGX, but is missing from TrustZone 12
  • 13. Ménétrey et al. — WaTZ: A Trusted WebAssembly Runtime Environment with Remote Attestation for TrustZone — ICDCS ’22 / 22 Remote attestation primer Attester (TrustZone) Veri fi er Reference Value Provider 13 Reference values = ? Provision references values Forward results Evidence Claims H( ) Code measurement Issue evidence Provision confidential data Relying party
  • 14. Ménétrey et al. — WaTZ: A Trusted WebAssembly Runtime Environment with Remote Attestation for TrustZone — ICDCS ’22 / 22 RQ2: Trust remote execution of Wasm applications 14 • Root of Trust: A secret value only available in the secure world for signature • Secure boot: The system cannot be booted without signed bootloader and OS Secure world Secure OS Firmware Hardware OS Hypervisor Normal world Boot Root of trust Verify Verify Start
  • 15. Ménétrey et al. — WaTZ: A Trusted WebAssembly Runtime Environment with Remote Attestation for TrustZone — ICDCS ’22 / 22 ⑤ Provision data RQ2: Protocol for remote attestation 15 • Protocol: Inspired by SIGMA and Intel SGX, enables us to authenticate remotely executing Wasm applications and detect genuine platforms Wasm runtime (TA) Attestation service (Secure OS) Cloud (Veri fi er) ① Challenge ② Request signing Code measurement (Wasm bytecode) ③ Send Evidence ④ Forward evidence Download certificates Certi fi cates catalog Extract public key IoT device
  • 16. Ménétrey et al. — WaTZ: A Trusted WebAssembly Runtime Environment with Remote Attestation for TrustZone — ICDCS ’22 / 22 RQ2: Contributions 16 • The foundation to protect the platform and infer trust • A remote attestation protocol to establish trust with remote Wasm software Secure world Secure OS TA WaTZ TA Firmware Hardware OS App App Hypervisor Communication Premises Normal world Wasm App Veri fi er Cloud Trust insurance & data provisioning Root of trust Verify Verify Attestation service Contributions
  • 17. Ménétrey et al. — WaTZ: A Trusted WebAssembly Runtime Environment with Remote Attestation for TrustZone — ICDCS ’22 / 22 RQ3: What about performance? 17
  • 18. Ménétrey et al. — WaTZ: A Trusted WebAssembly Runtime Environment with Remote Attestation for TrustZone — ICDCS ’22 / 22 2mm 3mm adi ata bic cho cor cov der doi dur f2d flo gem ges gev gra h3d j1d j2d lu lud mvt nus s2d s2k sym syr tri trm 0 1 2 3 4 1.14 1.16 1.03 1.47 1.26 1.29 1.07 1.06 1.15 1.25 1.49 1.83 1.13 2.47 1.15 1.26 1.03 1.47 1.98 1.77 1.1 1.27 1.13 1.35 1.12 1.72 1.1 1.89 1.14 1.09 1.13 1.15 1.03 1.47 1.26 1.29 1.07 1.06 1.14 1.24 1.49 1.82 1.13 2.46 1.16 1.27 1.03 1.47 1.99 1.76 1.1 1.27 1.14 1.33 1.12 1.72 1.1 1.88 1.15 1.08 Normalised run time J better Native: REE (= 1) Wasm: REE (WAMR) TEE (WaTZ) Wasm performance: micro-benchmarks 18 Polybench/C: slowdown of 1.34x compared to native • Polybench/C is a compiler performance benchmark We made these
  • 19. Ménétrey et al. — WaTZ: A Trusted WebAssembly Runtime Environment with Remote Attestation for TrustZone — ICDCS ’22 / 22 160 161 170 320 140 145 240 142 280 310 230 150 410 260 110 0 1 2 3 4 0.99 0.98 1.01 0.99 1.3 1.14 1.2 1.18 1.22 1.18 1.4 1.38 1.1 0.96 1.28 1.85 1.88 1.89 1.96 1.94 1.98 1.96 1.96 1.95 1.99 2.05 2.01 2.1 2.09 2.08 1.85 1.87 1.91 1.94 1.94 1.96 1.97 1.97 1.97 2.03 2.04 2.06 2.08 2.09 2.1 Native: REE (= 1) TEE Wasm: REE (WAMR) TEE (WaTZ) 130 100 980 250 400 270 510 120 300 210 190 180 290 990 500 520 0 1 2 3 4 1 1.3 1.23 1.62 1.51 1.34 1.22 1.5 1.74 1.27 1.71 1.7 1.66 1.28 1.53 1.78 2.12 2.11 2.06 2.14 2.15 2.14 2.23 2.22 2.21 2.2 2.22 2.23 2.23 2.32 2.32 2.52 2.1 2.11 2.12 2.13 2.14 2.18 2.23 2.24 2.26 2.26 2.28 2.28 2.28 2.3 2.35 2.54 Normalised run time J better Wasm performance: macro-benchmarks 19 SQLite Speedtest1 benchmarks Native (REE) Wasm (REE) Native (TEE) Wasm (TEE) 2.1x 1.31x 1.01x 1.62x 2.12x We made these We made these
  • 20. Ménétrey et al. — WaTZ: A Trusted WebAssembly Runtime Environment with Remote Attestation for TrustZone — ICDCS ’22 / 22 Wasm attestation: benchmarks 20 • We tested the remote attestation protocol using Genann, a neural network library • The Wasm application has access to API to control the remote attestation process: handshake, collect_quote, send_quote and receive_data Wasm runtime Genann Cloud (Veri fi er) handshake Secure OS collect_quote send_quote receive_data
  • 21. Ménétrey et al. — WaTZ: A Trusted WebAssembly Runtime Environment with Remote Attestation for TrustZone — ICDCS ’22 / 22 handshake collect quote send quote Baseline 1.34 s 239 ms 1 ms 1.58 s ,! Baseline Size receive data Total 1.58 s 0.1 MB 168 ms 1.75 s 1.58 s 1 MB 209 ms 1.79 s Wasm attestation: benchmarks 21 0 2 4 6 8 10 12 14 16 18 0.5 1.0 1.5 2.0 2.5 3.0 Time [ms] (J Lower is better) Data size [MB] Encrypt Decrypt Execution time of the function receive_data in more details Time taken for the receive_data based on the size of the data handshake collect quote send quote Baseline 1.34 s 239 ms 1 ms 1.58 s ,! Baseline Size receive data Total 1.58 s 0.1 MB 168 ms 1.75 s 1.58 s 1 MB 209 ms 1.79 s Execution time of the functions handshake, collect_quote and send_quote
  • 22. Ménétrey et al. — WaTZ: A Trusted WebAssembly Runtime Environment with Remote Attestation for TrustZone — ICDCS ’22 / 22 Thanks for your attention! Takeaway • WaTZ is a trusted WebAssembly runtime in TrustZone for edge and IoT devices with sufficient performance for practical deployments • Applications compiled into WebAssembly do not need to be modified, as long as the system calls are covered by WASI • Remote attestation is supported thanks to additional hardware components and integration in the Wasm runtime • WaTZ is open-source with all the instructions to reproduce the experiments 22 Read me online!