scone: secure container technology & secrets management...• system software & application...

20
SCONE: Secure Container Technology & Secrets Management Sept 2018 Christof Fetzer, TU Dresden https://sconedocs.github.io

Upload: others

Post on 24-Sep-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SCONE: Secure Container Technology & Secrets Management...• system software & application • millions of lines of source code 16 Application SCONE libraries Application libraries

SCONE:SecureContainerTechnology&SecretsManagement

Sept2018

ChristofFetzer,TUDresden

https://sconedocs.github.io

Page 2: SCONE: Secure Container Technology & Secrets Management...• system software & application • millions of lines of source code 16 Application SCONE libraries Application libraries

SCONE:Application-OrientedSecurity

�2

Application

Objective: Ensure integrity and confidentiality of applications

Data Computation Communication

attacker

client

https://sconedocs.github.io

Page 3: SCONE: Secure Container Technology & Secrets Management...• system software & application • millions of lines of source code 16 Application SCONE libraries Application libraries

ThreatModel

�3

Application attacker

system administrator

(root, hardware access)

service provider administrator

(root, application rights)

client

https://sconedocs.github.io

Page 4: SCONE: Secure Container Technology & Secrets Management...• system software & application • millions of lines of source code 16 Application SCONE libraries Application libraries

Implication:OS-basedAccessControlInsufficient

�4

Application

service provider administrator

(root, application rights)

client secret

dump memory

attacker

system administrator

(root, hardware access)

https://sconedocs.github.io

Page 5: SCONE: Secure Container Technology & Secrets Management...• system software & application • millions of lines of source code 16 Application SCONE libraries Application libraries

Weneedacryptographicapproach!

�5

Application

service provider administrator

(root, application rights)

clientcrypto

TLS attacker

system administrator

(root, hardware access)

https://sconedocs.github.io

Page 6: SCONE: Secure Container Technology & Secrets Management...• system software & application • millions of lines of source code 16 Application SCONE libraries Application libraries

SCONE:E2Eencryptionwithoutsourcecodechanges

�6

Application - protected by

SCONE -

service provider administrator

(root, application rights)

clientcrypto

TLS attacker

[SCONE] OSDI2016

system administrator

(root, hardware access)

Languages:C,C++,Go,Rust,Java,Python,R,…

Page 7: SCONE: Secure Container Technology & Secrets Management...• system software & application • millions of lines of source code 16 Application SCONE libraries Application libraries

DistributedApplications-spreadacrossclouds

�7

App

service provider administrator

(root, application rights)

clientTLS attacker

App

App

back

endedge service

backend cloud

regional cloud

Initial Focus: Cloud Native Applications

system administrator

(root, hardware access)

Page 8: SCONE: Secure Container Technology & Secrets Management...• system software & application • millions of lines of source code 16 Application SCONE libraries Application libraries

Howdoweknowthatcorrectcodeexecutes?

�8

App

service provider administrator

(root, application rights)

clientTLS attacker

App

App

back

end

controls

We need to attest that the

correct code is running!

system administrator

(root, hardware access)

https://sconedocs.github.io

Page 9: SCONE: Secure Container Technology & Secrets Management...• system software & application • millions of lines of source code 16 Application SCONE libraries Application libraries

➤ Use TLS to authenticate

➤ server app

➤ client app

➤ We ensure that only app with

➤ „correct code“ has access to TLS certificate

Approach:Allcommunicationisencrypted(TLS)

https://sconedocs.github.ioTLS: Transport Layer Security

Page 10: SCONE: Secure Container Technology & Secrets Management...• system software & application • millions of lines of source code 16 Application SCONE libraries Application libraries

TransparentAttestationduringStartup

�10

certificate: proves that application

• executes correct code,

• has the correct file system state, and

• in the correct OS environment, …

Configuration& AttestationService

https://sconedocs.github.io

Page 11: SCONE: Secure Container Technology & Secrets Management...• system software & application • millions of lines of source code 16 Application SCONE libraries Application libraries

TransparentP2PAttestationviaTLS

�11

We run our internal CA and only components belonging to the same app can talk to each other …

