acctee: a webassembly-based two-way sandbox for trusted ... › users › goltzsch › slides ›...

37
ATEE : A WebAssembly-based Two-way Sandbox for Trusted Resource Accounting MIDDLEWARE , UC Davis David Goltzsche , Manuel Nieke, Thomas Knauth, and Rüdiger Kapitza [email protected] @d_goltzsche TU Braunschweig, Germany Intel, United States

Upload: others

Post on 26-Jun-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: AccTEE: A WebAssembly-based Two-way Sandbox for Trusted ... › users › goltzsch › slides › acctee-mw19.pdf · AccTEE: A WebAssembly-based Two-way Sandbox for Trusted Resource

AccTEE: A WebAssembly-based Two-waySandbox for Trusted Resource AccountingMIDDLEWARE 2019, UC Davis

David Goltzsche,1 Manuel Nieke,1 Thomas Knauth,2 and Rüdiger Kapitza1

[email protected]@d_goltzsche

1TU Braunschweig, Germany2Intel, United States

Page 2: AccTEE: A WebAssembly-based Two-way Sandbox for Trusted ... › users › goltzsch › slides › acctee-mw19.pdf · AccTEE: A WebAssembly-based Two-way Sandbox for Trusted Resource

Design of AccTEE Evaluation of AccTEE Related Work Conclusion

Offloading Computations

Offloading computations toremote infrastructure

Cloud ComputingVolunteer ComputingClient-side Web applications

Reasons:Remotely available resourcesMoving computations closer to customers

Usually two entities:Workload providerInfrastructure provider

Accounting of consumed resources in some cases

2019-12-11 D. Goltzsche, TU Braunschweig, Germany AccTEE, D. Goltzsche et al. Page 2

Page 3: AccTEE: A WebAssembly-based Two-way Sandbox for Trusted ... › users › goltzsch › slides › acctee-mw19.pdf · AccTEE: A WebAssembly-based Two-way Sandbox for Trusted Resource

Design of AccTEE Evaluation of AccTEE Related Work Conclusion

Offloading Computations

Offloading computations toremote infrastructure

Cloud ComputingVolunteer ComputingClient-side Web applications

Reasons:Remotely available resourcesMoving computations closer to customers

Usually two entities:Workload providerInfrastructure provider

Accounting of consumed resources in some cases

2019-12-11 D. Goltzsche, TU Braunschweig, Germany AccTEE, D. Goltzsche et al. Page 2

Page 4: AccTEE: A WebAssembly-based Two-way Sandbox for Trusted ... › users › goltzsch › slides › acctee-mw19.pdf · AccTEE: A WebAssembly-based Two-way Sandbox for Trusted Resource

Design of AccTEE Evaluation of AccTEE Related Work Conclusion

Offloading Computations

Offloading computations toremote infrastructure

Cloud ComputingVolunteer ComputingClient-side Web applications

Reasons:Remotely available resourcesMoving computations closer to customers

Usually two entities:Workload providerInfrastructure provider

Accounting of consumed resources in some cases

2019-12-11 D. Goltzsche, TU Braunschweig, Germany AccTEE, D. Goltzsche et al. Page 2

Page 5: AccTEE: A WebAssembly-based Two-way Sandbox for Trusted ... › users › goltzsch › slides › acctee-mw19.pdf · AccTEE: A WebAssembly-based Two-way Sandbox for Trusted Resource

Design of AccTEE Evaluation of AccTEE Related Work Conclusion

Resource Accounting

Cloud ComputingCPU and memory usage, I/O operations

Volunteer ComputingLogging of donated CPU time

Client-side Web applicationsNo accounting in practice

2019-12-11 D. Goltzsche, TU Braunschweig, Germany AccTEE, D. Goltzsche et al. Page 3

Page 6: AccTEE: A WebAssembly-based Two-way Sandbox for Trusted ... › users › goltzsch › slides › acctee-mw19.pdf · AccTEE: A WebAssembly-based Two-way Sandbox for Trusted Resource

Design of AccTEE Evaluation of AccTEE Related Work Conclusion

Resource Accounting in Practice

