答案很简单。那不是照片。并且.pif
不是图像格式。指望纽约时报提供正确的技术信息。
正如 NYTimes 文章中的日志所说,并且正如FireEye 的实际报告所证实的那样,所使用的文件是一个.pif 文件。它是 Windows 的可执行文件扩展名中鲜为人知的一种。
.pif 是 MS-DOS 的遗留文件,如 .com。它旨在成为“程序信息文件”(因此得名),存储(DOS)程序的快捷方式以及系统有关如何处理它的各种信息。即使在今天,Windows 也为 .pif 文件提供了一个快捷方式类型的图标。
有趣的是,今天,Windows 并不真正关心 .pif 是否真的只是一个程序信息文件。试试看:将任何 .exe 文件重命名为 .pif 并运行它。可能会有一些差异,例如图标未显示,但仅此而已。这就是对不同格式文件的统一处理。谢谢,微软!
为什么会这样?简短的回答:因为 Windows . 更长的答案:Windows 通过 .pif 运行ShellExecute
,从技术上讲,它应该找到合适的程序来打开文件,然后使用它来打开它。对于 .pif 文件,它首先检查它是否真的是一个指向 MS-DOS 可执行文件的文件。如果它不符合 .pif 文件格式,ShellExecute 会检查它是否包含可执行代码。如果是这样,它将像运行 .exe 一样运行。为什么?因为视窗!
超恐怖的天才黑客们做了什么?这些家伙懒得做任何复杂的事情:他们用一个病毒安装程序和一个程序(可能只是一个 .bat)制作了一个自解压和执行的 SFXRAR 存档,打开了他们在互联网上找到的一个女孩的图像,将那个邪恶的装置重命名为 .pif 文件,并将其发送给倒霉的自由斗士。
他们为什么使用 .pif?显然有两个原因:
很少有人知道它可以作为可执行文件运行(感谢微软!)
它显然听起来像 .gif 或 .tiff 或 .pdf 或非常形象化的东西。即使你从它的名字也不会怀疑它是一种图像格式,不是吗,OP?;)
关于您的实际问题(“如何在图像中嵌入可执行代码”)。是的,只要在易受攻击的程序中打开特制图像,就可以通过特制图像执行代码。这可以通过利用像缓冲区溢出这样的攻击来实现。但这些特定的黑客很可能对此不够聪明。
编辑
有趣的提示:这些人实际上使用了 DarkComet,它能够生成具有不同扩展名的压缩可执行文件,.pif 在他们的列表中。我不确定是否要显示图像,但这可能是较新版本中添加的功能。
另一个编辑
我看到你在问如何防止这个特定的“漏洞”。答案很简单。
首先,确保Windows 向您显示文件扩展名。默认情况下,Windows 大多隐藏它们(谢谢,微软!)
然后背诵这个:.exe .com .cmd .bat .pif .vb .vba .vbs .msi .reg .ws .wsc .wsf .cpl .lnk
。这些是最知名的文件类型,无论您是否安装了易受攻击的应用程序,它们都可以轻松执行潜在的恶意代码或以其他方式损害您的计算机。如果有人向您发送这样的文件,说这是一个漂亮女孩的图像,您可以确定这是另一个像这些叙利亚人一样低调的黑客。
另一种选择是积极主动地检查和仔细检查任何下载的文件格式不熟悉的文件。你知道,它可能是恶意软件。
至于带有漏洞的真实图像......您可能会尝试使您的软件保持最新状态。