如何检查我的物联网设备是否感染了Mirai蠕虫?


27

我最近听说过Mirai蠕虫,它使用不安全的密码感染易受攻击的路由器,IoT设备和其他与Internet连接的设备。Mirai被怀疑是历史上一些最大的DDoS攻击的起因:

Dyn估计该攻击涉及“ 100,000个恶意端点”,并且仍在调查该攻击的该公司表示,有报道称攻击强度高达1.2Tbps。

这个问题我可以监视我的网络流氓物联网设备的活动?提供了一些有用的通用技巧,可以在IoT网络上发现恶意软件,但是如何检查我的设备是否感染了恶意软件?Incapsula提供了一种运行工具,可以扫描容易受到Mirai攻击的设备,但是有一种方法可以自动检查我的网络上是否有任何设备受到感染(或提供实时保护),这样我就不必继续运行我记得什么工具?

Answers:


17

检测受感染的设备

这些设备变为僵尸网络,除了偶尔出现带宽不足的情况外,对于毫无戒心的所有者仍然可以正常运行,并且它们的僵尸网络行为可能会无限期地被忽略。

Webroot.com:Mirai IoT恶意软件的源代码发布

这告诉我们设备如何更改其行为。不幸的是,偶尔出现的带宽不足是一个很糟糕的指标。Mirai所做的另一件事是阻止端口,以避免监视工具对其进行检测。

这两个功能可以寻找。首先,它需要一个非常复杂的网络流量监视解决方案,并且需要有关您在网络中期望什么样的流量的复杂知识。如果您的物联网设备不是通过WiFi连接而是通过3G或其他移动电信标准进行通信,那么您就很不走运,因为您无法监控这些。至少不容易,而且在大多数司法管辖区都不合法。

Mirai的第二个功能是Incapsula也要扫描的东西。如果端口关闭,则可能会感染Mirai。由于重新启动可以使设备从Mirai的离合器中暂时释放出来,因此在重新启动之后的时间内,端口可用性的变化可以看作是设备已被破坏的极有可能的信号。

请记住,Incapsula不能提供确定性,而仅提供有关可能的目标设备和可能已被感染的设备的信息。这就是为什么重要的是要认识到,无论Mirai能够进行多大的攻击,它在小范围内都不是无与伦比的敌人,甚至很容易防止感染。

接下来的两部分将显示与首先将设备固定或将设备固定在直觉上相比,检测工作量太大。

重新装上设备

但是,Mirai充当了僵尸网络的终点,蠕虫并没有改变IoT设备的持久内存。即固件未感染。这就是为什么重新启动和立即更改密码可以让您对设备进行后退控制的原因。

可以通过重新启动被感染的系统来对其进行清理,但是由于扫描这些设备的速度是恒定的,因此有可能在重新启动后的几分钟内重新感染它们。这意味着用户必须在重新启动后立即更改默认密码,或者阻止设备访问互联网,直到他们可以重置固件并在本地更改密码。

Webroot.com:Mirai IoT恶意软件的源代码发布

首先防止受到损害

Mirai不会入侵您的设备!

Mirai会持续扫描Internet上的IoT设备,并使用出厂默认设置或硬编码的用户名和密码登录到它们。

Webroot.com:Mirai IoT恶意软件的源代码发布

Mirai使用出厂默认登录名来破坏您的设备。在首次为IoT设备提供任何Internet连接之前,请更改密码,这样您将生活在Mirai自由区中。

如果您的设备密码无法更改,并且是Mirai的潜在目标,请考虑改用竞争产品。


6

如果网络上有任何易受攻击的设备,则应假定它们已受到攻击。根据定义,登录凭据是公开的,我相信您需要假设固件已被篡改。无需等待观察与命令控制服务器的通信或恶意活动。

立即清洁设备,确保为每个新设备提供新密码,并在安装时进行扫描。

潜台词也许是如何在现有设备上扫描新发现的远程访问漏洞,但是我没有读这个问题是专门询问这个问题。


6

而不是寻找自治解决方案。您可以尝试自动执行Incapsula的工具。不幸的是,它是通过网页按钮提供的服务,因此您必须打开该页面并自动单击该按钮。

您可以从页面源中获取有关按钮本身的信息。

<div class="btn-toolbar">
  <a class="cta-green-button scan-btn" href="#" id="mirai-scanner-scan-btn" role="button" style="max-width: 288px;margin: 32px auto 4px;">Scan My Network Now</a>
</div>

因此,也许可以使用脚本来创建一个定期运行的任务,该任务打开站点,通过ID查找按钮,然后单击该按钮并运行扫描。

我不知道执行此操作的确切方法,但是也许可以使用SeleniumMechanize Python程序包


3

Mirai攻击嵌入式Linux。您首先需要获得对IoT设备的命令行访问权。之后,您可以检查只读文件系统的校验和,并将它们与干净的固件版本进行比较。有时公司会在线提供原始固件,或者您可以与他们联系以获取副本。如果您想了解固件的通常包装方式,建议您进入Binwalk程序。OpenWrt拥有有关闪存的良好文档。当您将固件闪存/重新闪存到IoT设备上时,固件的各个部分(内核,只读根文件系统,可写配置部分)存储在IoT闪存芯片上的MTD分区中。您可以复制/下载这些分区(/ dev / mtdblock1是linux示例),然后通过校验和将它们与原始固件进行比较。如果您担心使用Rootkit而又不信任命令行,


1
通过命令行访问检查固件毫无意义。一旦设备受损,您将无法信任在命令行上看到的内容。阅读帮助!我的家用电脑已被病毒感染!现在我该怎么做?—它是针对PC编写的,但适用于包括IoT设备的任何计算机。
吉尔斯(Gilles)'所以别再邪恶了'
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.