Git Product home page Git Product logo

lockdown-browser's Introduction

Lockdown Browser in Windows Sandbox

A demonstration of the software in action

View Demo Video
Example_2.mp4

What is this?

This repo allows you to run the Respondus Lockdown Browser in an isolated sandbox, thus completely bypassing its “security measures”. Normally, the Lockdown Browser blocks you from running it if it detects that it is being virtualized. However, this tool bypasses the detection, allowing us to virtualize it.

Why the Lockdown Browser is bad

First, I am uncomfortable with installing random software on my computer. As I rule, I will only install software that is Open Source or that is from a trusted publisher. This is neither, so I am naturally a little uncomfortable installing it.

Second, the Lockdown Browser is essentially indistinguishable from malware. Read this following list of documented behaviors, and see how similar these behaviors are to actual malware.

And of course, there are the privacy issues. Cheating is no doubt an issue, but school-mandated surveillance software is a step too far. As far as I am concerned, this is the most significant issue. I strongly recommend reading these following links from the EFF, a non-profit who focuses on defending digital privacy.

Purpose

This tool is not designed to facilitate cheating. Instead, I built it for two purposes:

First, it is designed to show school administrators that the Lockdown Browser is entirely ineffective. Respondus claims that it is the “gold standard” and that it cannot be bypassed, but that is clearly false. I, a random University student, managed to bypass the Lockdown Browser in a single day. This removes all of the (supposed) benefits of the Lockdown Browser, and thus makes the issues look even worse.

Second, it is designed to prevent students from having to install invasive spyware on their personal computers. Sometimes, administrators won't listen and will still force the Lockdown Browser on their students. This tool allows you to run the Lockdown Browser in an isolated sandbox, thus prevent the Lockdown Browser from modifying or spying on the rest of your computer. This tool is designed for to run in the Windows Sandbox, but users should be able to easily adapt it to run in other Virtual Machine software. This is especially valuable for the Linux users since the Lockdown Browser does not run on Linux and otherwise refuses to run in a VM.

Disclaimer

This repository does not contain any materials belonging to Respondus Inc. You must supply your legally-acquired Lockdown Browser .exe yourself. Any supporting and auxiliary files were either created by myself or gathered from various OSS projects with proper attribution. This project is not endorsed by Respondus Inc., nor by anyone except for myself.

Also, Respondus has explicitly granted permission for this type of research. From their website:

Hacker Tested, Market Approved – Hundreds of universities and schools around the world use LockDown Browser. It seems that at least one person (or team) at each institution makes it a quest to “break out” or beat the system. Some of the best minds have taken our software to task over the years, and we’ve addressed each issue that’s been raised. (Yes, you have our blessing… go ahead and see if you can break it.)

System Requirements

Building

Clone the repository, then run build.ps1. Then, install the Windows Sandbox. That's it!

Running

  1. Build the project as shown above.
  2. Download the Respondus Lockdown Browser and place it in runtime_directory\.
  3. Double-click Sandbox.wsb (it’s in runtime_directory\)
  4. Wait. It’ll take about a minute, but eventually the Lockdown Browser will open, completely automatically.

Technical Details (How does it work?)

This repo consists of a few fairly simple tools cobbled together into a coherent package.

The Lockdown Browser detects a few BIOS-related registry keys in HKLM:\HARDWARE\DESCRIPTION. Therefore, sandbox_run.ps1 deletes these keys/values.

The Lockdown Browser calls GetSystemMetrics(SM_REMOTESESSION) to determine if it is running in and RDP session. Since this function is in user32.dll, there aren’t any trivial ways to fix this. However, Microsoft Detours allows for you to intercept and replace any function in any .dll. A small hook (GetSystemMetrics-Hook.cpp) is used with Detours to intercept the function call and return a false value.

Because this tool runs in the Windows Sandbox, no state is retained between sessions. Therefore, this tool provides a scripted installer for the Lockdown Browser. The Lockdown Browser’s installer is a little tricky to script, so the installation is a little hacky, but it works. And again, the Sandbox is completely isolated from the rest of your system, so the Lockdown Browser cannot cause any harm to your computer.

lockdown-browser's People

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.