群晖在2026年10月29日通报,旧版DSM设备遭到利用已修补漏洞的勒索攻击。11月2日的HKCERT预警进一步提醒管理员隔离疑似受影响设备、暂停关联同步任务,并在环境清理后从核验过的副本恢复。
备份任务显示成功,找回的文件却不是需要的版本,这两种情况可以同时发生。技王数据恢复在本文中用三份自造文本演示其中的区别:文件复制得是否一致,与恢复目标是否满足,需要分开验证。演示已在本地运行,没有连接NAS或运行勒索软件。

演示准备三份内容:第一版归档、已经确认的第二版、以及一份被普通程序改写的文本。第三份只模拟“内容发生变化”,并非真实加密样本。
随后逐一复制,检查两个条件:副本是否与复制源一致;副本是否与事先确认的第二版一致。这是两道不同的问题。
from pathlib import Path
from tempfile import TemporaryDirectory
from hashlib import sha256
import json
def digest(path):
return sha256(path.read_bytes()).hexdigest()
with TemporaryDirectory(prefix="backup-check-demo-") as work:
root = Path(work)
versions = {
"offline_old": b"DEMO report revision 1\n",
"isolated_target": b"DEMO report revision 2 approved\n",
"online_latest": b"DEMO changed bytes - not ransomware\n",
}
expected = sha256(versions["isolated_target"]).hexdigest()
rows = []
for name, data in versions.items():
source = root / (name + ".txt")
copied = root / (name + "-copy.txt")
source.write_bytes(data)
copied.write_bytes(source.read_bytes())
rows.append({
"candidate": name,
"file_created": copied.exists(),
"copy_matches_source": digest(copied) == digest(source),
"matches_target_revision": digest(copied) == expected,
"sha256": digest(copied),
})
print(json.dumps(rows, ensure_ascii=False, indent=2))运行环境为本地Python 3。代码只在自动创建的临时目录读写自造文件,结束后清理临时目录;不要把目录改成需要保全的NAS原始资料路径。
本次运行得到的结果如下:
候选副本 | 副本文件存在 | 与源文件相同 | 与目标第二版相同 |
|---|---|---|---|
offline_old | 是 | 是 | 否 |
isolated_target | 是 | 是 | 是 |
online_latest | 是 | 是 | 否 |
三份副本文件都存在,且哈希与各自的复制源一致;只有第二份符合演示设定的目标版本。第一份是可读的旧版,第三份复制了已经改变的内容。表中的“文件存在”只是存在性检查,后两列才分别检验内容一致性与目标版本。
本次目标第二版的SHA-256是:
6066c3e4a6260e1b43d77f3f171717697de4d946a3fc7fa7c191b36f41ddd3b2
演示之所以能够据此判断,是因为第二版的内容由实验事先明确设定。真实事故未必留有可信的事故前哈希清单。事后给密文计算哈希,只能标识这份密文,不能证明它是干净版本,也不能把它解密。
对于账表,仍要打开核对工作表和版本;对于应用数据,还要在隔离环境验证依赖与权限;对于归档,需要检查指定目录及正文。导出了多少GB、存储池是否健康,都不能代替这些检查。

先列目标,再选副本。每项目标至少写清目录或应用、可接受的版本时间、关键文件和依赖。然后分别记录候选快照或备份的位置、时间点、保留期与当前可读状态。
快照早于肉眼发现异常的时间,不自动等于没有被污染;另一台设备上的副本,也不自动具有独立的权限和风险边界。应结合日志和样本判断异常时间线,先在隔离环境验证少量关键对象,再决定批量恢复范围。
若阵列或卷本身无法访问,需要额外核对NAS型号、RAID或SHR布局、成员盘顺序和既往操作。恢复阵列可读性与解密文件是不同任务。不要为了取得清单而重建、初始化原阵列。
技王对群晖NAS数据恢复的评估,在这里按证据分成三种情况:
当前取得的证据 | 下一步要解决的问题 | 验收依据 |
|---|---|---|
已有可读的候选备份,但版本未确认 | 在隔离环境提取关键文件,对比业务认可的时间点与内容 | 关键文件正文、版本与应用验证记录 |
候选副本在独立目标上,本机卷无法读取 | 先核独立目标的访问权限、完整性与恢复范围,再判断是否需要处理原阵列 | 独立副本实际读取结果;不由本机故障推断远端也失效 |
目前只能取得加密文件,未发现可用历史副本 | 保留密文样本与事件证据,核是否存在适用解密条件 | 不能用阵列上线或文件数量代替解密验证 |
这张表是本文依据事件处置建议整理的条件判断。本地演示只验证了复制一致性与目标版本的区别,未验证具体群晖型号、备份产品或勒索变种,也不代表已有客户文件恢复结果。
群晖公告指向2024年12月已修补的漏洞。HKCERT另行说明,厂商尚未确认PHP2Shell是否涉及本轮攻击,不能把同时出现的漏洞通告拼成所有受害设备共同的入侵链。应按具体型号核适用DSM和套件更新;安装补丁不会解密已经被加密的文件。
信息核查截至2026年11月8日。文字有AI辅助整理,示例代码已实际运行;图片为生成的情景及决策示意,没有客户数据、现场照片或恢复成果。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。