CertificateAuthority(integratedinCAS)

https://sconedocs.github.io

Page 12: SCONE: Secure Container Technology & Secrets Management...• system software & application • millions of lines of source code 16 Application SCONE libraries Application libraries

SecretsManagement

• SCONEhasintegratesecretsmanagement• SCONEcaninjectsecretsinto

• CLIarguments• environmentvariables• files(encrypted)

�12https://sconedocs.github.io

Page 13: SCONE: Secure Container Technology & Secrets Management...• system software & application • millions of lines of source code 16 Application SCONE libraries Application libraries

Example:MariaDB• Supportsencryptionofdatabase• Encryptionkeyofdatabasestoredinconfigfile

• fileprotectedviaOSaccesscontrol• fileisnotencrypted

• SCONE:• insteadofkey,storeavariableinconfig:

• $$SCONECAS:MARIADBKEY$$• SCONEtransparentlyreplacesvariablebyitsvalue(i.e.,thekey)

�13 https://sconedocs.github.io

Page 14: SCONE: Secure Container Technology & Secrets Management...• system software & application • millions of lines of source code 16 Application SCONE libraries Application libraries

ManagementofSecrets• Keyscanbeprotectedfromanyhumanaccess

• onlyattestedprogramsgetaccess• Tochangesecuritypolicy,approvalby

• byagroupofhumans,and/or• agroupofprogramsisrequired

�14

policy change

ok?

policy board

approval

https://sconedocs.github.io

Page 15: SCONE: Secure Container Technology & Secrets Management...• system software & application • millions of lines of source code 16 Application SCONE libraries Application libraries

CurrentImplementation

• IntelSGXprotectsapplication’s

• confidentiality• integrity

• bypreventingaccessesto• applicationstateincacheand

• encryptingmainmemory• SGXisaTEE(TrustedExecutionEnvironment)

�15

Application

SCONE librariesApplication libraries

Intel SGX enclave

SGX (Software Guard eXtensions) protects application from accesses by other software

host

Operating system

Container Engine

Hypervisor

https://sconedocs.github.io

Page 16: SCONE: Secure Container Technology & Secrets Management...• system software & application • millions of lines of source code 16 Application SCONE libraries Application libraries

Defender’sDilemma

• Attackers: • successbyexploitingasinglevulnerability

• Defender: • mustprotectagainsteveryvulnerability

• systemsoftware&application

• millionsoflinesofsourcecode

�16

Application

SCONE librariesApplication libraries

Intel SGX enclave

host

Operating system

Container Engine

Hypervisor

millions of

lines of codes(hundreds of bugs)

200k lines

https://sconedocs.github.io

Page 17: SCONE: Secure Container Technology & Secrets Management...• system software & application • millions of lines of source code 16 Application SCONE libraries Application libraries

SCONEplatform:DesignedformultipleArchitectures

�17

portable code

Intel AMD ARM

SGX main memory encryption

main memory encryption

???

SCONE:

no source code changesSCONE:

gcc-based crosscompiler

SCONE crossc

ompiler

Portability through cross-compilation

https://sconedocs.github.io

Page 18: SCONE: Secure Container Technology & Secrets Management...• system software & application • millions of lines of source code 16 Application SCONE libraries Application libraries

Enclave

Enclave

Enclave

UseCase:SCONE-PySpark

�18

DistributedD

ataStore

Py4J

Pipe

Pipe

Pipe

Python

Java

Driver

Worker

EnclaveTLS/S

SL

TLS/SSL

TLS/SSL

TLS/SSL

TLS/SSL

TLS/SSL

https://sconedocs.github.io

Page 19: SCONE: Secure Container Technology & Secrets Management...• system software & application • millions of lines of source code 16 Application SCONE libraries Application libraries

Latency

�19

Lowerthebetter

<22%overheadcomparedtonativeexecution

SCONE

https://sconedocs.github.io

Page 20: SCONE: Secure Container Technology & Secrets Management...• system software & application • millions of lines of source code 16 Application SCONE libraries Application libraries

�20https://sconedocs.github.io