我将安全/黑客心态定义为极致的还原论:忽略系统表层的抽象和限制,仅仅将其视为一堆底层零件的来源,并将其操纵组装成一个截然不同的、具有不同(通常也是非预期)功能的系统。
摘要
为了在此做个类比并延伸一下 Dullien 在 2017 年的观点,我认为,那些出人意料的图灵完备系统和「怪异机器」与抢劫题材电影、千王骗局或舞台魔术都有着共通之处:它们都共享着一种特定的思维范式,我们或许可以称之为安全心态(security mindset)或黑客心态(hacker mindset)。
它们(包括黑客技术、游戏速通、社会工程学等)的共同点在于,它们证明了那种被大肆吹捧的「黑客心态」,从根本上讲就是一种走向极致的还原论,在这种心态下,人们能够「看透」表层的抽象,直指可以被任意操纵的底层现实。 就像《黑客帝国》里的尼奥(Neo)一样——拿它来比喻黑客技术实在烂俗至极,但这烂俗恰恰是因为它深入人心——一个人通过看透物体的表面幻象而获得开悟,从而看清了构成整个母体(Matrix)的那一行行永无止境的绿色代码,反之亦然。(底层全都是相互映射的表象地图!)
在所有这些情况中,基本原则都是黑客在问自己:「现在我面前有一个系统 W,它伪装成是由几个 X 组成的;然而,它实际上是由许多 Y 组成的,这些 Y 在底层构成了一个完全不同的系统 Z;现在,我要把那些作为障眼法的 X 抛诸脑后,去弄清楚底层的 Z 究竟是怎么运作的,这样我就可以利用 Y,随心所欲地改变外在的 W 了。」
抽象至关重要,但就像许多有生命的东西一样,它也是危险的,因为「抽象泄露法则」告诉我们,抽象机制总会有漏洞。 (「年轻人,你确实很聪明,但这说到底就是还原论!」) 在某种意义上,这与数学家的思维恰恰相反:数学家总是试图「看透」一个复杂系统中那些非本质的偶然复杂性(accidental complexity),从而提炼出一个更简单、更抽象、也更接近真理的版本以便于理解和推导——但对于黑客来说,系统所有的复杂性都是必不可少的,他们反而试图去解构(unsee)那个简化的抽象系统,向下深挖到那个最复杂、最不抽象(但也最真实)的底层实现。[1](数学家可能会试图将一个程序层层向上转化成更抽象的数学表达,最终优雅地证明它在逻辑上是绝对正确的;而黑客则更喜欢把程序向下编译成最底层的机器码,通过暴力破解遍历所有的执行路径,找出一个漏洞来简单粗暴地证明它是错的。)
确认偏误
Milton Levine 叔叔的玩具公司自 1956 年起就开始向孩子们售卖蚂蚁工坊(ant farms)。我记得很多年前曾和一个朋友拆开过一盒。盒子里其实并没有真正的活体蚂蚁。取而代之的是一张卡片,你只需填好自己的收件地址,公司随后就会把蚂蚁邮寄给你。
我的朋友对居然可以通过邮寄收到活蚂蚁感到十分惊讶。我回答说:「真正有趣的是,这些人会按照你留的任何地址,把一管活体蚂蚁寄给任何你想寄的人。」
——布鲁斯·施奈尔 (Bruce Schneier),《安全心态》 (2008);亦可参考 关于 DNS 投毒,以及恶搞摩门教徒/耶和华见证人

