如何处理受损的网络设备?

信息安全 网络 路由器 系统妥协 嵌入式系统
2021-08-15 23:23:16

我怀疑网络设备(调制解调器、路由器、交换机、接入点等)受到威胁。我该怎么办?

1个回答

此答案基于如何处理受损服务器,但适用于嵌入式设备和家庭/SoHo 用户。我仍然建议您在有时间的时候阅读该答案,但这是(有点)简短的版本。

第一步,尽快完成

将设备与网络隔离。断开所有以太网电缆,如果可能的话,在硬件级别关闭 Wi-Fi(请注意,移除天线并不安全,因为设备也可能有内部天线),或者至少让所有设备与其网络断开连接。这至少可以防止恶意软件造成更大的破坏(例如发起拒绝服务攻击、成为命令和控制服务器或托管有问题的站点)。这也意味着人类操作员不再能够实时看到你在做什么并逃避你的行动,也不能嘲笑你失败的尝试。

现在,您需要考虑暴露给设备的任何计算机或数据都可能受到损害。该设备可能试图利用网络上的其他计算机,这是非常有利的,因为攻击者现在位于您的网络内部,可以通过任何防火墙。您的计算机可能信任本地网络,因此它们面临更高的风险。

您是否通过路由器提供的网络连接浏览 HTTP 站点?该页面可能已被篡改以包含恶意内容,您下载的二进制文件可能已被恶意软件替换,或者路由器记录了您在此处提交的数据(密码等)并将其转发给攻击者。

您的设备是否包含存储驱动器?考虑到它的数据也受到了损害。您的 PDF 可能包含漏洞,您的二进制文件可能已被恶意软件替换,您的裸照可能已上传到某个地方。通知那里有数据的任何人有关此问题的信息,以便他们采取适当的措施。

你的设备做无线吗?加密密钥已泄露,应在使用相同密钥托管相同无线网络的任何其他接入点上进行更改。

最后,设备的管理密码被泄露,应该在您重复使用它的任何地方进行更改。如果网络上的其他设备使用相同的密码,只需以管理员身份登录并很好地要求安装这个恶意版本的新固件“更新”,它们就可能被入侵。

检查问题

现在,受影响的设备已下线,不应再造成任何损害。您现在应该尝试了解攻击者是如何进入的,以确保将来不会发生这种情况。

看看攻击者进入了——它是固件中的漏洞(遗憾的是在此类设备中太常见了)还是默认的管理员密码?

在最新的机器和浏览器上,尝试连接到设备并通过其 Web 界面查看线索。是否可以从外部访问 Web 界面(通常称为“远程管理”)?

尝试查看妥协的程度。我并不是说看起来正常的 Web 界面意味着一切都很好,但是例如,如果您在 DHCP 设置中看到恶意 DNS 服务器地址,您可以确定该恶意 DNS 服务器确实在来自该设备的所有 DHCP 回复中提供. 您还可以通过查看端口转发条目来收集信息 - 攻击者可能已将某些端口转发到您的内部机器以便能够连接到它们 - 在这种情况下,这些机器也会受到损害。

看看您的其他设备本身 - 是否有任何异常情况,例如来自它们的异常流量(DoS 攻击)、对未加密数据的奇怪篡改(将恶意软件或广告注入 HTTP 页面)等?

备份配置

如果您没有任何关于如何配置设备的文档,请浏览 Web 界面并将重要值复制/粘贴到某处,例如 PPPoE 登录、DHCP 分配和端口转发(如果有)。请务必查看设置,以免意外保留攻击者为确保访问您的网络而进行的设置。

不要使用内置的配置备份功能。他们中的大多数将配置导出到一个混淆/加密的二进制文件中(根据固件开发人员的说法,人类可读的 JSON 听起来太方便了),你将无法检查它。导入文件的代码可能存在漏洞,攻击者可能已经计划通过使设备返回恶意配置备份文件来破坏您再次导入此配置的替换设备。

恢复

您了解攻击是如何发生的以及将来如何防止它,但是您如何恢复此特定设备?