Accounting on different levelsTask level (e.g. for completed tasks)Hardware level (e.g. CPU usage)

Resources always accounted byinfrastructure provider

Current approaches of resource accounting require trustin the infrastructure provider

2019-12-11 D. Goltzsche, TU Braunschweig, Germany AccTEE, D. Goltzsche et al. Page 4

Page 7: AccTEE: A WebAssembly-based Two-way Sandbox for Trusted ... › users › goltzsch › slides › acctee-mw19.pdf · AccTEE: A WebAssembly-based Two-way Sandbox for Trusted Resource

Design of AccTEE Evaluation of AccTEE Related Work Conclusion

Resource Accounting in Practice

Accounting on different levelsTask level (e.g. for completed tasks)Hardware level (e.g. CPU usage)

Resources always accounted byinfrastructure provider

Current approaches of resource accounting require trustin the infrastructure provider

2019-12-11 D. Goltzsche, TU Braunschweig, Germany AccTEE, D. Goltzsche et al. Page 4

Page 8: AccTEE: A WebAssembly-based Two-way Sandbox for Trusted ... › users › goltzsch › slides › acctee-mw19.pdf · AccTEE: A WebAssembly-based Two-way Sandbox for Trusted Resource

Design of AccTEE Evaluation of AccTEE Related Work Conclusion

Trust Relationship

Malicious infrastructure provider can …Spy on provided code or dataFake accounting results (overbilling)

Malicious workload provider can …Provide crafted workload to destroyexecution environmentTrick resource accounting

Problem: Limited trust between infrastructure and workload provider

2019-12-11 D. Goltzsche, TU Braunschweig, Germany AccTEE, D. Goltzsche et al. Page 5

Page 9: AccTEE: A WebAssembly-based Two-way Sandbox for Trusted ... › users › goltzsch › slides › acctee-mw19.pdf · AccTEE: A WebAssembly-based Two-way Sandbox for Trusted Resource

Design of AccTEE Evaluation of AccTEE Related Work Conclusion

Trust Relationship

Malicious infrastructure provider can …Spy on provided code or dataFake accounting results (overbilling)

Malicious workload provider can …Provide crafted workload to destroyexecution environmentTrick resource accounting

Problem: Limited trust between infrastructure and workload provider

2019-12-11 D. Goltzsche, TU Braunschweig, Germany AccTEE, D. Goltzsche et al. Page 5

Page 10: AccTEE: A WebAssembly-based Two-way Sandbox for Trusted ... › users › goltzsch › slides › acctee-mw19.pdf · AccTEE: A WebAssembly-based Two-way Sandbox for Trusted Resource

Design of AccTEE Evaluation of AccTEE Related Work Conclusion

Outline

Design of AccTEE

Evaluation of AccTEE

Related Work

Conclusion

2019-12-11 D. Goltzsche, TU Braunschweig, Germany AccTEE, D. Goltzsche et al. Page 6

Page 11: AccTEE: A WebAssembly-based Two-way Sandbox for Trusted ... › users › goltzsch › slides › acctee-mw19.pdf · AccTEE: A WebAssembly-based Two-way Sandbox for Trusted Resource

Design of AccTEE Evaluation of AccTEE Related Work Conclusion

Approach of AccTEE

workloadprovider

infrastructureprovider

1. Workload provider provides workload2. Infrastructure provider executes workload in sandbox3. Sandbox produces mutually trusted resource usage log

How do we get an sandbox with mutually trusted resource accounting?

2019-12-11 D. Goltzsche, TU Braunschweig, Germany AccTEE, D. Goltzsche et al. Page 7

Page 12: AccTEE: A WebAssembly-based Two-way Sandbox for Trusted ... › users › goltzsch › slides › acctee-mw19.pdf · AccTEE: A WebAssembly-based Two-way Sandbox for Trusted Resource

Design of AccTEE Evaluation of AccTEE Related Work Conclusion

Approach of AccTEE

provides workload

workloadprovider

infrastructureprovider

1. Workload provider provides workload2. Infrastructure provider executes workload in sandbox3. Sandbox produces mutually trusted resource usage log

How do we get an sandbox with mutually trusted resource accounting?

