• No results found

Clouds, Virtualization and Security or Look Out Below

N/A
N/A
Protected

Academic year: 2021

Share "Clouds, Virtualization and Security or Look Out Below"

Copied!
12
0
0

Loading.... (view fulltext now)

Full text

(1)

National Institute of

Information Technology Laboratory Computer Security Division

NIST

Clouds, Virtualization and Security

or

Look Out Below

(2)

National Institute of Standards and Technology

Information Technology Laboratory Computer Security Division

NIST

Hardware Virtualization

(Box View)

Terminology

Guest OS : runs only on VMM Host OS : runs only on HW

Domain : virtual machine on VMM Hypervisor : virtual machine monitor

HW VMM Guest OS GuestOS GuestOS A I/O VMM A A A A A A A Full virtualization type 1 Host OS VMM Guest OS A A HW type 2 ring 0 ring 1 ring 2 ring 3 CPU mode dom0 A A Guest OS (kernel) x86 A A Guest OS (kernel) VMM ring 0 ring 1 ring 3 ring 0 ring 3 Issue: Deprivileging Para-virtualization HW VMM Guest OS Guest OS GuestOS A I/O VMM A A A A A A A type 1 Host OS VMM Guest OS A A HW type 2 dom0 1 2 3 4

(3)

National Institute of

Information Technology Laboratory Computer Security Division

NIST

Making x86 Virtualizable

Using Binary Translation

. . . . . . “Running” Basic blocks Translation Cache (also in memory)

1 Identify the “next” block by scanning instructions

for a jump/call/etc (that ends a basic block).

ret

call jmp

2

3 Binary translate any prohibited instruction

into a sequence that emulates it “safely.”

instruction instruction instruction instruction call SGDT instruction instruction instruction instruction call instruction instruction instruction

4 Run/rerun translated block at full speed.

Guest OS kernel in ring 1 VMM ring 0 (if needed) C A B C B A Guest OS kernel in ring 1 Copy a newly-encountered basic block to the cache.

(4)

National Institute of Standards and Technology

Information Technology Laboratory Computer Security Division

NIST

Intel 64

contains ~595 instructions. Data transfer 32 Arithmetic 18 Logical 4 Shift/rotate 9 Bit/byte 23 Control transfer 31 String 18 I/O 8 Enter/leave 2 Flag control 11 Segment register 5 Misc 6 General Purpose 167 Floating Point 94 SIMD 277 System 34 64-bit mode 10 VT-x Extensions 12 Safe mode 1 Data 17 Arithmetic 26 Compare 14 Transcendental 8 Constants 7 Control 20 State management 2 MMX 47 SSE 62 SSE2 69 SSE3 13 SSSE3 32 SSE4 54 Intel version of x86-64 Hardware extensions make the instruction set virtualizable

Making x86 Virtualizable

(5)

National Institute of

Information Technology Laboratory Computer Security Division

NIST

Intel Virtual Machine Extensions

(VMX)

Ring 0 VMXON VMXOFF ring 0 ring 1 ring 2 ring 3 CPU mode CPU State transitions VMX root VMM A A Host OS VMXLAUNCH VMXRESUME VMXCALL “side effects” A A Host OS A A Host OS A A Host OS A A Host OS VMX non-root A A Host OS ring 0 ring 3 Original structure

Legacy software runs in the expected rings, hopefully unaware.

“there is no software-visible bit…indicates…VMX non-root operation”, Intel 64 manual.

Deprivileged(very configurable).

• Many instructions cause fault-like VM exits:

– interrupts

– I/O events

– page table management

– privileged instructions, etc. • VMM handles faults

• VM exit rate determines performance

(6)

National Institute of Standards and Technology

Information Technology Laboratory Computer Security Division

NIST

How Complex is Virtualization?

1990 55,000,000 35,000,000 20,000,000 15,000,000 3,000,000 1,000,000 60,000 Source Lines Of Code Debian Linux Windows 3.1 Windows 95 Windows NT Windows 2k

Red Hat Linux

Bochs Kaffe Xen Qemu VirtualBox 2000 2008

VMM code counts generated using David A. Wheeler's “SLOCCount”tool. Windows estimate from Bruce Schneier

Linux estimates from Gonzalez-Barahonaet al., and David Wheeler

Operating system Virtualization system

