5

如果我访问一个网站,它可以检测我是否使用虚拟机?

更具体地说是 Vmware 映像?

如果网站能够.. 我该如何防止它?

谢天谢地,钦奇拉

4

3 回答 3

7

接受的答案并不完全正确。这有时甚至可以简单地使用 JavaScript 通过检测屏幕分辨率来检测窗口操作系统来完成,如下所述:http: //carnal0wnage.attackresearch.com/2009/04/detecting-vmware-with-javascript-or-how。 html

或通过检测您的 MAC 地址(VMware 使用固定 MAC 范围),如下所述:http: //jeremiahgrossman.blogspot.co.il/2009/08/web-pages-detecting-virtualized.html

要避免这些问题,请不要使用调整大小的窗口并更改机器的 MAC 地址。还有其他方法可以使用 JAVA 小程序检测您是否在 VM 中,可能是 ActiveX 插件,也可能还有其他方法......

于 2015-01-12T11:35:54.810 回答
3

有几种方法可以确定您是否在虚拟机上,以下是最常用的

  1. 通过 WebGL:WebGL 是 Google Chrome、Firefox 等浏览器附带的 Javascript API。这将泄露 GPU 名称和渲染器的供应商名称。使用虚拟机时,它会泄漏与在物理机上使用浏览器不同的渲染数据。例如,Google Chrome 将 Renderer 的名称显示为“Google SwiftShader”(它用于没有 3D 图形硬件的机器上。),Firefox 将渲染器的名称显示为“llvmpipe”(这也是一个软件渲染器)。这将使网站了解您在虚拟机上。有关 WebGL 的更多信息,请查看此链接

  2. 通过 WebRTC:它会将本地 IP 地址泄漏到网站(在 chrome 上测试),但 firefox 不会以某种方式泄漏 此外,虚拟框在网络摄像头名称的前缀中添加了一个字符串“VirtualBox”。假设您正在使用虚拟机并允许网络摄像头访问某个网站,它将能够看到网络摄像头名称以及前缀“VirtualBox”。为了防止您可以检查此解决方案一次(https://askubuntu.com/ a/1357986/699463 )
    在此处输入图像描述

如果您想了解更多关于这种泄漏的信息,那么一定要使用这个网站https://browserleaks.com/来执行 webrtc、webgl 等泄漏测试。它还将展示避免这种泄漏的方法。

于 2021-08-14T18:08:37.680 回答
-3

Web 服务器只能通过其用户代理字符串告诉有关 Web 浏览器的详细信息。除非您使用特殊的 Web 浏览器(不太可能)检测到它在 VM 中运行,否则 Web 服务器不应该知道。在任何情况下,UA 字符串都可以轻松更改为您想要的任何内容,因此您可以随时假装自己不是。

查看这篇有用的维基百科文章

于 2011-04-13T00:08:57.467 回答