假设我们得到了一个受感染的JPEG图像,只要查看它就可以自动执行存储在其中的恶意代码。它可以通过利用图像查看器的安全漏洞、使用缓冲区溢出或其他技术来做到这一点。是否在JPEG图像的EXIF数据段中存储可执行的代码的唯一位置?
假设有人使用EXIFtool或FileMind QuickFix删除所有EXIF元数据。这会清除在查看图像时可以执行的代码中的图像,从而消除存储在其中的威胁吗?
PS:图像可以查看,例如,它不是重命名的*.exe文件。我们没有被另一个恶意软件感染,它可以使用隐写技术读取隐藏在图像中的代码并执行它。我们是清白的,我们只是打开图像。
编辑:案例自动执行代码可以填充在实际数据的图像,除了EXIF元数据,这个代码可以被检测到。如果已加密,则需要另一个恶意程序对其进行解密。那么,如何检测图像中的代码呢?
发布于 2015-04-30 09:31:31
不一定。
恶意自动执行代码利用影响某些处理数据的软件代码的错误。您指的是EXIF必须处理的错误,但是图片数据也必须由软件处理,处理这些数据的代码也可能存在可能被利用的错误。
删除EXIF数据将防止试图使用影响EXIF数据操作的错误的威胁,但它不会对试图利用实际图片数据处理例程的威胁采取任何措施(为此,您可能会设想图像大小调整会改变图片数据,但是您可能希望采取措施,使进行此调整的软件不能被成功利用……)。
无论如何,这种威胁只能针对非常特定的软件和库版本,因为它们针对的是非常特定的bug --它们不可能是某种影响所有用户打开映像的“通用漏洞”,不管使用哪个软件。
编辑:关于这个主题的讨论也可以找到在StackOverflow中。
发布于 2015-05-01 10:17:08
是否在JPEG图像的EXIF数据段中存储可执行的代码的唯一位置?
不一定。但是,EXIF处理代码中更有可能存在错误。JPEG处理代码对于实际图像是相当标准的,使用尝试和测试的算法。它是EXIF处理,根据其对数据的处理方式,对每个应用程序进行更多的定制。
假设有人使用EXIFtool或FileMind QuickFix删除所有EXIF元数据。这会清除在查看图像时可以执行的代码中的图像,从而消除存储在其中的威胁吗?
有可能。但是,在这里,您将利用此漏洞的风险从图像显示代码转移到EXIF工具。EXIF工具仍然有可能包含允许其被利用的缺陷。但是,您可以在具有有限网络访问权限的单独机器上运行该工具,然后在EXIF数据被删除后传递图像数据。
https://security.stackexchange.com/questions/87188
复制相似问题