为什么 Windows XP 在 NAT + 防火墙后面仍然容易受到攻击?

M_D*_*M_D 19 networking security firewall windows-xp

大家都知道,现在 Windows XP 非常不安全。但是,这里有一个示例情况:

  • Windows XP 盒子已连接至 LAN。
  • 这意味着路由器的防火墙位于 XP 盒子和互联网之间。
  • 此外,Windows XP 盒子位于路由器的NAT后面。

当然,我毫不怀疑Windows XP在操作系统本身、内置防火墙等方面存在一些严重的安全弱点。如果要将Windows XP机器直接连接到互联网,例如:

XP Machine <----> Modem <----> Internet
Run Code Online (Sandbox Code Playgroud)

可以预见的是,这个盒子很快就会被破坏。(即使使用最新的 Windows 11 系统,我也不愿意这样做)。然而,当位于 NAT + 路由器防火墙后面时(没有任何端口转发等),来自 WAN 的任何入站流量都不会被允许进入。显然,这是 NAT 的副作用,但即使没有 NAT,大多数情况下默认情况下,路由器会阻止入站连接。

此外,假设该盒子不用于一般的网页浏览,并且不会定期安装来自不受信任来源的随机软件。在这种情况下,操作系统是否仍然容易受到攻击?如果是这样,怎么办?

当然,它很容易受到来自局域网的攻击。但是,如果它位于受信任的 LAN 上,这不是问题:LAN 上的其他人不应该有理由攻击该计算机,并且如果另一个设备已经受到损害,并且蠕虫其他东西正在传播,那么您将遇到更大的问题而不是担心一台 Windows XP 机器被黑客攻击。

TLDR-

Windows XP机器连接如下:

XP Machine <----> NAT Router + Firewall <----> Internet
Run Code Online (Sandbox Code Playgroud)

恶意软件不会成为问题(带有附件的电子邮件中的社会工程、安装不受信任的软件等),并且机器不会用于一般的网页浏览。来自内部 LAN 的威胁无需担心。这个盒子仍然是一个安全问题吗?如何?

或许更恰当的问题是:在这种情况下,盒子怎么会被攻击/可以被攻击(不允许来自 WAN 的入站流量、禁止一般网页浏览等)

Dan*_*l B 25

是的,它仍然可能受到攻击,在与某种代理位于同一网络上的看似安全的设备上使用网络浏览器(或其他任何东西)。有\xe2\x80\x99s 一篇关于此方法的长篇论文。正如它所解释的:

\n
\n

在许多情况下,从恶意站点加载的 JavaScript 可以连接到在用户\xe2\x80\x99s 本地计算机 (localhost) 或其他内部主机上\n运行的服务。现代 Web 浏览器无法完全\n防止使用受害浏览器作为\n代理来攻击内部网络。事实上,我们不仅可以让受害者浏览器在内部发送请求,还可以发现内部主机、进行有限端口扫描、进行服务指纹识别,最后我们甚至可以通过恶意 JavaScript 来破坏易受攻击的服务。

\n
\n

本质上,这是跨源请求伪造或跨站点脚本的特定情况。其效果如何取决于 XP 设备的功能。

\n

请记住,浏览器甚至可用于利用某些非 HTTP 目标。毕竟,目标不是获得 HTTP 响应,而是让目标设备执行操作。

\n

请注意,这种类型的攻击不需要“代理”计算机以任何方式受到损害,只需从恶意源运行 JavaScript 即可。它甚至不必访问恶意网站,因为恶意内容有时会被走私到合法的广告网络中,因此从完全无辜的网站上的页面加载(这种做法称为恶意广告)。

\n

tl;dr:您的 XP 设备还必须受到保护,免受来自本地网络的攻击。

\n
\n

我建议改用虚拟机(仅具有 NAT 连接,不桥接),除非绝对需要 3D 加速。

\n

  • @ThorbjørnRavnAndersen 你读过答案和链接的论文吗?你了解攻击向量吗? (7认同)
  • 如果内部网络上的另一台机器已经受到攻击,那么如果 XP 机器随后受到攻击,那又有什么区别呢?已经太晚了。要么您拥有一台本不应该拥有的更容易受到攻击的机器,要么是一台更安全的机器无论如何都受到了损害。不管怎样,你都会遇到更大的问题。 (5认同)
  • @Atario 在这种情况下我不会称“代理”机器受到损害。再次,我建议阅读这篇论文。 (4认同)
  • @ThorbjørnRavnAndersen 在_本地设备_上运行的应用程序将在此攻击方法中启动实际连接。NAT 路由器甚至看不到此连接。 (2认同)
  • _ 当然它会容易受到来自局域网的攻击。但是,如果它位于受信任的 LAN 上,这不是问题:_ (2认同)

dav*_*dgo 14

我将对其他帖子持不同意见,并表示您已经涵盖或至少触及了您需要担心的 XP 系统的大部分攻击向量。

换句话说,如果您可以很好地控制 XP 系统如何连接到其他系统,并且您可以绝对确定您的 LAN 是安全的并且不会受到任何类型的反射或其他攻击,那么您就可以了,但是这这是一个很大的要求——也许比你想象的要大

如果你认真对待这个问题,你是否考虑过在 XP 机器和 LAN 的其余部分之间放置一个单独的防火墙?

我有理由相信,相当多的大型组织(特别是在医疗领域)都在应对您所描述的问题,因为新操作系统不支持对运营至关重要的设备成本。我希望它们被尽可能地锁定,并且在许多情况下,它们的访问权限将比其他设备受到严格限制。

  • 轶事:我最近在医院看到一个设备(心电图结果记录器?)连接到 Windows XP 机器。技术人员告诉我,它根本不在线,他们使用钥匙盘将数据传输到设备或从设备传输到实际机器。不过,他们曾经在机器上感染过恶意软件,大概是通过钥匙盘本身感染的。 (2认同)

