勒索软件如何知道文件类型?

信息安全 勒索软件
2021-08-21 13:39:02

当勒索软件在扫描步骤中搜索受害者的文件时,勒索软件如何知道文件的类型?

它可以检查文件名(例如book.pdf)或文件签名。

我想知道的是,当我更改文件名的扩展名(例如book.pdf--> book.customEX)时,我认为勒索软件应该无法找到我的文件,因此也无法加密文件。

我可以给一些意见或建议吗?

4个回答

首先,并非所有勒索软件都是平等的:就像任何软件一样,有些勒索软件写得很好,而有些写得不好。您可以在wikipedia/ransomware上获得主要勒索软件变种的概述一些勒索软件——尤其是 CryptoLocker——确实使用文件扩展名列表来决定要加密哪些文件,为什么不呢?有足够知识更改文件扩展名的用户可能有备份,并且无论如何都不会付钱给你。正如@usr 指出的那样,您仍然可以通过简单的方法吸引很多人。也就是说,一些勒索软件,如 CryptoWall,非常复杂,虽然我不知道它是如何工作的,但我可以推测出什么是可能的。


正如你所说,文件通常包含一个“文件签名”——文件开头附近的一个简短的十六进制代码,表明它是什么类型的文件。以下是来自维基百科的这些“神奇数字”的两个列表:[1][2]

Windows 操作系统本身在很大程度上依赖于文件名中的文件扩展名,并且众所周知,如果您更改它,它会变得很脆弱,但这并不意味着所有软件都需要如此糟糕。

例如,有一个标准的 Unix 实用程序file,它会查看幻数并告诉你它是什么类型的文件,勒索软件没有理由不能做同样的事情。

在此处输入图像描述

恶意程序将通过其签名检测您的文件

有一个例子(image.png):

hexdump -C image.png | head

样本输出:

00000000  89 50 4e 47 0d 0a 1a 0a  00 00 00 0d 49 48 44 52  |.PNG........IHDR|
00000010  00 00 02 4a 00 00 00 bc  08 06 00 00 00 87 77 81  |...J..........w.|
00000020  b4 00 00 00 01 73 52 47  42 00 ae ce 1c e9 00 00  |.....sRGB.......|
00000030  00 04 67 41 4d 41 00 00  b1 8f 0b fc 61 05 00 00  |..gAMA......a...|
00000040  00 09 70 48 59 73 00 00  0e c4 00 00 0e c4 01 95  |..pHYs..........|
00000050  2b 0e 1b 00 00 24 b1 49  44 41 54 78 5e ed 96 8d  |+....$.IDATx^...|
00000060  ae 5d 29 08 85 fb fe 2f  dd 09 e9 30 e3 a5 8a 88  |.])..../...0....|
00000070  20 e8 e6 4b 48 7b e4 6f  01 bb 49 7f fd 2e 8a a2  | ..KH{.o..I.....|
00000080  28 8a a2 28 ba d4 7f 94  8a a2 28 8a a2 28 06 d4  |(..(......(..(..|
00000090  7f 94 8a a2 28 8a a2 28  06 d4 7f 94 8a a2 28 8a  |....(..(......(.|

我会将我的更改image.png为您的自定义扩展名customEX,然后我将获得 hexdump

我再一次跑 hexdump -C image.customEX | head

有输出:

00000000  89 50 4e 47 0d 0a 1a 0a  00 00 00 0d 49 48 44 52  |.PNG........IHDR|
00000010  00 00 02 4a 00 00 00 bc  08 06 00 00 00 87 77 81  |...J..........w.|
00000020  b4 00 00 00 01 73 52 47  42 00 ae ce 1c e9 00 00  |.....sRGB.......|
00000030  00 04 67 41 4d 41 00 00  b1 8f 0b fc 61 05 00 00  |..gAMA......a...|
00000040  00 09 70 48 59 73 00 00  0e c4 00 00 0e c4 01 95  |..pHYs..........|
00000050  2b 0e 1b 00 00 24 b1 49  44 41 54 78 5e ed 96 8d  |+....$.IDATx^...|
00000060  ae 5d 29 08 85 fb fe 2f  dd 09 e9 30 e3 a5 8a 88  |.])..../...0....|
00000070  20 e8 e6 4b 48 7b e4 6f  01 bb 49 7f fd 2e 8a a2  | ..KH{.o..I.....|
00000080  28 8a a2 28 ba d4 7f 94  8a a2 28 8a a2 28 06 d4  |(..(......(..(..|
00000090  7f 94 8a a2 28 8a a2 28  06 d4 7f 94 8a a2 28 8a  |....(..(......(.|

如您所见,文件的签名保持不变,可以从List_of_file_signatures进行验证

89 50 4E 47 
0D 0A 1A 0A

我可以给一些意见或建议吗?

您需要定期创建数据的安全备份(外部硬盘...),并将设备与 PC 物理断开连接。

我删除的勒索软件通常会寻找常见的文件扩展名。当他们找到匹配项时,他们会运行加密脚本并移动到下一个文件。

他们还可以查看文件的标题,但抓取扩展名可能已经足够破坏性了。

除非编写得非常糟糕,否则勒索软件会将引导文件与非引导文件区分开来。然而,这种识别是基于默认设置的,这可能会给像我这样拥有他们编写的引导加载程序/引导扇区的人带来问题。勒索软件可能会加密这些文件,因为它无法识别它们。但是,加密常规引导文件可能是个好主意。勒索软件可能会用模仿 Windows 或 Grub/Grub2 引导加载程序的引导加载程序替换引导加载程序,但能够读取这些加密的引导文件。这样,可以使计算机在支付价格之前无法启动。

勒索软件可能会检查幻数。