「想哭」(WannaCry)的商業模式

作者:Ben Thompson 翻譯:ONES Piece 翻譯計劃 Platycodon Xu

譯者按:WannaCry 病毒爆發後,輿論一方面驚嘆其波及範圍之廣、危害之大,一方面也對誰來承擔責任產生了分歧:責備微軟修補不力者有之,慨嘆用戶惰於更新者有之,怪罪美國政府泄漏漏洞者亦有之。本文作者則另闢蹊徑,在一一分析上述因素並非本質問題的基礎上,指出軟體行業根深蒂固的「付費在先」模式才是幕後的罪魁禍首——它不僅使用戶誤以為安全保障是軟體價格中的應有之義,也讓廠商缺乏長期維護的經濟動機,這才讓一些長年潛伏的漏洞遲遲得不到修補,最終導致安全危機集中爆發。在此基礎上,作者指出將軟體服務化(SaaS)才能給各方提供最大的正向激勵,既確保廠商的持續經濟來源,又保障用戶時刻保持更新,因此是正確的發展道路。拋開文中的個別預測是否在近期具有可操作性,本文這種追根溯源的思路的確具有參考價值。

根據預測,大約有 200000 名用戶和管理員的電腦被「WannaCry」病毒感染——隨著病毒新變種的出現,這個數字估計還會上升(原始版本被一名安全研究人員無意中攔截了)。對他們來說,本文標題所隱含問題的答案是肯定的。[1]

WannaCry 是一種被稱為「勒索軟體」的惡意程序:它加密電腦上的文件,然後要求付費解密。勒索軟體並不是什麼新事物;WannaCry 之所以如此具有破壞性,是因為它以計算機蠕蟲病毒為基礎。所謂蠕蟲病毒,是一種能將在同一個網路中不斷自我複製的惡意軟體(當然,這裡所謂的網路可以包括整個互聯網)。

蠕蟲病毒從來都是惡意軟體中最具破壞力的那一種——也是最臭名昭著的:即便不熟悉技術的讀者也可能聽過 Conficker(2008 年爆發,預計造成損失 90 億美元)、愛蟲(ILOVEYOU,2000 年爆發,預計造成損失 150 億美元)、MyDoom(2004 年爆發,預計造成損失 380 億美元)的大名。其實爆發過的蠕蟲病毒遠不止這些,但近年來已經沒有那麼多了:21 世紀頭十年是蠕蟲的黃金時期,當時數億台聯網的計算機都安裝著一個極度不安全的操作系統——Windows XP,而用戶們被誘導著點擊按鈕染上病毒,最後只能把錢交給騙子來擺脫那些嚇人的彈窗。

接下來的幾年,微軟從 Windows XP SP2 開始對安全性重視了許多;網路管理員變得聰明起來,知道把網路與外部隔離;而用戶也多少有所長進,知道不要亂點不該點的東西。然而,正如上周的事件所揭示的,蠕蟲病毒仍然是一個威脅;而且像往常一樣,每個人都在把責任推卸給別人。只不過,這次多了一個冤大頭:美國政府。

WannaCry 的來龍去脈

在微軟博客上,微軟總裁、首席法務官 Brad Smith 直言不諱地說(下文中出現的「WannaCrypt」是「WannaCry」的別名):

惡意軟體「WannaCrypt」從英國和西班牙開始爆發,迅速蔓延到全球、劫持用戶的數據,用戶只有通過比特幣繳納贖金才能取回。WannaCrypt 在攻擊中使用的漏洞是從美國國家安全局(NSA)竊取的,那次失竊事件今年早些時候有過公開報道。一個月前的 3 月 14 日,微軟為修補漏洞、保護客戶安全,已經發布了一個安全更新。儘管該更新保護了運行著較新版本 Windows 系統、打開了 Windows 更新功能以安裝最新更新的計算機,全球仍有許多計算機沒有安裝補丁。結果,醫院、企業、政府和許多家用電腦受到感染。

