分析一下 TrueCrypt 之死(自杀 or 他杀?) — — 兼谈应对措施

文章目录

★TrueCrypt 官网的“变脸”
★相关背景介绍
★可能的几种解释
★俺对“上述解释”的分析
★大伙儿的应对措施
★TrueCrypt 的重生
★相关的引用参考

前几天(5月28日),TrueCrypt 官网突然变脸。全球的安全社区纷纷表示震惊。已经有若干读者在博客留言,希望俺点评一下此事。因为上周恰逢“六四事件”25周年,俺发了相关博文表示纪念。相应地,TrueCrypt 的点评放到本周发布。

★TrueCrypt 官网的“变脸”

先简单说一下 TC 官网的变脸。
首先是官网的域名 truecrypt.org 自动转向到 truecrypt.sourceforge.net。官网的页面上用醒目的红字警告说:TrueCrypt 已经不安全,TC 项目已经停止开发。然后建议 Windows 用户迁移到微软的 BitLocker。并给出图文并茂的教程,教你如何一步步迁移到 BitLocker 上。
官网给出的理由是:Windows 从 Vista 开始,已经集成了磁盘加密(也就是 BitLocker),而 Windows XP 已经在今年3月份停止支持。所以 TC 团队就不再维护这款产品了。
在变脸的同时,官网上发布了最新的 TC 版本(v7.2)。该版本是被阉割过的,只能用来【打开】加密卷,不能用来【创建】加密卷。官网上说:这个 7.2 版本是提供给大家进行数据迁移的。

★相关背景介绍

要了解此事的来龙去脉,有必要先作一下 TrueCrypt 的背景介绍。

◇TrueCrypt 是什么?

TC 是目前影响力最大的(没有之一)的磁盘加密工具,同时支持 Windows、Linux 和 Mac OS X 三大操作系统。
TC 是开源软件。但是跟其它开源软件的不同之处在于:它没有采用那些常见的 License(比如 GPL、BSD、MPL 之类)。它用的是 TC 开发团队自己定的 TrueCrypt License。
这款软件诞生于2004年,距今已10年有余。
关于的更多介绍,可以看俺3年前的教程《TrueCrypt — — 文件加密的法宝》。

◇TrueCrypt 的开发者是谁?

从 TC 诞生至今,外界一直不晓得它的开发团队是哪些人,甚至连开发团队有几人,都不晓得。
不过像 TC 这种类型的开源项目,团队保持匿名是很正常的。说个小故事:

◇TrueCrypt 的可靠性如何?

由于开发团队的神秘性,N年前就有人怀疑,TC 是 NSA(美国国安局)或者 CIA(美国中情局)制作的,并且预留了后门。但是这种说法仅仅是猜测,没有人给出证据来证明“TC 有后门”;同样也没有人给出证据来证明“TC 没有后门”。
去年斯诺登引爆了 NSA 的棱镜门丑闻。斯诺登曝光的 NSA 绝密材料中【没有】提及 TC 存在后门。
而且,斯诺登本人就是用 TC 来进行磁盘加密。他还曾经在一次“加密派对”(Crypto Party)上作了 TC 的主题演讲(参见《连线》杂志的这篇报道)。
棱镜门丑闻曝光之后,某些安全社区的大牛开始担心 TC 的可靠性。于是在去年, Kenneth White 和 Matthew Green 发起了一个项目 — — 专门针对 TC 的代码审计(所谓的“代码审计”就是找来一批资深的开发人员,仔细审查 TC 的全部源代码)。该项目的官网在“这里”。2个月前(2014–04–14),该项目完成了第一阶段的审计,【没有发现】明显的后门,只发现了几个小的瑕疵 — — 比如密码迭代的轮数不是足够大(但也不是太小)。目前,该审计项目开始进行第二阶段的代码审查,大概需要几个月时间。
从上述这几点可以看出 — — TC 至少【没有明显的】后门。

★可能的几种解释

下面俺大致列举一下关于此事的几种解释(大都是网上流传的,少数是俺自己设想的)。这几种解释中,有的提及 NSA。俺注明一下,此处的 NSA 是“泛指”。既可能是 NSA,也可能是 CIA 之类的美国政府机构,甚至可能是其它国家政府。

◇解释1(官方说法)

这个解释也就是TC 官网给出的解释 — — Windows XP 已经停止支持,而 Vista 之后的 Windows 都内置了磁盘加密工具,所以 TC 团队就停止开发了。

◇解释2(团队懈怠)

