如果在运行过​​程中发现加密勒索软件,该怎么办?

信息安全 加密 恶意软件 病毒 勒索软件 数据恢复
2021-08-16 22:36:59

有一天你启动你的电脑,在使用它的时候你注意到你的驱动器异常繁忙。您检查系统监视器并注意到一个未知进程正在使用 CPU 并且对驱动器进行大量读写。您立即在网络上搜索进程名称,发现它是勒索软件程序的名称。还出现了一个新闻故事,告诉您一个流行的软件分发站点最近是如何被入侵并用于分发同样的勒索软件的。您最近从该站点安装了一个程序。显然,勒索软件正在进行其肮脏的工作。

内部驱动器上有大量重要数据,没有备份。驱动器上还有大量非重要数据。

这个问题的标题是“中间”操作,但在这个例子中,我们还没有调查勒索软件在其“工作”中的实际进展程度。

我们可以看两种情况:

  1. 您希望尽可能多地保留数据。但是,支付任何赎金是不可能的。

  2. 如果可能没有风险,您想知道数据的重要部分是否真的被加密和覆盖。您还想尝试尽可能多地提取数据,而不会让事情变得更糟。你会不愿意支付赎金。但是数据的某些部分对您来说非常重要,以至于作为最后的手段,您最终希望仍然能够为取回它们的机会付费,而不是冒失去任何一个的风险。

一步一步,在情况 1 和 2 中理想的做法是什么?为什么?

注意:这是假设的。它实际上并没有发生在我身上。我总是对我的重要数据进行异地备份,而且我从未受到勒索软件的影响。

4个回答

休眠计算机

如果勒索软件正在加密文件,那么它用于加密的密钥就在内存中的某处。最好获得内存转储,但您不太可能拥有现成的合适硬件。转储正确的进程也应该有效,但找出哪一个可能不是微不足道的(例如,恶意代码可能在其中运行),我们现在explorer.exe需要转储它

使计算机休眠是获取内存映像的一种廉价方法¹然后可以将其以只读方式安装在干净的计算机上

a) 评估勒索软件造成的损害

b) 恢复未加密文件²

c) 从恶意进程中提取内存中的密钥,文件的其他高级恢复等。

请注意,只读是指根本不执行任何写入操作,以获得最大的恢复机会。正常连接到另一个 Windows 系统将无法提供此功能。

对于 (c),您可能需要专业支持。它可能由您的防病毒软件供应商免费提供。

即使您无法恢复所有文件,或者您被告知不可能或太昂贵,也请保留带有加密文件的磁盘。今天不可能的事情可能在几个月后变得更便宜甚至微不足道。

我建议您只需在不同的磁盘上执行新安装(无论如何您都将重新安装,计算机已被感染,记得吗?),并将受感染的磁盘 - 正确标记 - 放在抽屉中。

--

至于第二个问题,你真的想在哪里支付赎金,我很确定勒索软件作者可以把你的文件还给你,即使不是所有的文件都被加密了。但如果真的需要,您可以在克隆后从休眠磁盘启动,然后让它完成对您(现在备份的)文件的加密……

¹ 注意:如果您没有休眠文件,这可能会覆盖可以恢复的现在加密文件的纯文本版本(不过,与最近的勒索软件无关)。

² 假设他们没有被感染……

我会做什么:

  1. 暂停进程。不要杀死它,只是暂停它。
  2. 查看进程树是否还有可能需要暂停的父进程。
  3. 拉网线和/或关闭 WiFi(如果你偏执,蓝牙也是如此)。
  4. 检查这些进程打开的文件以查看当前正在加密的文件。如果它是一个特别重要的文件,您可能希望将文件复制到当前状态(进程暂停时),然后让它移动到下一个文件,这样它就不会损坏。如果下一个文件也很重要,那么要么找出模式并提前复制一个文件,要么就开始复制所有文件。
  5. 谷歌如何在该特定操作系统上对进程进行内存转储,然后对相关进程进行内存转储。哎呀,我可能会从机器中转储所有虚拟内存。
  6. 关闭其他程序。
  7. 同步磁盘,因此不再有写入缓存。
  8. 拉动电源。如果是笔记本电脑:取出电池,然后断开电源(如果已插入)。

您现在处于一个非常好的位置:电源关闭,因此可能会发生更多事情,并且您拥有它使用的任何加密密钥以及原始程序。麻烦在于找到加密密钥和加密方法,但它必须在其进程内存中的某个位置:只是时间问题。打电话给你的黑客伙伴对程序进行逆向工程,或者甚至是反病毒公司:他们可能有很多客户使用相同的勒索软件,并且非常想获得内存转储以提取密钥。