2019-12-11 D. Goltzsche, TU Braunschweig, Germany AccTEE, D. Goltzsche et al. Page 7

Page 13: AccTEE: A WebAssembly-based Two-way Sandbox for Trusted ... › users › goltzsch › slides › acctee-mw19.pdf · AccTEE: A WebAssembly-based Two-way Sandbox for Trusted Resource

Design of AccTEE Evaluation of AccTEE Related Work Conclusion

Approach of AccTEE

sandboxprovides workload

workloadprovider

infrastructureprovider

1. Workload provider provides workload2. Infrastructure provider executes workload in sandbox3. Sandbox produces mutually trusted resource usage log

How do we get an sandbox with mutually trusted resource accounting?

2019-12-11 D. Goltzsche, TU Braunschweig, Germany AccTEE, D. Goltzsche et al. Page 7

Page 14: AccTEE: A WebAssembly-based Two-way Sandbox for Trusted ... › users › goltzsch › slides › acctee-mw19.pdf · AccTEE: A WebAssembly-based Two-way Sandbox for Trusted Resource

Design of AccTEE Evaluation of AccTEE Related Work Conclusion

Approach of AccTEE

resourceusage log

produceslog

sandboxprovides workload

workloadprovider

infrastructureprovider

1. Workload provider provides workload2. Infrastructure provider executes workload in sandbox3. Sandbox produces mutually trusted resource usage log

How do we get an sandbox with mutually trusted resource accounting?

2019-12-11 D. Goltzsche, TU Braunschweig, Germany AccTEE, D. Goltzsche et al. Page 7

Page 15: AccTEE: A WebAssembly-based Two-way Sandbox for Trusted ... › users › goltzsch › slides › acctee-mw19.pdf · AccTEE: A WebAssembly-based Two-way Sandbox for Trusted Resource

Design of AccTEE Evaluation of AccTEE Related Work Conclusion

Approach of AccTEE

resourceusage log

produceslog

sandboxprovides workload

workloadprovider

infrastructureprovider

1. Workload provider provides workload2. Infrastructure provider executes workload in sandbox3. Sandbox produces mutually trusted resource usage log

How do we get an sandbox with mutually trusted resource accounting?

2019-12-11 D. Goltzsche, TU Braunschweig, Germany AccTEE, D. Goltzsche et al. Page 7

Page 16: AccTEE: A WebAssembly-based Two-way Sandbox for Trusted ... › users › goltzsch › slides › acctee-mw19.pdf · AccTEE: A WebAssembly-based Two-way Sandbox for Trusted Resource

Design of AccTEE Evaluation of AccTEE Related Work Conclusion

AccTEE’s Sandbox

Accountable sandbox is acombination of two sandboxes

Execution sandboxShields host from workloadShields accounting from workload

Accounting sandboxShields workload from hostShields accounting from host

untrustedhost

accounting sandbox

execution sandbox

workload

2019-12-11 D. Goltzsche, TU Braunschweig, Germany AccTEE, D. Goltzsche et al. Page 8

Page 17: AccTEE: A WebAssembly-based Two-way Sandbox for Trusted ... › users › goltzsch › slides › acctee-mw19.pdf · AccTEE: A WebAssembly-based Two-way Sandbox for Trusted Resource

Design of AccTEE Evaluation of AccTEE Related Work Conclusion

Background: WebAssembly (WASM)

A platform independent binary instruction format

Initially designed for computations in browsersStandalone execution emerging

Goal: a safe, fast and portable low-level code

Application code is compiled to WASM

WebAssembly code executed in sandboxesBased on software fault isolation

2019-12-11 D. Goltzsche, TU Braunschweig, Germany AccTEE, D. Goltzsche et al. Page 9

Page 18: AccTEE: A WebAssembly-based Two-way Sandbox for Trusted ... › users › goltzsch › slides › acctee-mw19.pdf · AccTEE: A WebAssembly-based Two-way Sandbox for Trusted Resource

Design of AccTEE Evaluation of AccTEE Related Work Conclusion

Background: Intel SGX

x86 instruction set extension

Creation of trusted execution environments(TEEs)→ enclaves

