A View from OpenBSD

Posted by Michael E. Locasto Sep 16, 2008 Views:2,044

Security and virtualization often do not come hand-in-hand; merely running a virtualized environment does not automatically provide a guarantee of increased security over dedicated hardware.

 

As we have mentioned before, even the basic isolation properties of a VM framework are questionable. Relying on a piece of software to enforce isolation on the x86 platform is risky; it is entirely unclear whether a VMM is going to get that sort of job (a job that OS designers have been grappling with for years) right, especially in the absence of hardware primitives that would make things a lot easier (this argument is the essence of our recent VMSec paper).

 

This KernelTrap thread captures a vigorous discussion of this exact point.

 

2,044 Views 2 Comments 0 References Permalink Tags: x86, isolation, openbsd

VM frameworks (VM guests, hosts, hypervisors, VMMs, etc.) help support system security in a variety of ways. Projects involving aspects of virtual machines and security range from those that show how a VM or VM framework can provide or enchance security functionality intrinsically to those that use VMs as containers to form part of a larger security system.

 

The former type of project looks at what functionality can be added to the VM framework's code to implement things like access control, trusted computing (TPM support), isolation, malware reverse engineering, virus scanning, network content filters, information flow analysis, and host or network anomaly detection.

 

The latter type of project employs to VMs to provide a convenient disposable container to examine the execution of a guest application or OS. Some examples of this use include opening potentially infected emails or web pages, testing out patches or other software fixes, and recording application state for replay.

 

1,529 Views 0 Comments 0 References Permalink Tags: applications_of

From a certain point of view, the amalgam of virtualization technology and information security techniques represents a rather strange blend. What does emulation or multiplexing of physical devices have to do with the enforcement of a wide variety of security properties?

The easiest answer (and the most traditional one) is that virtualization provides an effective means of isolating execution environments; virtualization seems like a natural way to provide isolation between execution containers. As we've seen previously, however, customizing the communication between such containers --- in many situations, they do need to communicate: complete isolation is the exception rather than the rule --- presents a challenge. Thus, even the "obvious" security application of virtualization is fraught with difficulty.

As organizations increase their adoption of virtualization environments, and with the current industry focus on information security, it is natural to wonder just how a virtualization framework might pull double duty by improving a security posture as well as easing management burden and infrastructure costs.

Besides isolation, virtualization frameworks seem to provide a natural place to implement a reference monitor: a formal, well-defined security construct. A reference monitor provides a low-complexity, trusted (and trustworthy) environment from which to observe the execution of another system and measure a certain set of security-related properties.

Unfortunately, it appears that little thought has been given to what the best way is to combine the twin roles of resource provider and reference monitor within a single virtualization framework. As a result, virtualization environments can find themselves attempting to measure security-relevant properties of a system in
ways that are both creative and convoluted. In essence, the set of events that are interesting from a security viewpoint (and this depends on what type of "security" you're interested in measuring...from integrity of control flow or data items to information flow to authorization and access control) are not necessarily the set of events that the virtualization framework was built to intercept and observe with a minimal performance impact.

Karger and Safford's article in the upcoming issue of IEEE S&P magazine details the I/O complexities of most of the popular approaches to providing virtualization. I and my colleagues Bratus, Ramaswamy, and Smith have a paper at the upcoming VMSec workshop (held with ACM CCS 2008) identifying the problem of designing an efficient event trapping system of use for both security policy enforcement and virtualization.

While the suggestion that the design of current virtualization solutions is actually a hindrance to providing security solutions may not sit well with folks interested in touting a particular virtualization solution's security capabilities, I would argue that we have a unique opportunity to make sure that VM platforms are designed to do the things we're asking them to do. Now is also a good time to note that the stunning complexity of VMM I/O subsystems, the performance hacks therein, and the backdoor management interface all suggest that even the basic isolation story rests on somewhat shaky ground.

We find ourselves at a unique point in time: we can try to identify the right design for doing these two disparate tasks at once, or we can muddle through by abusing a framework meant for resource multiplexing rather than program supervision. In either case, we still must balance the tradeoff between the virtualization framework's I/O architecture and subsystems and the trustworthiness of the reference monitor. Ironically, as we depend on VM frameworks to implement more security functionality, these systems become less trustworthy even as they become more trusted.

1,432 Views 0 Comments 0 References Permalink Tags: i/o, event_trapping, security_properties, reference_monitor, resource_provider

Virtualization is not a new concept - IBM had proposed virtualization as a product as early as 1972. However, the current state of virtualization is far more complex and extensive than what was initially conceived and spans more operating systems and devices.

From security point of view, a benefit of virtualization is the isolation it provides to different applications. This property has been the tenet of employing virtualization as a security measure. However, this does not comes for free: there are both usability and performance issues associated with the use of full virtualization.

Steve Bellovin in an article in Inside Risks of the Communications of the ACM October 2006 named  "[Virtual Machines, Virtual Security"|http://www.csl.sri.com/users/neumann/insiderisks06.html#196] points out some of the caveats of using virtualization as a form of application (or process) isolation. The core of the problem is data sharing and how you can contain an application when it is required to exchange or potentially share data with another application. In that case, the isolation model cannot be directly applied and we need something more to define the relationships between the applications and the sharing policies.

1,546 Views 1 Comments 0 References Permalink

What is this blog about?

Posted by Angelos Stavrou Sep 9, 2008 Views:2,216

The goal of this blog is to provoke discussions among researchers and practitioners by exposing potentially conflicting positions and ideas from a wide range of vitalization and security topics. We would like to be inclusive of all different opinions and foster scientific conversation so this blog will be open for posting to all registered users.

 

 

 

Of course, being security researchers, our opinions are inherently biased towards security but we will try to be as objective as possible linking to external information including articles and papers whenever possible.

 

 

 

Furthermore, we encourage all interested readers to post controversial comments and express their approval or disapproval!

2,216 Views 0 Comments 0 References Permalink