文件打开和禁用预览的文件浏览器是否可以免受在资源管理器中查看时运行的恶意软件的侵害?

时间:2017-01-12 06:34:22

标签: java security explorer malware computer-forensics

我在java中创建一个自定义文件资源管理器。我开始知道这个蠕虫在文件浏览器中查看文件图标时开始执行。我相信,只有当它以某种方式通过阅读元数据加载到内存中时才有可能(如果我错了,请纠正我)。我听说java是一种“安全”的语言,但只是想知道它有多安全。

我在我的程序中使用以下导入:

java.io.File;

java.net.URL;

java.nio.file.Path;

javax.swing.filechooser.FileSystemView;

我使用fileSystemView.getFiles()来获取文件列表,只需通过检查文件扩展名来显示图标。文件也不会被预先确定。

因此,如果我通过在文件浏览器中单击其图标来禁用文件的打开,那么当我的文件浏览器程序显示受感染的pendrive的内容时,是否有任何方式可以运行某些恶意软件?

这可以通过其他编程语言来实现吗?

1 个答案:

答案 0 :(得分:2)

这里有几个方面的问题。

首先,关于通过在应用程序中单击来意外读取/执行文件的危险:我认为如果没有真正看到您正在运行的代码,就有点难以回答。根据您的描述我无法看到任何明显的威胁,但是再一次,当您标记文件,读取它所在的目录并阅读时,我并不确切知道您的Java运行时将为您做什么文件本身 - 如果没有"魔法"在幕后发生,可能没有问题。如果Java对文件执行任何类型的读取/解析/任何操作以便注册和列出它,那么很难说。

来自documentation for Class FileSystemView

  

由于JDK1.1文件API不允许访问根分区,文件类型信息或隐藏文件位等信息,因此该类旨在尽可能多地追踪特定于操作系统的文件系统信息。

我确实不确定这甚至意味着什么,但我把它作为一个指示器,当访问文件时,某些正在幕后进行。也许拥有更深入知识的人可以增加这一点。

现在至于使用它来分析可能受感染的拇指驱动器:要非常小心

当您将某些东西连接到USB时,它可以在连接后立即自动执行"(*)。这可能会在您开始使用Java应用程序之前很久就发生,因此您编写代码的安全性确实很重要。

有一些方法可以限制对USB的访问,以及这种自动运行行为。您至少应该了解并研究这一点,并确保在将任何可疑内容插入您的PC之前,您已拥有某种更新且可正常工作的安全扫描程序。

(*)甚至有一些例子,USB设备可以通过提供(假的或真实的)网络连接从被锁定的计算机窃取信息,然后收听并操纵计算机通常在背景