Execution and data inside enclavesprotected from privileged software

Hardware-based memory integrityprotection and encryption

Only CPU is trusted

Remote attestation of enclaves

Limitation: enclave page cache (EPC) size

application

enclave

operating system

hardwareCPU

2019-12-11 D. Goltzsche, TU Braunschweig, Germany AccTEE, D. Goltzsche et al. Page 10

Page 19: AccTEE: A WebAssembly-based Two-way Sandbox for Trusted ... › users › goltzsch › slides › acctee-mw19.pdf · AccTEE: A WebAssembly-based Two-way Sandbox for Trusted Resource

Design of AccTEE Evaluation of AccTEE Related Work Conclusion

AccTEE’s Two-way Sandbox

AccTEE combines two sandboxesExecution sandbox

Based on WebAssembly

Accounting sandboxBased on Intel SGXCode instrumentation for resourceaccounting

AccTEE combines SGX and WebAssembly to create a two-way sandbox

AccTEE instruments WebAssembly codefor mutually trusted resource accounting

2019-12-11 D. Goltzsche, TU Braunschweig, Germany AccTEE, D. Goltzsche et al. Page 11

Page 20: AccTEE: A WebAssembly-based Two-way Sandbox for Trusted ... › users › goltzsch › slides › acctee-mw19.pdf · AccTEE: A WebAssembly-based Two-way Sandbox for Trusted Resource

Design of AccTEE Evaluation of AccTEE Related Work Conclusion

AccTEE’s Two-way Sandbox

AccTEE combines two sandboxesExecution sandbox

Based on WebAssembly

Accounting sandboxBased on Intel SGXCode instrumentation for resourceaccounting

AccTEE combines SGX and WebAssembly to create a two-way sandbox

AccTEE instruments WebAssembly codefor mutually trusted resource accounting

2019-12-11 D. Goltzsche, TU Braunschweig, Germany AccTEE, D. Goltzsche et al. Page 11

Page 21: AccTEE: A WebAssembly-based Two-way Sandbox for Trusted ... › users › goltzsch › slides › acctee-mw19.pdf · AccTEE: A WebAssembly-based Two-way Sandbox for Trusted Resource

Design of AccTEE Evaluation of AccTEE Related Work Conclusion

AccTEE’s Two-way Sandbox

AccTEE combines two sandboxesExecution sandbox

Based on WebAssembly

Accounting sandboxBased on Intel SGXCode instrumentation for resourceaccounting

AccTEE combines SGX and WebAssembly to create a two-way sandbox

AccTEE instruments WebAssembly codefor mutually trusted resource accounting

2019-12-11 D. Goltzsche, TU Braunschweig, Germany AccTEE, D. Goltzsche et al. Page 11

Page 22: AccTEE: A WebAssembly-based Two-way Sandbox for Trusted ... › users › goltzsch › slides › acctee-mw19.pdf · AccTEE: A WebAssembly-based Two-way Sandbox for Trusted Resource

Design of AccTEE Evaluation of AccTEE Related Work Conclusion

WebAssembly Code InstrumentationGoal: Count WebAssembly instructions

naive instrumentationBased on basic blocksCounter incremented at end of block

flow-based optimizationIncrement by minimum instruction countUpdate counter based on control flow

loop-based optimizationIdentify loop iterators with constant incrementsIncrement counter once after loop

Different instruction costsAccTEE uses a weighted instruction counter

get_global 12

set_local 3

i32.lt_s

i f ( r e s u l t i 3 2 )

get_local 0

i32.load offset=4

e l s e

get_local 4

i32.const 255

i32.and

end

tee_local 4

get_local 1

2019-12-11 D. Goltzsche, TU Braunschweig, Germany AccTEE, D. Goltzsche et al. Page 12

Page 23: AccTEE: A WebAssembly-based Two-way Sandbox for Trusted ... › users › goltzsch › slides › acctee-mw19.pdf · AccTEE: A WebAssembly-based Two-way Sandbox for Trusted Resource

Design of AccTEE Evaluation of AccTEE Related Work Conclusion

WebAssembly Code InstrumentationGoal: Count WebAssembly instructions

