【问题标题】:Hide files in USB from OS?从操作系统隐藏 USB 中的文件?
【发布时间】:2011-04-01 17:35:09
【问题描述】:

有没有办法以操作系统无法使用标准方法读取数据的方式将数据存储在 USB 文件中?我在想可能是一个不常见的文件系统,但是我可能不得不自己实现IO,这听起来像是一项艰巨的工作。 另一个想法是以低级方式访问磁盘扇区并以不兼容的方式存储数据?但我不知道从哪里开始。 作为记录,我使用的是 VB.NET。

谢谢,

约翰

编辑:关于您提出的 VALID 安全问题:我同意,但请假设,对于我的项目范围,我需要做的只是简单地阻碍普通用户和稍微高级的用户。不是专家。感谢您提出安全问题,但在这种特殊情况下可以放心地忽略它。

【问题讨论】:

  • 只是好奇,你想用这个“隐藏”文件来达到什么目的?
  • @SimonBesner:基于 USB 驱动器的可重载“信用”原型系统。
  • 如果您可以隐藏文件,其他人可以找到它。
  • @Jim Mischel:是的,但是这个项目的范围不是实现绝对安全。
  • 你考虑过使用 TrueCrypt 吗?它可以将一个卷放在一个卷中,这样当你解锁一个卷时,内部卷仍然是安全的。 truecrypt.org

标签: .net vb.net usb low-level


【解决方案1】:

基本上你所要求的几乎是rootkit。我不认为这是你想走的路。

您可以对驱动器进行重新分区,使其具有第二个分区,您可以对其进行原始 I/O,但这并不能提供任何真正的安全性。 (这会使您的软件变得不必要地复杂。)那么,为什么不简单地将它们标记为只读 + 隐藏 + 系统并通过其他方式添加您的真正安全性?

正如其他人已经指出的那样,尝试执行此操作将遇到相当大的安全问题。需要考虑的事项:

  • 重放攻击(有人逐字节复制驱动器 - 顺便说一句,这很容易做到)
  • 有人找到并修改了文件(应使用只有您的程序知道的第三方数字签名对其进行验证 - 您的程序必须以某种方式保护其私钥)

【讨论】:

  • 请不要把注意力放在安全问题上,这只是为了妨碍使用操作系统功能进行琐碎的复制/粘贴。强大的安全性不是这个特定事物的问题。我对第二个分区的想法很感兴趣,我可以在这个分区上进行原始 I/O。您能否指出一些有关如何做到这一点的资源(我不知道:o)?关于“只读+隐藏+系统”,如果我不这样做,这将是我的选择。但由于它很容易被一个操作系统命令逆转,我想避免它。
  • @johnjohn,在 Windows 上似乎不是很直接,但我发现了一些线索 herehere。基本思想是您应该能够为您关心的分区打开一个虚拟设备文件,并像文件一样读/写它。显然,您必须非常小心地执行此操作,因为您必须以管理员身份运行,如果您得到错误的设备文件,您可能只是搞砸了您的一个真实文件系统。 ;-)
  • @johnjohn 如果任何操作系统可以以任何方式访问您的 USB,您可以使用单个或几个命令转储它所代表的内存空间。如果用户足够先进,可以找到隐藏+系统文件,我认为其中不少人也足够精通从 USB 转储字节
猜你喜欢
  • 1970-01-01
  • 2013-11-06
  • 2014-01-22
  • 1970-01-01
  • 1970-01-01
  • 2011-12-11
  • 2012-09-07
  • 2011-01-26
  • 1970-01-01
相关资源
最近更新 更多