Lie*_*yan 8

您目前没有安全的方式在 XP 上下载/安装任何软件。没有软件,计算机就没有意义。

但对于像 XP 这样的旧操作系统,它不支持最新版本的 TLS。自 XP 停止支持以来,已发现许多主要的 TLS 漏洞。即使您绝对信任服务器和下载的文件本身,尝试连接到任何服务器来下载任何内容都是不安全的。

即使仍然有仍然具有向后兼容性的下载服务器允许您连接旧的 SSL 版本,大多数 XP 中包含的 CA 根证书已经过期很久了。您也无法下载更新的根证书。您将无法加载大多数网站,因为它们具有 XP 不支持的 TLS 配置。

我不太确定微软是否仍然维护 Windows 更新服务器,以便您从那里下载根证书,甚至 Firefox 也已经放弃了对 XP 的支持。

如果您想运行自己的下载服务器,则无法为旧 CA 获取新证书。

您也无法验证下载文件的完整性。AFAIK,在 XP 中无法使用现代算法计算文件校验和。

您可以使用 USB 驱动器从最新的计算机传输根证书和软件安装程序,但这会让您面临 USB 攻击。如果 USB 驱动器感染了恶意软件,XP 会很高兴地自动运行该恶意软件。

另外,Windows Update本身也可能存在问题。默认情况下启用 IIRC 的操作系统的自动更新程序组件将尝试连接到旧的 Microsoft 服务器以下载更新,但 XP 将尝试使用旧的、易受攻击的 SSL 版本来执行此操作。位于您的网络和 Microsoft 服务器之间的攻击者可能会利用 XP 使用的 SSL 连接中的漏洞冒充 Microsoft 更新服务器并注入恶意补丁。

还有许多其他易受攻击的组件会自动发出传出网络请求。Windows XP可以将系统时钟与Internet时间同步,因此攻击者可以尝试利用NTP漏洞。与 DNS 相同,XP 会尝试 ping Microsoft Update 或其他旧的 Microsoft 服务,为此需要解析 DNS。DNS 组件中的任何漏洞都可能被利用。

基本上,是的,您可以在防火墙后面运行 XP 计算机,如果您禁用它所做的所有自动传出网络连接,那么是的,您可能可以运行它而不会受到攻击。但如果你试图用它做任何事情,你就会让自己面临各种攻击。

如果您正在做这样的事情,您肯定需要配置防火墙来对待 XP 计算机,使其位于与常规 LAN 的其余部分不同的网络上。您不应允许 XP 和 LAN 之间存在任何未明确列入白名单的网络连接。

  • “您目前没有安全的方式在 XP 上下载/安装任何软件”- CD (6认同)
  • 但这是微不足道的。如果 OP 需要 XP,一些遗留软件可能已经存在。即使不是,在现代系统上下载也将包括所有最新的反病毒检查等。如果这还不够安全,那什么才算安全呢? (6认同)
  • @Peter-ReinstateMonica 什么?XP 已经 20 年没有发布了——天啊,不 (5认同)
  • 我们中的很多人仍然拥有大量 XP 时代(或更早版本)软件的 CD... (4认同)

M_D*_*M_D 6

我将尝试回答我自己的问题 - 只是总结其他答案中的重要信息。如果有人不同意我的观点,或者想添加一些东西,请这样做!

如果可以避免,则不应使用 Windows XP(已连接 Internet):这是理所当然的。如果绝对必须通过互联网连接使用,则应采取以下步骤。

  • 在虚拟机中运行是个好主意。在这种情况下,我们会说我们没有虚拟化。
  • XP Box 至少应该这样连接:
XP Machine <----> NAT Router / Firewall <----> Internet
Run Code Online (Sandbox Code Playgroud)

永远不要这样做

XP Machine <----> Modem <----> Internet
Run Code Online (Sandbox Code Playgroud)

你永远不应该依赖内部 XP 防火墙来做任何事情!

  • 此时,路由器应该默认阻止入站连接,并且您拥有基线安全级别。现在,您应该考虑一般网络安全(IE UPnP 关闭)并实施拒绝所有连接的策略,除非明确需要的连接。(将 XP 计算机放入专用 VLAN 中可以使这变得更容易)。所以:
  • 阻止所有连接XP Machine ---> WAN,除了需要的连接。例如,您可以允许连接到端口 443 上的特定 IP,而不允许其他任何连接。
  • 阻止连接LAN Devices ---> XP Machine,以防止此类攻击,如 Daniel B 的回答中的论文中所述。如果需要,您可以允许连接XP Machine ---> LAN Devices,但如果不需要,最好也阻止这些连接。注意:允许从 LAN 设备连接到 XP 计算机,或者更糟糕的是,从 WAN 到 XP 计算机(IE 使用 XP 作为服务器),超出了本答案的范围,而且风险更大!

在这种情况下,到 XP 盒子的入站连接将全部被阻止,所有出站连接(除了专门使用的连接)也将被阻止。这可以防止 Mokubai 所描述的随机程序为“更新”等创建连接的问题。


Joh*_*ohn 1

这个盒子仍然是一个安全问题吗?如何?

Windows XP 几乎没有内置的安全性,而且以今天的标准来看仍然不合格。

那么它还是没有安全感吗?是的。任何可以通过任何方法攻击它的东西仍然可以访问管理员帐户。

我真心建议你不要再使用Windows XP了。