naive instrumentationBased on basic blocksCounter incremented at end of block

flow-based optimizationIncrement by minimum instruction countUpdate counter based on control flow

loop-based optimizationIdentify loop iterators with constant incrementsIncrement counter once after loop

Different instruction costsAccTEE uses a weighted instruction counter

get_global 12

set_local 3

i32.lt_s<Increment counter by 3>i f ( r e s u l t i 3 2 )

get_local 0

i32.load offset=4<Increment counter by 2>

e l s e

get_local 4

i32.const 255

i32.and<Increment counter by 3>

end

tee_local 4

get_local 1

<Increment counter by 2>

2019-12-11 D. Goltzsche, TU Braunschweig, Germany AccTEE, D. Goltzsche et al. Page 12

Page 24: AccTEE: A WebAssembly-based Two-way Sandbox for Trusted ... › users › goltzsch › slides › acctee-mw19.pdf · AccTEE: A WebAssembly-based Two-way Sandbox for Trusted Resource

Design of AccTEE Evaluation of AccTEE Related Work Conclusion

WebAssembly Code InstrumentationGoal: Count WebAssembly instructions

naive instrumentationBased on basic blocksCounter incremented at end of block

flow-based optimizationIncrement by minimum instruction countUpdate counter based on control flow

loop-based optimizationIdentify loop iterators with constant incrementsIncrement counter once after loop

Different instruction costsAccTEE uses a weighted instruction counter

get_global 12

set_local 3

i32.lt_s

i f ( r e s u l t i 3 2 )

get_local 0

i32.load offset=4

e l s e

get_local 4

i32.const 255

i32.and<Increment counter by 1>

end

tee_local 4

get_local 1

<Increment counter by 7>

2019-12-11 D. Goltzsche, TU Braunschweig, Germany AccTEE, D. Goltzsche et al. Page 12

Page 25: AccTEE: A WebAssembly-based Two-way Sandbox for Trusted ... › users › goltzsch › slides › acctee-mw19.pdf · AccTEE: A WebAssembly-based Two-way Sandbox for Trusted Resource

Design of AccTEE Evaluation of AccTEE Related Work Conclusion

AccTEE’s Workflow

Application code(C, C++, Rust, …)

WebAssembly Instrumentation Enclave (IE)

Instrumented WebAssembly

Instrumentation Evidence

Accounting Enclave (AE)

Resource Usage Log

1. Workload provider compiles application to WebAssembly2. WebAssembly is instrumented inside Instrumentation Enclave

Instrumentation evidenceInstrumented WebAssembly code

3. Accounting Enclave verifies evidence and executes WebAssembly code

4. Result: mutually trusted resource usage log

2019-12-11 D. Goltzsche, TU Braunschweig, Germany AccTEE, D. Goltzsche et al. Page 13

Page 26: AccTEE: A WebAssembly-based Two-way Sandbox for Trusted ... › users › goltzsch › slides › acctee-mw19.pdf · AccTEE: A WebAssembly-based Two-way Sandbox for Trusted Resource

Design of AccTEE Evaluation of AccTEE Related Work Conclusion

Example Use Cases

Function-as-a-ServiceTrusted resource accounting in data centers

Volunteer ComputingTrusted resource accounting at clients

Client-side web applicationsTrusted resource accounting in browserse.g. for replacing micro payments

2019-12-11 D. Goltzsche, TU Braunschweig, Germany AccTEE, D. Goltzsche et al. Page 14

Page 27: AccTEE: A WebAssembly-based Two-way Sandbox for Trusted ... › users › goltzsch › slides › acctee-mw19.pdf · AccTEE: A WebAssembly-based Two-way Sandbox for Trusted Resource

Design of AccTEE Evaluation of AccTEE Related Work Conclusion

PolyBench/C Benchmark Suite

2mm3m

m adiata

xbic

g

chole

sky

corre

lation

covari

ance

deriche

doitg

endu

rbin

fdtd-2

dgemmgemv

er

gesummv

gramsch

midt

heat-

3d

jacobi-1

d

jacobi-2

d lu

ludcm

pmv

t

nussinov

seidel-2

dsym

msyr

