作者davidyu (davidyu)
看板Google
标题Re: [讨论] Gmail收外部信…怎麽放心把密码交出去呢?
时间Sat Feb 24 12:19:19 2007
讲到 trust, 就不得不提一下这个很有名的故事:
故事的主角是 Ken Thompson,他是 Turing Award 得主,也是发明 C 语言和 UNIX 的
关键人物,目前在 Google 工作(这样就和这个板有关了 ;-)。
这个故事是这样的。Thompson 写过一个很有趣的程式,是一个特别的 C compiler。如
果你对 compiler 的知识还算熟悉的话,应该知道 C 的 compiler 是可以用 C 来写的
这是一个鸡生蛋,蛋生鸡的问题,不过我们的确是用 C 来写 C compiler。
Thompson 的 compiler 之所以特别,是他在其中偷偷藏了一个 bug。UNIX 有一个程式
叫 login,它是负责核对使用者帐号和密码的程式。Thompson 的 compiler 如果发现它
在 compile 一个 UNIX 的 login 程式时,它会在比对密码的时候,偷偷加入一笔万用
密码。如此一来,用这个 compiler 产生出来的 UNIX,都会有这个「漏洞」在。你会说
这个只要检查 compiler 的程式码就可以发现了。没错,所以 Thompson 的 compiler
还有一个神奇的功能。这个 compiler 如果发现它在 compile 一个 compiler 的时候,
它会把它本身的这个「神奇功能」放到 compiler 里头,所以用这个 compiler compile
出来的 compiler (我知道这有点难懂 XD)也都会带有这个神奇功能。之後,他再用
compiler 把本身自己 compile 一次後,就可以把神奇功能从程式码里面隐藏起来,只有
从 binary 才看的出端倪。
这会造成一个问题,就是你即使有原始码,你也没办法确保你的程式是可以信任的。你
要能够确定你的程式是可靠的,唯一的办法就是全部从头来。如果你把这个问题过度延
深,你就会发现你可能要从 CPU 的电晶体开始设计,才有办法「保证」你的程式是完
全符合你的意思在执行。
所以,信任,不是见简单的事。
喔.....我还想补一句「电脑是很危险的,你还是回去用算盘吧」...XD
p.s. 详细的故事可以在这边找到
http://www.acm.org/classics/sep95/
※ 引述《davidyu (davidyu)》之铭言:
: 呃...那你怎麽敢用电脑?
: 从你打密码开始,你的密码就经过了键盘,主机板,CPU,网路卡,作业系统,ISP,
: Router,等等等......你全部每一层都信任吗?(帮助中国建立GFW的)Cisco能信任吗?
: 邪恶大本营的M$能信任吗?这里面随便有一层要偷窃你的密码都是易如反掌。
: 我敢用,是因为我没什麽重要的资料放在电脑上,是因为我信任这些公司。同理,你也
: 可以想想看为什麽你敢用电脑。
: ※ 引述《Aligu1009 (=.=)》之铭言:
: : 能利用Gmail收外部信
: : 再透过Gmail强大的挡垃圾信机制挡掉恼人的垃圾信当然很棒
: : 但是,为什麽各位敢把其他信箱的密码告诉google呢?
: : 小弟我就是因为不想把其他的帐号密码告诉google
: : 而迟迟不敢使用fetch mail功能的人啊....
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 24.6.168.117
※ 编辑: davidyu 来自: 24.6.168.117 (02/24 12:23)
1F:推 OldSu:说故事的逻辑好强 XD 02/24 12:34
2F:推 jealous0953:我眼花了= =""" 02/24 12:36
3F:推 nevertheless:好一个「用这个 compiler compile出来的compiler」XD 02/24 12:41
4F:推 earow:酷... 02/24 13:06
5F:推 JohnRoyer:「还是回去用算盘吧」 XD 02/24 13:43
6F:推 Killertcell:好棒的文章 02/24 17:33
7F:推 dotZu:大推 02/24 18:48
8F:推 eggimage:XD 推 02/24 18:50
9F:推 PsMonkey:有神奇到 \囧/ 02/24 23:17
10F:推 CrBoy:这让我想到很多人分不清 compile 跟 compiler 的差别... 02/24 23:19
11F:推 maxisam:这真是太有趣了 XD 02/25 07:44
12F:推 osalivon:好故事 :) 02/25 10:27
13F:推 Tsoul: 「还是回去用算盘吧」 02/25 11:27
14F:推 flylover:有神奇到 XDDDDD 02/25 13:10
15F:推 hcbarry:推推推 02/26 10:56
16F:推 leo80042:XDDD 02/28 13:21
17F:推 csdcbiz:难得看到有人把着个故事讲的这麽清楚xd 02/28 22:00
18F:推 SophiaCat:推 叙事的功力很强 03/01 20:19
19F:推 jark41:电脑是很危险的 03/05 11:53
※ HowLeeHi:转录至看板 Programming 03/09 03:14