【问题标题】:read file in disk encrypt with out mount it读取磁盘中的文件加密而不挂载它
【发布时间】:2013-02-06 09:01:52
【问题描述】:

我在 mac OS X ML 10.8 中创建磁盘加密(使用 Disk utiliti 或使用命令 hdiutil )。我想读取该磁盘中的文件,但我无法挂载它。因为当我挂载它时,另一个应用程序可以在我卸载之前读取它。请帮帮我。(这里是hdiutil命令http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man1/hdiutil.1.htm

【问题讨论】:

    标签: objective-c macos


    【解决方案1】:

    为此,您必须自己读取和解密 dmg 文件,然后解释磁盘映像中的 HFS 文件系统以获取您的文件。这并不容易,但肯定是可能的。看看HFSExplorer源代码。

    但我不会为此投入太多精力。要么使用更易于阅读的不同文件格式来存储加密数据,要么使用 pajps 解决方案。请记住,无论您做什么,一旦您解密您的文件,用户将能够获得解密的数据。你可以让这件事变得更难,但你不能阻止它。

    【讨论】:

      【解决方案2】:

      我认为唯一合理的方法是挂载磁盘映像。要安全地执行此操作,您可以使用-mountrandom-nobrowse 选项到hdiutil attach。这将以随机路径名挂载磁盘映像,并防止其在 UI 中可见。

      hdiutil attach -mountrandom /tmp -nobrowse /tmp/secret_image.dmg
      

      假设磁盘映像只有一个 HFS 分区,您可以像这样解析随机挂载路径:

      hdiutil attach -mountrandom /tmp -nobrowse /tmp/secret.dmg | awk '$2 = /Apple_HFS/ { print $3 }'
      

      或者您可以使用 -plist 选项获取 plist XML 格式的输出,该格式可以使用 XML 工具解析或使用 plutil -convert json 转换为 json。

      当然,具有 root 访问权限的攻击者仍然可以监视新的挂载并在您有机会卸载它之前拦截您的磁盘映像,但是如果您的攻击者具有 root 权限,那么几乎所有的赌注都没有。

      【讨论】:

      • 我仍然看到磁盘。在 Mac os X 中,在 Finder 中,转到 -> 计算机,磁盘仍然可见,在 finder 中显示隐藏文件。当挂载磁盘时,它在 Finder 中始终可见(转到-> 计算机) 通过显示隐藏文件。谢谢。
      猜你喜欢
      • 1970-01-01
      • 2014-10-08
      • 2016-01-22
      • 1970-01-01
      • 2019-08-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-07
      相关资源
      最近更新 更多