互聯網也有「心漏症」?

20140503A 20140503B

兩星期前,當我第一次看到,關於互聯網出現「心漏症」的報導時,我的反應相信跟各位讀者看到本文題目時也是一樣:是不是有像發現狐仙般的「互聯網傳說」(Urban Legend)出現,又有百無聊賴之人,在網上「亂噏廿四」?

仔細地把文章看完,才驚覺這次被發現的「心漏症」,實在非同小可。奇怪的是,這件對全球所有電腦用家們都有重大影響、外國傳媒指是「互聯網有史以來最大保安漏洞」、甚至連美國國土安全部也發出警告之事,本地傳媒卻只有零星的報導,究竟是本地並無懂電腦的人,還是大家都對電腦世界的事,毫不關心?

20140503B - 複製究竟這次被發現的「心漏症」,是什麼一回事?我們平時登入或使用任何網上服務,例如GMail,在整個過程中,所有資料和數據的傳輸,都會被加密,以保障用家的登入密碼、電郵內容等資料,不會容易被黑客偷去。整個傳輸和加密/解密過程,需要提供服務的伺服器(例如GMail的電郵伺服器)和家中的電腦,互相溝通過後才能成事。現時伺服器和用家們的電腦溝通時的加密標準SSL,原本已發展得十分成熟,在互聯網上也被廣泛採用,鮮有重大保安事故因SSL而發生。怎料SSL技術的其中一個「品牌」,開放源程式碼(即任何人都可以把程式免費下載和任意修改,藉此透過各地編寫保安程式高手的技術,來令程式更變得完善)的OpenSSL,出現了一個驚人的漏洞:黑客透過這個保安漏洞,竟然可以令他們看到伺服器上,記憶體裡的資料,當中可能有用家的密碼、解密用的金鑰(Key,只要獲悉整條金鑰的資料,便可以把用家已經加密的資料還原)、電郵、即時通訊apps內容等,都被一目了然。如果用家正在作網上購物的話,黑客們便有機會能從伺服器的記憶體裡,「看」到用家的整個信用卡號碼,連卡後的三個位數字識別碼,也無所遁形。

看到什麼SSL、解密金鑰、伺服器等專有名詞,有否覺得對這個被稱為「心漏症」(Heartbleed)的保安漏洞,感到難以理解?“Google”出來對於「心漏症」的解說則更加複雜:例如CVE(Common Vulnerabilities and Exposures)、TLS/DTLS(transport layer security protocols)heartbeat extension-RFC6520等,相信“Google”了的讀者也不明所以,越看越糊塗。就讓我們以日常生活作例子,看看究竟是怎樣的一回事。

想像一下酒店房間的保安方式:每一間酒店房間的門,都設置了不同的密碼鎖,這樣不同的房間,便需要透過不同的密碼卡,才能進入其中。跟所有酒店一樣,酒店接待處的接待員是得悉所有打開房間大門的密碼。一般來說,接待員並不會把任何一間房間大門的密碼,告訴任何人的。怎料問題來了:原來其中一個接待員,容易跟陌生人混熟,而且性格非常「多嘴」,常把「不能說的秘密」,例如打掃房間的時間、程序、甚至連個別房間大門的密碼,都在跟陌生人閒談時,不自覺地說了出來。這樣的情況維持了一段時間才被發現,你說應該如何是好?

以OpenSSL來作用加密和解密的伺服器,便正正好像是「多嘴接待員」一樣,當有黑客(陌生人)透過電腦向伺服器(接待員)交談時,例如詢問伺服器正在提供什麼服務,伺服器除了回答在提供的服務以外,還會把少部份在記憶體裡的其他資料,一併送回黑客的電腦上。這些「其他資料」可以是一些無關痛癢的資料、也可以是上面所述,用家們的密碼、電郵內容、解密金鑰等重要資料,就看那一次伺服器跟黑客電腦溝通時,部份記憶體裡正在裝著的是什麼了。

這個漏洞對所有用家的影響非常嚴重。絕大多數的保安漏洞,都只是個別網站程式或apps引起,例如GMail的保安漏洞,只影響Gmail服務,並不會對Facebook的使用者有任何影響。「心漏症」則不然:由於OpenSSL是免費的,不少著名的、在互聯網上最多人使用的服務,都以OpenSSL來作加密和解密,Facebook、Google的所有服務,例如Gmail、Google Play Store、記載著用家信用卡資料的Google Wallet、Instagram、登入YouTube、Yahoo Mail、以至Dropbox,全都受「心漏症」感染,影響之廣泛實在前所未見。

另一個非常嚴重的問題,無論是從記憶體流出的資料內容,以及曾經利用過此漏洞的黑客電腦,兩者皆無法被偵測得到,因此伺服器上有多少用家的機密資料已被洩漏,根本無從得知。唯一的自救方法,是把以上所有網站的登入密碼全部更改,而網站裡的個人內容,例如你的Facebook個人訊息,如果已被洩漏,實在無法挽回。

相信除了以上的名單,更多受影響的網站公佈,將會陸續有來。未來數週,大家可以留意mashable.com的Heartbleed Hit List更新,看看還有什麼大家正在使用的網站和網上服務受到影響,祝大家和自己好運!

 

 

 

 

 

 
 

 

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *