【问题标题】:reliably monitor/track/log user file accesses on Windows 7在 Windows 7 上可靠地监控/跟踪/记录用户文件访问
【发布时间】:2011-05-24 10:06:41
【问题描述】:

我需要跟踪用户访问(创建、打开、读取)的所有文件并记录这些操作,以便在单独的应用程序中进行进一步处理。我已经调查并寻找了实现这一目标的可能方法(尽可能简单),并提出了以下解决方案:

  1. 挂钩 kernel32.dll 并拦截所有 文件特定的功能,如 CreateFileA、OpenFile 等。我想 修改 IAT 并提供 包装函数。我还是会前进 对原始函数的调用, 但报告哪些文件在哪里 何时访问我的应用程序。 这听起来很容易实现,但我 怀疑它会完美地工作 Windows 7 在我看来是新的 安全限制阻止 通过修改成功挂钩 导入地址表。也许有人 知道得更好:)

  2. 编写文件系统微过滤器并 使回调函数报告 关于文件访问。因为我没有 在我没有之前写了一个微过滤器 知道这是否可行 方法。我相信发展 微过滤器需要更多的努力。 也许有人可以指出一些 写作教程等资源 简单的文件系统微过滤器。

我知道 Microsoft 的 Detour 库,但在这个阶段我想避免使用它,因为挂钩通常非常简单。是否有任何可靠的方法可以在不使用 Detours 或 EasyHook 的情况下在 Windows 7 中挂钩文件功能? 关于微过滤器:我相信与处理加密的过滤器相比,我想要实现的目标非常简单。但是,我没有编写微过滤器的经验,也无法估计实现我的目标需要付出多少努力。我偶然发现的所有示例都涉及文件系统过滤器而不是微过滤器。

感谢任何提示和建议 :)

您好, 好奇心

【问题讨论】:

  • 我的钱花在了文件系统 (mini)filter 驱动程序上(您可以查看 WinDDK 中的 /src/filesystem/miniFilter/scanner 示例。)跨度>
  • 使用微过滤器,我可以追溯最初是哪个程序发出访问权限的吗?

标签: windows windows-7 filesystems hook dll-injection


【解决方案1】:

在 .NET 中,您可以使用 FileSystemWatcher

【讨论】:

  • 那不属于可靠领域,或者不属于可扩展领域
  • 好建议。这将需要查看所有交易量,包括处理到达和离开交易量。您是否知道这种方法在观看整卷时如何扩展?
  • 使用 FileSystemWatcher 类,您只能监控创建/更新/删除/重命名操作,我们不能使用该类来跟踪文件访问。
【解决方案2】:

您是否查看了我们的CallbackFilter 产品,它提供了一个现成的过滤器驱动程序并允许您在用户模式下编写所有逻辑?

【讨论】:

  • 你好尤金。我已经检查了您的 CallbackFilter。它似乎是一种坚固的产品。但是,我目前无法获得许可。不过感谢您的提示!
  • @curiosity 如果您有兴趣,我们会提供重大折扣和分期付款计划。我理解,对于私人非商业项目,这可能不是一种选择。此外,出于科学和教育目的(例如毕业项目或短期需求),我们提供免费的限时许可证(6 到 12 个月)。
  • @curiosity 顺便说一句,我们现在也提供免费许可证。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-01-19
  • 1970-01-01
  • 2022-04-16
  • 2011-12-18
  • 2015-11-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多