普通用户只要求在他们日常的使用场景中,所有的 Y 都能正确地转换成 Z;他们却忘了去追问:是不是所有且只有正确的 Y 才会转换成正确的 Z?是不是只有正确的 Z 才能被反向构造回 Y? 哪怕只出现了一个看似微不足道的「异常」,都可能说明我们日常的心智模型不仅仅是有一点点瑕疵,而是存在根本性的错误。这就像牛顿的万有引力定律并不是只差了一点点,并不是简单打个补丁、加个修补因子就能解释水星的异常进动一样;这也像美国宇航局(NASA)管理层对 O 型密封圈的心智模型,并不是仅仅稍微增加一点橡胶垫圈的厚度就能解决的[2]。
原子
每一滴鲜血中都蕴含着伟大的天赋;最原始的细胞在所有动物体内似乎都是别无二致的,只是在生长过程中,因为环境的变迁,它时而开启长成这类细胞的开关,时而开启长成那类细胞的开关,从而在久远之后显现出不同的结果:或生角,或长翼,或生鳞,或长毛;同样的,在数字层面上,一个微小的原子,似乎既随时准备好去构成人类的眼睛或大脑,也随时准备好去构成老虎的利爪……真正洞察生活本质的人都明白,哪怕表面上看起来并非如此,每一个错误都有补救的方法,每一堵墙同时也都是一扇门。
——拉尔夫·沃尔多·爱默生 (Ralph Waldo Emerson),《自然心智史》,1893 [3]
这一切的核心就是「原子与虚空」[4]:
- 在黑客攻击中,计算机伪装成是由诸如「缓冲区(buffers)」、「列表」和「对象」等充满丰富语义意义的组件构成的;但实际上,它完全是由没有任何意义的比特位(bits)组成的,这些比特位只是非常碰巧地能被我们解释为「网络浏览器」或「密码」之类的东西。如果你把一些比特位挪个位置,以特定的顺序重写另一些比特位,然后换一种方式去读取这一长串的 0 和 1,恭喜你,你现在已经成功绕过了密码验证。
- 在游戏速通(尤其是 TAS,工具辅助速通)中,电子游戏假装自己是由「墙壁」、「速度限制」和「必须按特定顺序通关的关卡」构成的;但同样,它在底层依然只是由比特位和内存地址构成的。只要以特定的方式去干扰这些底层数据,比如故意让内存超载从而引发内存分配错误,你就能获得无限的「速度」,或者将自己切换进真实物理引擎中另一个并行的坐标系,从而在所谓的地图上实现超远距离的位移,直接抄近路抵达游戏的「结局」[5]。
- 在潜行类游戏中,玩家学会了去解构关卡表象,将其看作是随着时间推移不断移动的各种「盲区」模式的组合——包括守卫巡逻路线的盲区、或者是光线/声音感知范围的盲区——并学会了如何将整个关卡如同庖丁解牛般拆解开来,直到自己可以如入无人之境,为所欲为。
- 在破门入室(比如去酒店房间行窃)时,普通人看到的是「门」、「锁」和「墙壁」;但本质上,它们不过是以特定结构排列的原子罢了,而且挪动其中一部分原子通常比挪动另一部分要容易得多。所以,你完全不必非要走那扇「门」,你可以直接在石膏板墙[6](甚至天花板)上挖个洞,同样能进入那个空间。在洛斯阿拉莫斯国家实验室时,理查德·费曼就曾使用过各种策略,其中一招就是直接从抽屉底部伸手进去掏走机密文件,完全无视了那些上锁的抽屉门。
- 有一篇对电影《虎胆龙威》的深度解析文章《中富空间》,非常精彩地指出了这部电影以及以色列国防军在纳布卢斯之战中所使用的「老鼠洞」穿墙战术,是如何将整栋建筑物看作是一台可以被任意解构和操纵的复杂机器,从而以匪夷所思的路线穿梭其中来打击敌人的。
- 这个例子让我想起了 Carr 和 Adey 对「密室杀人案」推理小说的分类剖析,他们罗列了所有破解密室的可能手法,而这些手法——就像魔术师的戏法一样——无一不是在打破人们对「密室」这个概念的固有假设。
例如:房间是不是从一开始就一直锁着?锁上的时间点对不对?谋杀是真的在密室里进行的吗?有没有可能是所有人都进入房间之前谋杀就已经完成了?这到底是一场谋杀还是精心伪装的自杀?那个看似坚不可摧、房门紧锁的安全屋,上面是不是还有个天花板漏洞?等等。[7] 这些经典的诡计启发了《海猫鸣泣之时》中的诸多悬案谜题(书评见此),尽管在这部作品中,许多密室最终被证明只是因为有人串供或撒谎罢了。
- 在开锁领域,去费心复刻一把钥匙或者逆向分析它的齿痕,往往是最高难度、最吃力不讨好的做法。相反,你可以简单粗暴地用一把撞匙来暴力震开锁芯里弹子的位置,或者干脆一脚把门踹开;或者,就像破解门锁的其他手段一样,去拨弄门闩,或者从门缝里伸个工具进去从内部开门,甚至直接用电钻把锁芯钻毁。(你怎么知道别人还没这么干过?难道你只凭主观臆断这还是昨天那把原封不动的锁?)如果这些都行不通,你还可以拿一台便携式的液压破拆工具当扩张器,直接把门周围的门框连同墙体一起给粉碎掉。
锁具和保险箱还存在许多其他有趣的弱点;我特别喜欢 Matt Blaze 发现的那个万能母钥匙漏洞(Blaze 2003/Blaze 2004a/Blaze 2004b)。这个漏洞利用了一个原理:一把支持万能钥匙的锁,实际上是可以被「万能钥匙齿痕」与「普通钥匙齿痕」的任何组合给打开的(即逻辑上的「母钥匙 OR 子钥匙」,而不是严格互斥的「母钥匙 XOR 子钥匙」);因此,破解它就像是在猜密码,可以一个字母一个字母(一个弹子一个弹子)地试错去猜。(这些论文把锁匠行业惹毛了,他们对 Blaze 群起而攻之,甚至进行骚扰,直到他被迫退出这个研究领域。) - 在舞台魔术(尤其是近景魔术/扑克/硬币/扒窃技巧)中,观众深信自己是连续不断地看着一个完整的物体从 A 点移动到 B 点;但在现实中,观众只是偶尔瞥见了许多个(很可能是狸猫换太子的复制品)物体的表面而已,这些物体可能只在你不注意的时候才移动,或者是朝反方向移动的,或者干脆从头到尾就没动过。通过黑入人类大脑的客体永久性认知错觉以及有限的注意力资源分配,舞台魔术师在观众眼前展现了种种「不可能」的奇迹(Macknik 等人 2008 年论文的表 1 就列举了大量可以被魔术师利用的朴素物理学直觉假设)。舞台魔术之所以能成功,正是利用了我们在潜意识里的傲慢:我们本能地以为,没有哪个骗子会煞费苦心地去如此精准地拿捏我们的认知捷径和思维盲区。[8] [9]
- 在挖掘怪异机器 (weird machines) 时,你面对的是像 SSL 或 x86 机器码这样的「协议/指令集」,它们表面上看起来是在做一些循规蹈矩的事情,比如「校验加密签名」或「把寄存器 A 里的数字加到寄存器 B 里」;但实际上,它们仅仅是覆盖在极其复杂的底层硬件现实之上的一层表皮。在底层,是错综复杂的处理器状态,是诸如推测执行(speculative execution)这样会提前读取内存其他部分然后迅速擦除的优化机制;黑客可以将这些底层的微架构特性拼接在一起,从而在根本不需要运行「代码」的情况下,执行操作并窃取机密(再次参考 Mcilroy 等人 2019 年的研究)。
同样地,在寻找那些隐藏的图灵完备系统时,人们会说:「这个系统表面上看起来就像是一堆多米诺骨牌之类的玩具,但实际上,每块骨牌都是一个有着奇特输入/输出逻辑的计算元件;现在,我要把成千上万块这样的骨牌连接起来,拼凑成一台图灵机;这样一来,我就能在康威生命游戏里玩俄罗斯方块了,或者用真正的心肌细胞来搭建布尔逻辑门,甚至在《万智牌》游戏里运行任意复杂的计算机程序了。」
又或者在研究侧信道(side channels)攻击时,你剥开了比特位的表象说:「这些比特位只是对系统中电流和热量实际流动的粗略近似罢了;现在,我要直接去测量这个物理系统的电压和热量辐射……」等等。 - 在社会工程学/渗透测试中,普通人看到的是社会规范,是「权限」、「权威」、「管理人员」以及「禁止入内」的条条框框;但在现实中,挡在那里的不过是一张覆了膜的塑料工牌、一个拿在手里的文件夹,或者只是必须念对的几句「咒语」。那些保安不过是用来执行「看到塑料工牌,就放行」这条死板规则的非计算机化肉鸡而已。只要你在衬衫上挂一块蓝色的塑料牌子,在特定的时间用特定的语气说出特定的几句话,你就能在保安的眼皮子底下大摇大摆地走进去。[10]

