看板 Google 關於我們 聯絡資訊
講到 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)
OldSu:說故事的邏輯好強 XD 02/24 12:34
jealous0953:我眼花了= =""" 02/24 12:36
nevertheless:好一個「用這個 compiler compile出來的compiler」XD 02/24 12:41
earow:酷... 02/24 13:06
JohnRoyer:「還是回去用算盤吧」 XD 02/24 13:43
Killertcell:好棒的文章 02/24 17:33
dotZu:大推 02/24 18:48
eggimage:XD 推 02/24 18:50
PsMonkey:有神奇到 \囧/ 02/24 23:17
CrBoy:這讓我想到很多人分不清 compile 跟 compiler 的差別... 02/24 23:19
maxisam:這真是太有趣了 XD 02/25 07:44
osalivon:好故事 :) 02/25 10:27
Tsoul: 「還是回去用算盤吧」 02/25 11:27
flylover:有神奇到 XDDDDD 02/25 13:10
hcbarry:推推推 02/26 10:56
leo80042:XDDD 02/28 13:21
csdcbiz:難得看到有人把著個故事講的這麼清楚xd 02/28 22:00
SophiaCat:推 敘事的功力很強 03/01 20:19
jark41:電腦是很危險的 03/05 11:53
HowLeeHi:轉錄至看板 Programming 03/09 03:14