9

我的老板来找我,问如何确保通过网页上传的文件是安全的。他希望人们能够上传 pdf 和 tiff 图像(等等),他真正关心的是有人将病毒嵌入到 pdf 中,然后查看/更改(并执行病毒)。我刚刚阅读了一些关于可用于通过更改最小重要位来破坏图像中嵌入的速记信息的程序的内容。是否可以使用类似的过程来确保没有植入病毒?有谁知道任何可以清理文件的程序?

更新:因此团队对此进行了一些争论,一位开发人员发现了一篇关于让文件下载到文件系统并让保护网络的防病毒软件检查那里的文件的帖子。发帖人本质上说,对几个产品使用 API 或命令行太难了。这对我来说似乎有点笨拙,因为我们计划将文件存储在数据库中,但我以前不必扫描文件中的病毒。有没有人对此有任何想法或经验?

http://www.softwarebyrob.com/2008/05/15/virus-scanning-from-code/

4

6 回答 6

4

我建议通过ClamAV等防病毒软件运行您上传的文件。我不知道清理文件以删除病毒,但这至少可以让您在查看受感染文件之前检测并删除它们。

于 2008-08-28T18:58:09.773 回答
3

嵌入在图像文件中的病毒不太可能成为您的应用程序的主要问题。JAR 文件将成为问题。带有 JAR 预告片的图像文件可以作为 Java 小程序从 Internet 上的任何页面加载,具有指向您的应用程序和服务器的同源绑定 (cookie)。

处理图像上传的最佳方法是裁剪、缩放并将它们转换为不同的图像格式。图像在转换前后应具有不同的大小、散列和校验和。例如,为 Stack Overflow 提供“好友图标”的 Gravatar 会强制您裁剪图像,然后将其转换为 PNG。

是否可以构建恶意 PDF 或 DOC 文件来利用 Word 或 Acrobat 中的漏洞?大概。但是 ClamAV 在阻止这些攻击方面不会做得很好。这些不是“病毒”,而是查看器软件中的漏洞。

于 2008-09-10T21:44:27.690 回答
2

这取决于您公司的预算,但有一些硬件设备和软件应用程序可以位于您的 Web 服务器和外部世界之间来执行这些功能。其中一些是内置防病毒软件的硬件防火墙。有时它们被称为应用程序网关或应用程序代理。

以下是使用 Clam-AV 的开源网关的链接: http://en.wikipedia.org/wiki/Gateway_Anti-Virus http://gatewayav.sourceforge.net/faq.html

于 2008-08-28T19:35:00.837 回答
1

您可能需要将实际的病毒扫描程序链接到上传过程(就像许多病毒扫描程序确保您在浏览器中下载的文件是安全的一样)。

为了自己执行此操作,您必须保持最新状态,这意味着保留病毒定义库,这可能超出了您的应用程序范围(甚至可能不可行,具体取决于您的组织规模)。

于 2008-08-28T18:59:08.723 回答
0

是的,无论扩展名如何,ClamAV 都应该扫描文件。

于 2008-08-28T19:02:56.860 回答
0

使用反向代理设置,例如

www <-> HAVP <-> 网络服务器

HAVP ( http://www.server-side.de/ ) 是一种通过 ClamAV 或任何其他商业防病毒软件扫描 http 流量的方法。它将阻止用户下载受感染的文件。如果您需要 https 或其他任何东西,那么您可以将另一个反向代理或 Web 服务器置于反向代理模式,以便在 HAVP 之前处理 SSL

尽管如此,它在上传时不起作用,因此它不会阻止文件存储在服务器上,但会阻止文件被下载并因此传播。因此,将它与常规文件扫描(例如 clamscan)一起使用。

于 2009-04-18T10:35:50.923 回答