TechKnowSurge
VideoSecurityFree

Hypervisors

Hypervisors are software abstraction layers that sit between physical hardware and virtual machines, allowing multiple operating systems to run independently on a single server. Type 1 hypervisors run directly on bare metal, while Type 2 run on top of an existing operating system, each with distinct performance and scalability trade-offs.

Complete this video to capture a CTF flag worth 1 point.

About this video

A hypervisor is a software abstraction layer that decouples operating systems and applications from the physical hardware they run on, making it possible to host multiple virtual machines on a single server. In a traditional bare-metal setup, software communicates directly with hardware. Virtualization inserts the hypervisor between the two, so guest operating systems interact with the hypervisor as though it were real hardware, while the hypervisor handles the actual instructions to the underlying physical components. Each virtual machine operates independently, with dedicated allocations of CPU, memory, and storage drawn from the host server's total resources, and can be accessed and managed as if it were a standalone physical system. Tools like Proxmox illustrate this in practice, presenting a web-based management interface through which administrators can spin up, configure, and interact with individual virtual machines without ever touching the physical server directly. There are two primary hypervisor types, each suited to different use cases. A Type 1 hypervisor runs directly on bare metal without an underlying operating system, offering strong scalability, cost efficiency, and centralized management that make it the standard choice for enterprise and data center environments. A Type 2 hypervisor runs on top of a conventional operating system, adding an extra software layer that increases overhead and limits scalability, though it remains practical for development, testing, and personal lab environments. Both types introduce some degree of performance overhead compared to bare-metal deployments, and the added abstraction layer carries management complexity that teams need to account for. From a security perspective, hypervisors provide meaningful advantages by enabling highly available environments where workloads can be migrated between physical hosts if hardware fails, directly supporting the availability principle of the CIA triad. However, the shared hardware model introduces risk. If the hypervisor itself contains a vulnerability, it may be possible for one virtual machine to observe or interfere with activity on another machine sharing the same host, breaking the isolation that virtualization is designed to enforce. Hypervisors are architected to silo virtual machines from one another, but documented vulnerabilities have exposed this boundary in the past, underscoring the importance of keeping hypervisor software patched and deployed within hardened, well-monitored environments.

What you'll learn

What's covered

Hypervisors & Virtualization

Key terms

Hypervisor
Software that creates and manages virtual machines by abstracting hardware resources.
Virtual Machine
VM
A software emulation of a physical computer that runs an operating system and applications.
Type 1 Hypervisor
A hypervisor that runs directly on the host hardware without an underlying operating system, offering better performance and scalability for enterprise deployments.
Type 2 Hypervisor
A hypervisor that runs on top of a conventional operating system, making it easier to set up but adding overhead; suited for personal use and testing.
Hardware Abstraction Layer
HAL
A software layer in an operating system that provides a standardized interface between hardware components and higher-level software, hiding platform-specific differences and enabling OS portability.

Topics

Hypervisors Virtualization Type 1 Hypervisor Type 2 Hypervisor Virtual Machines Operating Systems

Transcript

One of the things that allows us to do virtualization, at least from that virtual machine level, is hypervisors.

When we have bare metal, that software, a lot of times this is an operating system, is talking to that hardware directly. When we virtualize something, we create an abstraction layer. That creates these instances that are separate from the hardware, and the software is talking to this abstraction layer instead, and then the abstraction layer is making calls to the hardware. There are a lot of advantages to setting it up this way.

When we're talking about VMs and setting up VMs, this abstraction layer here is what's known as a hypervisor. A hypervisor is essentially its own operating system. We don't call it an operating system, but it performs some of the same functionality as an operating system, talking to the hardware and managing that hardware and giving instructions to that hardware. From there, what we can do is we can turn up other instances, operating systems, on top of that. These operating systems feel like they're talking directly to hardware, but instead they're talking to the hypervisor, and the hypervisor is making calls then to the hardware. Now, this isn't always the case, but generally speaking, this is the concept of what virtualization is and what hypervisors do.

