我的问题基本上就在标题中 - 我们都知道 Windows 10 附带的遥测废话以及 NSA 对每个人的监视。考虑到所有这些,使用 VM 使用 Linux 是否(从隐私角度来看)安全?Windows 是否能够从我的 VM 收集数据,或者这是否与使用 Linux 作为主机操作系统基本相同?
这可能对你来说很偏执,但我觉得我必须问清楚这一点。我不能删除我的 Windows 安装并完全使用 Linux,因为我需要在 Windows 上使用软件。我也不能(最好说:不想)只使用 Windows,因为我不想被监视。所以我想我会走中间路线。
我正在使用 Vmware 和最新的 Ubuntu,如果这有任何相关性的话。
答案1
你的问题很模糊。简短的回答是:这取决于你想保护什么。下面是详细答案。
更详细的解释:我想到了一些你想要保护的东西来自 Windows/微软在隐私方面。还有其他威胁隐私的因素,例如在您的系统上运行的专有软件、间谍软件等。但是既然您专门询问了 Windows/Microsoft,我就不谈这个了。
1. 您的本地数据
问题:有安装 ubuntu 的虚拟磁盘。Windows 本身不支持 EXT3 格式,但谁知道呢。
解决方案:当然,您可以在安装过程中加密您的 ubuntu 主目录或整个“驱动器”。这应该可以防止主机系统上运行的任何软件读取虚拟机内的数据。但是,由于解密密钥理论上也可以由主机系统访问,因此可以完全控制主机系统并解密密钥,从而解密数据。我认为,使用加密可以避免自动生成有关您的使用情况和文件的统计信息,但如果有人控制主机操作系统,对您/您的计算机进行有针对性的攻击,则所有加密都将失效。
2. 您的网络流量
问题:您很可能使用 Ubuntu 浏览网页、访问文件服务器、阅读电子邮件等。其中一些连接将被加密,有些则不会。未加密的连接将以纯文本形式通过 VM 主机系统 (Windows 10)。理论上,如果您的 Windows 10 中安装了监控/嗅探网络流量的软件,它至少可以读取您的部分网络流量。此外,加密不会阻止软件确定那您正在与某人通信,并且知道对方是谁。加密本身只能隐藏内容。
解决方案:如上所述,加密流量不易被主机系统读取,因为它已经在虚拟机内部加密,然后才通过主机系统的网络接口传输。例如,您可以通过与您信任的服务器建立 VPN 连接,强制对来自虚拟机的所有流量进行此类加密。附注:这也可能是您网络中的路由器。但要小心,使用驻留在主机内存中的加密密钥进行与问题 1 中相同的针对性攻击在这里是可能的。除了有针对性的攻击之外,微软不会自动分析您的网络浏览行为。
3. 数据通过 USB 端口
问题:当您使用 USB 设备在虚拟机内执行任务(例如打印文档)时,数据最终必须通过主机系统,因为虚拟机无法直接访问物理 USB 端口。因此,主机系统“看到”流向 USB 设备的所有信息。这也适用于输入设备,即键盘和鼠标。因此,即使使用 Ubuntu、加密等,Windows 仍会记录您进行的每次击键,并可将其用于“改善用户体验”或对数据进行任何处理。
解决方案:无。只要 USB 设备不支持端到端加密,我就看不到任何解决方案。
4. 您的硬件签名
问题:您的硬件配置很可能非常独特。操作系统可以访问硬件的大量信息,例如制造商、制造日期、型号、网络接口的 MAC 地址等。Windows 确实会计算硬件的指纹并将其连接到您用于安装 Windows 的 Windows 密钥。当您在系统中更改硬件时,您可以看到这种效果,Windows 会提示您重新验证安装。因此,从 Microsoft 的角度来看,在 VM 中使用 Ubuntu 时,您仍然会被视为用户。
解决方案:实际上没有虚拟机。
如果您非常重视隐私、开源和 Ubuntu,则应考虑至少将其安装在单独的分区/驱动器上并进行双启动。这将消除我提到的所有问题,除了第一个问题。
答案2
就虚拟机而言,不是。在这种情况下,虚拟机用于将客户机与主机隔离,而不是相反。
在 Windows 监视你的范围内,只需在虚拟机中运行就可以了。 它是极其Windows 不太可能安装ext2
驱动程序或类似程序来监视你的系统,更不可能做我下面描述的任何事情,但我们将讨论理论上的风险,因为它们很重要,而且我们不能相信微软惯于,甚至(技术上)没有。
主机可以完全访问其正在运行的任何和所有虚拟机,包括原始内存(使加密无用)、原始虚拟硬盘、任何原始网络连接等。因为您不信任运行虚拟机的基本框架,所以您不能相信虚拟机本身没有受到损害。
主机可以访问所有虚拟机内存。因此,主机可以:
- 从内存中读取所有原始状态,包括加载的文件内容
- 任何东西的加密/解密密钥,包括 HTTPS 和硬盘
- 读取 URI、系统状态等等。
- 拔下来DMA 攻击并运行任意代码
- 让你的生活变得彻底悲惨。
虽然 Windows本身虽然仅就遥测而言不太可能发展到这种程度,但它仍是一种应该确定和了解的潜在威胁。我们正在处理理论上的极端情况,因此至少值得一提。
最好的替代方案是双启动,使用 LUKS 加密数据。这将允许 Linux 和 Windows 在同一裸机硬件上运行,但不共享资源。而且由于 Linux 的分区是加密的,Windows 即使想做也做不了任何事情。这样做的缺点是您必须重新启动系统才能更改操作系统。
如果这对你来说是一个问题,请考虑在虚拟机中使用 Windows,但请注意虚拟机逃逸利用(CVE-2016-7461),这可能会授予从 Windows VM 访问 Linux 分区的权限。
答案3
除了前面的答案之外,如果您担心隐私问题(您应该担心),那么您根本不应该运行 MS Windows 操作系统,除非您从未使用安装它的机器连接到互联网。
由于主机和客户机之间的关系,在 Windows 操作系统主机上运行哪个虚拟机并没有区别。
您可以阅读我之前对这两个问题的两个被接受的答案以了解更多详细信息:
您还可以阅读 Microsoft 博客上的这篇最新文章:微软承认 Windows 10 存在严重问题