Smith 在文中提及了一系列關鍵時間點。但因為理清來龍去脈很重要,所以我按照自己的理解重新總結了一遍:

  • 2001:上述漏洞隨 Windows XP 的推出即已出現,並暴露在之後的每一個新版 Windows 中
  • 2001—2015:某天,美國國安局發現了(也可能是 Equation Group 發現的,據傳隸屬於國安局)漏洞,並開發了一個稱作「永恆之藍」(EternalBlue) 的漏洞程序,但並不清楚他們是否使用過該程序
  • 2012—2015:據稱一名合同工據稱竊取了國安局掌握的 75% 的黑客工具
  • 2016 年 8 月:一個名為「ShadowBrokers」的組織發布了一些據稱從國安局得來的黑客工具;這些工具似乎就來自 Equation Group
  • 2016 年 10 月:上述合同工被控竊取國安局數據
  • 2017 年 1 月:ShadowBrokers 掛價 250 比特幣(按當時價格約 225000 美元)叫賣若干 Windows 漏洞,其中包括一個 SMB 0day[2] 漏洞——可能就是 WannaCry 使用的「永恆之藍」
  • 2017 年 3 月:微軟在沒有大張旗鼓宣傳的情況下,發布補丁修復了一系列漏洞,但未列明其發現者;「永恆之藍」也在修復之列,似乎很可能是出於國安局的警告
  • 2017 年 4 月:ShadowBrokers 發布了一批新漏洞,其中包括「永恆之藍」,或許是因為微軟已經封堵了這些漏洞(這就極大降低了 0day 漏洞的價值)
  • 2017 年 5 月:基於「永恆之藍」的 WannaCry 病毒發布,波及約 200000 台計算機,直到有人無意中觸發了它的自殺開關;但新變種即將開始傳播

不消說,該為 WannaCry 的傳播負最終責任的是它的作者,我希望他們能被逮捕並被充分依法起訴。

但除此之外,責任界定就很模糊了。

四處擴張的責任

從上述事件發展中首先可以看出的是,正如所有 Windows 漏洞一樣,最先應當承擔責任的是微軟。微軟開發了 Windows 系統,卻沒能為之建立一套強健的網路安全機制。而且儘管微軟做了很多修修補補的工作,許多根本性的缺陷依然如故。

但這些缺陷也不都是微軟的錯:有關個人電腦的一個基本假定,就是應用程序應當對整台電腦有不受限制的訪問權;所有限制這種權力的嘗試都受到了強烈的抵抗。iOS 倒是開闢了一種新模式——所有的程序都被關在沙盒裡,只能訪問操作系統中一些謹慎給定的鉤子和擴展[3] 。然而,這種模式之所以成為可能,完全是因為 iOS 是一個新生事物。相反,Windows 的市場霸權完全來自於市面上既有的大批軟體。這意味著除非微軟自廢商業模式,就不可能倒行逆施、收回這種不受限制的權力。

此外,一個現實問題是做軟體很難:漏洞是不可避免的,特別是對於操作系統這麼複雜的軟體而言。這就是為什麼微軟、蘋果,以及幾乎任何一個勤勉的軟體開發商都要定期發布更新和漏洞補丁。亡羊和補牢是密不可分的。

然而,說到這一點,必須指出微軟在兩個月前就修復了漏洞:任何打了三月份補丁的電腦都對 WannaCry 免疫,而這個補丁按照默認設置是自動安裝的。Windows XP 是個例外,但微軟早在 2008 年就不再銷售這個系統,2014 年就停止了支持(儘管如此,微軟還是在周五晚上發布了一個針對 Windows XP 的漏洞補丁)。換句話說,最終用戶和管理著電腦的 IT 部門本身也有責任,他們本來只要及時打上關鍵補丁就能保護自己的安全。

話雖如此,及時更新的成本也是很高的,特別是對於大型機構而言。因為更新會弄壞別的東西。這裡的「東西」可能是企業賴以運營的關鍵軟體。它們有的是第三方銷售的,有的是外包的,有的是企業自己開發的。這些軟體過於依賴特定版本的操作系統本身就是一個問題,所以它們的開發者也應該承擔責任。同樣的道理也適用於硬體及其驅動程序:英國國民保健署(National Health Service)有報道稱,一些核磁共振和 X 光機只能搭配 Windows XP 運行——這是設備廠商的嚴重疏忽。

