What the Sci-Fi Hit <i>Altered Carbon</i> Teaches Us About Virtualization Security

The Netflix show may be fantastical, but it has real-world lessons about virtualization.

In a dark and dystopian future, the Netflix show (and even better book series) Altered Carbon imagines a humanity that can "digitize" our brains and place them into artificial bodies, allowing the richest in society to live forever. Although the story is fiction, it illustrates real-life information security issues extremely well, particularly those related to virtualization, which I'll explore in this article.

Spoiler alert! This article reviews events from the show. I recommend waiting until you've watched Season 2 before continuing.

Related Content:

8 Backup & Recovery Questions to Ask Yourself

The Threat from the Internet—and What Your Organization Can Do About It

New on The Edge: A Hacker's Playlist

In the world of Altered Carbon, society has figured out how to make a device called a "cortical stack," which is implanted into babies when they turn 1. Their consciousness is then digitized into what's called "digital human freight" (DHF) and placed into this stack. This allows humanity to "re-sleeve" the DHF into a different stack and body — essentially getting immortality through virtualization. "Real death" occurs when the stack containing the last copy of a DHF is physically destroyed. Since humans can make copies of their DHF (if they're rich enough), they could have multiple copies of themselves existing at once; though placing copies in two bodies simultaneously ("double-sleeving") is highly illegal in the Altered Carbon universe.

In real-life computing, the operating system (OS) is the core brain of our computers. With virtualization, we can abstract that software brain from the hardware it runs on. Like DHF, virtualization allows us to run the same OS on many different platforms, regardless of the platform's underlying hardware and/or software. We can make many copies of our favorite OS configuration and use that as a starting point for all new systems (the gold image). We can save instances of an OS's current state, and if something happens that we don't like, we can revert back to that saved state. And we can quickly transfer a preferred server image to a data center and spin it up there in seconds.

If we compare AC's sleeving to virtualized computing, a sleeve represents the hardware and hypervisor you run virtual images on, while the DHF is analogous to the virtual image. "Real death" in AC occurs when someone's cortical stack is destroyed along with their sleeve/physical body — if that's the last copy they are dead forever. Even though it is possible to make backup copies of your DHF, protecting a sleeve to maintain the integrity of its cortical stack is still important

Similarly, in the real world, the hypervisor that a VM runs on is also important because the hypervisor exposes a new path into that data. This is why it's important to harden the hypervisor. Consider these tips to get you started:

  • Patch the hypervisor itself. Yes, you also have to patch the guest virtual OS, but the hypervisor itself needs to be maintained.

  • Disable unnecessary hypervisor usability features. Many software hypervisors come with unique features that make it easier to move things between the native and guest machines. Unfortunately, these usability features have sometimes exposed vulnerabilities in the past that allow guest machines to bypass restrictions. If you aren't using a particular hypervisor feature, disable it in the hypervisor to reduce the attack surface.

  • Configure physical to virtual interfaces carefully. The hypervisor gives you great control over both physical and virtual network or I/O interfaces and allows you to cross-connect them in various ways. However, that also means you can accidentally shoot yourself in the foot by configuring things in ways that expose more access than you want. Follow the least-privilege principle and be very careful how you connect virtual I/O to physical devices.

  • Protect the hypervisor management interface. When you virtualize, you don't only have to protect the virtual OS's management and networking interfaces in the normal ways but you now also have a hypervisor management interface and network to consider. Make sure you don't accidentally expose the hypervisor management network to outsiders, or the VMs themselves; otherwise, you offer a path for attackers to "crush the stacks" (VMs) running in your sleeve (hypervisor).

During the show's second season, Colonel Carrera, leader of a special ops team called The Wedge, hunts the main character, Takeshi Kovacs (Tak). Due to his history with Tak, he has access to both an old copy of Tak's DHF (years behind in memory) and a cloned sleeve of Tak's original body. Despite the illegality, he double-sleeves Tak's old DHF and uses this copy to help him hunt down the original.

This storyline reminds me why it's so important to aggressively protect gold standard virtual images. Many companies create a gold standard image (or images), which is a virtual OS image preconfigured with the company's standard setup. It acts as the starting point for all new virtual servers and workstations.

If an attacker can gain access to a gold standard image — in the way Carrera had access to Tak's DHF — they can exploit that access in many malevolent ways. For instance, they could poison that image with a Trojan, and from that point on everything the company spins up with that image comes precompromised. In fact, past malware variants have specifically leveraged this tactic. If you don't want to find yourself fighting infected copies of yourself, you need to protect your virtual gold images. At the very least, provide a means to check the integrity of your gold standard VM files (using a method like file checksums) so you can tell they haven't been tampered with, and more importantly, protect the file stores containing those images.

There's too much good material in Altered Carbon to fit into a single article! For more cybersecurity tips you can learn from the series, check out this blog post on the topic.

Recommended Reading: