前段時間剛發(fā)生的索尼黑客門事件造成的影響更是嚴重,牽連甚廣。但不論是從黑客攻擊的方式還是從對計算機系統(tǒng)漏洞的毀滅性打擊程度來看,這起事件都算不上有多特別。之所以索尼黑客門事件備受關(guān)注,是因為它給所有的公司和企業(yè)敲響了世紀警鐘,提醒他們提防可能存在的計算機系統(tǒng)安全漏洞,敦促他們采取新的計算機體系結(jié)構(gòu)。
當(dāng)今系統(tǒng)安全漏洞的這種神出鬼沒的特質(zhì)不僅影響了企業(yè)的計算機終端系統(tǒng)建設(shè),也影響了服務(wù)器基本結(jié)構(gòu)設(shè)計。如同一切自然規(guī)律一樣,這樣的現(xiàn)狀有它好的一面,也有壞的一面。重點在于你怎么看,怎么利用這種條件。
先說壞的一面。一直以來我們都在盡最大的努力保護現(xiàn)有的服務(wù)器基礎(chǔ)結(jié)構(gòu),但是最近頻繁發(fā)生的安全漏洞事件讓我們越來越覺得力不從心。不得不承認,過于簡單的安全架構(gòu)是導(dǎo)致索尼黑客門事件發(fā)生的原因之一(把密碼保存在一份Personal password.xls文件里的確一勞永逸但也絕不是一個好的主意)。再加上FBI又跳出來聲稱國內(nèi)企業(yè)集團比起大型跨國公司更容易成為被攻擊目標(biāo),于是情況變得更加不可收拾。
好在現(xiàn)在已經(jīng)有越來越多的人開始使用云存儲服務(wù)和移動設(shè)備,讓我們至少看到了一些美好的希望。有了這些新一代的高科技,我們的安全保護機制正在發(fā)生革命性的變化,下一代的企業(yè)“云計算”系統(tǒng)離我們并不遙遠。沒有教程,沒有學(xué)習(xí)視頻,更沒有培訓(xùn)老師,我們就那樣非常自然地學(xué)會了使用手機,還有平板電腦,學(xué)會了用這些設(shè)備來我們的工作服務(wù),這是一個神奇的技能。即使有了新一代的“云計算”系統(tǒng),我相信人們完全可以在第一時間適應(yīng)。
為了讓讀者們更好理解為什么索尼黑客門和現(xiàn)階段的形勢如此嚴峻,我很樂意與大家分享一下個人經(jīng)歷過的歷史安全漏洞事件以及當(dāng)時的應(yīng)對和處理過程,就當(dāng)是“安全漏洞簡史”。如果熟悉了這段簡史之后還不能理解我們正處于一個十分關(guān)鍵的時刻,那就……認真再看一遍吧!
早期計算機病毒與修復(fù)措施
現(xiàn)如今,我們每天都可以遇到一大堆雜七雜八的安全防護手段。比如各種各樣的密碼、防火墻、VPN、殺毒軟件、提供管理者權(quán)限、無法正確安裝軟件,還有為了防止可能產(chǎn)生的威脅而設(shè)置的越來越多的網(wǎng)絡(luò)安全設(shè)置。我們對此早已習(xí)以為常。但是在二十多年前,我剛剛進入微軟那時,什么叫安全設(shè)置?防火墻又是什么?我們真的需要“殺毒”這個軟件嗎?不要說我,幾乎所有人都對這些名詞毫無概念。這一切都要從系統(tǒng)漏洞開始說起,如果你不知道這段歷史,很顯然,你就無法很好地理解我們正處于一個怎樣關(guān)鍵的時刻。
我并不想讓自己顯得過于說教,所以下面我只介紹三個具有代表性的技術(shù),每一個都在“安全漏洞簡史”上的具有里程碑意義,而且對商業(yè)用戶產(chǎn)生了至關(guān)重要的影響。他們分別是:MS-DOS下的內(nèi)存常駐程序(TSR),Word中的宏指令,還有Outlook的自動操作。圍繞這些技術(shù)的內(nèi)容一直在變化,同時也推動了當(dāng)時的技術(shù)改革——就像我先前提到的安全設(shè)置,它在一定程度上會給系統(tǒng)帶來運行不流暢和不方便等問題,因此在最開始的時候安全設(shè)置一直被丟在一邊無人問津。
我們先說TSR技術(shù)。對于TSR,我真的是印象深刻。回到1989那一年,我剛剛?cè)肼毼④洠€是一個名不見經(jīng)傳的小程序員,卻有幸接觸到MS-DOS——微軟磁盤操作系統(tǒng)(Windows3.0還沒有問市,大部分都在關(guān)注OS/2操作系統(tǒng))。如果你是被大學(xué)推薦進入到Apps研發(fā)小組(是的,就是Apps,幾十年前我們就開始這么說了),那么一整個暑假你都得搗鼓一個叫做“Apps Development College”的培訓(xùn)項目。說實話,我很喜歡這個項目,但是必須了解所有的計算機病毒還是讓人有點崩潰。
另外,在我講述這個故事的時候,你得記住在那個時候還沒有像現(xiàn)在這樣強大的互聯(lián)網(wǎng)可以把所有的電腦都連接起來,那個時候大多數(shù)的臺式機都是孤零零的一個,即使在局域網(wǎng)的工作組內(nèi),數(shù)據(jù)也不能共享。在這種情況下,電腦病毒的唯一傳播途徑就是插入受感染的軟盤(或者從BBS上下載受感染的文件,當(dāng)然前提是你能忍受300b的下載速度)。這種病毒主要采用一個完全不受限制的程序技術(shù),叫做“Terminate and Stay Resident”(內(nèi)存常駐程序),簡稱“TSR”。TSR是一個非常實用的程序,能在DOS環(huán)境下提供大量有用的工具。我最喜歡的一個TSR程序是“Borland Sidekick”,那些剛剛設(shè)置了冷戰(zhàn)防火墻的臺式機,都被我在第一時間安裝了這個小程序,連續(xù)好幾個暑假我都在埋頭干這件事。但是很不幸的,跟實用程序不同,一個TRS病毒一旦被安裝,它會跟蹤鍵盤操作,或者干擾電腦屏幕、阻礙磁盤讀寫。
一個如此有用而且還是官方的系統(tǒng)功能竟然可以被用來做這些破壞和諧的事情,年紀輕輕未諳世事的我對此感到無比震驚。之后我們連續(xù)花了好幾個星期的時間研究這些惡意的TSR程序,試圖理解它們的工作傳播特性。最后的結(jié)果是,我深愛著Sidekick,還有無數(shù)的人也跟我一樣對Sidekick懷有深刻的感情,但是我們無法再擁有這個小程序,因為彌補TSR上的安全漏洞的代價實在太高,以當(dāng)前的技術(shù)條件實在是回天乏術(shù)。再見了,我的Sidekick。再見了,其他友好的TSR程序。那些長期以來習(xí)慣于依賴TRS程序工作的人們,比如撥打電話、記錄筆記、日歷等等,頓時感到一下子回到了解放前,怨聲此起彼伏。即使這樣,我們?nèi)匀徊坏貌环艞塗SR。這次事故給我的一個教訓(xùn)是,放棄一個系統(tǒng)功能帶來的痛苦和挑戰(zhàn)所造成的影響遠比打破人們的常規(guī)工作流要來得嚴重得多,哪怕在當(dāng)時已有2000萬的人已經(jīng)習(xí)慣于使用電腦辦公。
隨著Windows系統(tǒng)和電子郵件的發(fā)展,企業(yè)在提高工作效率方面有了長足的進步,但是與此同時,病毒地傳播也更加瘋狂了。隨著Windows系統(tǒng)越來越融入到企業(yè)辦公事務(wù)中,Microsoft Word也漸漸地在企業(yè)中有了自己的地位,與公司員工之間的傳統(tǒng)通訊方式也逐漸被電子郵件取代。電子郵件發(fā)送Word附件又取代了以往用軟盤共享數(shù)據(jù)的方式。
于是風(fēng)平浪靜的日子還沒享受幾天,新的病毒又讓所有人都傻眼了。1996年末,在大家毫無防備之際,幾乎所有人的Word文檔打開之后都變成了下面這幅令人絕望的模樣:
雖然沒有嚴重的破壞性,但是也足夠讓人抓狂,可以說是一種視覺乃至精神上的打擊。這其實也是一個病毒,叫做“Word Concept”(準(zhǔn)確來說,這是一個蠕蟲病毒,在當(dāng)時對這個病毒的定義也是一個巨大的爭議)。利用Word中一個自動打開文件的宏指令,這個病毒迅速地感染了每一臺打開了Word的計算機。說白了,就是我們給Word設(shè)計了一個十分酷炫的宏指令功能,有了這個酷炫的宏指令,基本上所有的Word文檔操作都可以自動完成,用戶只需要啪啪啪敲鍵盤就可以了。而自動打開就是當(dāng)你打開文檔的時候,所有的宏指令也立刻準(zhǔn)備為你服務(wù)。所以這個惡意的病毒就是利用了這一點,在你接受到一份包含受感染的文檔然后又自動打開時,病毒也立馬篡改了默認模板Normal.dot,接著每一個你打開或者新創(chuàng)建的Word文檔都會同樣的受到感染。如果你再把受感染的文檔通過郵件發(fā)送給其他人或者放在共享文件夾里,那么其他打開這個受感染文檔的用戶也會重復(fù)剛才的復(fù)制模式,如此一傳十,十傳百……幾乎所有Word用戶都中招了。這種病毒傳播機制,后來被廣為模仿。
面對這樣的情況,整個研發(fā)團隊都顯得束手無策。這是一個很典型的商業(yè)案例。讓我這么來解釋吧,自動打開宏指令并不單單是一個自動打開文檔指令,它牽連甚廣。比如在打開文檔的同時立即自動創(chuàng)建一個標(biāo)準(zhǔn)文檔,其中包含了正確的格式和元數(shù)據(jù),或者立即檢查文檔管理系統(tǒng)的工作環(huán)境。這些方便又實用的功能一直都是Word立足市場的關(guān)鍵。但是,現(xiàn)在看來我們的優(yōu)勢變成了威脅,這到底該如何取舍?
我們認為移除這項功能是最直接的解決辦法,但是最后我們還是選擇了一條曲折艱難的解決之路,一邊不斷地提醒用戶不要隨意打開不明文件一邊設(shè)計宏指令的可信任級別,只為保持商業(yè)利潤和商業(yè)競爭優(yōu)勢。有人可能會說這個選擇不夠明智但是實際上它的確是比較有效的,其他的可替代方案效果更差。問題如果到這里就解決的話,那也就沒有任何里程碑式的意思了。重點不在于方案的選擇,而在于更新。
對的,接下來我們又遇到了一個全新的問題。解決的方案有了,我們改進了我們的程序代碼,但是怎樣將更新應(yīng)用到用戶的電腦上去?不像現(xiàn)在,那個時候沒有自動更新,而且大多數(shù)的公司都還沒有接入互聯(lián)網(wǎng)的能力。我們只好把補丁刻錄到CD上,或者上傳到FTP站點供用戶下載。我們一次又一次地改進程序,發(fā)布了一次又一次地修正補丁(所有的這些細節(jié)都可以在網(wǎng)上搜索到,不過在這里細節(jié)不是重點)。病毒造成的破環(huán)已經(jīng)存在,很長一段時間里,“Concept removal”竟然成了一個小型的工業(yè)體系。
Word的宏指令漏洞到這里可以告一段落。就這樣安安穩(wěn)穩(wěn)地過了幾年后,一場腥風(fēng)血雨又席卷而來。1999年的某個陽光明媚的周末,我正在家中悠閑的享受遠離工作的自由時光。突然我的電話響了起來(年輕人,這不是一個普通的電話,回家問問你們的爸媽吧,他們準(zhǔn)知道是什么)。從意外的鈴聲中回過神來,我立刻拿起了我的AT&T無線電話,電話另一頭是一個記者,她說她從一張公共關(guān)系聯(lián)絡(luò)表上找到了我的電話號碼。淡定,淡定,深呼吸!盡管我努力保持平靜,我還是腦子一片混亂,只聽到她在不斷地問我“Melissa”是什么。我根本不知道Melissa是什么玩意兒,我完全摸不著頭腦。在這種混亂的情況下,我還不能同時去檢查我的郵件,因為我特么只有一條電話線!(別以為我在騙人,回家問你爸媽去,他們比你們知道得多。)無奈之下我只好先掛了電話,告訴她一會在給她回電話,當(dāng)然我也是說到做到的人。
掛了電話我立刻投入到工作狀態(tài)中,火急火燎地開始下載我的新郵件,美好的周末就這么離我而去了。在整個過程中,我不僅是一個問題觀察者,也是此次事件的一個受害者。我的收件箱史無前例的被朋友的郵件給擠爆了。這些郵件的主題欄里都寫著:“這是你要的文件……不要告訴其他任何人哦!”每一個存在于我的通訊錄里的好友,從高中同學(xué)到大學(xué)同學(xué)以及微軟的同事,都給我發(fā)送了同樣的郵件。這不是惡作劇,這就是著名的“Melissa”病毒——“啊哈!歡迎來到Melissa的瘋狂世界!”
Melissa病毒準(zhǔn)確來說是一個文檔,利用Word和Outlook之間大量的重要業(yè)務(wù)功能恣意攻擊用戶。一旦打開帶有病毒的附件,它的第一件事情就是攻擊Word中的最新安全設(shè)置,并成功地使之不能正常工作。至于這個最新的安全設(shè)置我們就不用去管它了??傊?,安全設(shè)置能不能正常工作影響不大,畢竟一大堆IT極客們早就破解了這個攻擊,然而事實證明進展太順利未必是件好事,只不過當(dāng)時人們只是想著盡快地修補漏洞,使一切回到正軌而已。但是接下來發(fā)生的一切,簡直是給了所有人當(dāng)頭一棒。
你得知道Outlook中有一個非常實用的擴展功能,叫做VBA目標(biāo)模型。除了攻擊安全設(shè)置外,病毒文檔里的宏指令還利用了這個擴展功能訪問了你的電子郵件通訊錄,然后自動發(fā)送一封郵件到前50個聯(lián)系人的郵箱里。我知道這個功能對大多數(shù)人數(shù)來說,就像在銷售會議中點一支雪茄一樣,毫無意義。但是不管你愿不愿意相信,對于商業(yè)活動來說,這個功能簡直太棒了。沒有Outlook的這個擴展功能,我們就無法方便地獲得簡單的客戶管理系統(tǒng),時間管理器,郵件整理等等。所有這些特性,可以寫成一本書,供大家學(xué)習(xí)了。
又一次我們用了整個周末的時間來商量對策,這個擴展功能不僅有用而且深深地影響了商業(yè)活動的運作方式,我們不得不謹慎對待。我們評估了兼容性,評估我們對廣大用戶做出的承諾,但是這一次真的被打敗了。
第二天就是周一,Melissa順理成章地上了USA Today的頭條新聞,報道說這個病毒傳播之快一夜之間已經(jīng)影響了近20%的電腦,解決成本預(yù)計將達到數(shù)十億美金(具體的報道我現(xiàn)在找不到了,但我說的絕對是真實的事情)。對于大多數(shù)受害者來說,他們的狀態(tài)就是這樣的:我根本不認識Melissa,但是一覺醒來卻發(fā)現(xiàn)好像我成了病毒傳播的始作俑者,還讓不讓人愉快地生活了!正因為事情如此嚴重,才使得后來的選擇和決定顯得合情合理。不管怎么樣,我們這些工程師是真的把命都豁出去了!
我們馬不停蹄地趕出了一個解決方案(注意,是我們——我們的意思就是整個Outlook產(chǎn)品項目部們的125個工程師都在研究這一個解決方案)。我們推出了“Outlook E-mail Security Update(Outlook E-mail安全更新)”。這次更新的實質(zhì)是關(guān)閉了Outlook中的目標(biāo)模型,當(dāng)然其中也包括之前說到的導(dǎo)致病毒瘋狂傳播的擴展功能;更新后也不會在批量打開所有附件,從而變成每次打開附件時都會彈出安全提醒。當(dāng)然,我們還會更新所有的宏指令,保證它們在日后更加穩(wěn)定不易被黑客利用。這些改變都是讓人難以接受的也是從沒有預(yù)見過的。讓我們一起來回想一下在DOS時代我們刪除了Sidekick這個功能后造成的抱怨,已經(jīng)不小了對吧?但是跟這一次的抱怨比起來,只能說是小巫見大巫。我甚至敢說在此之前,從沒有任何人或者任何公司經(jīng)歷過這樣的事件——成千上萬的企業(yè)用戶立刻打爆了我們的客服電話,而事先我們根本沒有時間去準(zhǔn)備所謂的危機應(yīng)對方案,一切都發(fā)生的太快,我們束手無策。最后我們只好跟第三方合作。我們甚至動用了客服顧問來重建工作流和插件。現(xiàn)在回想起來,或許是當(dāng)初由于我們的疏忽才“造成”了數(shù)十億的損失,但是最后的解決方案似乎造成的損失更大。所以我有時候會想,放棄治療會不會更好一點?
提前預(yù)防真的比修復(fù)安全漏洞更有效嗎?
讓我們繼續(xù)快速地略過“蠕蟲王(Slammer)”、“沖擊波病毒(Blaster)”、“愛蟲病毒(ILOVEYOU)”等等。緊接著采取的應(yīng)對方案分別是互聯(lián)網(wǎng)局域網(wǎng)化、附件只讀模式、Windows XP SP2補丁等等??吹搅税?,所有的套路都幾乎一模一樣。我們的很多功能,它們設(shè)計的初衷是善良美好的,但是結(jié)果并不如愿。從企業(yè)資產(chǎn)的負面影響到全球的災(zāi)難性打擊,有太多故事可以講了。
以上提到的每一個事件都導(dǎo)致了某種程度的退步或前進方向的轉(zhuǎn)變。盡管發(fā)展到今天,互聯(lián)網(wǎng)和廣泛使用的安全技術(shù)已經(jīng)將大多數(shù)的安全漏洞隔離在外,計算機系統(tǒng)的穩(wěn)定性有了長足的提高。但是惡狼始終是惡狼,他們從來都沒有消失過,只是披了一張羊皮而已。在當(dāng)今時代,這些黑客不再單獨行動,有的背后有國家支持,有的則屬于全球犯罪團伙。不管是出于什么原因,恐怖威脅、政治訴求還是經(jīng)濟利益,總之這對于他們來說是一筆獲益不菲的交易。在當(dāng)今時代,最最關(guān)鍵的基礎(chǔ)設(shè)施保障系統(tǒng)都存在著主要的安全隱患。所有這些設(shè)施,價值數(shù)萬億美元,威脅無處不在。
從我個人來看,在我們已有的系統(tǒng)中,安全設(shè)置的數(shù)量已達極限,即使我們可以再增加更多的安全設(shè)置其結(jié)果也是治標(biāo)不治本。路上已滿是路障和錐形障礙,但是仍然攔不住潛在的威脅靠近我們?,F(xiàn)代企業(yè)中的電腦和基礎(chǔ)服務(wù)架構(gòu)中充斥著各種各樣的工具、進程和設(shè)置,只為減少各種潛在的危險。但是這些為了降低風(fēng)險而采取的措施越變越復(fù)雜,越變越難以維護管理,以至于鮮有人真正地理解這些系統(tǒng)。那些正在使用這些復(fù)雜系統(tǒng)的人又接二連三地投向了手機和平板電腦的懷抱,因為新的設(shè)備沒那么復(fù)雜,也沒那么多不可預(yù)見的風(fēng)險,哪怕是在最簡單的工作中也沒有什么威脅和挑戰(zhàn)。
這就是我一直強調(diào)的關(guān)鍵時刻,告別過去復(fù)雜系統(tǒng)的時代即將到來。
問題到底出在哪里?
如果你愿意,你可以把目前計算系統(tǒng)所面臨的問題都詳細列出來,這個清單大概能有幾米長吧?;蛘吣阋部梢蚤e的無聊去和別人爭論A系統(tǒng)和B系統(tǒng)到底哪個更好或者更差。但是真相是,無論是Windows系統(tǒng)還是蘋果操作系統(tǒng)OS X,又或者是桌面版或者客戶端版的Linux系統(tǒng),他們的本質(zhì)都是一樣的:都是基于80年代創(chuàng)造的英特爾處理器的操作系統(tǒng),再加上一些在那個時代屬于用戶級別的擴展功能包。
理論上來講,我們完全可以配置一個盡可能安全的系統(tǒng)環(huán)境。但是問題在于,這個理想安全的系統(tǒng)能如你預(yù)期的那樣工作嗎?對于大多數(shù)的普通用戶來說,他們有能力操作這個系統(tǒng)并且處理日常任務(wù)嗎?顯然答案是否定的。但我是專業(yè)的計算機工程師,當(dāng)然我可以拍著胸脯說沒問題,我也可以說我從沒受到過這些安全問題的影響。等等,除了Melissa病毒爆發(fā)的那一次我也成了受害者,還有我在中國使用WiFi的那一次,還有我的U盤,還有……說起來好像受影響次數(shù)也蠻多的,我自己都有點記不清楚了。所以你看,在安全問題面前,幾乎無人能幸免。
從最廣泛的意義上來說,除了操作系統(tǒng)以外,在這個體系結(jié)構(gòu)中還有三個核心的挑戰(zhàn)因素,它們分別是硬件設(shè)備,周邊設(shè)備以及這個平臺上的應(yīng)用程序。任何一個安全專家都會十分肯定地告訴你,每一個系統(tǒng)的最薄弱之處在于安全性。
終端用戶和信息技術(shù)中的surface area旋鈕和撥號。這二十年來,人們對軟件的定義是廣泛的兼容性,深度定制,或者是各個級別的個性化設(shè)定。最初的TSR只能捕捉非常簡單的鍵盤操作(ALT鍵、Enter鍵一類),然后提供預(yù)期的功能。這個模型的更新發(fā)展實在太不穩(wěn)定,即使是添加一個新的安全特性,也會使得其他大多數(shù)已有的保護進程癱瘓(比如宏安全性)。那些認為這個問題只存在于電腦客戶端的人,不如想想企業(yè)的服務(wù)器系統(tǒng)和程序本質(zhì)上是用來做什么的。在企業(yè)的服務(wù)器系統(tǒng)和程序上,大多數(shù)的工程計算工作是通過自定義代碼或特殊配置來實現(xiàn)對表層應(yīng)用的控制和指令傳遞。即使是登陸電腦這樣一個非常基礎(chǔ)的指令,其本質(zhì)上也是通過執(zhí)行引擎改變了電腦的行為,只不過這種改變我們普遍認為是安全的,沒有惡意的。于是乎,我們可以知道,管理服務(wù)器或者終端設(shè)備的本質(zhì)就是調(diào)整旋鈕和撥號。哪個端口應(yīng)該打開?哪一個程序要運行?權(quán)限是什么?防火墻的攔截規(guī)則是什么?協(xié)議怎么定?等等。這個原本為優(yōu)化和創(chuàng)造商業(yè)價值而設(shè)計的surface area,同時也給黑客創(chuàng)造了破壞機會。單一的進程不會造成多少影響,但一系列的擴展事件可以串聯(lián)到一起,就像多米諾骨牌一樣,造成巨大的負面影響。發(fā)展到今天,整個架構(gòu)堆棧中的surface area是巨大的,超出了任何可審查、管理甚至是備份的范圍。顯然,也沒有任何一個安全工程師可以獨自駕馭這一切。
高危漏洞潛在攜帶者:執(zhí)行引擎。計算機系統(tǒng)的發(fā)展史也是程序內(nèi)部執(zhí)行引擎的更新?lián)Q代史。宏語言、運行時間等等,都是程序或者執(zhí)行引擎最頂層的元素。宏和自定義代碼決定了程序的版本。所有的應(yīng)用程序都可以調(diào)用自定義代碼并且直接應(yīng)用到本地操作系統(tǒng)中。這種執(zhí)行引擎和在運行程序過程中的溝通能力不僅僅只是一個極佳的性能,也是提高商業(yè)競爭能力的一個必要條件。所有這一切的操作都在最底層、最廣泛的層面。沒有人會想到,這樣一個有價值的服務(wù),受到廣泛好評的入伍,會被惡意利用造成極大的破壞。而如今,執(zhí)行引擎早已遍布我們生活中的各種計算機系統(tǒng)平臺。再說的直白一點,那些用來解決安全漏洞的工具其實質(zhì)也仍是執(zhí)行引擎,也是被攻擊目標(biāo)(比如殺毒軟件、路由器前段等等,都存在可利用的漏洞,成為易受攻擊的目標(biāo)之一)。而在移動設(shè)備上,帶有任何執(zhí)行引擎的應(yīng)用則很難通過應(yīng)用商店的審核。
不可避免的社會推動力。技術(shù)的影響只能到此為止。人為因素的影響不可忽視??傆心敲葱r候,有那么些人,會莫名其妙地犯傻會被忽悠著莫名其妙地犯傻。正所謂常在河邊走哪有不濕鞋,上網(wǎng)上多了中個幾次病毒太正常了。文件的名字寫著“不要打開”你就真的不會打開了?面對100多個密碼,你說你不會拿個小本本把它們記下來?大學(xué)好友發(fā)來的郵件你又怎么忍心拒絕打開呢?用短信驗證的方法注冊一個服務(wù),這么麻煩的事情總會有人無視的。世界領(lǐng)導(dǎo)人全球峰會上派發(fā)的U盤你會說你不用嗎?或者你會放著一個國際商務(wù)級別的酒店WiFi不用去用速度幾乎為0的2G網(wǎng)絡(luò)或者干脆不接入網(wǎng)絡(luò)嗎?那些讓人們從固有的模式中解放出來的進步正在改變著我們的世界,使世界變得更加安全和高效(比如汽車、飛機、制造業(yè)),使我們能夠解放更多的資源去探索更廣闊的未知世界。但是盡管計算機為我們帶來了諸多便利——溝通變得更近了,合作無國界了,創(chuàng)造力突飛猛進了,計算機卻并不屬于解放人類的技術(shù)進步行列。
當(dāng)然你還可以從其他角度來描述我們當(dāng)前所處的境遇,而且可以確定的是潛在的良性威脅仍在日益增長。當(dāng)我回顧過去20年的發(fā)展變化時,我認為我們所面臨的挑戰(zhàn)不過是最最基礎(chǔ)的。設(shè)置再多的安全防護措施也于事無補。
但是放心,情況沒你想得那么糟!
但是如果你這么快就急著下定論,那么你一定會認為我在鼓吹關(guān)于計算機未來世界的悲觀言論。其實不然,我只是偶爾會想起那個被神秘好友“Melissa”徹底毀掉的美好周末。索尼黑客門事件之后,我完全能夠想象那些身處Sony、Target、Home Depot還有Neiman Marcus的工程師們?nèi)缃竦奶幘常约岸嗌賯€默默無聞的程序員不眠不休、放棄了周末時間奮斗在一線。我甚至完全可以理解即將發(fā)生的變化。
仔細檢查系統(tǒng)漏洞,設(shè)置更多的安全保護,然后再次確認你的整個計算機系統(tǒng)運行是否良好固然是個良策,但是這也就意味著又有一大波計算機專家將為此不得不放棄假期娛樂時間被迫加班。誰都不希望發(fā)生這樣的事情,但這就是工作,而且迫在眉睫??杀氖牵冻鲞@么多的代價,仍然是治標(biāo)不治本的節(jié)奏。
當(dāng)一切都塵埃落定之后,我們需要一個新的解決方案。我們必須得一勞永逸地解決所有存在的問題,徹底扭轉(zhuǎn)當(dāng)前的局面。如果一定要從這篇文章中總結(jié)出一個經(jīng)驗教訓(xùn)的話,那就是無論造成多么強烈的破壞,任何一次攻擊都不會得逞甚至不會持續(xù)很久,但是它仍會導(dǎo)致不可估量的退步并且對那些無辜的用戶造成極大的不便。有的自帶程序或者自稱采用特殊技術(shù)的程序會以可信任或運行方式與眾不同為借口要求解除系統(tǒng)安全檢查。然而就是這么一個漏洞,然后系統(tǒng)就崩潰了。在這一點上,我過去的看法其實一直都是不正確的。
亡羊補牢為時未晚。我們正處于新一代計算體系誕生的邊緣,這個體系完全獨立于已有的系統(tǒng)基礎(chǔ)之外,它的所有設(shè)計初衷都是以更加安全、穩(wěn)定,更易管理,更具備實用性和操作更簡便為根本原則。需要指出的是,零風(fēng)險的體系幾乎是不可能有的。我們只是把從前的路障搬到了另外一條全新的道路上。在這里,一切的戰(zhàn)場都回歸起點,與敵人的戰(zhàn)爭也從頭開始。這就是我們期待的。你永遠無法消滅這個世界上的所有敵人,但是你可以暫時甩開他們的干擾。
新的系統(tǒng)和應(yīng)用架構(gòu)。如今我們所使用的新一代操作系統(tǒng)是專為移動設(shè)備而設(shè)計的,它運行在微型處理器上,可以直接重置某些非常基礎(chǔ)的攻擊向量。我們可以抱怨應(yīng)用商店(或者應(yīng)用商店的審核)或者應(yīng)用沙盒。我們也可以抱怨“這個應(yīng)用總是企圖訪問我的手機相冊”。但是你不得不承認這些架構(gòu)的變化對我們的敵人來說絕對是最強大有力的武器。盡管如此,我們?nèi)圆荒鼙WC意外不會發(fā)生。也許某一天,就在你的電腦上,你不小心打開了一個惡意設(shè)計的圖片附件結(jié)果導(dǎo)致緩沖區(qū)溢出,然后趁機在你的電腦上植入一段代碼,然后為所欲為。接著第二天你發(fā)現(xiàn)同樣的照片流在移動設(shè)備上無法正常顯示了。毫無疑問,所有我們能夠想到的安全設(shè)置、代碼審查等等保護措施我們都已經(jīng)做了,但是同樣的事情仍在發(fā)生,因為20年來累計了太多的代碼,想要修復(fù)這些可能存在漏洞的代碼根本不可能。
云服務(wù)——API數(shù)據(jù)訪問神器。比起虛擬主機和虛擬服務(wù)器,云服務(wù)遠不止這些功能。事實上,虛擬一個服務(wù)器程序或者操作系統(tǒng)的確是一種保護手段但效果不佳。把現(xiàn)有的服務(wù)器轉(zhuǎn)變成虛擬機存儲到一個公共的或者“私人的”云服務(wù)上等于給你的系統(tǒng)增加了復(fù)雜性,也給攻擊者設(shè)置了一個最基層的障礙。為什么這么說?因為來自可擴展性和可定制性的挑戰(zhàn)仍然存在。更糟糕的是,那些進入到虛擬世界的用戶會要求在兩個世界中獲得同等的能力。但是Cloud-Native產(chǎn)品的設(shè)計理念從一開始就完全不同于傳統(tǒng)的追求可擴展性和可定制性的設(shè)計理念。與鉤子和執(zhí)行引擎不同,Cloud-Native的重點在于數(shù)據(jù)和API的可定制性。surface area在這里已經(jīng)沒那么重要。有的人可能覺得這個變化太過于微妙難以理解和接受,不過肯定也會有人認為轉(zhuǎn)移到云服務(wù)是非常重要的一步。打個比方說,在云環(huán)境里,你無法從某個終端電腦上采用簡單的拖拽功能批量訪問或處理某個組織下的“所有文件”。而在我看來,現(xiàn)在是降低整個計算機體系結(jié)構(gòu)復(fù)雜性的最佳時機。當(dāng)然這個轉(zhuǎn)變對于以往在企業(yè)需求定制和配置方面有著出色表現(xiàn)和經(jīng)驗的信息技術(shù)產(chǎn)業(yè)來說絕對是一個巨大的打擊。
Cloud Native(原生云基礎(chǔ))相關(guān)的公司和產(chǎn)品。當(dāng)工程師寫慣了DOS程序的代碼突然去寫Windows程序代碼時,整個腦回路都得重新刷新一遍,苦逼程度可見一斑。現(xiàn)在,又要他們從熟悉的客戶端和服務(wù)器應(yīng)用轉(zhuǎn)移到移動設(shè)備和云服務(wù)領(lǐng)域,當(dāng)真也不容易啊。幾乎是百分之百地刷新大腦啊!從最初的設(shè)計和安全性考慮以及隔離措施開始,就已經(jīng)徹底跟傳統(tǒng)的設(shè)計理念說拜拜了。這個本地視圖不僅擴展了功能的呈現(xiàn)方式,也擴展了產(chǎn)品的建立方式。開發(fā)者不再需要考慮隨機訪問或者系統(tǒng)鉤子這些問題,因為在這里它們通通都不存在。更重要的一點,傳統(tǒng)的系統(tǒng)認知對于現(xiàn)代工程師來說毫無意義。所有人都前進了一步,于是傳統(tǒng)的surface area不見了,復(fù)雜性也降低了。考慮到他們所做的改變和建立維護一個高端復(fù)雜精妙的網(wǎng)絡(luò)安全組群的能力,云技術(shù)公司在安全性方面勢必會快人一步。對于云技術(shù)公司來說,安全性將決定整個公司的生存能力。盡管這聽起來很瘋狂,但我還是不得不說那些被攻擊的公司都曾是著名的大公司,他們在非技術(shù)業(yè)務(wù)方面有著最復(fù)雜和最昂貴的安全維護團隊,不信你去看看,到底是不是這樣。那么一個主要的云服務(wù)提供商會不會被突破?很難說這樣的事情不會發(fā)生。但是可以確定的是Cloud Native服務(wù)提供商被突破的幾率遠遠大于那些十分優(yōu)秀的企業(yè)。
新的認證和基礎(chǔ)結(jié)構(gòu)模型。未來的世界將被無處不在的短信認證和提醒所取代:更改密碼通知、異地登陸提醒、潛在的生物識別技術(shù)以及非常簡單的PIN碼驗證(即SIM卡的個人識別密碼)。軟件狗(軟件保護器)、VPN和10分鐘長的登陸腳本等等都將成為過去式。未來世界的防火墻也將以軟件為基礎(chǔ),這些軟件可以輕松訪問所有應(yīng)用和節(jié)點。過去那種長篇累牘的條條框框既復(fù)雜又不實用,最關(guān)鍵的是一遭到攻擊就癱瘓,這樣的架構(gòu)注定將被時代所淘汰。而我們現(xiàn)在正在逐步搭建的新型基礎(chǔ)結(jié)構(gòu)模型就是以實現(xiàn)以上種種未來設(shè)想為最終目標(biāo)。我說的這些例子還只是整個變化的冰山一角,軟件設(shè)施和云服務(wù)將給未來世界的基本網(wǎng)絡(luò)身份和基礎(chǔ)格局帶來發(fā)生翻天覆地的變化。
每一次企業(yè)計算機體系結(jié)構(gòu)發(fā)生顯著變革都是由于某一次的嚴重攻擊或者服務(wù)器的崩潰,導(dǎo)致我們的體系結(jié)構(gòu)不得不重新調(diào)整,其中代價著實難以估量。人們不斷地抱怨,發(fā)牢騷,媒體開始譴責(zé),因為已經(jīng)習(xí)慣的商業(yè)進程和工作流一下子全被打亂了。但是混亂之后,我們要相信,迎來的必將是一個嶄新的進步。
今天,移動設(shè)備應(yīng)用和云服務(wù)已經(jīng)初見端倪。這個進步不僅僅改變了我們曾經(jīng)賴以使用了20多年的計算機體系結(jié)構(gòu),也充滿了值得期待的優(yōu)勢。良好的合作性能、移動性、適應(yīng)性,易推廣性以及更多的優(yōu)勢性能等待挖掘開發(fā)。共享、格式化、電子郵件等等也會隨之改變。我可以想象這個過程不容易,但是全新的管理控制和機會也必將隨之而來。就像15年前的TSRs和后來的Melissa,我總相信暴風(fēng)雨過后會有彩虹。至少在過去的時代里,確實是這樣的。