这个解释说的是 — — TC 的团队已经懈怠了。关于该介绍的出处,可以参考“这里”。
此解释依据是 — — 最近几年,TC 的版本发布周期变得很长(很久没有加入新功能)。另外,TC 的 Boot扇区代码(用于全盘加密)从 5.0 版本之后就没有变过(可能是没有人维护该代码了)。

◇解释3(蜜罐)

这个解释说的是 — — TC 就是 NSA 的蜜罐。
此解释的理由是:去年开始,安全社区发起针对 TC 的代码审计(刚才说过)。NSA 觉得这个蜜罐迟早会被曝光,于是决定终止 TC 的开发。

◇解释4(恶作剧)

这个解释说的是 — — 整个事件只是 TC 开发团队的恶作剧。
这个说法没有任何理由和依据,纯属 YY。

◇解释5(黑客入侵网站)

这个解释说的是 — — TC 的官网被黑客入侵,然后入侵的黑客导演了这出戏。
这个说法的依据是:今年4月份,OpenSSL 发生了非常严重的 Heartbleed 漏洞(俺4月份的博文提到过此事)。该漏洞会导致网站服务器的内存被攻击者窃取。严重的话,攻击者可以拿到服务器上的重要信息(甚至包括 SSL 私钥)。
所以,有人猜测:某黑客利用了 Heartbleed 入侵了 TC 的官网,然后制造了此次“变脸事件”。

◇解释6(NSA 入侵网站)

这个解释类似前一个,说的是 TC 官网被 NSA 入侵。
这个说法的依据如下:
依据之一:
如果普通黑客可以利用 Heartbleed 入侵 TC 官网,那么 NSA 这么牛逼的机构,当然也可以入侵它。
依据之二:
TC 长期以来一直是 NSA 的眼中钉,NSA 自然有充足的动机和热情去干这事儿。

◇解释7(NSA 胁迫)

关于这个解释,先讲一个故事:

如果结合 Lavabit 的故事,那么很容易就可以联想到 — — TrueCrypt 团队或许也是被胁迫,所以终止项目。
按照这个解释,整件事的发展过程【可能是】这样的:
一:NSA 利用4月份的 Heartbleed 漏洞入侵 TC 官网,然后通过官网服务器上的某些信息,定位到了 TC 开发团队的身份,并且发现团队成员是美国人;
二:NSA 直接找上门,向他们施加压力,要求团队在 TC 中植入后门;
三:TC 团队没法跟 NSA 抗衡,但是又不想植入后门,于是宣布项目终止。

◇解释8(TC 团队内鬼)

这个解释说的是 — — TC 团队中出现内鬼,这个内鬼劫持了官网控制权,然后发布“项目终止”的声明。

◇解释9(微软幕后交易)

这个解释说的是 — — TC 团队与微软达成幕后交易。微软给团队一笔钱,团队把 TC 项目终止,然后推荐用户迁移到微软的 BitLocker 加密工具。

★俺对“上述解释”的分析

上述这几种解释,每一种都有“破绽” — — 要么无法自圆其说,要么太牵强。下面俺点评一下每种解释。

◇解释1(官方说法) — — 俺的分析

官方说法的破绽很多。
破绽之一:
前面背景介绍中说了 — — TC 本身是跨平台的工具。而官网上的解释只是针对 Windows 操作系统。就算官网的解释能成立,那 TC 团队还可以继续维护 Linux 平台或 Mac OS 平台的 TC,没必要把整个项目终止。
破绽之二:
就算是微软已经在 Vista 之后的 Windows 中整合了 BitLocker,TC 作为最有影响力的磁盘加密工具,也未必会输给 BitLocker。BitLocker 的缺点很多 — — 既不开源,又无法跨平台。
破绽之三:
除了 TC,还有其它开源的,面向 Windows 的磁盘加密工具(比如 DiskCryptor)。这些磁盘加密工具的名气不如 TC,用户数不如 TC,他们都还在继续开发。和他们一对比,TC 团队的理由就更加显得牵强。

◇解释2(团队懈怠) — — 俺的分析

这个解释稍微靠谱一些(至少比“解释1”靠谱)。
此说法的破绽在于 — — 如果 TC 团队的成员真的懈怠了,他们可以把整个项目移交给开源界的其它安全社区,让其它安全社区继续维护/发展该项目。这样至少是更负责任的做法 — — 照顾了现有 TC 用户的利益。
前面说了:TC 是全球最有影响力的磁盘加密工具,其历史已经超过10年。也就是说,TC 的开发团队不是一般的毛头小子,而是很资深的开发人员。作为资深的开发人员,没理由搞出这么鲁莽的举措。

◇解释3(蜜罐) — — 俺的分析

