如何检查文件是否已被勒索软件加密?

如何检查文件是否已被勒索软件加密?

有什么方法可以检查当前文件(计算机/用户/硬盘/NAS 的文件)是否已被第三方使用勒索软件加密?

是否可以根据文件扩展名打开所有文件(例如使用 Python)并从而得出有关可能的加密的一些结论?

在对所有数据进行更多备份之前,我想验证所有文件是否正常。

答案1

是的,尝试打开文件后,您将知道文件是否已加密。如果可以打开,则表示文件未被第三方加密。

如果文件无法打开,比如说只是普通.txt文件,那么它很可能已被加密。我说很可能,是因为我假设你有理由相信勒索软件在你的机器或网络上。

最好的恢复方法是从外部备份恢复清理恶意软件/勒索软件。请记住,如果数据对你很重要,总是进行备份!

答案2

也许更自动化的方法是计算所有文件的熵,如果熵水平普遍较高则发出警报。

我没有加密系统可以测试,所以我真的猜不出合适的阈值是多少,但这里有一个草图。简短的实验表明,zip 文件的熵略低于 8.0(例如 7.99),而我看到各种类型的常规文件的熵值从接近 0 到略高于 7。一些 PDF 似乎接近 7.9(可能它们包含压缩的成员结构?)并且各种流媒体格式(如 MP4)也非常接近 8.0。但重要的问题是您是否在某处拥有值较低的文件。我测试过的各种 JSON 和日志文件的值都在 5 左右。

import os
# v v v from http://blog.dkbza.org/2007/05/scanning-data-for-entropy-anomalies.html
# with a very minor tweak for Python 3
import math

def H(data):
  if not data:
    return 0
  entropy = 0
  for x in range(256):
    p_x = float(data.count(bytes([x])))/len(data)
    if p_x > 0:
      entropy += - p_x*math.log(p_x, 2)
  return entropy
# ^ ^ end copy/pasted entropy code

maxent, minent = 0.0, 8.0
maxfile, minfile = None, None

for curdir, dirs, files in os.walk("/"):   # or "C:/" for Windows victims
    for filename in files:
        curfile = os.path.join(curdir, filename)
        try:
            with open(curfile, "rb") as contents:
                entropy = H(contents.read())
                if entropy > maxent:
                    maxent = entropy
                    maxfile = curfile
                if entropy < minent:
                    minent = entropy
                    minfile = curfile
        except (FileNotFoundError, PermissionError, OSError) as exc:
            print(f"{curfile}: skipped: {exc}")

print(f"max entropy {maxent} ({maxfile})")
print(f"min entroy {minent} ({minfile})")

熵计算函数来自优秀的http://blog.dkbza.org/2007/05/scanning-data-for-entropy-anomalies.html并针对 Python 3 进行了更新。

对于全盘扫描,您可能需要以 root 或管理员权限运行它。

答案3

方法 1. 使用专业的病毒攻击数据恢复软件

在数据恢复之前,我们先来看一下大部分勒索病毒的工作流程。从图中可以看出,勒索病毒加密后生成的文件并不是真正的文件,而只是副本而已。原始文件并没有直接被加密,而是被病毒删除了。因此,可以使用数据恢复工具来恢复被删除的源文件。只要数据恢复软件找到了被删除的源文件,那么数据恢复就非常有可能了。

尝试使用 EaseUS Data Recovery Wizard 作为首次尝试。这款领先的文件恢复软件能够恢复被 Locky 病毒(如 CryptoLocker 和其他勒索病毒)感染的文件。 方法 1

方法 2. 从系统备份恢复数据

如果数据恢复程序不起作用,而您恰好进行了系统备份,那么您可以尝试使用 Windows 备份恢复受病毒感染的文件。这样,您就可以从更糟糕的情况下恢复数据。因此,设置自动 Windows 备份是防止数据丢失的一种非常有用的方法。

打开控制面板,点击“系统和安全”>“备份和还原”>“从备份还原文件”。在备份和还原屏幕上,点击“还原我的文件”,然后按照向导还原您的文件。

方法 2

相关内容