簡言之,放眼四周,有很多人應當承擔責任。然而,有多少責任應該歸到事件發展的中間環節——政府的頭上呢?

政府的責任

Smith 在博文中寫道:

這次攻擊事件再一次印證了政府囤積漏洞是個大問題。2017 年,類似事件有抬頭之勢。之前,我們已經看到中情局(CIA)囤積的漏洞被曝光在 WikiLeaks 上;如今,國安局失竊的漏洞又影響了全世界的用戶。政府手上的漏洞一次又一次地泄露到公眾領域,導致損失四處波及。如果用常規武器打比方,這就好像美國軍隊的「戰斧」(Tomahawk)導彈失竊一樣。

坦白說,這樣的類比很滑稽,除非你想誇張地說 WannaCry 可能危害到醫院,從而真的導致人員傷亡(即使那樣,也比戰爭武器的傷害小得多)。

首先,製造戰斧導彈的是美國政府,而製造漏洞的卻是微軟(儘管是不經意間製造的);國安局所做的只是發現了漏洞(然後加以利用)。這種差別是很關鍵的。尋找漏洞是件苦差,需要投入很多財力和人力。因此,一個值得思考的問題是:國安局為什麼願意做這件事?答案就藏在它的名字裡面:為了國家安全。而且,正如我們在震網病毒(Stuxnet)這類事件中看到的那樣,這些漏洞可以變成強大的武器。

這就是根本問題所在:要求國安局發現漏洞後立即公布,實際上就等於要求它從一開始就不要發現漏洞。畢竟,一個被修補(實際上就等於公布)的漏洞的價值將大大削減。這種價值不僅是指金錢上的(正如 ShadowBrokers 組織發現的那樣),也是軍事上的,意味著[如果要求公布漏洞],國安局根本就沒有理由投入財力和人力去發現漏洞。換句話說,如果上述要求被實現,發生的事情也會不是國安局早幾年把 EternalBlue 的事情告訴微軟,而是這個隱藏的漏洞被雪藏更多年(或許會被中國、俄國之類的第三方發現,要知道國安局並不是唯一一個尋找漏洞的機構)。

實際上,關於本次事件中政府[的角色],真正需要吸取的教訓不是國安局應該擔當微軟的質量保障團隊,而是泄密事故的確會發生。這就是為什麼我去年談論蘋果和 FBI 的糾紛時,認為政府不該通過法令來削弱安全機制或者安插後門(而不是尋找既存的漏洞)——這種手段更符合 Smith 所做的戰斧導彈的類比。而且考慮到攻擊的散布是不分敵我、不可減緩的,哪個國家對攻擊者最有利可圖(比如美國),哪個國家用這種手段受到的反噬就最大。

商業模式的責任

儘管美國政府的責任並沒有 Smith 聲稱的那麼大,與安全危機糾纏近二十年還是表明了系統性失靈的存在。在我看來,這應當歸咎於商業模式。除了上文列舉的幾種技術和戰略因素,軟體[行業]還有一個致命缺陷,那就是自其誕生的數十年來,無論採取盒裝形式還是許可證形式,軟體是都按照一個預設的價格出售的。

其結果,[軟體行業涉及的各方]都得不到正確的激勵,進而都做出了有問題的決策:

  • 微軟不得不為多個不同的代碼庫提供支持,這不僅成本高昂、實現困難,而且也沒有任何經濟上的激勵(例如,這就是為什麼微軟要終止對 Windows XP 的支持)。
  • 第三方軟體商傾向於把特定版本的操作系統看作是固定不變的:既然 Windows 7 和 Windows XP 是不同的,那也就意味著[廠商]可以點名只支持 Windows XP。第三方軟體商缺乏經濟動力更新軟體則進一步加劇了上述問題:畢竟,用戶已經給它們付過錢了。
  • 最嚴重的問題的是對購買者的影響:他們把計算機和相關軟體看作資本成本(capital costs)——一次性支付,而後隨著購買價值的實現而貶值。在這樣的視角下,持續的技術支持和安全保障是與[軟體本身]的持續價值相分離的額外成本,為它們付費的唯一理由就是避免未來受到攻擊——而無論是攻擊的時間還是可能帶來的經濟危害,都是不可預測的。

