Windows IT 商店是否应该担心为用户启用 WSL?

信息安全 视窗 linux wsl
2021-08-14 19:31:25

我在一个只支持 Windows 的地方工作,而负责 IT 的人 (1) 非常保守,并且 (2) 不在他们职业的前沿。

我希望启用适用于 Linux 的 Windows 子系统 (WSL) 以促进数据科学工作——这些东西在 linux 上运行得更好。我正在考虑专门用于并行处理的分叉,以及诸如curl, tmux, htop, sed,awk等基本实用程序。

在试图向这些人证明 WSL 不是威胁时,我在网上看到了相互矛盾的事情。谷歌“WSL 安全”,你会看到关于 bashware 的文章。显然,获得系统访问权限的黑客可以运行 WSL、安装wine并使用它来安装 Windows 恶意软件。

然而,根据这篇 FOSS 文章,WSL 现在已集成到防御者中。这是否意味着恶意软件问题已解决?

我很欣赏支持或反对在保守、规避风险的 Windows IT 商店中启用 WSL 的论据。真的有风险吗?为什么或者为什么不?

3个回答

取决于他们尝试锁定 Windows 用户的程度以及如何锁定。如果它们限制了您可以运行的程序,那么 WSL 就是一种绕过方式;大多数过滤 Windows 程序的工具都会忽略在同一内核上运行的 Linux 程序。但是,如果他们给你本地管理员,他们也可以让你运行 WSL;只要付出足够的努力,您就无法在 WSL 中做任何在 Win32 中无法做到的事情。

值得注意的是,WSL 实际上并没有提供任何额外的权限。以 (Windows) 管理员身份启动的 WSL 进程在 Windows 文件系统上具有管理员权限(并且它启动的任何 Windows 进程都将继承这些管理员权限),无论 WSL shell 是否以 root 身份运行。同样,非管理员 WSL shell,即使提升为 root,在 Windows 文件系统或内核上也没有比启动它的非管理员用户更多的权限。ping这实际上导致了早期版本的 WSL 中的错误,因为它的 setuid root 位实际上并没有赋予它使用网络套接字(由 NT 内核的权限控制)做任何额外的能力,所以你会遇到诸如无法工作之类的错误。

每个 Windows 用户都有自己的、独立的 WSL 安装(如果他们使用它)和自己的用户;你甚至不能使用 WSL 攻击同一个物理机器上的其他用户(除非你无论如何都能够在 Win32 中做到这一点)。WSL 对安全影响所做的主要事情是混淆或绕过一些监控和/或软件限制工具,并打开一些额外的内核攻击面(据我所知,没有人使用 WSL 作为内核的漏洞利用向量,但如果某个地方没有一个,我会感到惊讶......就像我确信在 Win32k.sys 中还有更多的漏洞)。

首先,欢迎来到 Security Stackexchange,

在试图向这些人证明 WSL 不是威胁时,我在网上看到了相互矛盾的事情。谷歌“WSL 安全”,你会看到关于 bashware 的文章。

事实上,安全专家和其他 IT 专业人士都在谈论 WSL,并且它是与 cannonical(为您带来 Ubuntu 的人)(其中包括)一起开发的,这实际上表明 WSL 周围存在良好且适当的安全环境. 一个比仅围绕 Windows 更好的一个。(恕我直言)

显然,获得系统访问权限的黑客可以运行 WSL、安装 wine 并使用它来安装 Windows 恶意软件。

对于任何可以访问您的系统的“黑客”来说都是如此。wine此外,一旦您进入 WSL,您就不需要感染窗户。

Linux 具有适当的权限系统,您可以在 WSL 中利用该系统。(例如使用 sudo 和限制如何使用 sudo 和谁)。此外,Linux 服务(主要)是在最少的权限基础上构建的。由于这个基础,平均那里比 Windows 服务更安全。

您确实需要了解更多关于 linux 和 WSL 如何工作以及它们如何交互的信息。明智的做法是,在这方面扩展知识并开始(在有限的范围内)了解 WSL 是什么以及它是如何工作的。

Linux 系统和 Windows 系统之间的主要区别在于您在其中工作了多少。在 WSL 中工作可以让您在不牺牲 Windows 基础的情况下了解更多关于 linux 及其安全系统的信息。

与往常一样,对计算机和计算机系统的了解越多,您的安全性就越强,接触不同的范例会让您考虑不同的可能性。

Tl; Dr 我会推荐任何在安全性很重要的环境中运营的公司(值得一提)(如此无处不在)学习并获得使用 Linux 的经验,而 WSL 是开始使用它的最佳方式,因为它有最低的障碍。这从他们一直延伸到最终用户

“在 WSL 中运行敏感应用程序:(SAFE + SAFE) < SAFE”提出了几个重要的安全问题,这些问题基本上是 WSL 的一部分:

  • WSL 是一个 Windows 实用程序,允许用户在 Windows 下运行 Linux 应用程序。
  • 任何标准(非管理员)Windows 进程都具有对构成 WSL 机器的所有文件的完全访问权限。
  • 如果恶意程序以此标准进程运行,它可以通过简单地从 WSL 文件系统复制敏感静态数据(例如 SSH 密钥)来窃取它们。
  • 通过修改 WSL 文件系统中的程序,我们的恶意程序还可以捕获敏感的动态数据(例如,用户名、密码、密码短语)。
  • WSL 设计允许通过在 Linux 机器内运行的程序来激活 Windows 进程。因此,一个标准的(非根)Linux 程序可以完全接管 Linux 机器。
  • WSL 2 被设计为“轻量级实用程序 VM”,显着减少了 WSL 的攻击面,但仍然容易受到此处描述的安全漏洞的影响。
  • 底线:在 WSL 中运行敏感应用程序的安全性明显低于在独立 Windows 或 Linux 桌面系统中运行等效应用程序的安全性。

此外,截至 2020 年 10 月,WSL 2 绕过了 Windows 防火墙,因此您必须确保在 Linux 本身和 Windows 中具有相同的防火墙规则。