- 许多金融或经济层面的策略也带有这种「解构」的色彩;Alice Maz 对 Minecraft 经济系统漏洞的挖掘就强烈地让我想起了「看透表象」这一特质;那些基于对合同犄角旮旯的抠字眼,或是把平时没人当回事的抽象条款(比如期货交易里的「实物交割」)较真执行到底的精妙金融交易操作,同样如此。
- 既然说到这了,顺便问一句,为什么双关语(puns)对黑客有着如此致命的吸引力?(想想看双关语在《哥德尔、艾舍尔、巴赫》、在黑客行话词典 (Jargon File)、在文字冒险游戏中是多么的无处不在吧……)
原因很简单,因为计算机不过是建立在比特位上的双关语,而语言不过是建立在字母上的双关语! 双关语迫使一个人从抽象的「语义」高层,跌落到单词切分或字母字符那最原始的「句法」底层,然后再跳回高层以达成某种语义上的反转——这在字面意义上就是在对人类语言进行黑客攻击(hacking)。
诸如此类,不胜枚举。 这类事情可能会让人觉得不可思议(「这怎么可能‽」)、令人震惊(「可是——可是——可是你这是作弊!」那些并非为了赢而玩游戏的「菜鸟」总是会这么说),或者让人觉得滑稽可笑(这契合了幽默理论中的「预期被打破随后恍然大悟」的观点);这是因为我们对抽象系统 W 和我们的语言表达规则实在太熟悉、太依赖了,以至于我们很快就作茧自缚,深陷在这些抽象构筑的幻梦中,忘记了「地图不等于疆域」的道理;而不可避免的是,这层抽象地图做了粗暴的简化,并且根本没有去记录从 A 点到 B 点之间那些我们不希望存在的隐秘小径。
事实上,除非在工程上小心翼翼地加以剔除,否则这些「后门」必然存在,因为我们所依赖的高级属性在系统的底层世界中根本就没有对应的实体。 如果我们用一串串数字比特流来解释「权限许可」,那么在不断向下探究的过程中,我们终究会触及到一个层级,在那里比特位不再包含任何关于「权限」的含义;这就好比,如果我们用原子来解释「颜色」或「气味」,我们最终只能去描述那些本身既没有颜色也没有气味的基本微粒;在某个临界点上,这些上层建筑的属性必须解体(disintegrate)成冷酷无情的基本事实,比如电流在电路里仅仅是朝这个方向流了,而不是朝那个方向。[11]
知识的诅咒
「问题在于,」爱丽丝说,「你是否能让词语代表那么多不同的意思。」
「问题在于,」矮胖子说,「究竟是谁说了算——仅此而已。」
——刘易斯·卡罗尔 (Lewis Carroll),《爱丽丝镜中奇遇记》 (1872)。[12]
诡异的是,你受的教育程度越高,你对那张人类绘制的「地图」了解得越透彻,这种束缚效应就可能越糟糕,因为你需要去解构的东西就越多(例如,在虚构作品的鉴赏中)。 一个人必须始终保持对所谓「词语」和「幽灵」(那些在思想上统治人类的虚妄概念)的某种轻蔑。
傻瓜能直接大摇大摆地走进去,只是因为他太无知了,根本不知道那事儿「不可能」。 这就是为什么那些毫无理论支撑的优化过程——比如动物(例如,猫在键盘上乱踩引发的模糊测试),或者 SMT 约束求解器,又或者是演化人工智能——在一开始看起来是如此的愚蠢,但从长远来看,它们却能如此擅长让我们大跌眼镜,常常能找到那些「极其不讲理」的输入或者利用奖励机制的漏洞(这就好比机器学习中的偏差-方差权衡):既然无法理解人类思维构建的那层「地图」,它们自然不能像我们那样利用捷径获益,但同样,它们也绝不会陷入对地图的迷信;为了得到它们想要的东西,它们被迫去直接探索那个未经任何修饰的粗糙疆域,从而发现了前所未见的新事物。
学会看破与解构
我甚至都已经看不到代码了。我满眼看到的只有金发女郎、黑发女郎、红发女郎。
——塞弗 (Cypher),《黑客帝国》
哇哦。
——尼奥 (Neo)
为了从我们的语义错觉中挣脱出来,可能需要下定极大的决心去反向透视(unsee)它们,并运用各种技巧来对事物进行「陌生化」处理。
例如,如果你不费九牛二虎之力,通常是很难在自己刚写完的文章中找出错别字的,因为你脑子里已经预设了它应该写的是什么;因此,文字编辑给出的建议通常是「大声朗读出来」、「打印在纸上读」、「等一个星期再读」、反复默念直到失去语义感(语义饱和),甚至是「倒着读」(这远比听起来要容易)。 做这些事情,就是为了强迫你去阅读你实际上写下的白纸黑字,而不是你以为你写下的东西。 在学习素描时也会用到类似的技巧:人脸的结构对我们来说太熟悉了(容易画成简笔画概念),所以你可以把它放在镜子里翻转过来,然后再尝试去临摹它。
好消息是,「一旦被看破,就再也回不去了」。一旦一个人受到了启蒙,成功地看破并解构了某个系统,他似乎就很难再重新跌回最初的幻觉之中。 哪怕只是具备了一丁点这种「解构表象」的能力,也能像疫苗一样,保护你免受那些有害错觉的蒙蔽。
外部链接
- 《安全心态与日常的偏执》;《安全心态与逻辑斯谛成功曲线》
- 《为什么那么多《地下城寻宝》的玩家都会错过这么明显的一个漏洞?》
- 《星际之门物理学 101》
- 《死亡之线》
- 《电影式的情节威胁》
- 《安全即数学》,Colin Percival 著;《论科学的精确性》,豪尔赫·路易斯·博尔赫斯 著
- 《不存在检测欺诈的通用方法》,Cal Peterson 著
- 《红队:你的企业如何通过挑战一切来战胜竞争对手》,Hoffman 著
- Baba Is You:《不,真的,这里没有规则!》
- 《城与城》(The City & the City)
- 同形异义字攻击
- 《和班尼特福迪一起攻克难关:开发者对 1 分 24 秒速通视频的反应》
- 《属于阿尔法极客的棋盘游戏:在 风险 之前,在 龙与地下城 之前,在 万智牌 之前,这个世界还有 外交》 (维基百科;「我依然不知道到底该相信谁,如果真的有人能信的话。我只知道我感到自己愚蠢透顶、压力山大、受尽屈辱并且满心悲伤。」)
- 论坛讨论:Reddit:1,2,3;Twitter
脚注
[1] 所谓的「跳出框框思考」有时指的就是这个,但往往并非如此。这是一种特有的还原论模式,许多「跳出框框思考」的案例其实是运用了其他模式,比如在外面再套一层抽象,或者干脆彻底抛弃有问题的系统。
[2]摘自理查德·费曼的调查报告附件:
管理层接受那些在以往飞行中已经出现过侵蚀和烧穿(blow-by)现象的密封圈继续服役,这是一种非常清晰的现象。挑战者号的发射就是一个绝佳的反面教材。他们反复提及过往的飞行记录;这些飞行的被接受以及表面上的「成功」,被当成了安全的证据。但侵蚀和烧穿根本不是设计预期内的情况。它们是系统出了问题的明确警告。设备没有按预期运行,这意味着存在巨大的危险:它可能会在下一次以一种我们完全未曾预料且未彻底理解的方式,出现更严重的偏差。这种危险在以前没有引发灾难,绝不意味着下一次也不会,除非你已经彻底摸透了它的机理。这就像在玩俄罗斯轮盘赌,第一枪有惊无险,对你扣下第二枪时的命运毫无安慰可言。当时他们既不了解侵蚀和烧穿的根源,也不清楚其后果。而且这种现象并非在所有的飞行任务和所有接头处均匀发生;有时严重,有时轻微。那么,为什么不能在未来的某一天,当所有决定这一现象的条件都恰好凑齐时,出现更严重的烧穿并最终导致一场大灾难呢?
尽管每次发射的烧穿情况都不尽相同,但官员们却表现得仿佛自己成竹在胸,他们用看似严密的逻辑互相说服,而这些逻辑往往仅仅建立在以往发射的「成功」之上……
[3] 第 441-442 页,《爱默生全集:自然心智史及其他文章》,第 12 卷
[4]「习惯上人们认为,甜就是甜,苦就是苦,热就是热,冷就是冷,颜色就是颜色;但在本质上,这世间只有原子和虚空。」顺便提一句,德谟克利特关于原子论的另一句名言其实是个双关语:「因为『悲剧』[τραγωδία]和『喜剧』[τρυγωδία]的拼写,不也是由几乎完全相同的字母拼凑而成的吗。」这出自亚里士多德在《论生成与毁灭》第一卷中的引用/转述;关于这不仅仅是对字母书写的泛泛而谈,而确实是在玩文字游戏的考证,详见 West 1969。
[5] 《安德的游戏》 中有一个非常值得玩味的虚构例子:如果在战斗学校里,「胜利」的规则被硬编码定义为「四名士兵把守住敌方大门的角落,并有己方人员穿过大门」,那么为什么不直接无视所有战斗,径直冲向大门呢?——这简直有当年 Eurisko 寻找游戏规则漏洞的影子。
[6]摘自 Geoff Manaugh 2016 年著作《小偷的城市指南》第 356 页:
游戏设计师 Schatz 强烈呼吁玩家们在行动时要对抗建筑原本的逻辑,而不是顺着它的引导走,以此来发掘场景中潜藏的犯罪可行性——这番见解不仅仅在游戏世界里受用。无视建筑师精心规划好的既定动线,甚至从内部直接对空间结构进行暴力重塑,正是窃贼们最基本、也是最拿手的「滥用建筑环境」的方式……在珠宝大盗 Bill Mason 的回忆录中,最令人拍案叫绝的时刻之一,就是当他顿悟到:建筑是死物,完全可以被强迫去执行他想要的意志;读到这里,简直就像是在看着《星球大战》里的某个角色第一次觉醒并学会使用原力一样。
……他解释说,他盯上的猎物被锁在一个守卫极其森严的房间里,他根本不可能从大门溜进去。但紧接着,他忽然意识到了一个极其明显却一直被忽略的事实:他之前一直都在顺着酒店希望他思考的方式在思考——顺着建筑师期望他表现出的行为模式在行动——他一直在苦苦寻找门和走廊;但他明明可以直接在他想要的地方,硬生生开辟出一条全新的路线啊!这种突如其来的顿悟让他欣喜若狂。「一想到我可以在我最需要的地方,亲手『切』出一扇属于自己的门,我就兴奋得不能自已,」他写道。于是,Mason 简单粗暴地闯入了紧挨着主办公室的那间酒店套房。在那里,他一把拉开衣橱门,推开所有衣架,然后掏出一把切石膏板的小刀,硬生生地从一间房的墙壁上挖了个洞,直接切穿到了另一间房里。没花多大功夫,他就切通了这扇直达经理办公室的「专属大门」;在里面洗劫一空后,他又顺着原路,从他自己造的这扇「门」大摇大摆地离开了。这简直就是一场纯粹而完美的外科建筑手术。
在后来的记述中,Mason 毫不留情地嘲讽了那些认为人们只能乖乖走门的刻板观念,狠狠地取笑了那些居然指望窃贼会老老实实遵守建筑限制的天真想法。「真要是有人打算来抢劫这地方,」他用全斜体字写道,字里行间长满了讽刺的倒刺,「他们肯定会像体面人一样,从专门为此准备的大门走进来。也许这就是为什么人们会在一扇旁边紧挨着玻璃窗的实心橡木门上,丧心病狂地装上 4 把重型大锁的原因吧。」普通人似乎脑子里少了一根筋,他们觉得要想突破阻碍,就必须去苦练开锁技巧,或者对着那扇实心大门死命猛踹;却死活想不到,其实只需要去五金店花 10 块钱(按 2016 年物价)买把石膏板刀,就能在这个世界上凭空切出全新的走廊。这些人不过是建筑学的奴隶,是活在别人为他们设计的空间牢笼里的囚徒。
这种思维视角的反转,甚至闪耀着一种令人不安的才华:仿佛这么多年来,一直在「误用」建筑环境的,其实是那些不偷东西的守法公民;仿佛是这些守法公民不敢去质疑这个世界最基础的空间假设,被建筑学长久以来所强制设定的行为规范吓破了胆,以至于思维陷入了僵化……因为门通常是你面前这堵墙上最坚固、防御最森严的部分,所以,它们本质上就是一个转移注意力的陷阱。相比之下,墙本身往往脆弱得就像面巾纸,里面除了两块石膏板和几根 2×4 的承重木条外,连半把锁、半根铁链的影子都见不到。就像天上的云朵一样,公寓的墙壁里大部分其实都是空气;而在窃贼的眼里,它们根本就不存在。随便在墙上挖个洞,几秒钟后,你就已经站在隔壁房间里了。
[7] 尤其是在办公大楼里,「天花板」往往只是一种视觉上的遮挡而非物理隔断;而在像数据中心这样的建筑里,地板也是如此。
[8] Penn & Teller 组合中的舞台魔术师 Teller 在接受采访时曾非常透彻地阐述过这一点:真正让舞台魔术大放异彩的,其实是背后极其笨重、艰辛的死功夫(hard work)。
所谓的「魔术」,就是去付出任何一个正常人都不屑于去付出的巨大努力。(因此,所有魔术的成功,都仰赖于魔术师扮演了一个毫无理智可言的「疯子」。)
摘自 Teller 在 2012 年的文章 《Teller 揭秘:魔术师双人组 Penn & Teller 中那个较矮、较安静的一半,向你讲述魔术师是如何操纵人类心智的》:
如果我教你几个魔术师用来扭曲你感知的基本原则,我想你就会明白我的意思了……诀窍就是:让魔术背后的秘密,显得比这个戏法本身所能带来的价值麻烦得多。如果一个戏法背后所耗费的时间、金钱和练习,远远超过了你(或任何一个正常旁观者)认为值得投入的极限,那你就会被它狠狠地骗过。我和我的搭档 Penn 曾经在脱口秀主持人大卫·莱特曼的办公桌上,从一顶大礼帽里变出了 500 只活生生的马达加斯加发声蟑螂。为了准备这个节目,我们花了整整好几个星期。我们专门高薪聘请了一位昆虫学家,由他负责提供行动迟缓、且在镜头前表现「友好」的蟑螂(你家厨房炉子底下的那种普通蟑螂可不会乖乖待在原地让你拍特写),他还得手把手地教我们如何徒手抓起这些虫子,而不至于像青春期小女孩那样吓得尖叫。接着,我们用泡沫板(这是少数几种表面光滑到连蟑螂都爬不上的材料之一)做了一个绝密的夹层,并设计了一套极其狡猾、复杂的流程,才得以将这个夹层神不知鬼不觉地塞进礼帽里。为了这么个几秒钟的戏法费这么大劲,值得吗?对你来说,大概不值。但对魔术师来说,绝对值。
或者可以看看他在 2015 年接受 Huttson 采访时的原话:
Matt:那你为什么不干脆把你们所有的戏法都揭秘了呢? Teller:因为那些简短的揭秘——也就是你在剧院或电视节目里为了时长必须做出的那种精简版解释——通常是非常枯燥且毫无乐趣可言的。制造一个能成功骗过所有人的魔术,其最大的秘密就在于:你是用你能想到的最笨拙、最难看的手段去完成它的。这个过程极其繁琐复杂,毫无浪漫色彩可言,甚至透着一种令人发指的愚蠢。 因为魔术界压根就没有什么惊天动地的大秘密。这世上根本不存在一个装满了所有魔法奥秘的大保险箱。Jim Steinmeyer 曾说过,他觉得大部分公众都笃信存在那么一个装满了魔术终极奥义的巨大保险箱。他说,魔术师面临的最大挑战,恰恰是要想尽一切办法掩盖那个保险箱其实空空如也的残酷真相。因为每一个魔术的「秘密」,说白了,都仅仅是对你日常生活中早已司空见惯的某个常识做了微小的物理变动而已。 就拿「用一根隐形线悬浮物体」为例。每个人在试图把线穿过针眼的时候,肯定都经历过那种死活看不清线头在哪的抓狂瞬间。让你找不到线的原因其实只有两个:光线和背景。如果一个魔术师要在舞台上用一根线,比如说,悬浮起一个球,那他必须煞费苦心地布置灯光和背景来将这根线完美隐形。这里面没有任何晦涩难懂的惊天秘密。你小时候在奶奶的针线盒里瞎鼓捣的时候,就已经学会这个原理了。 所以,每一个魔术的「秘密」其实都大摇大摆地隐藏在日常世界的光天化日之下。它既不是什么新鲜事,而且枯燥乏味到了极点。
[9] 胡迪尼当年戏耍阿瑟·柯南·道尔爵士的经典魔术,就是这些策略的完美体现。
没有任何一个讲理的正常人会料到,胡迪尼竟然会仅仅为了一个让粉笔自己写字的戏法,就不惜血本地翻新了整间屋子;或者专门去学一套晦涩的隐写术 (steganographic) 暗号,以便能在柯南·道尔眼皮子底下神不知鬼不觉地把写在纸条上的句子传达给助手;又或者让助手在墙后用磁铁精确操纵悬挂在半空的小石板后面隐藏的金属块,并且在走位时把这一切极其精准地隐藏在观众的视觉盲区里,从而制造出粉笔正悬浮在半空中自行书写的完美错觉。没有哪个正常人会为了忽悠你而下如此丧心病狂的血本。因此,正常人被胡迪尼的戏法骗得团团转也就不足为奇了。
柯南·道尔作为一个再正常不过的体面人,根本没有预料到这背后有这么多丧心病狂的门道;因此,他坚决不相信胡迪尼所说的「这仅仅是个戏法」。但柯南·道尔其实应该牢记大哲学家休谟 (Hume) 的那句名言:到底哪种情况更有可能发生——是你真的见证了超自然现象,还是说,在这个广阔世界的某个角落里,真的存在一个像胡迪尼这样狡黠如狐、谨慎到变态、且有着重度强迫症的人?显然是后者!
Olson 和 Raz 在 2020 年的论文中给出了更多详实的例子,并展示了如何将这种源自魔术的欺骗艺术有效地应用于心理学实验设计中。
[10] 说到「社会工程学」,为什么当年 Facebook 仅仅通过提供极其肤浅的社交网络功能,就能成功地从一小撮大学生的圈子里席卷全球,这让许多人感到大惑不解?也许它的成功本身就在暗示我们:人类社交互动底层的逻辑,远比我们愿意相信的要简单、要更容易被抽象化,而根本没有我们自以为的那么丰富和微妙。
[11] 海森堡(摘自 Hanson 1962 的论文中的引用):
解释……物质的性质是不可能的,除非我们将这些性质追溯到那些自身已经不再具备这些性质的实体的行为上。如果原子真的能够解释可见物质的颜色和气味是如何产生的,那么它们自身就绝不能拥有颜色和气味这样的属性……因此,原子理论始终否认原子具备任何此类可被感知的属性。
侯世达 (Douglas Hofstadter) 将其精辟地总结为:「绿色(这种属性)解体了。」
[12] 「第 48 条,给外行看的最好的编程启蒙书是《爱丽丝梦游仙境》;但那是因为它本身就是给外行看的、关于任何事物的最好的书。」——《编程警句》,Perlis 1982。
Thoughts Memo 汉化组译制
感谢主要译者 gemini-3.1-pro,校对 Jarrett Ye
原文:On Seeing Through and Unseeing: The Hacker Mindset · Gwern.net
首次发布于 2012-12-09;最后更新于 2021-05-04;状态:已完成;置信度:极高;重要性:6/10。