So in this case right here, we have our operating systems, and then we have applications that are running on top of those operating systems. What's great now is our applications can run separately on different instances of this without interfering with each other. Each one of these instances we could actually log into. So I could log into this operating system and then log back out and log into this one, and they would act just like your desktop or laptop or whatever you're viewing this on. You're logging into that system and you're using that system as if it's its own entity. So then we only have one piece of hardware but can access multiple versions of this operating system.

Proxmox

I've set up something called Proxmox. Proxmox is a hypervisor. So what I've done is I've taken a machine, a server, and I've installed Proxmox on top of that. And now that is essentially what is the operating system, or what we call a hypervisor, that's running that machine. And then I have many machines running on top of that.

Now, if I were to go to the machine itself and look at the actual screen, it would just give me like a couple basic options, just enough to configure an IP address on it and do some other troubleshooting. It's really basic if I were to go to the machine itself. So instead, what I do to manage this box is I go to the IP address. So I go into the IP address here, and then I can see that this is the box right here. So there's a data center, and that's just kind of a grouping here, so I can manage many different Proxmox boxes. This is the server itself, and then these are all the machines that are running under this server.

So now what I can do is I can click on one of these machines and see all the configurations of it. So this one right here is a Kali Linux box, and I can see it's up and running. I can see that it's set up with two virtual CPUs. Even though this server has something like 64 CPUs on it, I've only assigned two for this one. It's also got probably about 128 gigs of memory to it, and I've just assigned four of those gigs to this box right here. And then it's got about maybe a terabyte of information, and I've just assigned 32 GB of storage space to this. So I've assigned certain resources to this machine.

And then I can get into this machine just by clicking it, and then it opens up this machine. So now I'm interacting with this machine just as if it's installed on my desktop or laptop, and I can utilize this. This is great for testing purposes, or if I have large-scale operations and I need to roll out a bunch of servers, or this is just my lab environment. So it has a lot of applications to it, and then I can open up these other environments to it as well.

Types of Hypervisors

Now there are different types of hypervisors. So here's a hypervisor type one and a hypervisor type two. They look a little different. I'm not going to get real in-depth into the differences between these. There's just this extra operating system level. And so this is something that you could actually set up very easily at home to test out. But depending on these deployment models, there's advantages and disadvantages of them.

As far as a type one hypervisor is concerned, it can be very cost-effective, easy to deploy, scalable, simplified management. It's great for large-scale operations, and there's very diverse operating systems you can run on it. Everything we've already mentioned. Some of the disadvantages to it is it can increase complexity. We have this whole other layer, this abstraction layer, that creates some level of complexity that now we have to manage, that's extra. There's also some performance overhead, because there's some extra stuff that has to happen every time you process things, so we have some performance degradation because of that. A lot of businesses will use this. Like I say, I use this in my lab, and it's definitely something to look into and try out on your own as well.

Hypervisor type 2 has a lot of the same advantages to it, except for there is more overhead with this, because now we have an operating system layer, a hypervisor layer, and then more operating system layers. So it's somewhat limited in its scalability, but it's great for personal use or for testing. I have used it in production environments before, but it's not really as recommended as this type one hypervisor.

Security Pros and Cons

Now there are pros and cons to this from a security perspective. One of the pros to this is that it creates highly available environments. I could just have multiple bare metal machines with these hypervisors installed on it, and then if I have any issues with one of these machines, I just move this machine to another one and then I'm up and running again. So it creates highly available environments. So that's great from a security standpoint if you think about our CIA triad.

Some of the disadvantages: it does add complexity to this, it adds up that performance hit. It also can cause problems if the hypervisor has like a vulnerability. This is what I've seen before, is that the hypervisor had a vulnerability and then one machine could see what the other machine was doing, because they're sharing the same resources, they're sharing the same hardware. And so if that underlying hypervisor has a vulnerability to it, there is potential that one machine can see what's happening on another machine, which is not something that we want to happen. They need to be in secure environments. So typically hypervisors are programmed so that way they are siloed and they don't see what other machines are doing. But there have been vulnerabilities that have created some exposure.

About TechKnowSurge

TechKnowSurge builds IT and cybersecurity professionals through hands-on, concept-first training built around real understanding — not memorization. Free interactive tools, structured programs, and 25+ years of real-world experience, all in one place.

Explore free tools and programs →