2k syrktrisol

vtrm

m

1

2

3

4

Norm

alisedru

ntime

Jlower

isbetter

WASM WASM-SGX WASM-SGX instrumented

Overhead for WASM: 10%

Overhead for WASM-SGX: 2.1× (EPC exhaustion)

Instrumentation overhead over WASM-SGX: 4% on average

2019-12-11 D. Goltzsche, TU Braunschweig, Germany AccTEE, D. Goltzsche et al. Page 15

Page 28: AccTEE: A WebAssembly-based Two-way Sandbox for Trusted ... › users › goltzsch › slides › acctee-mw19.pdf · AccTEE: A WebAssembly-based Two-way Sandbox for Trusted Resource

Design of AccTEE Evaluation of AccTEE Related Work Conclusion

WebAssembly Instruction Weights

0 20 40 60 80 1000

20

40

60

80

Percentage of WebAssembly Instructions [%]

Cycles

per

instru

ction

Jlower

isbetter

WebAssembly Instruction

74% of instructions need < 10 cycles2% of instructions (e.g. f32.sqrt) > 50 cycles

2019-12-11 D. Goltzsche, TU Braunschweig, Germany AccTEE, D. Goltzsche et al. Page 16

Page 29: AccTEE: A WebAssembly-based Two-way Sandbox for Trusted ... › users › goltzsch › slides › acctee-mw19.pdf · AccTEE: A WebAssembly-based Two-way Sandbox for Trusted Resource

Design of AccTEE Evaluation of AccTEE Related Work Conclusion

WebAssembly Instruction Weights

0 20 40 60 80 1000

20

40

60

80

Percentage of WebAssembly Instructions [%]

Cycles

per

instru

ction

Jlower

isbetter

WebAssembly Instruction

74% of instructions need < 10 cycles2% of instructions (e.g. f32.sqrt) > 50 cycles

2019-12-11 D. Goltzsche, TU Braunschweig, Germany AccTEE, D. Goltzsche et al. Page 16

Page 30: AccTEE: A WebAssembly-based Two-way Sandbox for Trusted ... › users › goltzsch › slides › acctee-mw19.pdf · AccTEE: A WebAssembly-based Two-way Sandbox for Trusted Resource

Design of AccTEE Evaluation of AccTEE Related Work Conclusion

WebAssembly Instruction Weights

0 20 40 60 80 1000

20

40

60

80

Percentage of WebAssembly Instructions [%]

Cycles

per

instru

ction

Jlower

isbetter

WebAssembly Instruction

74% of instructions need < 10 cycles2% of instructions (e.g. f32.sqrt) > 50 cycles

2019-12-11 D. Goltzsche, TU Braunschweig, Germany AccTEE, D. Goltzsche et al. Page 16

Page 31: AccTEE: A WebAssembly-based Two-way Sandbox for Trusted ... › users › goltzsch › slides › acctee-mw19.pdf · AccTEE: A WebAssembly-based Two-way Sandbox for Trusted Resource

Design of AccTEE Evaluation of AccTEE Related Work Conclusion

Function-as-a-Service (FaaS) Use Case

64 128 512 1024

20

40 37.7

36.7

22.3

9.4

17.5

17

10.5

3.7

17.4

16.9

10.1

3.4

2.5

1.9 2

1.3

Square Image Size [pixel]

Throughput[req

/s]

higher

isbetterI

WASM WASM-SGX

WASM-SGX instr. JS

Benchmark: Image resize FaaS functionAccounting overhead is negligibleBetween 3× and 9× faster than JavaScript baseline

2019-12-11 D. Goltzsche, TU Braunschweig, Germany AccTEE, D. Goltzsche et al. Page 17

Page 32: AccTEE: A WebAssembly-based Two-way Sandbox for Trusted ... › users › goltzsch › slides › acctee-mw19.pdf · AccTEE: A WebAssembly-based Two-way Sandbox for Trusted Resource

Design of AccTEE Evaluation of AccTEE Related Work Conclusion

Related Work

Combination of Google Native Client (NaCl) and SGX enclavesMiniBox (ATC’14), Ryoan (OSDI’16)No platform independenceNo resource accounting