这个说法也非常不靠谱。不靠谱的理由如下:
理由之一:
如果 TC 早已是 NSA 的蜜罐。在这种情况下,NSA 的首要任务就是让 TC 继续被更多人使用 — — 这样政府才能够继续偷窥更多人的隐私。而 TC 官网的这次变脸,直接引发了全球安全界的种种猜疑,也导致了 TC 用户的锐减。如果 TC 真的是蜜罐,如今的局面对蜜罐的幕后操纵者是非常不利滴。
理由之二:
斯诺登曝光了 NSA 的大量机密,甚至包括 NSA 在全球顶尖的安全公司 RSA 的产品中植入后门(关于“随机数生成器”)。从最近一年美国媒体的报道来看,斯诺登爆料还是很彻底的。但是斯诺登的爆料中,压根儿没提及 TrueCrypt。而且前面俺也说了,斯诺登自己用的就是 TC 来进行加密。
所以,在 TC 官网变脸之前,TC 不太可能是政府的蜜罐。

◇解释4(恶作剧) — — 俺的分析

此次 TC 官网变脸,引发了用户的猜忌,很多用户开始改用其它加密工具。
前面说了:TC 团队维护这个项目已经超过10年。把一个项目从默默无闻发展到全球知名,是很不容易滴。TC 团队的成员不可能如此愚蠢地砸自己招牌。

◇解释5(黑客入侵网站) — — 俺的分析

这个解释比前面几个稍微靠谱一些,但是依然有个破绽。
由于今年4月份,OpenSSL 发生了非常严重的 Heartbleed 漏洞。从理论上讲,某个攻击者可以利用该漏洞来侵入 TC 的官网,并获得官网的控制权。一旦获得控制权,自然可以让官网变脸。
但是,和此次官网变脸相配合的是,官网上提供了最新的 7.2 版本(前面提到的“阉割版”)。稍微了解 TC 的同学应该知道,TC 的 EXE 安装包和安装出来的“EXE 文件、SYS文件”都是自带数字签名的(啥是“数字签名”,可以参见俺之前的教程《扫盲文件完整性校验 — — 关于散列值和数字签名》)。
官网变脸之后,立马就有热心网友对比了 7.2 版本和之前的 7.0、7.1 版本。经过对比,发现几个版本使用的是同一个私钥进行签名。
那么,入侵的黑客有没有可能拿到签名用的私钥捏?俺觉得不太可能,理由如下:
对安装包进行签名的私钥,跟网站 HTTPS/SSL 的私钥不是一回事。网站的 SSL 私钥通常必须跟 Web Server 部署在同一台服务器。而对文件进行数字签名的私钥,没必要放在 Web 服务器上。俺相信 TC 团队的人,安全素质肯定不差。以他们的安全素质,应该会把签名用的私钥【离线保存】。一旦使用“离线保存”的方案,即使整个网站被别人控制了,入侵者依然拿不到签名用的私钥。

◇解释6(NSA 入侵网站) — — 俺的分析

基于前一个段落所说的理由,也不太可能是被 NSA 入侵。

◇解释7(NSA 胁迫) — — 俺的分析

这个解释是所有的解释里面,破绽最少,说服力最强的,可以解释大部分的“诡异之处”。
但这个解释依然有缺陷。主要缺陷就是 — — 如果 TC 团队是受到 NSA 胁迫,所以才选择让项目自杀。那为啥要在官网界面上强力推荐微软的 BitLocker,而且还给出图文并茂的迁移教程。好像没有这个必要嘛。
有读者在本文的留言中猜测,是 NSA 迫使 TC 团队在官网上推荐 BitLocker。
俺个人认为这种可能性不大。假设 NSA 能迫使 TC 团队这么干。那么 NSA 已经接近于“完全控制 TC 团队”了。如果这是这样,那么对 NSA 最有利的局面应该是“悄无声息”。这样用户才会继续用 TC,NSA 才有利可图(参见对“解释3”的分析)。如今 TC 官网大变脸,足以说明 NSA 没有完全控制 TC 团队。

◇解释8(团队内鬼) — — 俺的分析

这个解释类似于“解释3 — — 蜜罐”,也很不靠谱。
如果 TC 团队真的混入了政府的内鬼,那么根据俺对“解释3”的分析。这个内鬼应该悄无声息地在代码中植入后门,这样效果才最好。为啥这个内鬼要劫持整个官网,搞出这么大的动静?这不符合政府安插内鬼的动机和利益。

◇解释9(微软幕后交易) — — 俺的分析