网络设备通常与我们习惯的计算机和服务器完全不同——它们的引导加载程序不允许我们在受感染的操作系统控制之前轻松访问受信任的环境,以便我们可以让它们启动到受信任的安装介质并覆盖受感染的操作系统就像我们可以通过插入光盘并使机器从那里启动来在计算机上一样。因此,程序更加复杂,并且制造商之间的差异很大。

为什么恢复出厂设置还不够?

很多人会建议只重置设备,但这种方法是有缺陷的。

重置由操作系统控制。如果您从设备的 Web 界面或重置按钮进行重置,则无法保证它会真正重置,因为整个 Web 界面现在都在受损固件的控制之下,因此它可以通过擦除配置并重新启动来很好地“伪造”重置设备,同时保留恶意软件。

重新安装固件,或正确的方法

重新安装固件是正确的解决方案,但同样,对于传统计算机,我们可以让它们从已知的良好安装介质开始(因此不会加载计算机上可能存在的任何恶意操作系统),我们不能轻易地使用嵌入式设备做到这一点比如路由器。

从 Web 界面重新安装与重置具有相同的问题,因为恶意软件可能会禁用该功能、伪造它或正确执行并动态篡改新固件映像以在安装之前将其嵌入其中,这样即使你确实在运行新固件,它仍然会有一点点存在。

假设您信任引导加载程序,则从引导加载程序本身重新安装将起作用。它也可以被篡改,但就像计算机一样,由于此类攻击的复杂性,风险通常被忽略,因为恶意引导加载程序只能在特定的模型和版本上工作,使得攻击不具有成本效益,并且需要攻击者投资购买相同的设备进行测试(其中恶意软件二进制文件只需要设备架构的虚拟机,并且可以在共享相同架构的所有设备上移植)。

您可以通过多种方式访问​​引导加载程序并直接从那里重新安装,而无需加载恶意操作系统。它们因制造商而异,而且文档通常没有具体说明——制造商可能使用了现成的引导加载程序,甚至没有意识到它具有恢复功能。我建议搜索OpenWRT 硬件表,看看它们是否有您设备的条目。它可能描述了如何通过 TFTP 或串行访问引导加载程序并加载固件映像。您可以使用此过程来加载制造商的图像,或者如果 OpenWRT 足够好地支持您的设备,则可以使用它。

对闪存芯片进行编程,但认真地购买新设备

当一切都失败了,并且由于某种原因您无法购买新设备时,有一种方法可以从受信任的机器上对闪存芯片进行编程,从而完全绕过可能存在的恶意代码。正确的程序因制造商和型号而异,需要特殊的硬件与芯片接口(通常使用 SPI 或 I2C 接口),并且您必须正确进行分区布局,因为制造商提供的固件文件通常只包含单个分区,或者采用自定义格式,在写入闪存之前应正确解压缩。

确保不再发生

首先,在网络上的所有其他设备都被清理干净之前,不要让设备上线,否则你的恶意设备可能会破坏干净的设备,并且循环重复。

现在,根据之前收集到的关于设备最初是如何被入侵的线索,了解您将来如何保护自己。

如果是人为错误(密码错误、可远程访问的 Web 界面等),请确保它不会再次发生,并检查您的其他设备以确保它们没有相同的缺陷。

如果是漏洞,请查看制造商的网站以获取固件更新。考虑使用 OpenWRT 等替代固件,因为它与官方固件相比维护得更好,官方固件因在大多数消费级设备上表现不佳而臭名昭著。

如果没有可用的更新,请考虑更换供应商。选择一个有良好安全记录的。如果您是家庭用户,请考虑投资通常具有更好固件的企业设备。或者投资购买受良好替代固件(如 OpenWRT 或 PFSense)支持的设备。或者建立你自己的。事实是,对于大多数家庭和 SoHo 用户来说,一台带有 Linux 发行版的旧台式计算机作为路由器会产生奇迹,并且可以像任何其他服务器一样进行维护和更新。

计划让它再次发生

我可以相当自信地说,这一事件让您感到意外,并且您遭受了几个小时的停机时间。下一个不应该是这样的。将此页面添加为书签,确保记录所有内容,手头有配置设置,以便万一再次发生这种情况,您可以更快地设置替换设备。