5 min read
Disable WSL2, or Forget The Respondus Browser

Introduction

The world of being a programmer is full of drama, or so I presume. Earlier this year, I decided to switch my primary desktop from Ubuntu to Windows 11 for the simple reason that I am still a student, which might not make any sense at first glance. While there is more to it than just one simple reason, this post will highlight the one that got me thinking again, Respondus Lockdown Browser.

Background of the problem

For many students, the use of Respondus Lockdown Browser is a necessary evil during exam season. The software being unsupported on Linux, and not being a fan of dual booting myself, I decided to settle for the Windows Subsystem for Linux, WSL.

WSL is a feature of Windows that allows you to run a Linux environment directly on Windows, without the need for a virtual machine or dual booting. In other words, WSL lets you use Linux command-line tools and applications on Windows, without having to leave your Windows desktop.

Now, WSL has two versions: WSL 1, which was released in 2016 by Microsoft, and WSL 2, which was released in 2019 by Microsoft in partnership with Canonical, the developers of Ubuntu. The latter version is the current default, being superior to the former in quite a number of disciplines, including performance, usability, and compatibility. It is just natural to use the latest version, but that’s where my problem started.

The problem

There’s nothing more frustrating as to be forced to use the laboratory PCs when you have something that performs better. As such, people just bring their laptops to take the exam, and that’s what I did on the day in question. However, precisely 10 seconds into the exam, I got confronted with a message: “Yikes! A VM has been detected.”

According to this article by California State University Dominguez Hills, if a test displays a Virtual Moose VM warning message, it means that LockDown Browser has detected use of, or a signature of, a virtual environment. Almost immediately, the exam gets terminated and that’s it. You’ll have to resume on another PC.

Instead of rushing to get another PC so that I don’t lose time, I noticed something quite peculiar: all my friends were testing without issues. I knew they had WSL installed, because I had actually installed it for them myself. So what was happening with mine? Well, turned out they were using WSL 1, I was using WSL 2.

Root Cause: A compatibility issue

I had to conduct a little research.

WSL1 uses a translation layer to convert Linux system calls into Windows system calls. This means that WSL1 does not require a virtual machine to run. WSL2, on the other hand, uses a lightweight virtual machine to run a Linux kernel.

So, the reason for the incompatibility between WSL2 and the Respondus Broswer is that WSL2 uses a technique called virtualization-based security (VBS). VBS creates a secure environment for running Linux by creating a hypervisor that sits between the hardware and the operating system. The hypervisor creates a virtualized environment that is isolated from the rest of the system.

Respondus Lockdown Browser uses kernel integrity checking to detect virtual machines. Kernel integrity checking works by comparing the current state of the kernel to a known good state. If the kernel has been modified in any way, Respondus Lockdown Browser will assume that the user is trying to cheat and will prevent the user from taking the exam.

Because VBS modifies the kernel, Respondus Lockdown Browser will detect WSL2 as a virtual machine and prevent the user from taking the exam.

What’s next?

At the moment, there is no way to use WSL2 and Respondus Lockdown Browser together. And it seems you don’t have many options either.

The only option that worked for me is to turn off Hyper-V. This will disable other features that rely on Hyper-V, such as Windows Sandbox and Docker Desktop. But since you will be taking the exam, you won’t need these for the time being. Just remember to turn it back on once you are done with the exam, restart your PC, and you are good.

WSL1 does not use VBS and is compatible with Respondus Lockdown Browser. You might use that, but that just defeats the whole purpose of WSL2, in my opinion.

Conclusion

It seems my decision to switch my desktop environment was futile as far as taking online exams is concerned. And what’s worse, even Pearson’s OnVUE refused to work, on the same grounds. On the upside though, I had a good time exploring this phenomenon.