(7)

National Institute of

Information Technology Laboratory Computer Security Division

NIST

VMM Implementation Quality

Should Not be Assumed

Reference: “An Empirical Study into the Security Exposures to Host of Hostile Virtualized Environments,” by Travis Ormandy. taviso.decsystem.org/virtsec.pdf

Code counts generated using David A. Wheeler's “SLOCCount”tool.

In 2007, Tavis Ormandy subjected 6 virtualization systems to guided random testing of their invalid instruction handling and I/O emulation.

Bochs QEMU VMWare Xen Anonymous 1 Anonymous 2

All of the systems failed the tests, most with “arbitrary execution” failures. Device emulation was a particular area of vulnerability.

For details, see: taviso.decsystem.org/virtsec.pdf

(8)

National Institute of Standards and Technology

Information Technology Laboratory Computer Security Division

NIST

Potential Security Advantages

Stronger encapsulation of errors-or-attacks within a VM.

More intrusive intrusion detection via introspection.

More limited exposures of buggy/weak software.

More flexible discovery/eviction of kernel rootkits.

Snapshots enable rollback for fault/intrusion tolerant computing.

Security policy regulating VMs may be simpler than policy regulating processes. An extra layer for defense in depth.

(9)

National Institute of

Information Technology Laboratory Computer Security Division

NIST

Potential Security

Dis

advantages

VM layer is complex too: composite system is complex. VM layer configuration is security relevant.

Mapping VM storage onto host files may cause overlap. Trusted Platform Module (TPM) hard to virtualize.

Remote attestation may not work. Covert channels not well understood.

VM escape. VM detection. VM-VM interference.

V networking configuration errors. Malicious virtualization risk.

networks clipboards clocks printers desktop management folders Shared Resources increase risk:

(10)

National Institute of Standards and Technology

Information Technology Laboratory Computer Security Division

NIST

NIST Guide to Platform

Virtualization Security

Practical and operational guide

Security challenges and benefits

Attributes and properties

Platform virtualization architecture

Threat model

(11)

National Institute of

Information Technology Laboratory Computer Security Division

NIST

(12)

National Institute of Standards and Technology

Information Technology Laboratory Computer Security Division

NIST

VMM Formal Requirements

(summary of Popek

and Goldberg, 1974 CACM)

memory

For machines having: 1) user/supervisor modes, 2) location-bounds register, and 3) a trapping mechanism.

trap 0 1 2 3 … 0 1 2 3 4 q-1 … n n+1 n+2 n+3 n+4 …… “u” PC=0 (n, 4) “s” PC=2 (0, q-1) Sensitive Instructions (change or depend on memory map or mode)

If then a Virtual Machine Monitor (VMM) can be built having 3 properties:

Dispatcher Allocator Instruction Interpreter

Popek Goldberg

Theorem

:

“user”program

Efficiency: most instructions run

directly.

Resource Control: the VMM

allocates all resources.

Equivalence: the user program

mostly believes it runs on the hardware.

Privileged instructions

References

Related documents

For Overall mood, Happy and Angry, although all features perform statistically significant, the best multimodal combi- nation is with Verbal and Facial Expression Cues (L+F).. As we

Mr Hotham and/or Mr Lavers [TCL]." ACT Coroner, 1999, Inquest findings, comments and recommendations into the Death of Katie Bender on Sunday, 13 th July 1997 on the demolition

Indeed, one of the questions in the Governance section of Form 990 (Part VI) asks: "Was a copy of Form 990 provided to the organization's governing board before it was filed.

Como alternativa al capitalismo, el Vivir Bien valora la diversidad cultural para “crecer en hu- manidad”, da valor a las propuestas que defienden subordinar la economía a

VAS back (A) and leg (B) pain scores from preoperative to 24-month follow-up. ACD : annular closure device, CLD : conventional lumbar discectomy... while closing the annular defect

The first conceptual model (Conceptual Model 1) proposed that the participants’ previous performance; pre- competitive perceived variables of somatic and cognitive state anxiety;

College of Health and Human Services: Global Health, Health Informatics, Health Systems Management, Nutrition College of Science: Bioinformatics and Computational Biology,

Assuming that unskilled labour is the relative abundant factor in developing countries, trade liberalisation should increase its relative returns when compared to capital and