关于从 Internet 获取后处理它们的文件类型比其他类型更安全的事实(如果它并不总是被证明的事实,然后是一种观点),我想问一下:
在上传后在服务器上或下载后在客户端计算机上处理文件时,哪些文件比其他文件更不安全?
是什么让这些特定类型的文件不安全或比其他文件更不安全?
我没有提到一种操作系统,以免在没有充分理由的情况下缩小我的问题。如果它是答案的重要因素,请指定它。
关于从 Internet 获取后处理它们的文件类型比其他类型更安全的事实(如果它并不总是被证明的事实,然后是一种观点),我想问一下:
在上传后在服务器上或下载后在客户端计算机上处理文件时,哪些文件比其他文件更不安全?
是什么让这些特定类型的文件不安全或比其他文件更不安全?
我没有提到一种操作系统,以免在没有充分理由的情况下缩小我的问题。如果它是答案的重要因素,请指定它。
通常,文件的“不安全性”在被访问时会发挥作用,而不仅仅是通过下载它们。下载一个未打开的文件并将其 pwn 你的计算机是好莱坞和科幻小说的东西(据我所知,尽管也可能对此进行研究)。
因此,要理解这个问题,真正的问题不在于文件类型,而在于通常用于访问这些文件的典型程序。
因此,.txt 文件应该是相对无害的,因为它是由简单的文本阅读器以原始形式访问的,并且不会以任何方式被识别为代码。(当然,在例如 Windows 记事本中发现的 0day 漏洞可能会改变这一点......)
PDF 和 Office 文档通常分别由 Adobe Reader 和 MS Office 程序打开——它们都可以识别多种类型的动态内容,例如 Office 宏。此外,还有大量的数据处理、解析、翻译、激活和渲染,并且在每个程序中的每一个步骤中都可能存在(并且现在和曾经)许多不同的漏洞(以及当然还有其他)。
媒体文件也是如此 - JPEG 和 GIF 可以有隐藏代码(参见GIFAR),电影文件可以有嵌入的编解码器等。
当然,可执行文件和代码(无论是否编译)是最危险的,因为它们很容易被利用——代码已经存在,并且用户明确要求执行它。这包括,例如在 Windows 上的 exe、dll、com、bat、htm/html、js、vbs、jar 等
。当然源代码(.java、.cs、.vb、.c、.cpp 等)也可以是一个问题,因为这些通常直接传递给编译器 - 可以说是最复杂的常见软件之一 - 并提供执行指令,更不用说后面的输出......混淆恶意代码并不太复杂。
在这里,操作系统的选择不一定是最重要的因素,尽管不同的文件在每个操作系统上的执行方式当然不同——而且每个操作系统都有自己的不安全文件类型。
更重要的是,如果/当一个恶意文件被执行时,它会造成什么样的破坏?默认为最低用户权限的操作系统(将 Win7 与 WinXP 相比)当然会更安全。