Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Blacklisting non-vm computer as vm #886

Open
pinkestflamingo opened this issue May 22, 2024 · 6 comments
Open

Blacklisting non-vm computer as vm #886

pinkestflamingo opened this issue May 22, 2024 · 6 comments
Assignees
Labels
can't reproduce This issue cannot be reproduced and thus also not be fixed.

Comments

@pinkestflamingo
Copy link

Enabling the following options on your Windows computer will create the disk 'PROD_VIRTUAL_DISK' which is blacklisted by SEB:

  • Windows Subsystem for Linux
  • Windows Sandbox

This caused me to get flagged each and every exam for 8+ months and I had to attach a debugger to SEB to understand where it is flagging me.
Filtering for "PROD_VIRTUAL_DISK" is the most stupid thing I've seen to detect virtual environments.

It is embarrassing that having a virtual disk is a detection vector. Step up your game. EMBARRASSING!

@danschlet
Copy link
Member

@pinkestflamingo Please mind your language. We don't tolerate verbal abuse (this is not Twitter -> X).

@dbuechel
Copy link
Member

@pinkestflamingo Try to retain some basic manners, otherwise it is unlikely that you'll make your wishes heard.

@Notselwyn Could you please have a look at the issue and specifically investigate whether there is a way to distinguish between a physical system having a virtual disk installed and a virtual system running on a virtual disk.

@Notselwyn
Copy link
Collaborator

@dbuechel Is there any chance this is a logic bug? "PROD_VIRTUAL_DISK" is stored in DeviceWhitelist, leading me to believe it should not be flagged. Unless of course it is not "PROD_VIRTUAL_DISK" triggering VM-detection.

DeviceBlacklist.Any(d => device.ToLower().Contains(d.ToLower()))
	&& DeviceWhitelist.All(d => !device.ToLower().Contains(d.ToLower()))

https://github.com/SafeExamBrowser/seb-win-refactoring/blame/b3228aedef5c2896a103f990f8bd56170fe2c493/SafeExamBrowser.SystemComponents/VirtualMachineDetector.cs#L74

@dbuechel
Copy link
Member

dbuechel commented May 29, 2024

You are very correct indeed! I doubt that we have a logic error there, I vaguely remember introducing the whitelist which then has been verified by our internal testing.

@Notselwyn Do you happen to have the capacity and time to debug the issue and verify that it can't be PROD_VIRTUAL_DISK triggering the detection?

@Notselwyn
Copy link
Collaborator

I did some fiddling (https://dotnetfiddle.net/eG3JXN) and it seems it should indeed not trigger. Unfortunately I do not have access to devices with Hyper-V or WSL support laying around, so I cannot test for any cases where the literal string is not PROD_VIRTUAL_DISK, however the reporter is claiming that it is.

image

@dbuechel
Copy link
Member

dbuechel commented May 30, 2024

Thanks, this already should prove that the VM detection was not actually triggered because there is a virtual disk installed on a physical machine.

@dbuechel dbuechel added the can't reproduce This issue cannot be reproduced and thus also not be fixed. label May 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
can't reproduce This issue cannot be reproduced and thus also not be fixed.
Projects
None yet
Development

No branches or pull requests

4 participants