Gmail收外部信…怎麼放心把密碼交出去呢? - Google

By Sierra Rose
at 2007-02-24T12:19
at 2007-02-24T12:19
Table of Contents
講到 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功能的人啊....
--
故事的主角是 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功能的人啊....
--
Tags:
Google
All Comments

By Blanche
at 2007-02-26T19:29
at 2007-02-26T19:29

By Yuri
at 2007-02-28T17:20
at 2007-02-28T17:20

By Aaliyah
at 2007-03-04T00:40
at 2007-03-04T00:40

By Barb Cronin
at 2007-03-06T18:55
at 2007-03-06T18:55

By Harry
at 2007-03-08T10:55
at 2007-03-08T10:55

By Franklin
at 2007-03-12T03:01
at 2007-03-12T03:01

By Quanna
at 2007-03-12T05:32
at 2007-03-12T05:32

By Aaliyah
at 2007-03-16T01:46
at 2007-03-16T01:46

By Belly
at 2007-03-18T00:26
at 2007-03-18T00:26

By Andy
at 2007-03-20T01:23
at 2007-03-20T01:23

By Kristin
at 2007-03-23T09:47
at 2007-03-23T09:47

By Ivy
at 2007-03-25T16:24
at 2007-03-25T16:24

By Olive
at 2007-03-28T05:46
at 2007-03-28T05:46

By Valerie
at 2007-03-30T22:45
at 2007-03-30T22:45

By Steve
at 2007-04-01T00:29
at 2007-04-01T00:29

By Sierra Rose
at 2007-04-02T02:58
at 2007-04-02T02:58

By Yedda
at 2007-04-03T09:30
at 2007-04-03T09:30

By Daniel
at 2007-04-08T08:39
at 2007-04-08T08:39

By Noah
at 2007-04-10T09:40
at 2007-04-10T09:40
Related Posts
Gmail收外部信…怎麼放心把密碼交出去呢?

By Zenobia
at 2007-02-24T11:34
at 2007-02-24T11:34
[新聞] Google低價軟體 挑戰微軟

By Dora
at 2007-02-24T11:17
at 2007-02-24T11:17
RSS + Google Reader 教學

By Freda
at 2007-02-24T07:36
at 2007-02-24T07:36
google doc

By Steve
at 2007-02-24T07:04
at 2007-02-24T07:04
Gmail收外部信…怎麼放心把密碼交出去呢?

By Mia
at 2007-02-24T06:13
at 2007-02-24T06:13