2008-08-28 68 views
9

我的老板来找我,并问如何确保通过网页上传的文件是安全的。他希望人们能够上传pdf和tiff图像(以及类似的东西),他真正关心的是某人将病毒嵌入到pdf中,然后查看/更改(并执行病毒)。我只是读了一些关于一个程序的东西,它可以通过改变最小的重要位来破坏嵌入在图像中的速记信息。是否可以使用类似的过程来证明病毒未被植入?有谁知道任何可以擦洗文件的程序?确保上传的文件是安全的

更新: 因此,团队争论了这一点,一位开发人员发现一篇关于让文件下载到文件系统并让防病毒软件保护网络来检查文件的文章。海报基本上说,使用API​​或命令行来执行一些产品太困难了。这对我来说似乎有点笨拙,因为我们打算将这些文件存储在数据库中,但我之前没有必须为文件扫描病毒。有没有人有任何想法或expierence与此?

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

回答

4

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

1

您可能需要将实际的病毒扫描程序链接到上载过程(许多病毒扫描程序确保您在浏览器中下载的文件是安全的)。为了做到这一点,你必须保持它的最新状态,这意味着保持病毒定义的库,这可能超出了你的应用程序的范围(甚至可能根本不可行你的组织的大小)。

0

是的,ClamAV应扫描文件,而不管扩展名。

3

病毒嵌入在图像文件不太可能为您的应用程序的一个主要问题。这将是一个问题是JAR文件。带有JAR预告片的图像文件可以从互联网上的任何页面作为Java applet加载,同源组合(cookie)指向您的应用程序和服务器。

处理图片上传的最佳方式是裁剪,缩放并将它们转换为不同的图片格式。在转换之前和之后,图像应该具有不同的大小,哈希和校验和。例如,为Stack Overflow提供“好友图标”的Gravatar迫使您裁剪图像,然后将其转换为PNG。

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

0

使用反向代理设置,如

WWW < - >HAVP < - > Web服务器

HAVP(http://www.server-side.de/)是扫描尽管ClamAV的或任何其他商业杀毒HTTP流量方式软件。它会阻止用户下载受感染的文件。 如果您需要https或其他任何东西,那么您可以将另一个反向代理或Web服务器置于反向代理模式下,以便在HAVP之前处理SSL。但是,它无法在上传时使用,因此它不会阻止文件存储在服务器上,但阻止文件被下载并因此传播。所以在普通的文件扫描中使用它(例如clamscan)。