埃隆·马斯克使用了一种拙劣且很容易被识破的方法来识别泄密者。看看专业人士会怎么做。 埃隆·马斯克使用了一种拙劣且很容易被识破的方法来识别泄密者。看看专业人士会怎么做。

埃隆·马斯克使用了一种拙劣且很容易被识破的方法来识别泄密者。看看专业人士会怎么做。

鲍勃泄露了这个

在最近一次NFL选秀大会上,达拉斯牛仔队老板杰里·琼斯对球队如愿以偿地选中了心仪的球员感到非常满意。当记者问及某位球员时,他得意洋洋地举起球队的秘密选秀优先顺序表,炫耀他们的策略有多么高明。工作人员惊恐万分,示意他放下表格,以免他泄露更多选秀策略。

有一类人——大多是自负的吹牛大王——总是忍不住要炫耀自己的聪明才智。仅仅默默地赢得胜利、享受回报是不够的。他们想要的是胜利本身,以及用自己的智慧让所有人惊叹的那种虚荣心。“我不仅打败了你,而且我是这样做的。你用了A,但我早就料到了,所以我用了B,然后我还准备了C、D和E……”

这种自吹自擂几乎总是糟糕的策略。它也暴露了吹牛者各种各样的心理弱点,但根本问题在于,一旦你暴露了你的手段,它们也就暴露了。在情报界,政变和胜利从来不会被庆祝。那些获取了重要机密的间谍组织不会写自传来炫耀自己有多聪明的书籍。如果中央情报局在某个外国大使馆安装了窃听器,总统不会在下次峰会上用胳膊肘碰碰那个国家的领导人,然后说:“你知道吗,我们潜入了你们的大使馆,你绝对想不到我们掌握了多少信息!”

令人不安的文本

有很多枯燥乏味的方法可以找到文档的作者。例如, BTK杀手之所以被确认身份,是因为他寄给警方一张软盘,上面包含一个Word文档,元数据中显示了他的雇主和名字,以此来嘲讽警方。

但正如上面推文中提到的,马斯克大肆宣扬他们使用了一种“有趣”的技术来寻找泄密者。我们只关注文本本身,而不是其元数据,而且我们识别的是文档的分发者,而不仅仅是作者。

我很遗憾地告诉马斯克先生,他所吹捧的这项技术早在他出生之前就出现了。在电脑出现之前,在打字机出现之前。

而且他采取的这种方法并不高明。事实上,还有许多更巧妙的方法,但他显然一无所知。

这个想法由来已久,以至于很难在历史上找到具体的例子。其基本思路是这样的:你会看到类似这样的文本:

Lorem ipsum dolor sat amet,consectetur adipiscing elit,sed do eiusmod tempor incididunt ut laboure et dolore magna aliqua。 Ut enim ad minim veniam, quis nostrud exeritation ullamco labouris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur。例外的是,如果你没有做好准备,就必须承担责任,否则你的生命将被毁掉。

Lorem ipsum dolor sat amet,consectetur adipiscing elit,sed do eiusmod tempor incididunt ut laboure et dolore magna aliqua。 Ut enim ad minim veniam, quis nostrud exeritation ullamco labouris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur。例外的是,如果你没有做好准备,就必须承担责任,否则你的生命将被毁掉。

这两段文字完全相同,唯一的区别在于第一段文字的第一句话后面多了一个空格。除非仔细寻找,否则任何人在阅读时都不会注意到这一点。假设这段文字有20段。你想把它发给一百个人,但想知道是否有人会转发。于是你通读全文,稍作修改。你把句号挪动一下,或者“不小心”把逗号改成分号。还有很多其他方法,而且你不需要排版就能做到这一点。用笔和纸就能完成。

与其说是100份完全相同的副本,不如说是100份难以区分的副本。一旦你在市面上找到一份泄露的副本,很容易就能说“哦,原来是比尔·盖茨拿到了第14句少了个逗号的那份”。

当然,既然马斯克已经把话说开了,SpaceX 的每个员工都会知道他们使用了这种技术。消息来源和方法,埃隆。

马斯克不是专业人士

有办法可以破解这种指纹识别技术,这说明马斯克的团队在这方面有多么业余。

最直接的方法是“全选”,然后复制粘贴到可以重新格式化的程序中,例如 Microsoft Word。这样可以统一间距和标点符号,修正语法和拼写错误等等。这样,即使这份“干净”的副本泄露出去,也无法被识别。也可以使用 OCR 技术。

显然,马斯克从中获益是因为泄密者缺乏经验。如果泄密者经验丰富,马斯克就束手无策了。

他本可以使用更好的技巧。例如,可以使用同形字。请看这个例子(来自StackExchange ):

机密 机密 机密 机密 机密

这五个单词看起来一模一样,但其实不是。既然我特意指出来,你就能看出第四个字母里的“d”不一样。如果你只是顺着文字阅读,几乎不可能注意到这一点。就算注意到了,谁没遇到过PDF文件出错的情况呢?如果你的意识不够敏锐,很容易就会忽略它,甚至可能是下意识地忽略。

但所有这些“机密”词语都各不相同,以下十六进制转储将证明这一点:

 $ for word in confidential confidential confᎥdential confiԁential confidenceᎥal ; do echo -n $word | hexdump -C ; done
00000000  63 ce bf 6e 66 69 64 65  6e 74 69 61 6c          |c..nfidential|
0000000d
00000000  63 6f 6e 66 69 64 65 6e  74 69 61 6c              |机密|
0000000c
00000000  63 6f 6e 66 e1 8e a5 64  65 6e 74 69 61 6c        |机密|
0000000e
00000000  63 6f 6e 66 69 d4 81 65  6e 74 69 61 6c          |机密|
0000000d
00000000  63 6f 6e 66 69 64 65 6e  74 e1 8e a5 61 6c        |自信...al|
0000000e

还有字体本身的问题。你一眼就能分辨出 Courier 和 Arial,但如果作者使用了多种非常相似的字体,只是稍作修改呢?

是否存在万无一失的指纹采集方法?

是,也不是。

如果你可以更改文本内容,那么指纹识别就万无一失了。例如,你可以更改一些同义词(例如,在一个文档中使用“big”,在另一个文档中使用“large”),或者你可以修改一些无关紧要的数据(例如,一份报告引用的数字是“1.03948”,而另一份报告引用的数字是“1.03949”)。即使有人决定重新输入你的整个邮件,这些修改仍然有效。

除此之外,你始终依赖于元数据,例如字体、格式选择等等。如果泄密者能够消除元数据,他们就能逃避指纹识别。然而,泄密的价值很大程度上就在于元数据。如果我有一份白宫抬头的文件,其中包含政府提供的图表和数据,那它看起来肯定比一份Word文档更可信,因为在Word文档中,你只能相信我(此处并无双关之意)所说的,我亲眼所见并忠实地复述了某些内容。

请记住,如果泄密者能拿到两份文件副本——比如他自己的一份和朋友的一份——那么识别是否使用了指纹识别技术就轻而易举了。你只需要对这两个文件运行 SHA 校验和,如果结果不同,你就会想知道原因。

这是一场军备竞赛,而马斯克犯了两个错误。首先,他透露自己正在使用指纹识别技术;然后,他又透露自己使用的是一种相当简陋的指纹识别版本。