Re: [討論] Gmail收外部信…怎麼放心把密碼交出去呢?

看板Google作者 (davidyu)時間17年前 (2007/02/24 12:19), 編輯推噓19(1900)
留言19則, 19人參與, 最新討論串6/8 (看更多)
講到 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)

02/24 12:34, , 1F
說故事的邏輯好強 XD
02/24 12:34, 1F

02/24 12:36, , 2F
我眼花了= ="""
02/24 12:36, 2F

02/24 12:41, , 3F
好一個「用這個 compiler compile出來的compiler」XD
02/24 12:41, 3F

02/24 13:06, , 4F
酷...
02/24 13:06, 4F

02/24 13:43, , 5F
「還是回去用算盤吧」 XD
02/24 13:43, 5F

02/24 17:33, , 6F
好棒的文章
02/24 17:33, 6F

02/24 18:48, , 7F
大推
02/24 18:48, 7F

02/24 18:50, , 8F
XD 推
02/24 18:50, 8F

02/24 23:17, , 9F
有神奇到 \囧/
02/24 23:17, 9F

02/24 23:19, , 10F
這讓我想到很多人分不清 compile 跟 compiler 的差別...
02/24 23:19, 10F

02/25 07:44, , 11F
這真是太有趣了 XD
02/25 07:44, 11F

02/25 10:27, , 12F
好故事 :)
02/25 10:27, 12F

02/25 11:27, , 13F
「還是回去用算盤吧」
02/25 11:27, 13F

02/25 13:10, , 14F
有神奇到 XDDDDD
02/25 13:10, 14F

02/26 10:56, , 15F
推推推
02/26 10:56, 15F

02/28 13:21, , 16F
XDDD
02/28 13:21, 16F

02/28 22:00, , 17F
難得看到有人把著個故事講的這麼清楚xd
02/28 22:00, 17F

03/01 20:19, , 18F
推 敘事的功力很強
03/01 20:19, 18F

03/05 11:53, , 19F
電腦是很危險的
03/05 11:53, 19F
HowLeeHi:轉錄至看板 Programming 03/09 03:14
文章代碼(AID): #15txp8sh (Google)
討論串 (同標題文章)
本文引述了以下文章的的內容:
以下文章回應了本文
完整討論串 (本文為第 6 之 8 篇):
文章代碼(AID): #15txp8sh (Google)