这个版本也能解释某些诡异之处。主要的破绽在于:像 TC 这种全球影响力的团队,如果他们真的缺钱,首先应该是在官网上发出募捐的呼吁(前2年维基百科资金短缺,就在官网上挂出募捐的横幅)。另外,像微软这么大的公司,如果搞这种幕后交易,一旦穿帮,得不偿失。所以俺觉得微软也不太可能为了一点点眼球效应,去冒这种风险。

★大伙儿的应对措施

◇静观其变

首先,不要慌,不要自乱阵脚。
前面俺分析过,TC 在全球有这么大的用户群,这么大的影响力,这么好的口碑。所以俺猜测:TC 要么确实没有后门,要么是隐藏极深的后门(高级后门)。
如果是前者,大伙儿当然是高枕无忧;如果是后者,问题也不大。因为这种隐藏极深的高级后门,通常都是用来对付“高价值目标”滴。啥是“高价值目标”捏?比如说:政府的高级官员、军事系统的重要人员、顶级恐怖组织的重要人员、顶级犯罪组织的重要人员……
俺博客的读者,99.99% 以上都【不是】“高价值目标”。所以你暂时不用太担心“高级后门”的问题。

接下来需要关注的是:
1. 针对 TC 的第二阶段代码审查(几个月之后出报告)
2. 最近这段时间可能还会曝出其它猛料,大伙儿稍微留意一下。

退一步讲,假设第二阶段的代码审查发现严重的后门,到时候俺会再发一篇教程,介绍“TrueCrypt 的替代品”。

◇目前该用哪个版本的 TrueCrypt?

如果你已经是 TC 的用户,在“第二阶段代码审查”结束之前,你还是继续用 TC 吧,不要急着迁移。
俺建议:【不要】用官网提供的那个 7.2 版本。因为此事很诡异,那个 7.2 版本会不会有啥猫腻,不得不防。最好是用【前一个】稳定发布版本 — — 也就是【7.1a】版本。
由于 TC 的官网已经把老版本的下载链接撤掉了。想下载的同学,可以到 https://truecrypt.ch/downloads/,上面有各种平台的 7.1a 安装包和文档。
为了保险起见,俺附上 7.1a 版本的各种哈希散列校验值(参见“这个页面”)。下载之后,记得再验证一下 HASH 校验值。
不懂得验证 HASH 值的同学,请看俺之前的教程《扫盲文件完整性校验 — — 关于散列值和数字签名

★TrueCrypt 的重生

这次官网提供的“7.2版本”是阉割版。换句话说,TC 的官网已经自绝后路了。俺个人感觉:TC 不太可能再“复活”了。但是依然有可能“重生/涅磐”。
因为 TC 的源代码是公开的,任何人都可以拿它的代码克隆出一个新的磁盘加密工具。所以官网变脸之后,已经陆续出现了几个克隆(代码 fork)。假以时日,或许其中的某个克隆会再次成为主流。如果真这样的话,TC 就涅磐重生了。
提醒一下:如果你对安全性的要求比较高,短期内(至少1年之内)不要急着去用这些克隆的 TrueCrypt(这些克隆需要一定的时间才能成熟、稳定)。

补充说明:
本文发布后,又过了一年(2015),俺写了篇教程(如下),向大伙儿隆重推荐【VeraCrypt】。TrueCrypt 果然涅磐重生了 :)
扫盲 VeraCrypt — — 跨平台的 TrueCrypt 替代品

★相关的引用参考

顺便附上各大网站对此事的点评和讨论(都是洋文):
Hacker News 上的讨论
Reddit 上的讨论(“这里”、“这里”)
Twitter 上的讨论
StackExchange 上的评论
Slashdot 上的留言
安全大牛 Bruce Schneier 的表态


俺博客上,和本文相关的帖子(需翻墙)
TrueCrypt — — 文件加密的法宝
扫盲 VeraCrypt — — 跨平台的 TrueCrypt 替代品
如何隐藏你的踪迹,避免跨省追捕(系列)
如何保护隐私(系列)
中美政府信息监控的差异 — — “棱镜门”丑闻随想
每周转载:关于“棱镜门”丑闻的相关报道
对 OpenSSL 高危漏洞 Heartbleed 的感慨、分析和建议

版权声明
本博客所有的原创文章,作者皆保留版权。转载必须包含本声明,保持本文完整,并以超链接形式注明作者编程随想和本文原始地址:
https://program-think.blogspot.com/2014/06/truecrypt-dead.html

Written by

编程随想的blogspot镜像,欢迎关注!编程随想:IT宅,热衷于:抹黑党国、揭露洗脑、普及翻墙。 偶尔会谈点技术。

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store