hardware/software support for securing virtualization · pdf filehardware/software support for...

50

Upload: nguyenminh

Post on 06-Mar-2018

234 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Hardware/Software Support for Securing Virtualization · PDF fileHardware/Software Support for Securing Virtualization in Embedded Systems ... dual-core) and a FPGA (Artix-7 ... Nom

SDTA-2014 Introduction State-of-the-Art Contribution Conclusion

Hardware/Software Support for Securing Virtualization inEmbedded Systems

Franck Bucheron

IRISA-CAIRN

DGA

December 4, 2014

1/28

Page 2: Hardware/Software Support for Securing Virtualization · PDF fileHardware/Software Support for Securing Virtualization in Embedded Systems ... dual-core) and a FPGA (Artix-7 ... Nom

SDTA-2014 Introduction State-of-the-Art Contribution Conclusion

1 IntroductionGoal of this thesis

2 State-of-the-ArtHardwareVirtualizationTrusted computingThreats

3 ContributionOverall solutionBoot and zynq-7000Virtual TPM

4 ConclusionTODO list

2/28

Page 3: Hardware/Software Support for Securing Virtualization · PDF fileHardware/Software Support for Securing Virtualization in Embedded Systems ... dual-core) and a FPGA (Artix-7 ... Nom

SDTA-2014 Introduction State-of-the-Art Contribution Conclusion

1 IntroductionGoal of this thesis

2 State-of-the-ArtHardwareVirtualizationTrusted computingThreats

3 ContributionOverall solutionBoot and zynq-7000Virtual TPM

4 ConclusionTODO list

3/28

Page 4: Hardware/Software Support for Securing Virtualization · PDF fileHardware/Software Support for Securing Virtualization in Embedded Systems ... dual-core) and a FPGA (Artix-7 ... Nom

SDTA-2014 Introduction State-of-the-Art Contribution Conclusion

Goal of this thesis

1 Improve the trust in virtualization for ARM embedded platforms.

2 Modify studied propositions, add new ideas to build a functionnal virtualembedded system as secure as possible.

Starting point: consider that embedded systems e�ciently supportvirtualization

Use a combined hardware/software (HW/SW) approach, with:

1 Implementation on a Zynq-7000 HW/SW platform (ARM Cortex-A9dual-core) and a FPGA (Artix-7),

2 Re-use of existing HW cryptographic IPs,

3 Addition a few other HW blocks: TPM and vTPM,

4 At the SW level, adaptation of a Xen-like hypervisor to our HWarchitecture.

4/28

Page 5: Hardware/Software Support for Securing Virtualization · PDF fileHardware/Software Support for Securing Virtualization in Embedded Systems ... dual-core) and a FPGA (Artix-7 ... Nom

SDTA-2014 Introduction State-of-the-Art Contribution Conclusion

Goal of this thesis

1 Improve the trust in virtualization for ARM embedded platforms.

2 Modify studied propositions, add new ideas to build a functionnal virtualembedded system as secure as possible.

Starting point: consider that embedded systems e�ciently supportvirtualization

Use a combined hardware/software (HW/SW) approach, with:

1 Implementation on a Zynq-7000 HW/SW platform (ARM Cortex-A9dual-core) and a FPGA (Artix-7),

2 Re-use of existing HW cryptographic IPs,

3 Addition a few other HW blocks: TPM and vTPM,

4 At the SW level, adaptation of a Xen-like hypervisor to our HWarchitecture.

4/28

Page 6: Hardware/Software Support for Securing Virtualization · PDF fileHardware/Software Support for Securing Virtualization in Embedded Systems ... dual-core) and a FPGA (Artix-7 ... Nom

SDTA-2014 Introduction State-of-the-Art Contribution Conclusion

1 IntroductionGoal of this thesis

2 State-of-the-ArtHardwareVirtualizationTrusted computingThreats

3 ContributionOverall solutionBoot and zynq-7000Virtual TPM

4 ConclusionTODO list

5/28

Page 7: Hardware/Software Support for Securing Virtualization · PDF fileHardware/Software Support for Securing Virtualization in Embedded Systems ... dual-core) and a FPGA (Artix-7 ... Nom

SDTA-2014 Introduction State-of-the-Art Contribution Conclusion

Hardware

Introduction

Four di�erent domains:

1 Hardware,

2 Existing software virtualization solutions in the open-source world,

3 Concepts of trusted computing,

4 Threats.

6/28

Page 8: Hardware/Software Support for Securing Virtualization · PDF fileHardware/Software Support for Securing Virtualization in Embedded Systems ... dual-core) and a FPGA (Artix-7 ... Nom

SDTA-2014 Introduction State-of-the-Art Contribution Conclusion

Hardware

Introduction

Four di�erent domains:

1 Hardware,

2 Existing software virtualization solutions in the open-source world,

3 Concepts of trusted computing,

4 Threats.

6/28

Page 9: Hardware/Software Support for Securing Virtualization · PDF fileHardware/Software Support for Securing Virtualization in Embedded Systems ... dual-core) and a FPGA (Artix-7 ... Nom

SDTA-2014 Introduction State-of-the-Art Contribution Conclusion

Hardware

FPGA and ASIC: No more opposition between with these 2 technologies.

To prototype hardware, only FPGA is relevant:

1 Dynamicaly recon�gurable,

2 Can keep the con�guration if in �ash mode,

To prototype software, only ASIC is relevant:

1 Standard technology optimized,

2 Performances.

Hybrid platforms

Get avantages of the two types of circuits, plus:

1 No extra daughter card needed,

2 Shared peripherals if needed,

3 Imagination required.

7/28

Page 10: Hardware/Software Support for Securing Virtualization · PDF fileHardware/Software Support for Securing Virtualization in Embedded Systems ... dual-core) and a FPGA (Artix-7 ... Nom

SDTA-2014 Introduction State-of-the-Art Contribution Conclusion

Hardware

FPGA and ASIC: No more opposition between with these 2 technologies.

To prototype hardware, only FPGA is relevant:

1 Dynamicaly recon�gurable,

2 Can keep the con�guration if in �ash mode,

To prototype software, only ASIC is relevant:

1 Standard technology optimized,

2 Performances.

Hybrid platforms

Get avantages of the two types of circuits, plus:

1 No extra daughter card needed,

2 Shared peripherals if needed,

3 Imagination required.

7/28

Page 11: Hardware/Software Support for Securing Virtualization · PDF fileHardware/Software Support for Securing Virtualization in Embedded Systems ... dual-core) and a FPGA (Artix-7 ... Nom

SDTA-2014 Introduction State-of-the-Art Contribution Conclusion

Hardware

FPGA and ASIC: No more opposition between with these 2 technologies.

To prototype hardware, only FPGA is relevant:

1 Dynamicaly recon�gurable,

2 Can keep the con�guration if in �ash mode,

To prototype software, only ASIC is relevant:

1 Standard technology optimized,

2 Performances.

Hybrid platforms

Get avantages of the two types of circuits, plus:

1 No extra daughter card needed,

2 Shared peripherals if needed,

3 Imagination required.

7/28

Page 12: Hardware/Software Support for Securing Virtualization · PDF fileHardware/Software Support for Securing Virtualization in Embedded Systems ... dual-core) and a FPGA (Artix-7 ... Nom

SDTA-2014 Introduction State-of-the-Art Contribution Conclusion

Virtualization

Few open-source hypervisors for ARM cores

Review:

Nom Pros Cons

SierraVisor-paravirtualization-full hardware virtual-ization

-Zynq-7000 version isclosed source

Xtratum-allowing to run RTOSor real-time executives

-di�cult to get thesource code-don't run on Zynq-7000

Xen ARM-Xen ARM PV project-Xen ARMv7+ project

-no port on Zynq-7000

x-hyp-ARINC like schedul-ing-reduced trusted base

-runs only on Qemu

Embedded Xen-source code available-runs on a Zynq-7000platform

-Current limitation to1 domU

8/28

Page 13: Hardware/Software Support for Securing Virtualization · PDF fileHardware/Software Support for Securing Virtualization in Embedded Systems ... dual-core) and a FPGA (Artix-7 ... Nom

SDTA-2014 Introduction State-of-the-Art Contribution Conclusion

Virtualization

Few open-source hypervisors for ARM cores

Review:

Nom Pros Cons

SierraVisor-paravirtualization-full hardware virtual-ization

-Zynq-7000 version isclosed source

Xtratum-allowing to run RTOSor real-time executives

-di�cult to get thesource code-don't run on Zynq-7000

Xen ARM-Xen ARM PV project-Xen ARMv7+ project

-no port on Zynq-7000

x-hyp-ARINC like schedul-ing-reduced trusted base

-runs only on Qemu

Embedded Xen-source code available-runs on a Zynq-7000platform

-Current limitation to1 domU

8/28

Page 14: Hardware/Software Support for Securing Virtualization · PDF fileHardware/Software Support for Securing Virtualization in Embedded Systems ... dual-core) and a FPGA (Artix-7 ... Nom

SDTA-2014 Introduction State-of-the-Art Contribution Conclusion

Virtualization

Few open-source hypervisors for ARM cores

Review:

Nom Pros Cons

SierraVisor-paravirtualization-full hardware virtual-ization

-Zynq-7000 version isclosed source

Xtratum-allowing to run RTOSor real-time executives

-di�cult to get thesource code-don't run on Zynq-7000

Xen ARM-Xen ARM PV project-Xen ARMv7+ project

-no port on Zynq-7000

x-hyp-ARINC like schedul-ing-reduced trusted base

-runs only on Qemu

Embedded Xen-source code available-runs on a Zynq-7000platform

-Current limitation to1 domU

8/28

Page 15: Hardware/Software Support for Securing Virtualization · PDF fileHardware/Software Support for Securing Virtualization in Embedded Systems ... dual-core) and a FPGA (Artix-7 ... Nom

SDTA-2014 Introduction State-of-the-Art Contribution Conclusion

Virtualization

Few open-source hypervisors for ARM cores

Review:

Nom Pros Cons

SierraVisor-paravirtualization-full hardware virtual-ization

-Zynq-7000 version isclosed source

Xtratum-allowing to run RTOSor real-time executives

-di�cult to get thesource code-don't run on Zynq-7000

Xen ARM-Xen ARM PV project-Xen ARMv7+ project

-no port on Zynq-7000

x-hyp-ARINC like schedul-ing-reduced trusted base

-runs only on Qemu

Embedded Xen-source code available-runs on a Zynq-7000platform

-Current limitation to1 domU

8/28

Page 16: Hardware/Software Support for Securing Virtualization · PDF fileHardware/Software Support for Securing Virtualization in Embedded Systems ... dual-core) and a FPGA (Artix-7 ... Nom

SDTA-2014 Introduction State-of-the-Art Contribution Conclusion

Virtualization

Few open-source hypervisors for ARM cores

Review:

Nom Pros Cons

SierraVisor-paravirtualization-full hardware virtual-ization

-Zynq-7000 version isclosed source

Xtratum-allowing to run RTOSor real-time executives

-di�cult to get thesource code-don't run on Zynq-7000

Xen ARM-Xen ARM PV project-Xen ARMv7+ project

-no port on Zynq-7000

x-hyp-ARINC like schedul-ing-reduced trusted base

-runs only on Qemu

Embedded Xen-source code available-runs on a Zynq-7000platform

-Current limitation to1 domU

8/28

Page 17: Hardware/Software Support for Securing Virtualization · PDF fileHardware/Software Support for Securing Virtualization in Embedded Systems ... dual-core) and a FPGA (Artix-7 ... Nom

SDTA-2014 Introduction State-of-the-Art Contribution Conclusion

Virtualization

Few open-source hypervisors for ARM cores

Review:

Nom Pros Cons

SierraVisor-paravirtualization-full hardware virtual-ization

-Zynq-7000 version isclosed source

Xtratum-allowing to run RTOSor real-time executives

-di�cult to get thesource code-don't run on Zynq-7000

Xen ARM-Xen ARM PV project-Xen ARMv7+ project

-no port on Zynq-7000

x-hyp-ARINC like schedul-ing-reduced trusted base

-runs only on Qemu

Embedded Xen-source code available-runs on a Zynq-7000platform

-Current limitation to1 domU

8/28

Page 18: Hardware/Software Support for Securing Virtualization · PDF fileHardware/Software Support for Securing Virtualization in Embedded Systems ... dual-core) and a FPGA (Artix-7 ... Nom

SDTA-2014 Introduction State-of-the-Art Contribution Conclusion

Trusted computing

De�nition:

TC refers to technologies and proposals for resolving computer securityproblems through hardware enhancements and associated softwaremodi�cations.

1 Trusted Computing Base1 Set of all hardware, software and procedural components that enforce the

security policy,2 Must be as small as possible.

2 Trusted Platform Module (TPM) - current version 2.01 Hardware component that provides a set of �xed cryptographic and security

functions,2 (Originally) intended to be platform independant.

3 Trusted Software Stack (TSS)1 Issues low-level TPM commands and receives low-level TPM responses on

behalf of high-level applications,2 (Originally) intended to be platform independant.

9/28

Page 19: Hardware/Software Support for Securing Virtualization · PDF fileHardware/Software Support for Securing Virtualization in Embedded Systems ... dual-core) and a FPGA (Artix-7 ... Nom

SDTA-2014 Introduction State-of-the-Art Contribution Conclusion

Trusted computing

De�nition:

TC refers to technologies and proposals for resolving computer securityproblems through hardware enhancements and associated softwaremodi�cations.

1 Trusted Computing Base1 Set of all hardware, software and procedural components that enforce the

security policy,2 Must be as small as possible.

2 Trusted Platform Module (TPM) - current version 2.01 Hardware component that provides a set of �xed cryptographic and security

functions,2 (Originally) intended to be platform independant.

3 Trusted Software Stack (TSS)1 Issues low-level TPM commands and receives low-level TPM responses on

behalf of high-level applications,2 (Originally) intended to be platform independant.

9/28

Page 20: Hardware/Software Support for Securing Virtualization · PDF fileHardware/Software Support for Securing Virtualization in Embedded Systems ... dual-core) and a FPGA (Artix-7 ... Nom

SDTA-2014 Introduction State-of-the-Art Contribution Conclusion

Trusted computing

De�nition:

TC refers to technologies and proposals for resolving computer securityproblems through hardware enhancements and associated softwaremodi�cations.

1 Trusted Computing Base1 Set of all hardware, software and procedural components that enforce the

security policy,2 Must be as small as possible.

2 Trusted Platform Module (TPM) - current version 2.01 Hardware component that provides a set of �xed cryptographic and security

functions,2 (Originally) intended to be platform independant.

3 Trusted Software Stack (TSS)1 Issues low-level TPM commands and receives low-level TPM responses on

behalf of high-level applications,2 (Originally) intended to be platform independant.

9/28

Page 21: Hardware/Software Support for Securing Virtualization · PDF fileHardware/Software Support for Securing Virtualization in Embedded Systems ... dual-core) and a FPGA (Artix-7 ... Nom

SDTA-2014 Introduction State-of-the-Art Contribution Conclusion

Trusted computing

De�nition:

TC refers to technologies and proposals for resolving computer securityproblems through hardware enhancements and associated softwaremodi�cations.

1 Trusted Computing Base1 Set of all hardware, software and procedural components that enforce the

security policy,2 Must be as small as possible.

2 Trusted Platform Module (TPM) - current version 2.01 Hardware component that provides a set of �xed cryptographic and security

functions,2 (Originally) intended to be platform independant.

3 Trusted Software Stack (TSS)1 Issues low-level TPM commands and receives low-level TPM responses on

behalf of high-level applications,2 (Originally) intended to be platform independant.

9/28

Page 22: Hardware/Software Support for Securing Virtualization · PDF fileHardware/Software Support for Securing Virtualization in Embedded Systems ... dual-core) and a FPGA (Artix-7 ... Nom

SDTA-2014 Introduction State-of-the-Art Contribution Conclusion

Trusted computing

TPM and virtualization

Some studies (mostly dedicated to x86) tried to solve the problem.

vTPM: Virtualizing the Trusted Platform Module by Stefan Berger, 2006

Advantages : High �delity to TCG speci�cations, no hardware constraints.Disadvantges : Weak strengh face to hardware or software attack, increase ofTCB, hard to implement.

10/28

Page 23: Hardware/Software Support for Securing Virtualization · PDF fileHardware/Software Support for Securing Virtualization in Embedded Systems ... dual-core) and a FPGA (Artix-7 ... Nom

SDTA-2014 Introduction State-of-the-Art Contribution Conclusion

Trusted computing

TPM and virtualization

Some studies (mostly dedicated to x86) tried to solve the problem.

vTPM: Virtualizing the Trusted Platform Module by Stefan Berger, 2006

Advantages : High �delity to TCG speci�cations, no hardware constraints.Disadvantges : Weak strengh face to hardware or software attack, increase ofTCB, hard to implement.

10/28

Page 24: Hardware/Software Support for Securing Virtualization · PDF fileHardware/Software Support for Securing Virtualization in Embedded Systems ... dual-core) and a FPGA (Artix-7 ... Nom

SDTA-2014 Introduction State-of-the-Art Contribution Conclusion

Trusted computing

TPM and virtualization

Some studies (most dedicated to x86) tried to solve the problem.

Enhancing Trusted Platform Modules with Hardware-Based VirtualizationTechniques by Frederic Stumpf, 2008

Advantages : Stronger.Disadvantges : Many swap of context in the CPU, exclusively on x86architecture.

11/28

Page 25: Hardware/Software Support for Securing Virtualization · PDF fileHardware/Software Support for Securing Virtualization in Embedded Systems ... dual-core) and a FPGA (Artix-7 ... Nom

SDTA-2014 Introduction State-of-the-Art Contribution Conclusion

Trusted computing

TPM and virtualization

Some studies (most dedicated to x86) tried to solve the problem.

Para-Virtualized TPM Sharing by Paul England, 2008

Advantages : All is done in the VMM, scheduled access to TPM.Disadvantges : Weak strengh face to HW/SW attack, increase of TCB, hard toimplement.

12/28

Page 26: Hardware/Software Support for Securing Virtualization · PDF fileHardware/Software Support for Securing Virtualization in Embedded Systems ... dual-core) and a FPGA (Artix-7 ... Nom

SDTA-2014 Introduction State-of-the-Art Contribution Conclusion

Trusted computing

boot: confusion about de�nitions

Need a boot that proves to deliver more than a secure initial state.

authenticated Boot secure Boot

Passive method Active method

Integrity measures are storedsecurely

Proof to the system is existen-tial

Provides proof to a third partyvia attestation

Unable to prove con�gurationto a third party

Require a TPM Do not require a TPM

Figure: trusted boot = secure boot + authenticated boot

13/28

Page 27: Hardware/Software Support for Securing Virtualization · PDF fileHardware/Software Support for Securing Virtualization in Embedded Systems ... dual-core) and a FPGA (Artix-7 ... Nom

SDTA-2014 Introduction State-of-the-Art Contribution Conclusion

Trusted computing

boot: confusion about de�nitions

Need a boot that proves to deliver more than a secure initial state.

authenticated Boot secure Boot

Passive method Active method

Integrity measures are storedsecurely

Proof to the system is existen-tial

Provides proof to a third partyvia attestation

Unable to prove con�gurationto a third party

Require a TPM Do not require a TPM

Figure: trusted boot = secure boot + authenticated boot

13/28

Page 28: Hardware/Software Support for Securing Virtualization · PDF fileHardware/Software Support for Securing Virtualization in Embedded Systems ... dual-core) and a FPGA (Artix-7 ... Nom

SDTA-2014 Introduction State-of-the-Art Contribution Conclusion

Trusted computing

boot: confusion about de�nitions

Need a boot that proves to deliver more than a secure initial state.

authenticated Boot secure Boot

Passive method Active method

Integrity measures are storedsecurely

Proof to the system is existen-tial

Provides proof to a third partyvia attestation

Unable to prove con�gurationto a third party

Require a TPM Do not require a TPM

Figure: trusted boot = secure boot + authenticated boot

13/28

Page 29: Hardware/Software Support for Securing Virtualization · PDF fileHardware/Software Support for Securing Virtualization in Embedded Systems ... dual-core) and a FPGA (Artix-7 ... Nom

SDTA-2014 Introduction State-of-the-Art Contribution Conclusion

Threats

Hardware threats

At lower level, main goal is to counterfeit the IP or IC, steal or copy it.

1 Backdoor in hardware (solution: have its own foundry),

2 Hardware vulnerability (solution: update hardware),

3 Hardware assisted malware (solution: develop antivirus software).

Figure: How to exploit

14/28

Page 30: Hardware/Software Support for Securing Virtualization · PDF fileHardware/Software Support for Securing Virtualization in Embedded Systems ... dual-core) and a FPGA (Artix-7 ... Nom

SDTA-2014 Introduction State-of-the-Art Contribution Conclusion

Threats

Hardware threats

At lower level, main goal is to counterfeit the IP or IC, steal or copy it.

1 Backdoor in hardware (solution: have its own foundry),

2 Hardware vulnerability (solution: update hardware),

3 Hardware assisted malware (solution: develop antivirus software).

Figure: How to exploit

14/28

Page 31: Hardware/Software Support for Securing Virtualization · PDF fileHardware/Software Support for Securing Virtualization in Embedded Systems ... dual-core) and a FPGA (Artix-7 ... Nom

SDTA-2014 Introduction State-of-the-Art Contribution Conclusion

Threats

Software threats

On virtualization (DOS, escalation of privilege or acquire information)

1 Compromise the guest (guest to guest, internet to guest, VM migration toguest, Managment VM to guest),

2

3

Figure: from A Survey of Security Issues in Hardware Virtualization - 2013

15/28

Page 32: Hardware/Software Support for Securing Virtualization · PDF fileHardware/Software Support for Securing Virtualization in Embedded Systems ... dual-core) and a FPGA (Artix-7 ... Nom

SDTA-2014 Introduction State-of-the-Art Contribution Conclusion

Threats

Software threats

On virtualization (DOS, escalation of privilege or acquire information)

1 Compromise the guest (guest to guest, internet to guest, VM migration toguest, Managment VM to guest),

2

3

Figure: from A Survey of Security Issues in Hardware Virtualization - 2013

15/28

Page 33: Hardware/Software Support for Securing Virtualization · PDF fileHardware/Software Support for Securing Virtualization in Embedded Systems ... dual-core) and a FPGA (Artix-7 ... Nom

SDTA-2014 Introduction State-of-the-Art Contribution Conclusion

Threats

Software threats

Compromise virtualization making DOS, try escalation of privilege or acquireinformation...

1

2 Compromise the host OS (guest to host, internet to host, host to the self),

3

Figure: from A Survey of Security Issues in Hardware Virtualization - 2013

16/28

Page 34: Hardware/Software Support for Securing Virtualization · PDF fileHardware/Software Support for Securing Virtualization in Embedded Systems ... dual-core) and a FPGA (Artix-7 ... Nom

SDTA-2014 Introduction State-of-the-Art Contribution Conclusion

Threats

Software threats

Compromise virtualization making DOS, try escalation of privilege or acquireinformation...

1

2

3 Compromise the hypervisor (guest to hypervisor, host OS to hypervisor,Physical/Physical Management Interface to Hypervisor),

Figure: from A Survey of Security Issues in Hardware Virtualization - 2013

17/28

Page 35: Hardware/Software Support for Securing Virtualization · PDF fileHardware/Software Support for Securing Virtualization in Embedded Systems ... dual-core) and a FPGA (Artix-7 ... Nom

SDTA-2014 Introduction State-of-the-Art Contribution Conclusion

1 IntroductionGoal of this thesis

2 State-of-the-ArtHardwareVirtualizationTrusted computingThreats

3 ContributionOverall solutionBoot and zynq-7000Virtual TPM

4 ConclusionTODO list

18/28

Page 36: Hardware/Software Support for Securing Virtualization · PDF fileHardware/Software Support for Securing Virtualization in Embedded Systems ... dual-core) and a FPGA (Artix-7 ... Nom

SDTA-2014 Introduction State-of-the-Art Contribution Conclusion

Overall solution

1 Run on ARM cores with no virtualization extensions,

2 Adapt the solution to a dedicated platform (Zynq-7000),

3 Respect the basis of TCG compability for TPM and vTPM.

Figure: A leigthweight hypervisor of Xen type with VM looking for trust in an FPGAimplemented TPM/vTPM

19/28

Page 37: Hardware/Software Support for Securing Virtualization · PDF fileHardware/Software Support for Securing Virtualization in Embedded Systems ... dual-core) and a FPGA (Artix-7 ... Nom

SDTA-2014 Introduction State-of-the-Art Contribution Conclusion

Boot and zynq-7000

Problem of the chain of trust

1 The Zynq-7000 o�ered us only a secure boot

2 The AES-256 engine and the hash of the RSA public key are hard coded inZynq

3 Possibility to change keys and use efuse or BBRAM.

Figure: from AVNET - x-fest2014

20/28

Page 38: Hardware/Software Support for Securing Virtualization · PDF fileHardware/Software Support for Securing Virtualization in Embedded Systems ... dual-core) and a FPGA (Artix-7 ... Nom

SDTA-2014 Introduction State-of-the-Art Contribution Conclusion

Boot and zynq-7000

Implementation of a measured sequence

Fill the gap between secure boot and launch of VM.

1 Nothing can be done with stage-0 boot,

2 With FSBL : TPM/vTPM bitstream,

3 With SSBL : U-BOOT, VMM and VM.

21/28

Page 39: Hardware/Software Support for Securing Virtualization · PDF fileHardware/Software Support for Securing Virtualization in Embedded Systems ... dual-core) and a FPGA (Artix-7 ... Nom

SDTA-2014 Introduction State-of-the-Art Contribution Conclusion

Virtual TPM

TPM and vTPM provide the same services

1 The I/O interface will only manage the requests/answers from the DomTand the ID of the requester,

2 The execution engine of the IP will be the central point of execution,

3 Partial recon�guration will be implemented for large body of logic (typicalcrypto engines).

Figure: heart of the TPM/vTPM

22/28

Page 40: Hardware/Software Support for Securing Virtualization · PDF fileHardware/Software Support for Securing Virtualization in Embedded Systems ... dual-core) and a FPGA (Artix-7 ... Nom

SDTA-2014 Introduction State-of-the-Art Contribution Conclusion

Virtual TPM

TPM and vTPM provide the same services

1 The I/O interface will only manage the requests/answers from the DomTand the ID of the requester,

2 The execution engine of the IP will be the central point of execution,

3 Partial recon�guration will be implemented for large body of logic (typicalcrypto engines).

Figure: heart of the TPM/vTPM22/28

Page 41: Hardware/Software Support for Securing Virtualization · PDF fileHardware/Software Support for Securing Virtualization in Embedded Systems ... dual-core) and a FPGA (Artix-7 ... Nom

SDTA-2014 Introduction State-of-the-Art Contribution Conclusion

Virtual TPM

DomT

1 Will have a part of the TSS (TDD and TCS commands),

2 Will schedule and verify the requests (from the VMs TSP) and route theanswers,

3 Later : will sign requests to the TPM.

23/28

Page 42: Hardware/Software Support for Securing Virtualization · PDF fileHardware/Software Support for Securing Virtualization in Embedded Systems ... dual-core) and a FPGA (Artix-7 ... Nom

SDTA-2014 Introduction State-of-the-Art Contribution Conclusion

Virtual TPM

DomT

1 Will have a part of the TSS (TDD and TCS commands),

2 Will schedule and verify the requests (from the VMs TSP) and route theanswers,

3 Later : will sign requests to the TPM.

23/28

Page 43: Hardware/Software Support for Securing Virtualization · PDF fileHardware/Software Support for Securing Virtualization in Embedded Systems ... dual-core) and a FPGA (Artix-7 ... Nom

SDTA-2014 Introduction State-of-the-Art Contribution Conclusion

Virtual TPM

Managment of keys from vTPM: Virtualizing the Trusted Platform Module -2006

1 Will be inspired from S. BERGER,

2 Independent key hierarchy per vTPM instance,

3 AIK of vTPM signed by AIK of the hardware TPM for commodity.

24/28

Page 44: Hardware/Software Support for Securing Virtualization · PDF fileHardware/Software Support for Securing Virtualization in Embedded Systems ... dual-core) and a FPGA (Artix-7 ... Nom

SDTA-2014 Introduction State-of-the-Art Contribution Conclusion

Virtual TPM

Managment of keys from vTPM: Virtualizing the Trusted Platform Module -2006

1 Will be inspired from S. BERGER,

2 Independent key hierarchy per vTPM instance,

3 AIK of vTPM signed by AIK of the hardware TPM for commodity.

24/28

Page 45: Hardware/Software Support for Securing Virtualization · PDF fileHardware/Software Support for Securing Virtualization in Embedded Systems ... dual-core) and a FPGA (Artix-7 ... Nom

SDTA-2014 Introduction State-of-the-Art Contribution Conclusion

Virtual TPM

Hypervisor

Need for new hypervisor functionnalities

1 Add DomU (for our DomT at least) and ID for VM

2 Add new syscalls

3 Modify source �les

Figure: from EmbeddedXEN: A Revisited Architecture of the XEN hypervisor tosupport ARM-based embedded virtualization - 2012

25/28

Page 46: Hardware/Software Support for Securing Virtualization · PDF fileHardware/Software Support for Securing Virtualization in Embedded Systems ... dual-core) and a FPGA (Artix-7 ... Nom

SDTA-2014 Introduction State-of-the-Art Contribution Conclusion

Virtual TPM

Hypervisor

Need for new hypervisor functionnalities

1 Add DomU (for our DomT at least) and ID for VM

2 Add new syscalls

3 Modify source �les

Figure: from EmbeddedXEN: A Revisited Architecture of the XEN hypervisor tosupport ARM-based embedded virtualization - 2012

25/28

Page 47: Hardware/Software Support for Securing Virtualization · PDF fileHardware/Software Support for Securing Virtualization in Embedded Systems ... dual-core) and a FPGA (Artix-7 ... Nom

SDTA-2014 Introduction State-of-the-Art Contribution Conclusion

1 IntroductionGoal of this thesis

2 State-of-the-ArtHardwareVirtualizationTrusted computingThreats

3 ContributionOverall solutionBoot and zynq-7000Virtual TPM

4 ConclusionTODO list

26/28

Page 48: Hardware/Software Support for Securing Virtualization · PDF fileHardware/Software Support for Securing Virtualization in Embedded Systems ... dual-core) and a FPGA (Artix-7 ... Nom

SDTA-2014 Introduction State-of-the-Art Contribution Conclusion

TODO list

A lot of work has to be done

1 Produce the IP (TPM �rst, vTPM second),

2 Plug the re-used IPs, link them,

3 Modify the hypervisor,

4 Improve the security of implementation,

5 Test and debug.

Some other future options

1 IP updates,

2 Migration of VMs,

3 parallelism,

4 Use of TZ (for the DomT ?)

27/28

Page 49: Hardware/Software Support for Securing Virtualization · PDF fileHardware/Software Support for Securing Virtualization in Embedded Systems ... dual-core) and a FPGA (Artix-7 ... Nom

SDTA-2014 Introduction State-of-the-Art Contribution Conclusion

TODO list

A lot of work has to be done

1 Produce the IP (TPM �rst, vTPM second),

2 Plug the re-used IPs, link them,

3 Modify the hypervisor,

4 Improve the security of implementation,

5 Test and debug.

Some other future options

1 IP updates,

2 Migration of VMs,

3 parallelism,

4 Use of TZ (for the DomT ?)

27/28

Page 50: Hardware/Software Support for Securing Virtualization · PDF fileHardware/Software Support for Securing Virtualization in Embedded Systems ... dual-core) and a FPGA (Artix-7 ... Nom

SDTA-2014 Introduction State-of-the-Art Contribution Conclusion

TODO list

Thanks for your attention

All the reference to the �gures can be found on the joined article.

28/28