勒索软件为何先创建加密文件再删除原文件而非直接覆盖?
勒索软件文件加密逻辑相关问题解答
1. 「复制原文件-加密写入新文件-删除原文件」逻辑的核心优势
绝大多数 ransomware 选择这套逻辑的核心原因是收益稳定性更高,具体优势包括:
- 加密容错率更高:如果加密过程中出现突发中断(进程被强行终止、系统断电、目标文件被占用锁死),只要还没执行删除原文件的步骤,原文件就不会被篡改,攻击者后续可以重复执行加密流程处理未完成的文件,不会出现「原文件被部分覆盖损坏、攻击者拿不到完整明文、受害者也没法正常使用」的无效加密结果。
- 适配更多场景:大量文件系统对正在被占用的文件(比如打开的办公文档、运行中的程序文件)禁止直接写入覆盖,但允许同级目录新建文件,攻击者可以先完成加密文件写入,等后续文件解除占用后再删除原文件,大幅提升可加密的文件覆盖量。
- 便于标记加密文件:新建文件可以直接统一追加勒索软件专属后缀(比如
.locky、.conti),不需要额外修改原文件属性,能快速让受害者识别出加密事件,减少受害者误以为是系统故障、不联系攻击者支付赎金的概率。
2. 为什么不选择数据更难恢复的直接覆盖方案
直接覆盖原文件确实会提升用户自主恢复数据的难度,但不符合勒索软件的核心诉求:攻击者的目标是拿到赎金,而非单纯破坏数据。直接覆盖方案的容错率极低,一旦加密中途中断就会产生大量完全损坏的文件,攻击者既拿不到完整明文用于解密,也没法用这些损坏文件要挟受害者支付赎金,反而会降低整体收益。而且对于没有专业数据恢复能力的普通用户而言,删除原文件的逻辑已经足够让用户无法自主恢复数据,完全可以达到勒索效果,没必要牺牲加密成功率换取更高的数据恢复门槛。
3. UAC拦截场景下的效果说法验证
该说法仅在特定场景下成立,并非通用结论:
- 只有当勒索软件持有的权限对目标目录有写入权限、但没有删除/修改原文件的权限时,第一种逻辑才会出现「原文件保留、同级目录生成独立加密文件」的情况。
- 如果目标目录本身需要更高权限才能写入(比如
C:\Windows、C:\Program Files这类系统目录),就算是第一种逻辑也无法生成新的加密文件,和直接覆盖逻辑一样无法操作目标文件。 - 直接覆盖逻辑确实需要对原文件有写入权限才能执行,权限不足的情况下完全无法修改目标文件,这部分描述符合实际情况。
4. 两种文件处理逻辑的核心差异及原因
两种逻辑的核心差异是设计目标的优先级不同:
- 「新建加密文件再删除原文件」以加密成功率为核心目标,加密操作和原文件修改完全解耦,只有加密100%完成才会触碰原文件,原子性更强,符合以勒索赎金为目的的攻击需求。
- 「直接覆盖原文件」以数据破坏性为核心目标,加密过程中直接修改原文件,中途出错就会造成不可逆的文件损坏,更适用于不以勒索为目的、仅为摧毁目标系统数据的破坏性攻击场景。
内容的提问来源于stack exchange,提问作者mov eax
相关产品推荐
相关产品推荐