将硬盘连接到另一台计算机将恢复任何尚未加密的文件,没有太大风险。只是不要执行任何 Word 宏或从驱动器或其他东西打开 .exe 文件。

概括

暂停勒索软件进程,以便我们可以对其及其内存进行复制,以便稍后找到加密密钥。然后关闭系统并从那里遵循常识。当心重要的损坏文件(半加密文件),因此请在暂停后检查它当前正在处理的文件。


回应评论

这条评论现在有一些赞成票:

在许多情况下,“加密密钥”无济于事,勒索软件在启动时连接到命令和控制服务器并请求创建一个新的加密对(公共和私有)。服务器创建对,存储私有数据,并将公共数据发送到受感染的机器。然后受感染的机器使用公钥加密文件,唯一的方法是使用私钥,在付款完成之前,私钥永远不会转移到受害者的机器上。——安东·班切夫

这是我在写这篇文章时想到的一个问题,但尚未解决。

没有人使用非对称加密(也称为公钥加密)来加密数据。它太慢了,所以非对称加密仅用于混合加密方案。甚至像 openssl 内置的基准测试报告 AES 每秒兆字节数和 RSA 每秒操作数。根本没有可比性。我能找到的唯一命中是这个 Stack Overflow 答案,其来源甚至没有透露他们的方法:非对称加密比对称加密慢 1000 倍

因此,用于每个文件的加密几乎肯定是对称加密(如 AES),这意味着我们也可以使用与加密相同的密钥对其进行解密。

更新:似乎许多勒索软件变体中至少有一种仅使用公钥加密。显然它的速度足够快,可以使用,否则他们显然不会使用它。我猜你最好希望你没有这个变种?更新结束。

我不知道有任何勒索软件可以做到这一点,但这仍然是一个问题的唯一方法是每个文件都有一个唯一的加密密钥。在这种情况下,只能从内存中恢复当前文件。但是,这会给他们带来密钥管理问题:这些密钥中的每一个要么必须传输,要么存储在使用(对称)主密钥加密的数据库中。在后一种情况下,您可能也可以从内存中恢复主密钥,在前一种情况下,您遇到了问题。但这一切都只是猜测,我不知道有任何勒索软件可以做到这一点。

勒索软件(或与此相关的任何加密软件)不会就地加密文件,因为加密的文件大小不会逐位匹配未加密的文件大小(除非它只是 xor shuffle,在这种情况下它不是真的加密)。更重要的是,加密过程的自发中止(由于关机、电池耗尽等)会创建一个无法被勒索的损坏文件。相反,这些程序总是从旧文件创建一个新的加密文件,然后删除旧文件。事实上,大多数勒索软件程序都有检查以重启半加密的大文件,因为关机/重启。

因此,如果您发现中间加密,请尽快关闭计算机并将硬盘驱动器安装在未受影响的机器上进行备份。

关于我是否支付赎金 - 我不知道。取决于赎金的大小和当时我硬盘上的内容的性质。因为我每小时赚大约 2.50 美元,而且我的硬盘主要包含公开可用的科学数据,所以答案很可能是否定的。

编辑:

正如另一张海报所推荐的那样,休眠在许多方面都比关闭计算机更好。但是,实际上,休眠可能不起作用。任何进程都可以告诉系统它很忙,现在不能停止——即使是猫弹钢琴的 YouTube 视频也可以做到这一点。这适用于 OSX、Windows 和 Linux(取决于您为 Linux 休眠的方式)。在这些进程拒绝挂起的情况下,唯一的解决方案是终止进程——这意味着没有内存转储。所以就个人而言,我宁愿通过拔掉电源线来尽快停止加密,因为如果我可以保证一件事,那就是勒索软件将在下次系统启动时将其密钥放回内存中,因为我没有让它完成工作。

[ Mod 注意:这个答案收到了很多标志,但不值得删除。这是一个潜在有效的行动方案,尽管在某些司法管辖区存在风险并且可能是非法的。技术角度来看,这有可能成为保存数据的一种方式。请参阅Meta进行进一步讨论。]

最好的事情是什么都不做。做一些愚蠢的事情可能会导致数据丢失或损坏。让它完成,然后联系那里列出的人,支付赎金,你就可以走了。我们是专业人士,将帮助您取回文件。

免责声明:我是勒索软件开发人员。