但現實是,軟體及其帶來的安全問題是永不終結的。因此,認為購買軟體是一鎚子買賣是說不通的。

SaaS

四年前,我借 Adobe 拋棄盒裝軟體一事寫過為什麼訂閱制對開發者和用戶都更有利:

那篇文章的主題是 Adobe 如何將用戶獲得的價值更好地體現在營收上:在訂閱制下,雖然價格門檻降低了,但隨著時間推移,Adobe 從用戶身上獲得的收入卻與其提供的價值卻更相稱。而且正如我當時提到的,「Adobe 有充足的動機通過持續維護來減少用戶流失,而用戶也得以一直用上最新版本。」

這也正是維護良好的安全性所必須的:銷售者應當讓軟體保持更新(這次事件里的銷售者就是微軟,它賣的軟體就是操作系統),而用戶則應當永遠使用最新版本。不僅如此,把軟體當作服務來定價意味著擺脫了那種「一鎚子買賣」的假定,購買軟體不再是一種資本成本:相反,它變成了一種持續的開支,其中就隱含了維護[的成本],無論這種成本是由銷售者還是用戶承擔(也可能是雙方共同承擔)。

當然,我是在說 SaaS(Software-as-a-service,軟體即服務)模式。這種模式的興起,加上雲端計算的普遍應用,是對於 WannaCry 事件保持樂觀的最大理由——WannaCry 不過是一個糟糕商業模式的苟延殘喘罷了(儘管要先花上很長時間收回沉沒成本、並擺脫那種完全貶值的資產就「免費」的假定)。

長期來看,普通企業或政府幾乎沒有理由在本地運行任何軟體,或者把任何文件存儲在獨立的設備上。一切數據、無論文件還是應用,都應該存在雲端,通過持續更新的瀏覽器訪問,並以訂閱形式付費。這將使所有的激勵機制各得其所:用戶同時為安全性和功能性付費,而銷售者也有動力賺取這些費用。

值得稱讚的是,微軟很早之前就已經在往這個方向努力了:它不僅集中精力發展 Azure 和 Office 365 服務,而且也早就開始用類似於訂閱制的方式銷售傳統軟體。儘管如此,這種以雲端為中心的模式意味著用戶更少地被限定在特定的設備和服務上,而具有了更多的靈活選擇權。現實情況是,上述問題給微軟帶來的頭痛將不亞於安全問題,而這與微軟長久以來成其為最賺錢公司的原因是分不開的。

硬體[銷售]仍然是留待解決的巨大挑戰:對於那些依賴軟體發揮其功能的設備來說,商業模式可能仍將是付費在前,這就意味著[銷售者]沒有提供安全保障的動機。固守這種舊模式的成本將轉化為外部性,最終由 Mirai 這樣的殭屍網路的攻擊目標來承擔。發展停滯不前、各方相互指責是意料之中的——這就是系統性癱瘓的特徵,而這正是商業模式的不匹配所帶來的。

這是 ONES Piece 翻譯計劃的第 128 篇譯文。本文原載於 stratechery.com,作者 Ben Thompson,由 ONES Piece 翻譯計劃 Platycodon Xu 翻譯。ONES Piece 是一個由 ONES Ventures 發起的非營利翻譯計劃,聚焦科技創新、生活方式和未來商業。如果您希望得到更「濕」的信息,我們也有播客節目「遲早更新」供您收聽。

[1]:原文標題「WannaCry About Business Models」為雙關,可以理解為一個問句,即「商業模式讓人想哭嗎」?

[2]:指還沒有補丁的安全漏洞。

[3]:鉤子(hook)是計算機編程中的一種技術,通過攔截軟體部件間的函數調用或消息來改變或增強軟體的行為;擴展(extension)是一種電腦程序,通過與程序的互動為其增加一些特定功能。這兩者都會在增強軟體功能的同時帶來潛在的安全風險。


推薦閱讀:

什麼是客戶成功?
國外知名的 SaaS 軟體提供商有哪些?
移動辦公最終會代替傳統OA嗎,可否說說原因並把兩者對比一下?
為增長而來,GrowingIO邀您參加 6.28 產品發布會

TAG:计算机病毒 | SaaS |