【问题标题】:Halt storage access?停止存储访问?
【发布时间】:2010-09-17 16:44:09
【问题描述】:

出于安全原因(保护知识产权),我正在尝试构建一种方法来防止某些硬盘驱动器分区/USB 驱动器被访问。我在想,当 Windows 尝试访问“锁定的驱动器/USB”时,尝试停止并返回“驱动器无法访问”之类的东西。这只是一个想法,有人认为这是合理/可能的吗?如果有,有什么指点?

C/C++

-谢谢

【问题讨论】:

  • @Bill the Lizard:这似乎是访问这个词,而不是访问包。
  • 拔掉它们。没有什么是完全有效的;)

标签: security usb storage file-permissions


【解决方案1】:

注意。任何涉及内核工作的东西,如果您还没有该领域的经验,那么开发时间都会以年为单位。

【讨论】:

    【解决方案2】:

    您需要写一个filter driver 来实现您的目标。您需要将驱动程序放在磁盘驱动程序堆栈中的某个位置,并使您要阻止的驱动器/分区的 IRP_MN_START_DEVICE 失败。

    您将需要Windows Driver Kit 来编写驱动程序。 WDK 中有一个过滤器驱动程序示例。这个mailing list 非常有用,如果您搜索档案,您会发现很多关于磁盘过滤器驱动程序的信息。
    写过滤驱动的好文章是here,我想你需要注册才能阅读,但如果你想写驱动,你应该在这个网站上注册。
    相关书单可以在here找到。

    【讨论】:

      【解决方案3】:

      您需要加密驱动器,否则攻击者只需将驱动器附加到另一台计算机并提取内容即可。

      您不应该自己实施加密 - 依靠别人审查过的代码要好得多。我建议 TrueCrypt 加密你的驱动器。

      那么也许你想在你的应用程序中放置一个钩子来在它想要访问加密数据时提示输入密码。或者您在机器上安装 TrueCrypt,并让用户在他们想要访问数据时连接驱动器,这取决于使用数据的精确方式。

      【讨论】:

        【解决方案4】:

        分区问题很简单。只需使用 ACL 来阻止某些用户的访问。

        对于驱动器访问,Windows 中的某处可能有一些设置可以禁用它。在更糟糕的情况下,您可以尝试强制删除驱动程序(以及 Windows 读取驱动器/棒的能力)

        【讨论】:

          【解决方案5】:

          对于 USB 驱动器,您可以对其进行加密。

          在工作中,我们使用Pointsec provider,只有在您有密码的情况下,您才能访问任何机器上的驱动器。

          我确信有可用的免费软件加密产品

          您也可以加密分区。

          (基本上我不确定您为什么要为可以通过其他方法充分管理的东西编写一些 c/c++ 代码)

          【讨论】:

            猜你喜欢
            • 2023-01-03
            • 2016-11-11
            • 1970-01-01
            • 2017-10-03
            • 2018-10-06
            • 1970-01-01
            • 1970-01-01
            • 2017-07-20
            • 1970-01-01
            相关资源
            最近更新 更多