S-FaaS (CCSW’19) Trustworthy and Accountable FaaSCombines SGX and hyper-threadingCPU time measured by dedicated timer threadWastes an entire core to count CPU cycles

AccTEE is the first two-way sandbox based on SGX and WebAssemblyenabling mutually trusted resource accounting

2019-12-11 D. Goltzsche, TU Braunschweig, Germany AccTEE, D. Goltzsche et al. Page 18

Page 33: AccTEE: A WebAssembly-based Two-way Sandbox for Trusted ... › users › goltzsch › slides › acctee-mw19.pdf · AccTEE: A WebAssembly-based Two-way Sandbox for Trusted Resource

Design of AccTEE Evaluation of AccTEE Related Work Conclusion

Related Work

Combination of Google Native Client (NaCl) and SGX enclavesMiniBox (ATC’14), Ryoan (OSDI’16)No platform independenceNo resource accounting

S-FaaS (CCSW’19) Trustworthy and Accountable FaaSCombines SGX and hyper-threadingCPU time measured by dedicated timer threadWastes an entire core to count CPU cycles

AccTEE is the first two-way sandbox based on SGX and WebAssemblyenabling mutually trusted resource accounting

2019-12-11 D. Goltzsche, TU Braunschweig, Germany AccTEE, D. Goltzsche et al. Page 18

Page 34: AccTEE: A WebAssembly-based Two-way Sandbox for Trusted ... › users › goltzsch › slides › acctee-mw19.pdf · AccTEE: A WebAssembly-based Two-way Sandbox for Trusted Resource

Design of AccTEE Evaluation of AccTEE Related Work Conclusion

Conclusion

AccTEE’s contributions:Implements two-way sandboxMutually trusted resource accounting

Instrumentation of WebAssembly codePlatform independent

More contributions in the paperVolunteer Computing use caseAccounting of I/O and memory usage

Thank you for your time! [email protected]

@d_goltzsche

2019-12-11 D. Goltzsche, TU Braunschweig, Germany AccTEE, D. Goltzsche et al. Page 19

Page 35: AccTEE: A WebAssembly-based Two-way Sandbox for Trusted ... › users › goltzsch › slides › acctee-mw19.pdf · AccTEE: A WebAssembly-based Two-way Sandbox for Trusted Resource

Design of AccTEE Evaluation of AccTEE Related Work Conclusion

Conclusion

AccTEE’s contributions:Implements two-way sandboxMutually trusted resource accounting

Instrumentation of WebAssembly codePlatform independent

More contributions in the paperVolunteer Computing use caseAccounting of I/O and memory usage

Thank you for your time! [email protected]

@d_goltzsche

2019-12-11 D. Goltzsche, TU Braunschweig, Germany AccTEE, D. Goltzsche et al. Page 19

Page 36: AccTEE: A WebAssembly-based Two-way Sandbox for Trusted ... › users › goltzsch › slides › acctee-mw19.pdf · AccTEE: A WebAssembly-based Two-way Sandbox for Trusted Resource

Design of AccTEE Evaluation of AccTEE Related Work Conclusion

2019-12-11 D. Goltzsche, TU Braunschweig, Germany AccTEE, D. Goltzsche et al. Page 20

Page 37: AccTEE: A WebAssembly-based Two-way Sandbox for Trusted ... › users › goltzsch › slides › acctee-mw19.pdf · AccTEE: A WebAssembly-based Two-way Sandbox for Trusted Resource

Design of AccTEE Evaluation of AccTEE Related Work Conclusion

Side-channel Attacks against Intel SGX Enclaves

Side-channel attacks against SGX:

Spectre Attacks: Exploiting Speculative Execution (S&P’19)

Foreshadow: Extracting the Keys to the Intel SGX Kingdom withTransient Out-of-Order Execution (USENIX Security’18)

ZombieLoad: Cross-Privilege-Boundary Data Sampling (2019)

All side-channels are not exclusive to SGX!

All fixed by microcode updates at cost of transition performance

2019-12-11 D. Goltzsche, TU Braunschweig, Germany AccTEE, D. Goltzsche et al. Page 21