首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TrueCrypt容器的安全同步

TrueCrypt容器的安全同步
EN

Security用户
提问于 2012-04-26 11:29:49
回答 3查看 3.3K关注 0票数 7

需要在两个TrueCrypt容器中同步任意文件;一个容器是备份,另一个是我积极使用的容器,它们都是事务期间的本地文件。

当前的安全考虑是,使用同步工具会导致“数据泄漏”;例如,同步工具产生索引,当未加密存储在磁盘上时。

是否有任何建议,或深入了解可能的攻击矢量,可能会导致使用同步工具,如所述?

更新:我已经删除了对"on Windows“的引用,因为虽然他们提到的答案和问题都与Windows有关,但这些答案(搁置所使用的同步工具)适用于Windows、Linux、OSX等--我不希望阅读问题标题的人相信这个问题只适用于Windows,因为它不适用于Windows,而且考虑到安全执行加密数据备份的重要性,我认为最好让这个问题尽可能容易理解。

EN

回答 3

Security用户

回答已采纳

发布于 2012-05-05 12:52:02

当前的安全考虑是,使用同步工具会导致“数据泄漏”;例如,同步工具产生索引,当未加密存储在磁盘上时。

您正确地认为,由于索引的结果,存在数据泄漏的风险。有多大的风险取决于什么是确切的索引。

一段时间前,我领导了一个项目来构建一些类似dropbox的东西。为了比较跨运行的目录,我们使用了路径名、内容的sha256散列(如果还没有计算)、各种时间戳信息等等。

显然,如果同步工具要存储有关存储在加密容器中的文件的信息,攻击者也可以访问它们。这种情况的确切风险取决于您给定的场景。

然而,我怀疑,其中的风险比你想象的要大。例如,让我们假设,在打开文件时,无辜的软件会创建一个副本,以避免损坏个人--但是,您已经将文件系统安装为只读的,因此它可以轻松地在临时文件夹中创建文件的副本。很好,只是-它只是将您的数据从加密的分区复制到一个未加密的分区,从而泄漏了它。

同步工具也可能是如此。这将是一个相当糟糕的方式来构建一个-但可以想象,该工具可以复制文件到一个临时的位置正在进行。再说一次,你有泄漏的问题。

为了更现实一点,让我们假设同步工具通过mmap复制内存中的文件并在它们之间进行复制。如果您在此更新过程中遇到系统崩溃,而您的应用程序恰好是核心抛出,那该怎么办?见鬼,如果truecrypt驱动程序的内存也被丢弃了,会发生什么?它很可能包含未加密的文件数据。

事实是,你不太可能从这些场景中推断出整个文件的内容--但就像在你的房子里弄湿一样,会有什么东西泄露出去。要完全确定你已经把所有的事情都做好了,唯一的办法就是做一些显而易见的事情:加密整个过程。交换盘什么的。

因此,要回答您提出的问题:攻击者可以清除任何同步工具存储的内容。看一看。抓取过程监视器,查看它存储数据的位置,然后查看其中的内容。这会告诉你到底是什么数据被泄露了。

要回答您没有问到的问题:没有办法绝对确定您不会在未加密的系统上使用truecrypt容器泄漏一些东西。

票数 7
EN

Security用户

发布于 2012-04-26 13:10:31

现在的问题是“如何在一个主机上实现两个打开的TrueCrypt容器之间的文件级同步,而不从同步工具中泄漏任何本地数据?”

答案是你很可能做不到--当然,没有任何一个成熟的文件同步工具(unison、rsync、SyncToy等等)。保证不会有这样的泄密。他们的重点完全是高效和可靠的。

这大概是因为这样做将涉及到大量非常艰苦的工作来支持一个晦涩的用例。首先,如果有人能接近你的机器,利用这种泄漏,那么你就会有更严重的问题。其次,如果您确实需要控制此漏洞,那么无论使用哪个同步工具,您都可以执行以下几个步骤:

  • 使用全磁盘加密,以便所有泄漏也是加密的。
  • 同步关闭卷,以性能为代价消除所有同步工具泄漏。

注意:我在这里指定了同步工具泄漏,因为这里还有其他类型的泄漏:容器的差异分析,或者一旦打开用于操作容器内容的工具的泄漏。但是,如果攻击者已经对机器进行了足够的攻击,那么您就会遇到更严重的问题。当您只需将TrueCrypt二进制文件替换为将容器的内容发送给您的邮件时,为什么要对容器更改进行困难的差异分析?

(最后一点:有许多很好的开源文件同步工具,所以第三种选择是将它们分给您自己的超级安全版本。)

票数 6
EN

Security用户

发布于 2012-05-04 18:56:57

IMO最简单和最快的同步方式是安装两个容器,并使用您最喜欢的工具对它们进行同步(我有点喜欢机器人复制)。当您有备份时,使用另一个容器。如果一个容器是另一个容器的副本,那么访问两个容器的人都可以查看更改并使用该信息的扇区。

如果您制造了两个容器,而不是这样的话,那就不是问题了,因为所有的东西都是不同的,不管在相同的地方是否有相同的文件。

我不知道您可以使用哪个“同步工具”,但是如果它没有存储临时信息(比如本地临时区域),那么同步应该可以。有些人认为当你使用加密的时候,你应该禁用虚拟内存,但是IMO并不是必需的,只是偏执狂。

-编辑-如果您的备份可以被某人重复访问(而不只是上面假设的当前和备份),您可以考虑每次创建一个新容器,并按照truecrypt http://www.truecrypt.org/docs/?s=how-to-back-up-securely的建议复制所有数据。

-社论2--现在看来,当你使用工具时,你似乎在问关于泄漏的问题。你没有提到任何工具,所以我不能多加评论。只要工具在复制或在容器外有db/信息时不创建临时文件(有时在用户应用程序数据目录中),那么您就可以了。正如我上面提到的,我喜欢机器人复制,它只是一个像文件复制程序一样的高级命令。请参阅http://ss64.com/nt/robocopy.html,我个人不复制attibute数据,也不希望远程卷中的文件被删除。我想我通常使用robocopy srcDriveOrFolder dst /S /W:1 /R:1

票数 0
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/14196

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档