【问题标题】:Can the accessed website detect if i'm using a Virtualized like machine vmware, vbox, etc?访问的网站能否检测到我是否正在使用虚拟化设备,如机器 vmware、vbox 等?
【发布时间】:2021-08-27 21:06:05
【问题描述】:

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

更具体地说是 Vmware 映像?

如果网站能够.. 如何预防?

谢谢,钦奇拉

【问题讨论】:

  • 虽然我希望 浏览器 不会告诉网站您是否正在运行虚拟化,但 flashactiveX 或(可能?)silverlight 插件或(可能?)java 小程序可以判断您何时运行虚拟化。所以要小心你的插件。

标签: cookies vmware virtual-machine privacy


【解决方案1】:

接受的答案并不完全正确。 这有时甚至可以简单地使用 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 小程序检测您是否在虚拟机中,可能是 ActiveX 插件,也可能还有其他方法......

【讨论】:

  • 很有趣。但是您通常必须选择运行 Java 小程序和 ActiveX 插件(或者完全禁用这些插件),并且屏幕分辨率只是一种启发式方法(尽管是一种聪明的方法)。我在现代处理过的每一个虚拟机(我意识到这个答案是 2.5 年前的)都会适应你的物理显示器尺寸,并且有各种各样的屏幕尺寸。我坚持说,Web 服务器没有一种简单的方法来检测您是否正在使用 VM。
  • 可能还有其他基于时间的检测方法(某些任务在VM上较慢)或以某种方式检测机器频率(securitygalore.com/site3/vmd1-advisory
【解决方案2】:

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

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

  2. 通过 WebRTC:它会将本地 IP 地址泄漏到网站(在 chrome 上测试)但 Firefox 不会以某种方式泄漏

    此外,虚拟盒子在网络摄像头名称的前缀中添加了一个字符串“VirtualBox”。假设您正在使用虚拟机并授予网络摄像头访问某个网站的权限,它将能够看到网络摄像头名称以及前缀“VirtualBox”。为防止出现这种情况,您可以检查此解决方案一次 (https://askubuntu.com/a/1357986/699463)

如果您想了解更多有关此类泄漏的信息,请务必使用此网站https://browserleaks.com/ 进行泄漏测试,例如 webrtc、webgl 等。它还将展示避免此类泄漏的方法。

【讨论】:

    【解决方案3】:

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

    查看this useful Wikipedia article

    【讨论】:

    • 所以如果我使用没有插件的普通浏览器我不能被检测为使用虚拟机?我已经在一个网站上读到,他们甚至可以看到我的活动用户名、计算机名等......我很担心,让我的电脑名也未被检测到。
    • 不,除非您安装了一些邪恶的插件/扩展,否则他们应该看不到您的用户名或计算机名称。通常,所有 UA 字符串都会给出您正在使用的 Web 浏览器、其版本和您的操作系统版本。 IE 还会发送您的 .NET 版本。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-05
    • 1970-01-01
    • 1970-01-01
    • 2022-08-02
    • 2022-10-14
    相关资源
    最近更新 更多