Security for outsourced computations in the cloud...Security for outsourced computations in the...

42
Security for outsourced computations in the cloud Cédric VAN ROMPAY (EURECOM) Valentin LEFILS (DGA / CRIStAL) Jean OUDOT (LTCI / IRT SystemX / Nanyang Technological University)

Transcript of Security for outsourced computations in the cloud...Security for outsourced computations in the...

Page 1: Security for outsourced computations in the cloud...Security for outsourced computations in the cloud Cédric VAN ROMPAY (EURECOM) Valentin LEFILS (DGA / CRIStAL) Jean OUDOT (LTCI

Security for outsourced computations in the cloud

Cédric VAN ROMPAY (EURECOM)Valentin LEFILS (DGA / CRIStAL)Jean OUDOT (LTCI / IRT SystemX / Nanyang Technological University)

Page 2: Security for outsourced computations in the cloud...Security for outsourced computations in the cloud Cédric VAN ROMPAY (EURECOM) Valentin LEFILS (DGA / CRIStAL) Jean OUDOT (LTCI

How to keep secure and efficient an outsourced software ?

Hardware

OS

App

2

Page 3: Security for outsourced computations in the cloud...Security for outsourced computations in the cloud Cédric VAN ROMPAY (EURECOM) Valentin LEFILS (DGA / CRIStAL) Jean OUDOT (LTCI

Summary

➔ Software based solutions

➔ OS based solutions

➔ Hardware based solutions

➔ Crypto-only solutions

➔ Conclusion

3

Page 4: Security for outsourced computations in the cloud...Security for outsourced computations in the cloud Cédric VAN ROMPAY (EURECOM) Valentin LEFILS (DGA / CRIStAL) Jean OUDOT (LTCI

Software based solutions

4

Page 5: Security for outsourced computations in the cloud...Security for outsourced computations in the cloud Cédric VAN ROMPAY (EURECOM) Valentin LEFILS (DGA / CRIStAL) Jean OUDOT (LTCI

- “Armoured” code segment

- Verifies integrity of a piece of code

- Encryption over execution

Integrity Verification Kernel : IVKBy D. Aucsmith, 1998 Hardware

OSApp

5

Page 6: Security for outsourced computations in the cloud...Security for outsourced computations in the cloud Cédric VAN ROMPAY (EURECOM) Valentin LEFILS (DGA / CRIStAL) Jean OUDOT (LTCI

Integrity Verification Kernel: structure

Block of execution code

Code cell

HardwareOSApp

6

Page 7: Security for outsourced computations in the cloud...Security for outsourced computations in the cloud Cédric VAN ROMPAY (EURECOM) Valentin LEFILS (DGA / CRIStAL) Jean OUDOT (LTCI

Integrity Verification Kernel: structure

Block of execution code

HardwareOSApp

7

Page 8: Security for outsourced computations in the cloud...Security for outsourced computations in the cloud Cédric VAN ROMPAY (EURECOM) Valentin LEFILS (DGA / CRIStAL) Jean OUDOT (LTCI

Integrity Verification Kernel: structure

Decrypt and jump

Block of execution code

XOR

Cell address

Partner celladdress

HardwareOSApp

8

Page 9: Security for outsourced computations in the cloud...Security for outsourced computations in the cloud Cédric VAN ROMPAY (EURECOM) Valentin LEFILS (DGA / CRIStAL) Jean OUDOT (LTCI

Integrity Verification Kernel: structure

Block of execution code

Code is executed

HardwareOSApp

9

Page 10: Security for outsourced computations in the cloud...Security for outsourced computations in the cloud Cédric VAN ROMPAY (EURECOM) Valentin LEFILS (DGA / CRIStAL) Jean OUDOT (LTCI

Integrity Verification Kernel: structure

Block of execution code

XOR

Cell address

Partner celladdress

HardwareOSApp

10

Page 11: Security for outsourced computations in the cloud...Security for outsourced computations in the cloud Cédric VAN ROMPAY (EURECOM) Valentin LEFILS (DGA / CRIStAL) Jean OUDOT (LTCI

Integrity Verification Kernel: pros & cons

+ Integrity protection

+ Not observable

+ Authenticity check

+ Hard to attack

- Hardware attack

- Complex

- Encryption

HardwareOSApp

11

Page 12: Security for outsourced computations in the cloud...Security for outsourced computations in the cloud Cédric VAN ROMPAY (EURECOM) Valentin LEFILS (DGA / CRIStAL) Jean OUDOT (LTCI

G3

C1

G4G1

G2Repairing action

Checksumming action

Software protection by guards : guard graphsBy H. Chang, M. J. Atallah, 2002 Hardware

OSApp

12

Page 13: Security for outsourced computations in the cloud...Security for outsourced computations in the cloud Cédric VAN ROMPAY (EURECOM) Valentin LEFILS (DGA / CRIStAL) Jean OUDOT (LTCI

G3

C1

G4G1

G2

Software protection by guards

1 2 : 1 dominate 2

HardwareOSApp

13

Page 14: Security for outsourced computations in the cloud...Security for outsourced computations in the cloud Cédric VAN ROMPAY (EURECOM) Valentin LEFILS (DGA / CRIStAL) Jean OUDOT (LTCI

Software protection by guards

G3 G2

G1

G4 C1

Repairing action

Checksumming action

HardwareOSApp

14

Page 15: Security for outsourced computations in the cloud...Security for outsourced computations in the cloud Cédric VAN ROMPAY (EURECOM) Valentin LEFILS (DGA / CRIStAL) Jean OUDOT (LTCI

Software protection by guards

+ Partial Integrity

+ Self-healing code

+ Hard to attack

- Observable

- Can be copied

- Template based

- Complex

HardwareOSApp

15

Page 16: Security for outsourced computations in the cloud...Security for outsourced computations in the cloud Cédric VAN ROMPAY (EURECOM) Valentin LEFILS (DGA / CRIStAL) Jean OUDOT (LTCI

Software protection for cloud computingBy K. Fukushima, S. Kiyomoto, Y. Miyake, 2012

Input

Output

Encode input

Encoded input

Encoded outputExecution

VerificationDecoding

HardwareOSApp

User User program

Platform program

16

Page 17: Security for outsourced computations in the cloud...Security for outsourced computations in the cloud Cédric VAN ROMPAY (EURECOM) Valentin LEFILS (DGA / CRIStAL) Jean OUDOT (LTCI

Software protection for cloud computing : rules

+ Easy to compute

+ Protect code integrity

+ Protect the output

- Encoding

- Needs secure hardware

- Assumptions

HardwareOSApp

17

Page 18: Security for outsourced computations in the cloud...Security for outsourced computations in the cloud Cédric VAN ROMPAY (EURECOM) Valentin LEFILS (DGA / CRIStAL) Jean OUDOT (LTCI

Software based protection: conclusion

- No more innovative solutions

- Dominate by the industry

- Arxan, Cloakware, StarForce

- Rely a lot on strong expertise

- Rely a lot on a solid hardware base

HardwareOSApp

18

Page 19: Security for outsourced computations in the cloud...Security for outsourced computations in the cloud Cédric VAN ROMPAY (EURECOM) Valentin LEFILS (DGA / CRIStAL) Jean OUDOT (LTCI

OS-Based Solution

19

Page 20: Security for outsourced computations in the cloud...Security for outsourced computations in the cloud Cédric VAN ROMPAY (EURECOM) Valentin LEFILS (DGA / CRIStAL) Jean OUDOT (LTCI

- Security patch for Linux kernel

- Easy to deploy

- Mitigation against common attacks

HardwareOSApp

20

Page 21: Security for outsourced computations in the cloud...Security for outsourced computations in the cloud Cédric VAN ROMPAY (EURECOM) Valentin LEFILS (DGA / CRIStAL) Jean OUDOT (LTCI

+ Protects vs memory exploit

+ Protects vs bruteforcing

+ CHROOT improvement

- Don’t protect execution

- Useless if compromised

- 20% global overhead

HardwareOSApp

21

Page 22: Security for outsourced computations in the cloud...Security for outsourced computations in the cloud Cédric VAN ROMPAY (EURECOM) Valentin LEFILS (DGA / CRIStAL) Jean OUDOT (LTCI

Good practice but not sufficient

+ Protects vs memory exploit

+ Protects vs bruteforcing

+ CHROOT improvement

- Don’t protect execution

- Useless if compromised

- 20% global overhead

HardwareOSApp

22

Page 23: Security for outsourced computations in the cloud...Security for outsourced computations in the cloud Cédric VAN ROMPAY (EURECOM) Valentin LEFILS (DGA / CRIStAL) Jean OUDOT (LTCI

Hardware-Based Solutions

23

Page 24: Security for outsourced computations in the cloud...Security for outsourced computations in the cloud Cédric VAN ROMPAY (EURECOM) Valentin LEFILS (DGA / CRIStAL) Jean OUDOT (LTCI

Hardware-Based Solutions

+ “Lower” than kernel+ Small performance

overhead

- Must be present- Hard to update- Hard to patch!

HardwareOSApp

24

Page 25: Security for outsourced computations in the cloud...Security for outsourced computations in the cloud Cédric VAN ROMPAY (EURECOM) Valentin LEFILS (DGA / CRIStAL) Jean OUDOT (LTCI

Trusted Platform Module (TPM)

- External to CPU

- High-level cryptographic operations

- Main use: building a “Root of Trust” through chained

attestation

HardwareOSApp

25

Page 26: Security for outsourced computations in the cloud...Security for outsourced computations in the cloud Cédric VAN ROMPAY (EURECOM) Valentin LEFILS (DGA / CRIStAL) Jean OUDOT (LTCI

Chained Attestation with TPM

BIOS BootLoaderOS

TPM CheckLoad

TPM Check

Load

Too complex

26

Page 27: Security for outsourced computations in the cloud...Security for outsourced computations in the cloud Cédric VAN ROMPAY (EURECOM) Valentin LEFILS (DGA / CRIStAL) Jean OUDOT (LTCI

- Available on Intel processors since 2015

- Secure enclaves

- Dedicated driver

- Hardware cryptographic primitives

HardwareOSApp

27

Page 28: Security for outsourced computations in the cloud...Security for outsourced computations in the cloud Cédric VAN ROMPAY (EURECOM) Valentin LEFILS (DGA / CRIStAL) Jean OUDOT (LTCI

User Cloud OS Enclavesoftware

software

⊘check

Secure channel

HardwareOSApp

28

Page 29: Security for outsourced computations in the cloud...Security for outsourced computations in the cloud Cédric VAN ROMPAY (EURECOM) Valentin LEFILS (DGA / CRIStAL) Jean OUDOT (LTCI

+ Isolated environment

+ Binary loading verification

+ Private encrypted memory

+ Sealed data

- Hardware dependent

- Code rewriting

HardwareOSApp

29

Page 30: Security for outsourced computations in the cloud...Security for outsourced computations in the cloud Cédric VAN ROMPAY (EURECOM) Valentin LEFILS (DGA / CRIStAL) Jean OUDOT (LTCI

+ Isolated environment

+ Binary loading verification

+ Private encrypted memory

+ Sealed data

- Hardware dependent

- Code rewriting

Very good solution if the hardware supports it

HardwareOSApp

30

Page 31: Security for outsourced computations in the cloud...Security for outsourced computations in the cloud Cédric VAN ROMPAY (EURECOM) Valentin LEFILS (DGA / CRIStAL) Jean OUDOT (LTCI

Crypto-only Solutions

31

Page 32: Security for outsourced computations in the cloud...Security for outsourced computations in the cloud Cédric VAN ROMPAY (EURECOM) Valentin LEFILS (DGA / CRIStAL) Jean OUDOT (LTCI

Verifiable Computation from Cryptography

User CloudProgram, data

Result, “proof”

Check(Result, proof)

HardwareOSAppC

rypto

32

Page 33: Security for outsourced computations in the cloud...Security for outsourced computations in the cloud Cédric VAN ROMPAY (EURECOM) Valentin LEFILS (DGA / CRIStAL) Jean OUDOT (LTCI

“Detection” vs “Prevention”

Eventually, you always rely on detection

HardwareOSAppC

rypto

33

Page 34: Security for outsourced computations in the cloud...Security for outsourced computations in the cloud Cédric VAN ROMPAY (EURECOM) Valentin LEFILS (DGA / CRIStAL) Jean OUDOT (LTCI

Crypto-only

+ No HW requirements

+ Secure against

compromised hardware

- Very specific primitives

(“niche” solution)

- Moderate to high overhead

HardwareOSAppC

rypto

34

Page 35: Security for outsourced computations in the cloud...Security for outsourced computations in the cloud Cédric VAN ROMPAY (EURECOM) Valentin LEFILS (DGA / CRIStAL) Jean OUDOT (LTCI

Verifiable Computation Example #1

A simple toy example:Verifiable database from signatures.

(DEMO)

HardwareOSAppC

rypto

35

Page 36: Security for outsourced computations in the cloud...Security for outsourced computations in the cloud Cédric VAN ROMPAY (EURECOM) Valentin LEFILS (DGA / CRIStAL) Jean OUDOT (LTCI

Verifiable Computation Example #1

A prefix tree (or “trie”)

HardwareOSAppC

rypto

36

Page 37: Security for outsourced computations in the cloud...Security for outsourced computations in the cloud Cédric VAN ROMPAY (EURECOM) Valentin LEFILS (DGA / CRIStAL) Jean OUDOT (LTCI

Verifiable Computation Example #2 HardwareOSAppC

rypto

Benabbas, Gennaro and Vahlis, CRYPTO 2011

from Verifiable Polynomial Evaluationto Verifiable Database with updatability and query privacy

37

Page 38: Security for outsourced computations in the cloud...Security for outsourced computations in the cloud Cédric VAN ROMPAY (EURECOM) Valentin LEFILS (DGA / CRIStAL) Jean OUDOT (LTCI

Using Privacy Crypto for Verifiability

- Idea: blind adversary would be limited to random, easy to detect modifications

- May work in some use cases

HardwareOSAppC

rypto

38

Page 39: Security for outsourced computations in the cloud...Security for outsourced computations in the cloud Cédric VAN ROMPAY (EURECOM) Valentin LEFILS (DGA / CRIStAL) Jean OUDOT (LTCI

Using Privacy Crypto - Garbled Circuits

Cloud sees:- Topology of circuit

Doesn’t see:- Gate types- Values on wires

HardwareOSAppC

rypto

Yao

39

Page 40: Security for outsourced computations in the cloud...Security for outsourced computations in the cloud Cédric VAN ROMPAY (EURECOM) Valentin LEFILS (DGA / CRIStAL) Jean OUDOT (LTCI

Using Privacy Crypto - Fully Homomorphic Encryption

FHE doesn’t even hide the program (only the data)

HardwareOSAppC

rypto

40

Page 41: Security for outsourced computations in the cloud...Security for outsourced computations in the cloud Cédric VAN ROMPAY (EURECOM) Valentin LEFILS (DGA / CRIStAL) Jean OUDOT (LTCI

WINNER

41

Page 42: Security for outsourced computations in the cloud...Security for outsourced computations in the cloud Cédric VAN ROMPAY (EURECOM) Valentin LEFILS (DGA / CRIStAL) Jean OUDOT (LTCI

Thank you for your attention

Do you have any questions ?

42