文件流中的病毒会感染计算机吗?

信息安全 恶意软件 病毒 杀毒软件
2021-09-03 11:54:35

我有一个接受base64来自用户的图像字符串的 java web 应用程序。这些字符串首先转换为字节流,然后对流进行病毒扫描。之后,该文件将存储为实际图像的调整大小版本。

我的问题是,当文件从base64字符串转换为内存中的字节流并且恰好包含病毒时,该病毒是否能够逃脱字节流并感染服务器的其余部分?还是只能在流转换为存储在磁盘上的文件后才这样做?

1个回答

两者都不。

作为文件存在于磁盘上的病毒是无害的。作为数据存在于内存中的病毒是无害的。只有当某些东西试图执行它或不正确地解释它时,它才能感染机器。这可能是由于用户操作(欺骗某人下载并运行 .exe 文件)或由于您所询问的应用程序弱点(例如,在 PDF 中隐藏恶意数据以触发 PDF 阅读器中的漏洞并欺骗应用程序执行恶意指令)。

因此,从您的情况中选择一些示例:

  1. 如果您的网络服务器存在 RCE 漏洞,则请求中的恶意数据可能会在到达您的应用程序之前执行病毒(示例
  2. 不正确的输入处理可能允许攻击者欺骗您的应用程序执行恶意命令(示例更多示例
  3. 您的编程语言的流处理系统中的错误可能允许恶意负载执行代码(这不太可能,我什至没有任何示例)
  4. 如果您在磁盘上存储文件的位置也是您的应用程序可以找到并执行代码的位置,那么攻击者可能会诱骗您的应用程序保存病毒,然后诱使您的应用程序执行它(示例
  5. 如果您的图像处理库存在已知漏洞,则恶意图像可能能够在您的服务器上执行命令(示例

但是,病毒不会仅仅通过在您的服务器上就造成麻烦。它必须找到一种方法来执行自己。唯一的防御措施是实践适当的应用程序安全性并保持一切最新。